/* ==========================================
FAQ Page Styles (faq.css)
Links alongside styling.css
========================================== */

/* Dropdown */
.dropdown {
position: relative;
}

.dropdown-menu {
display: none;
position: absolute;
top: calc(100% + 16px);
left: 50%;
transform: translateX(-50%);
background-color: var(--cream-100);
border: 1px solid var(--cream-300);
border-radius: 8px;
list-style: none;
min-width: 150px;
box-shadow: 0 4px 16px rgba(0,0,0,0.08);
z-index: 200;
overflow: hidden;
}

.dropdown:hover .dropdown-menu {
display: block;
}

.dropdown-menu li a {
display: block;
padding: 12px 20px;
font-size: 16px;
color: var(--brown-200);
text-align: center;
}

.dropdown-menu li a:hover {
background-color: var(--cream-300);
}

.dropdown-menu li a.active {
background-color: var(--cream-100);
font-weight: 600;
}

/* Active nav link highlight */
.nav-links a.active,
.dropdown > a.active {
background-color: var(--cream-100);
padding: 8px 16px;
border-radius: 6px;
}

/* ===== HERO ===== */
.hero {
    position: relative;
    min-height: 90vh;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    background-color: var(--green-400);
    }

    .hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center 30%;
    }

    .hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(53, 64, 36, 0.08) 0%,
        rgba(44, 33, 16, 0.55) 60%,
        rgba(44, 33, 16, 0.82) 100%
    );
    }

    .hero-content {
    position: relative;
    z-index: 2;
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 clamp(24px, 5vw, 60px) clamp(60px, 8vw, 100px);
    width: 100%;
    }

    .hero h1 {
        font-family: "Cormorant Garamond", serif;
        font-size: clamp(44px, 7vw, 86px);
        font-weight: 300;
        font-style: italic;
        color: #fff;
        line-height: 1.05;
        max-width: 100%;
        margin-bottom: 28px;
        text-align: center;
    }

    .hero-sub {
        font-family: "Jost", sans-serif;
        font-size: clamp(15px, 1.5vw, 17px);
        font-weight: 300;
        color: rgba(245, 235, 227, 0.82);
        max-width: 100%;
        line-height: 1.75;
        margin-bottom: 40px;
        text-align: center;
    }

    .hero-actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    }

    .hero-scroll {
    position: absolute;
    bottom: clamp(24px, 4vw, 48px);
    right: clamp(24px, 5vw, 60px);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    color: rgba(245, 235, 227, 0.5);
    font-family: "Jost", sans-serif;
    font-size: 10px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    z-index: 2;
    }

    .hero-scroll-line {
    width: 1px;
    height: 48px;
    background: linear-gradient(
        to bottom,
        rgba(245, 235, 227, 0.5),
        transparent
    );
    animation: scrollPulse 2s ease-in-out infinite;
    }

    @keyframes scrollPulse {
    0%,
    100% {
        opacity: 0.4;
        transform: scaleY(1);
    }
    50% {
        opacity: 0.9;
        transform: scaleY(1.1);
    }
    }

/* ===== FAQ SECTION ===== */
.faq-container {
max-width: 780px;
margin: 48px auto 80px;
padding: 0 24px;
display: flex;
flex-direction: column;
gap: 20px;
}

.faq-item {
background-color: var(--cream-200);
border: 2px solid var(--green-200);
border-radius: 20px;
overflow: hidden;
transition: box-shadow 0.3s;
}

.faq-item:hover {
box-shadow: 0 4px 16px rgba(53, 64, 36, 0.12);
}

/* Open state - light green tint like the demo */
.faq-item.active {
background-color: #eaf0e0;
}

.faq-question {
display: flex;
justify-content: space-between;
align-items: center;
padding: 22px 28px;
cursor: pointer;
user-select: none;
}

.faq-question h2 {
font-size: 20px;
color: var(--brown-200);
margin: 0;
flex: 1;
padding-right: 16px;
}

/* Chevron icon */
.faq-icon {
font-size: 22px;
color: var(--green-200);
transition: transform 0.3s;
flex-shrink: 0;
}

.faq-item.active .faq-icon {
transform: rotate(180deg);
}

/* Answer panel - hidden by default, animates open */
.faq-answer {
display: grid;
grid-template-rows: 0fr;
transition: grid-template-rows 0.35s ease;
}

.faq-answer-inner {
overflow: hidden;
}

.faq-item.active .faq-answer {
grid-template-rows: 1fr;
}

.faq-answer-inner p {
padding: 0 28px 24px;
color: var(--brown-200);
line-height: 1.7;
font-size: 17px;
}