/* ============================================================
   KIAZOLUA V2 - FAQ.CSS
   CORREÇÃO FINAL: HERO CENTRALIZADO + RESPONSIVO
   ============================================================ */

@import url("style.css");


/* ============================================================
   HERO
============================================================ */

.faq-hero{
    width:100%;
    min-height:0 !important;
    padding:52px 0 46px !important;
    margin:0;
    display:block !important;
    background:linear-gradient(180deg,#F8FAFC,#FFF);
    border-bottom:1px solid var(--line);
}

/*
 * IMPORTANTE:
 * força o HERO a usar a mesma largura visual do restante site.
 * Evita o conteúdo começar colado na esquerda do ecrã.
 */
.faq-hero > .container{
    width:calc(100% - 120px) !important;
    max-width:1460px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
}

.faq-hero-grid{
    width:100%;
    display:grid;
    grid-template-columns:minmax(0,1fr) 380px;
    gap:54px;
    align-items:center;
}

.faq-hero-copy{
    min-width:0;
    max-width:800px;
}

.faq-hero h1{
    max-width:760px;
    margin:8px 0 14px;
    color:var(--navy);
    font-size:clamp(2.7rem,4.4vw,4.25rem);
    line-height:.98;
    letter-spacing:-.05em;
}

.faq-hero-copy>p{
    max-width:720px;
    margin:0;
    color:var(--muted);
    font-size:.98rem;
    line-height:1.6;
}


/* ============================================================
   PESQUISA
============================================================ */

.faq-search{
    width:100%;
    max-width:720px;
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:27px;
    padding:8px 16px;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
    box-shadow:var(--shadow-sm);
}

.faq-search>span{
    flex:0 0 auto;
    color:var(--muted);
    font-size:1.25rem;
}

.faq-search input{
    width:100%;
    min-width:0;
    min-height:48px;
    border:0;
    outline:0;
    background:transparent;
    color:var(--ink);
    font-size:.92rem;
}

.faq-popular{
    max-width:720px;
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    margin-top:15px;
    color:var(--muted);
    font-size:.72rem;
}

.faq-popular button{
    padding:6px 10px;
    border:1px solid var(--line);
    border-radius:999px;
    background:#fff;
    color:var(--navy);
    font-size:.7rem;
    font-weight:750;
    cursor:pointer;
}


/* ============================================================
   HERO CARD
============================================================ */

.faq-hero-card{
    width:100%;
    max-width:380px;
    justify-self:end;
    padding:30px;
    border-radius:24px;
    background:linear-gradient(145deg,var(--navy-dark),var(--navy-light));
    color:#fff;
    box-shadow:var(--shadow);
}

.faq-hero-icon{
    width:56px;
    height:56px;
    display:grid;
    place-items:center;
    margin-bottom:20px;
    border-radius:16px;
    background:var(--orange);
    color:var(--navy);
    font-size:1.45rem;
    font-weight:900;
}

.faq-hero-card .section-label{
    color:#8DE1AF;
}

.faq-hero-card h2{
    margin:9px 0 10px;
    color:#fff;
    font-size:1.6rem;
    line-height:1.15;
}

.faq-hero-card p{
    margin:0 0 20px;
    color:#C4D3DF;
    font-size:.84rem;
    line-height:1.6;
}


/* ============================================================
   CATEGORIAS
============================================================ */

.faq-categories{
    padding:16px 0;
    background:#fff;
    border-bottom:1px solid var(--line);
}

.faq-category-track{
    display:flex;
    gap:8px;
    overflow-x:auto;
    scrollbar-width:none;
}

.faq-category-track::-webkit-scrollbar{
    display:none;
}

.faq-category{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    gap:7px;
    min-height:40px;
    padding:7px 11px;
    border:1px solid var(--line);
    border-radius:999px;
    background:#fff;
    color:var(--muted);
    font-size:.72rem;
    font-weight:800;
    cursor:pointer;
    transition:.2s;
}

.faq-category:hover{
    border-color:#BCC9D4;
}

.faq-category.active{
    border-color:var(--navy);
    background:var(--navy);
    color:#fff;
}


/* ============================================================
   FAQ SECTION
============================================================ */

.faq-section{
    padding:58px 0 70px;
    background:#fff;
}

.faq-container{
    max-width:900px;
}

.faq-section-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:20px;
    margin-bottom:28px;
}

