/* ============================================
   FAQ.CSS — Estilos específicos da página Faq
   ============================================ */

/* --- Hero --- */
.hero-section {
    padding-top:106px;
    background:var(--bg);
}
.hero-container {
    max-width:var(--max);
    margin:0 auto;
    padding:56px var(--pad) 64px;
    display:flex;
    gap:80px;
    align-items:flex-start;
    flex-wrap:wrap;
}
/* --- Left --- */
.left-container {
    flex:0 0 360px;
    max-width:360px;
}
.hero-span {
    display:block;
    margin-bottom:20px;
}
.h1 {
    font-family:'Roboto',sans-serif;
    font-weight:700;
    font-size:clamp(26px,4vw,42px);
    color:var(--ink);
    line-height:1.2;
    letter-spacing:0px;
    margin:16px 0 20px;
}
.left-h2 {
    font-family:'DM Sans',sans-serif;
    font-size:19px;
    font-weight:400;
    line-height:1.72;
    color:var(--ink);
    margin-bottom:28px;
}


/* --- FAQ Groups --- */
.faq-section {
    flex:1;
    min-width:280px;
}
.faq-container {
    margin-bottom:40px;
}
.faq-h2 {
    font-family:'DM Mono',monospace;
    font-size:16px;
    font-weight:500;
    color:#005bff;
    letter-spacing:1.5px;
    text-transform:uppercase;
    margin-bottom:16px;
}
.border {
    border:1px solid var(--ink);
    border-radius: 5px;
}
.faq-item-div {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}
.faq-item-h3 {
    font-family:'Roboto',sans-serif;
    font-weight:600;
    font-size:17px;
    color:var(--ink);
    line-height:1.35;
}
.faq-toggle-desktop {
    width:28px;
    height:28px;
    border:2px solid var(--rule);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    transition:all .15s;
}
.faq-item-p {
    font-family:'DM Sans',sans-serif;
    font-size:15px;
    color:var(--muted);
    line-height:1.75;
}

/* FAQ Accordion */
.faq-item + .faq-item { 
    border-top:1px solid var(--rule); 
}
.faq-q { 
    padding:22px 24px; 
    cursor:pointer; 
    transition:background .15s; 
}
.faq-q:hover { 
    background:#f5f5f5; 
}
.faq-a { 
    max-height:0; 
    overflow:hidden; 
    transition:max-height .3s ease, padding .3s ease; 
    padding:0 24px 0; 
}
.faq-q.open .faq-a { 
    max-height:300px; 
    padding:0 24px 0; 
    padding-bottom:20px; 
    padding-right:48px; 
}

/* --- CTA --- */
.cta-section {
    background:var(--blue);
    padding:72px var(--pad);
}
.cta-container {
    max-width:var(--max);
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:48px;
    flex-wrap:wrap;
}
.cta-h2 {
    font-family:'Roboto',sans-serif;
    font-weight:500;
    font-size:clamp(26px,4vw,40px);
    color:#fff;
    line-height:1.20;
    letter-spacing:0px;
    flex:1;
    min-width:280px;
}
.cta-container-final {
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}



  /* CTA Responsive */
@media (max-width: 960px) {
.cta-row { 
    flex-direction:column !important; 
    text-align:center !important; 
    justify-content:center !important; 
    gap:32px !important; 
}
.cta-row h2 { 
    flex:none !important; 
    min-width:0 !important; 
}
.cta-br { 
    display:none; 
}
  }