/* FAQ Section */
.faq {
    position: relative;
    padding: 15vh 5vw;
    background-color: var(--primary-color);
    color: white;
    z-index: 1;
    overflow: visible;
}

.faq .dog {
    position: absolute;
    bottom: 0vh;
    right: 5vw;
    width: clamp(180px, 18vw, 250px);
    z-index: 5;
}

.faq__container {
    max-width: 650px;
    margin: auto;
}

.faq__title {
    font-size: 4rem;
    margin-bottom: 3rem;
}

.faq__list {
    display: flex;
    flex-direction: column;
}

.faq__item {
    text-align: left;
    border-bottom: 1px solid rgba(255,255,255,0.2);
}

.faq__item:first-of-type {
    border-top: 1px solid rgba(255,255,255,0.2);
}

.faq__question {
    position: relative;
    padding: 1.5rem 2rem 1.5rem 0;
    cursor: pointer;
    font-size: 1.1rem;
    list-style: none; /* Remove default marker */
}

/* Custom Accordion Marker */
.faq__question::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(0deg);
    width: 14px;
    height: 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath stroke='%23FFFFFF' stroke-width='1.5' d='M7 0v14M0 7h14'/%3E%3C/svg%3E");
    background-size: contain;
    transition: transform 0.3s ease;
}

.faq__item[open] .faq__question::after {
    transform: translateY(-50%) rotate(45deg);
}

.faq__answer {
    padding: 0 0 1.5rem;
    line-height: 1.6;
    font-size: 1rem;
}

/* From custom.css */
.faq {
    background-color: var(--primary-color);
} 