.faq-section-head h2{
    margin:2px 0 6px;
    color:var(--navy);
    font-size:2rem;
    letter-spacing:-.035em;
}

.faq-section-head p{
    margin:0;
    color:var(--muted);
    font-size:.83rem;
}

.faq-count{
    padding:6px 10px;
    border-radius:999px;
    background:#F3F6F8;
    color:var(--muted);
    font-size:.72rem;
    font-weight:800;
}


/* ============================================================
   GRUPOS
============================================================ */

.faq-group{
    margin-bottom:38px;
}

.faq-group-title{
    display:flex;
    align-items:center;
    gap:11px;
    margin-bottom:13px;
}

.faq-group-title>span{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:var(--orange-soft);
    color:var(--navy);
}

.faq-group-title h3{
    margin:0;
    color:var(--navy);
    font-size:1rem;
}

.faq-group-title p{
    margin:2px 0 0;
    color:var(--muted);
    font-size:.72rem;
}


/* ============================================================
   ACCORDION
============================================================ */

.faq-item{
    overflow:hidden;
    margin-bottom:9px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
    transition:.2s;
}

.faq-item:hover{
    border-color:#CBD5DF;
}

.faq-item.open{
    border-color:#C7D3DD;
    box-shadow:var(--shadow-sm);
}

.faq-q{
    width:100%;
    min-height:62px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:15px 17px;
    border:0;
    background:#fff;
    color:var(--navy);
    text-align:left;
    font-size:.86rem;
    font-weight:800;
    cursor:pointer;
}

.faq-q i{
    width:31px;
    height:31px;
    flex:0 0 31px;
    display:grid;
    place-items:center;
    border-radius:9px;
    background:#F3F6F8;
    color:var(--navy);
    font-style:normal;
    font-size:1rem;
}

.faq-item.open .faq-q i{
    background:var(--orange-soft);
}

.faq-a{
    padding:0 17px 17px;
    color:var(--muted);
    font-size:.82rem;
    line-height:1.65;
}

.faq-a p{
    margin:0;
}


/* ============================================================
   SEM RESULTADOS
============================================================ */

.faq-empty{
    padding:42px 20px;
    text-align:center;
}

.faq-empty>div{
    width:55px;
    height:55px;
    display:grid;
    place-items:center;
    margin:0 auto 14px;
    border-radius:15px;
    background:#F3F6F8;
    color:var(--navy);
    font-size:1.4rem;
}

.faq-empty h3{
    margin:0;
    color:var(--navy);
}

.faq-empty p{
    margin:6px 0 18px;
    color:var(--muted);
    font-size:.82rem;
}


/* ============================================================
   SUPORTE
============================================================ */

.faq-support{
    padding:0 0 70px;
    background:#fff;
}

.faq-support-box{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:35px;
    padding:38px;
    border-radius:24px;
    background:linear-gradient(145deg,var(--navy-dark),var(--navy-light));
    color:#fff;
}

.faq-support-box .section-label{
    color:#8DE1AF;
}

.faq-support-box h2{
    margin:3px 0 7px;
    color:#fff;
    font-size:2rem;
}

.faq-support-box p{
    margin:0;
    color:#C5D4E0;
    font-size:.84rem;
}

.faq-support-actions{
    display:flex;
    gap:10px;
}

.faq-support .btn-outline{
    border-color:rgba(255,255,255,.25);
    background:transparent;
    color:#fff;
}


/* ============================================================
   DESKTOP INTERMÉDIO
============================================================ */

@media(max-width:1200px){

    .faq-hero > .container{
        width:calc(100% - 80px) !important;
    }

    .faq-hero-grid{
        grid-template-columns:minmax(0,1fr) 330px;
        gap:32px;
    }

    .faq-hero-card{
        max-width:330px;
        padding:25px;
    }

    .faq-hero h1{
        font-size:clamp(2.6rem,5vw,3.7rem);
    }
}


/* ============================================================
   TABLET
============================================================ */

