/* ========================================
   FAQ PAGE
======================================== */
main.anp-faq-page { padding: 0; }
.anp-faq-page { color: #423930; font-family: Inter, Arial, sans-serif; }
.anp-faq-container { width: min(100% - 48px, 1000px); margin: 0 auto; }
.anp-faq-page h1, .anp-faq-page h2 { font-family: "Playfair Display", Georgia, serif; }
.anp-faq-page .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 45px; padding: 12px 21px; border: 1.5px solid #EFB900; border-radius: 10px; background: #EFB900; color: #004D28; font-size: 14px; font-weight: 700; text-decoration: none; }
.anp-faq-page .btn-secondary { border-color: #fff; background: transparent; color: #fff; }

/* ========================================
   HERO
======================================== */
.anp-faq-hero { min-height: 590px; display: flex; align-items: end; padding: 58px 0; background-color: #004D28; background-position: center; background-size: cover; color: #fff; }
.anp-faq-hero h1 { margin-bottom: 15px; color: #fff; font-size: 54px; line-height: 1.1; text-align: left; }
.anp-faq-hero h1::after { width: 72px; height: 4px; margin: 0; border: 0; background: #EFB900; }
.anp-faq-hero__text { max-width: 650px; font-size: 17px; line-height: 1.5; }

/* ========================================
   FAQ CONTENT
======================================== */
.anp-faq-content { position: relative; z-index: 2; clear: both; padding: 76px 0 100px; background: #fff; text-align: center; }
.anp-faq-eyebrow { margin: 0 0 10px; color: #EFB900; font-size: 12px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; }
.anp-faq-content h2, .anp-faq-cta h2 { margin: 0 0 12px; color: #004D28; font-size: 44px; font-weight: 500; line-height: 1.1; }
.anp-faq-intro { max-width: 730px; margin: 0 auto 28px; font-size: 16px; line-height: 1.55; }
.anp-faq-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-bottom: 25px; }
.anp-faq-tab {
    padding: 10px 15px;
    border: 1px solid #E5DED1;
    border-radius: 7px;
    background: #fff;
    color: #004D28;
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
    transition: all ease-in-out .3s;
}
.anp-faq-tab:hover {
    background: #004D28;
    color: #fff;
}
.anp-faq-tab.is-active { border-color: #004D28; background: #004D28; color: #fff; }
.anp-faq-panels { display: block !important; width: 100%; clear: both; }
.anp-faq-panel { display: none; width: 100%; text-align: left; }
.anp-faq-panel.is-active { display: block !important; }
.anp-faq-item { margin-bottom: 10px; overflow: hidden; border: 1px solid #E5DED1; border-radius: 8px; background: #fff; }
button.anp-faq-question { transition: all ease-in-out .3s; }
button.anp-faq-question:hover, article.anp-faq-item.is-open button { background: #003219; color: #fff; }
.anp-faq-question { width: 100%; min-height: 60px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 15px; border: 0; background: transparent; color: #004D28; cursor: pointer; font: 700 15px Inter, Arial, sans-serif; text-align: left; }
.anp-faq-question b {
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #F7F3EE;
    color: #013219;
    font-size: 17px;
    font-weight: 500;
    transition: transform .2s ease;
    line-height: 0;
    padding: 10px 5px 12px 5px;
}
.anp-faq-item.is-open .anp-faq-question b { transform: rotate(45deg); }
.anp-faq-answer { display: none; padding: 20px; font-size: 15px; line-height: 1.6; }
.anp-faq-answer > div > :first-child { margin-top: 0; }
.anp-faq-answer > div > :last-child { margin-bottom: 0; }
article.anp-faq-item {
    width: 100%;
}
/* ========================================
   BOTTOM CTA
======================================== */
.anp-faq-cta { position: relative; z-index: 1; clear: both; display: block !important; width: 100%; padding: 62px 0; background: #013219; color: #fff; text-align: center; }
.anp-faq-cta .anp-faq-container { display: block !important; width: min(100% - 48px, 1000px) !important; max-width: 1000px !important; margin: 0 auto !important; }
.anp-faq-cta h2 { color: #fff; }
.anp-faq-cta h2 em, .anp-faq-cta h2 b { color: #EFB900; font-style: normal; }
.anp-faq-cta > .anp-faq-container > div:not(.anp-faq-cta__actions) { max-width: 760px; margin-right: auto; margin-left: auto; font-size: 15px; line-height: 1.55; }
.anp-faq-cta__actions { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px; margin-top: 25px; }

/* ========================================
   RESPONSIVE
======================================== */
@media (max-width: 767px) {
    .anp-faq-container, .anp-faq-cta .anp-faq-container { width: min(100% - 32px, 1000px) !important; }
    .anp-faq-hero { min-height: 280px; padding: 40px 0; }
    .anp-faq-hero h1 { font-size: 42px; }
    .anp-faq-content { padding: 60px 0; }
    .anp-faq-content h2, .anp-faq-cta h2 { font-size: 33px; }
    .anp-faq-tabs { justify-content: flex-start; }
    .anp-faq-tab { font-size: 11px; }
    .anp-faq-question { font-size: 14px; }
}