@media(max-width:900px){

    .faq-hero{
        padding:42px 0 38px !important;
    }

    .faq-hero > .container{
        width:calc(100% - 48px) !important;
    }

    .faq-hero-grid{
        grid-template-columns:1fr 280px;
        gap:26px;
    }

    .faq-hero-card{
        max-width:280px;
        padding:22px;
    }
}


/* ============================================================
   MOBILE
============================================================ */

@media(max-width:700px){

    .faq-hero{
        min-height:0 !important;
        padding:30px 0 28px !important;
    }

    .faq-hero > .container{
        width:calc(100% - 32px) !important;
        max-width:none !important;
        margin-inline:auto !important;
    }

    .faq-hero-grid{
        display:block;
        width:100%;
    }

    .faq-hero-copy{
        width:100%;
        max-width:none;
    }

    .faq-hero h1{
        max-width:none;
        margin:7px 0 10px;
        font-size:2.3rem;
        line-height:1.02;
    }

    .faq-hero-copy>p{
        max-width:none;
        font-size:.86rem;
        line-height:1.55;
    }

    .faq-hero-card{
        display:none !important;
    }

    .faq-search{
        width:100%;
        max-width:none;
        margin-top:20px;
        padding:7px 12px;
    }

    .faq-search input{
        min-height:44px;
        font-size:16px;
    }

    .faq-popular{
        width:100%;
        max-width:none;
        flex-wrap:nowrap;
        overflow-x:auto;
        padding-bottom:5px;
        scrollbar-width:none;
    }

    .faq-popular::-webkit-scrollbar{
        display:none;
    }

    .faq-popular strong,
    .faq-popular button{
        flex:0 0 auto;
        white-space:nowrap;
    }

    .faq-category-track{
        display:flex;
        flex-wrap:wrap;
        justify-content:flex-start;
        gap:8px;
        overflow:visible;
        padding-bottom:4px;
    }

    .faq-category{
        flex:0 0 auto;
        min-height:38px;
        white-space:nowrap;
    }

    .faq-section{
        padding:42px 0 52px;
    }

    .faq-section-head{
        display:block;
    }

    .faq-count{
        display:inline-flex;
        margin-top:8px;
    }

    .faq-q{
        min-height:60px;
        padding:14px;
        font-size:.82rem;
    }

    .faq-a{
        padding:0 14px 15px;
        font-size:.79rem;
    }

    .faq-support{
        padding-bottom:45px;
    }

    .faq-support-box{
        display:block;
        padding:26px 21px;
    }

    .faq-support-box h2{
        font-size:1.65rem;
    }

    .faq-support-actions{
        display:grid;
        margin-top:20px;
    }

    .faq-support-actions .btn{
        width:100%;
    }
}


/* ============================================================
   PEQUENO
============================================================ */

@media(max-width:400px){

    .faq-category-track{
        gap:6px;
    }

    .faq-category{
        min-height:36px;
        padding:6px 9px;
        font-size:.68rem;
    }

    .faq-hero > .container{
        width:calc(100% - 24px) !important;
    }

    .faq-hero h1{
        font-size:2rem;
    }

    .faq-search{
        padding-inline:11px;
    }

    .faq-group-title>span{
        width:38px;
        height:38px;
    }

    .faq-q{
        gap:12px;
    }
}


/* ============================================================
   FILTROS FAQ DENTRO DO HERO
============================================================ */

.faq-hero-categories{
    width:100%;
    max-width:900px;
    margin-top:18px;
}

.faq-hero-categories .faq-category-track{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:9px;
    overflow:visible;
}

.faq-hero-categories .faq-category{
    flex:0 0 auto;
    white-space:nowrap;
}

@media(max-width:700px){
    .faq-hero-categories{
        max-width:none;
        margin-top:15px;
    }

    .faq-hero-categories .faq-category-track{
        display:flex;
        flex-wrap:wrap;
        gap:7px;
        overflow:visible;
    }

    .faq-hero-categories .faq-category{
        min-height:36px;
        padding:6px 9px;
        font-size:.68rem;
    }
}

@media(max-width:400px){
    .faq-hero-categories .faq-category-track{
        gap:6px;
    }

    .faq-hero-categories .faq-category{
        padding:6px 8px;
        font-size:.66rem;
    }
}