/* =====================================================================
   COMPONENTS — cabeçalho/menu e rodapé.
   Compartilhados por todas as páginas do site (home e futuras páginas).
   ===================================================================== */

/* ===== HEADER / NAV ===== */
.fdv-header{position:fixed;top:0;left:0;right:0;z-index:300}
.fdv-nav{background:transparent;border-bottom:1px solid transparent;transition:background .3s ease,border-color .3s ease,backdrop-filter .3s ease}
.fdv-nav.is-scrolled{background:rgba(10,4,5,.92);backdrop-filter:blur(14px);border-bottom-color:rgba(255,255,255,.1)}
.fdv-nav-inner{max-width:1680px;margin:0 auto;padding:0 clamp(20px,3vw,56px);display:flex;align-items:center;gap:14px}
.fdv-logo{display:flex;align-items:center;gap:11px;padding:16px 0;flex:none}
.fdv-logo:hover{color:#fff}
.fdv-logo-img{height:32px;width:auto;display:block}
.fdv-spacer{flex:1}

.fdv-nav-list{list-style:none;margin:0;padding:0;display:flex;align-items:center}
.fdv-nav-item{position:relative}
.fdv-nav-btn{background:transparent;border:0;white-space:nowrap;cursor:pointer;font-family:Archivo,sans-serif;font-size:14px;font-weight:500;color:rgba(255,255,255,.9);padding:22px 15px}
.fdv-nav-item:hover .fdv-nav-btn{color:var(--dourado);font-weight:600}
.fdv-nav-item:hover .fdv-chev{transform:rotate(45deg)}
.fdv-chev{display:none}

/* top:100% (absolute, relativo ao próprio .fdv-nav-item) encosta o painel direto embaixo
   do item, sem nenhum espaço — senão o mouse "perde" o hover ao arrastar pra baixo pra
   escolher um link, e o painel some no meio do caminho. O "left" é calculado via JS
   (positionNavPanel, em site.js): centraliza embaixo da palavra que abriu o menu, com uma
   trava pra não deixar o painel vazar pra fora da tela em telas mais estreitas. */
.fdv-panel{position:absolute;top:100%;left:0;max-width:min(94vw,980px);width:max-content;background:rgba(14,6,7,.97);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.12);border-top:2px solid var(--vermelho);border-radius:0 0 16px 16px;box-shadow:0 30px 70px rgba(0,0,0,.6);padding:26px 30px 24px;display:none;flex-wrap:wrap;gap:26px 40px;animation:fdv-in .2s ease both}
.fdv-nav-item:hover .fdv-panel{display:flex}
/* Painéis com 3+ grupos (ex.: Institucional, Cursos) — força 2 colunas, em vez de deixar o flex-wrap quebrar tudo numa linha só. */
.fdv-panel.fdv-panel--grid2{width:auto;grid-template-columns:repeat(2,260px);column-gap:60px;row-gap:26px}
.fdv-nav-item:hover .fdv-panel.fdv-panel--grid2{display:grid}
.fdv-panel-group{min-width:210px;display:flex;flex-direction:column;gap:8px}
.fdv-panel-title{font-family:'Barlow Condensed',sans-serif;font-size:12px;letter-spacing:.18em;font-weight:700;color:var(--dourado);padding-bottom:9px;border-bottom:1px solid rgba(255,255,255,.14);margin-bottom:3px}
.fdv-panel-link{font-size:13.5px;color:rgba(255,255,255,.82);padding:3px 0;line-height:1.4}
.fdv-panel-link.is-disabled{color:rgba(255,255,255,.5);pointer-events:none}

.fdv-cta{flex:none;background:var(--vermelho);color:#fff;font-size:13.5px;font-weight:600;padding:11px 24px;border-radius:99px;border:1px solid rgba(255,255,255,.14);box-shadow:0 8px 26px rgba(153,0,0,.45)}
.fdv-cta:hover{background:#b81111;color:#fff}

.fdv-burger{display:none;flex-direction:column;gap:5px;align-items:center;justify-content:center;background:transparent;border:1px solid rgba(255,255,255,.3);border-radius:10px;width:44px;height:44px;flex:none;cursor:pointer}
.fdv-burger span{display:block;width:19px;height:2px;background:#fff}

.fdv-drawer{display:none;background:rgba(10,4,5,.98);backdrop-filter:blur(14px);max-height:calc(100vh - 76px);overflow-y:auto;padding:6px 24px 26px;border-top:1px solid rgba(255,255,255,.1)}
.fdv-drawer.is-open{display:block}
.fdv-drawer-item{border-bottom:1px solid rgba(255,255,255,.1)}
.fdv-drawer-btn{width:100%;background:transparent;border:0;color:#fff;font-family:Archivo,sans-serif;font-size:15px;font-weight:600;padding:16px 2px;cursor:pointer;display:flex;justify-content:space-between;align-items:center}
.fdv-drawer-chev{color:var(--dourado);font-size:19px;line-height:1;transition:transform .2s ease}
.fdv-drawer-item.is-open .fdv-drawer-chev{transform:rotate(45deg)}
.fdv-drawer-panel{display:none;padding:0 2px 18px;flex-direction:column;gap:15px}
.fdv-drawer-item.is-open .fdv-drawer-panel{display:flex}
.fdv-drawer-group{display:flex;flex-direction:column;gap:9px}
.fdv-drawer-group-title{font-family:'Barlow Condensed',sans-serif;font-size:11.5px;letter-spacing:.17em;font-weight:700;color:var(--dourado)}

@media(max-width:1079.98px){
  .fdv-nav-list{display:none}
  .fdv-burger{display:flex}
}
/* Em telas de celular (nenhum item do header aqui encolhe por padrão — todos são
   flex:none — então sem isso o botão "#Vem Ser FADIVA" + a logo empurram o burger
   pra fora da tela, que fica cortado ou some de vez em telas mais estreitas). */
@media(max-width:539.98px){
  .fdv-nav-inner{gap:6px;padding:0 12px}
  .fdv-logo-img{height:22px}
  .fdv-cta{font-size:11px;padding:8px 12px}
}
@media(min-width:1080px){
  .fdv-drawer{display:none!important}
}

/* ===== ATALHOS (botões de acesso rápido — aparecem em toda página) ===== */
.fdv-atalhos-wrap{position:relative;background:#fff;padding:26px clamp(20px,3vw,56px) 30px}
.fdv-atalhos-grid{max-width:1680px;margin:0 auto;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:520px){.fdv-atalhos-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:860px){.fdv-atalhos-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
.fdv-atalho{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;padding:18px 10px;border:1px solid rgba(0,0,0,.1);border-radius:14px;background:#fff;transition:all .2s ease;color:inherit}
.fdv-atalho-icon{display:block;width:26px;height:26px;flex:none;object-fit:contain;filter:brightness(0);opacity:.75;transition:filter .2s ease,opacity .2s ease}
.fdv-atalho-label{font-size:12px;font-weight:500;color:#3a3a3a;text-align:center;line-height:1.3;transition:color .2s ease}

.fdv-atalho:hover{border-color:transparent;background:linear-gradient(135deg,var(--vermelho) 0%,var(--vermelho-escuro2) 100%);box-shadow:0 10px 24px rgba(153,0,0,.28);transform:translateY(-2px)}
.fdv-atalho:hover .fdv-atalho-icon{filter:brightness(0) invert(1);opacity:1}
.fdv-atalho:hover .fdv-atalho-label{color:#fff}

.fdv-atalho.is-verde:hover{background:linear-gradient(135deg,var(--verde) 0%,var(--verde-escuro) 100%);box-shadow:0 10px 24px rgba(43,138,62,.28)}

/* ===== CARDS DE CURSO (usado na home e na página de Cursos Livres) ===== */
.fdv-cursos-section{background:#faf7f4;padding:clamp(56px,6vw,86px) clamp(20px,3vw,56px)}
.fdv-section-inner{max-width:1680px;margin:0 auto}
.fdv-section-inner.is-narrow{max-width:1240px}
.fdv-cursos-head{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;flex-wrap:wrap;margin-bottom:32px}
.fdv-kicker{font-family:'Barlow Condensed',sans-serif;font-size:13px;letter-spacing:.22em;font-weight:700;color:var(--vermelho);margin-bottom:7px}
.fdv-h2-dark{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:clamp(32px,3.6vw,50px);line-height:1;color:#141414}
.fdv-see-all{font-size:14px;font-weight:600;color:var(--vermelho);border-bottom:1.5px solid rgba(153,0,0,.35);padding-bottom:3px}

.fdv-cursos-grid{display:grid;gap:20px;grid-template-columns:1fr}
@media(min-width:760px){.fdv-cursos-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1180px){.fdv-cursos-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.fdv-curso-card{position:relative;display:block;overflow:hidden;border-radius:16px;min-height:280px;height:100%;transition:transform .25s ease}
.fdv-curso-card:hover{transform:translateY(-5px)}
@media(min-width:760px){.fdv-curso-card{min-height:240px}}
@media(min-width:1180px){.fdv-curso-card{min-height:362px}}
.fdv-curso-media{position:absolute;inset:0}
.fdv-curso-media img{width:100%;height:100%;display:block;object-fit:cover;object-position:72% center}
.fdv-curso-veil{position:absolute;inset:0}
.fdv-curso-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;height:100%;width:68%;padding:clamp(22px,2.4vw,34px)}
.fdv-curso-kicker{font-size:11.5px;font-weight:700;letter-spacing:.03em;margin-bottom:9px}
.fdv-curso-title{font-family:Archivo,sans-serif;font-weight:700;font-size:clamp(20px,2.4vw,28px);line-height:1.1;margin:0;letter-spacing:-.01em;text-transform:uppercase}
.fdv-curso-title.is-long{font-size:clamp(16px,2vw,20px)}
.fdv-curso-prof{display:flex;align-items:center;gap:9px;margin-top:12px}
.fdv-curso-prof-foto,.fdv-curso-prof-foto-fallback{width:45px;height:45px;flex:none;border-radius:50%;object-fit:cover;display:block}
.fdv-curso-prof-foto-fallback{display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.18);color:#fff;font-size:15px;font-weight:700}
.fdv-curso-sub{font-size:12.5px;line-height:1.45;max-width:24ch;text-wrap:pretty;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.fdv-curso-preco{display:flex;align-items:baseline;gap:6px;margin-top:14px}
.fdv-curso-preco-x{font-size:12.5px;font-weight:600;color:#fff}
.fdv-curso-preco-valor{font-family:Archivo,sans-serif;font-size:19px;font-weight:800;color:var(--dourado)}
.fdv-curso-btn{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.06em;padding:11px 19px;border-radius:99px;margin-top:16px}

/* ===== CARDS DE REVISTA (edições/anos — usado nas páginas de Publicações) ===== */
.fdv-revistas-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:760px){.fdv-revistas-grid{gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1180px){.fdv-revistas-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.fdv-revista-card{position:relative;display:block;overflow:hidden;border-radius:16px;aspect-ratio:3/4.2;transition:transform .25s ease}
.fdv-revista-card:hover{transform:translateY(-5px)}
.fdv-revista-media{position:absolute;inset:0;background:var(--vermelho-escuro2)}
.fdv-revista-media img{width:100%;height:100%;display:block;object-fit:cover}
.fdv-revista-veil{position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,0,0,.75) 0%,rgba(10,0,0,.35) 20%,transparent 45%)}
.fdv-revista-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;height:100%;padding:clamp(20px,2.2vw,28px)}
.fdv-revista-kicker{font-size:26px;font-weight:700;color:#fff;line-height:1.15;margin-bottom:10px}
.fdv-revista-ano{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:clamp(30px,3vw,44px);color:var(--dourado);line-height:1;margin-bottom:20px}
.fdv-revista-btn{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.06em;padding:11px 22px;border-radius:99px;background:#fff;color:var(--vermelho-escuro2)}

/* ===== FOOTER ===== */
.fdv-footer{background:#0d0203;border-top:2px solid var(--vermelho);color:rgba(255,255,255,.7);padding:clamp(48px,5vw,72px) clamp(20px,3vw,56px) 0}
.fdv-rodape-grid{max-width:1680px;margin:0 auto;display:grid;gap:clamp(32px,4vw,72px);grid-template-columns:1fr}
@media(min-width:900px){.fdv-rodape-grid{grid-template-columns:minmax(280px,380px) 1fr;align-items:start}}
.fdv-footer-brand{display:flex;align-items:center;gap:11px;margin-bottom:18px}
.fdv-footer-logo-img{height:38px;width:auto;display:block}
.fdv-footer-desc{font-size:13.5px;line-height:1.65;margin:0 0 16px;max-width:36ch;text-wrap:pretty}
.fdv-footer-addr{font-size:13px;line-height:1.8}

/* ===== COOKIE / PRIVACY CONSENT BAR (todas as páginas) ===== */
.fdv-cookiebar{position:fixed;left:20px;bottom:20px;z-index:9999;width:min(420px,calc(100% - 40px));background:rgba(14,6,7,.97);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.12);border-left:4px solid var(--vermelho);border-radius:16px;box-shadow:0 20px 50px rgba(0,0,0,.5);animation:fdv-in .3s ease both}
.fdv-cookiebar-inner{display:flex;flex-direction:column;gap:12px;padding:20px 22px}
.fdv-cookiebar-title{display:flex;align-items:center;gap:8px;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:16px;color:#fff}
.fdv-cookiebar-text{margin:0;font-size:13.5px;line-height:1.55;color:rgba(255,255,255,.75)}
.fdv-cookiebar-text a{color:var(--dourado);text-decoration:underline;font-weight:600}
.fdv-cookiebar-btn{align-self:flex-end;background:var(--vermelho);color:#fff;border:0;border-radius:99px;padding:10px 26px;font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:.03em;font-size:14px;text-transform:uppercase;cursor:pointer;transition:filter .2s ease}
.fdv-cookiebar-btn:hover{filter:brightness(1.15)}
@media(max-width:520px){.fdv-cookiebar{left:12px;right:12px;bottom:12px;width:auto}}
.fdv-footer-addr .fdv-footer-phone{margin-top:8px;color:var(--dourado);font-weight:600}
.fdv-footer-whats-btn{display:inline-flex;align-items:center;gap:9px;background:linear-gradient(135deg,var(--verde) 0%,var(--verde-escuro) 100%);color:#fff;font-size:13.5px;font-weight:600;padding:11px 22px;border-radius:99px;text-decoration:none;box-shadow:0 10px 24px rgba(43,138,62,.28);margin-top:18px;transition:filter .2s ease}
.fdv-footer-whats-btn:hover{filter:brightness(1.1);color:#fff}

.fdv-footer-col-title{font-family:'Barlow Condensed',sans-serif;font-size:12px;letter-spacing:.18em;font-weight:700;color:var(--dourado);margin-bottom:14px}

.fdv-selos-block{margin-top:0}
@media(max-width:899.98px){.fdv-selos-block{margin-top:36px}}
.fdv-selos-grid{display:grid;gap:14px;margin-bottom:22px;max-width:870px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:520px){.fdv-selos-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.fdv-selo{display:flex;flex-direction:column;gap:9px}
.fdv-selo-box{aspect-ratio:1;border:1px solid rgba(255,255,255,.14);border-radius:12px;overflow:hidden;background:rgba(255,255,255,.03);display:flex;align-items:center;justify-content:center}
.fdv-selo-box img{width:100%;height:100%;object-fit:contain}
.fdv-selo-box svg{opacity:.35}

.fdv-footer-bottom{max-width:1680px;margin:48px auto 0;border-top:1px solid rgba(255,255,255,.1);padding:20px 0 26px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:12px;color:rgba(255,255,255,.42)}
.fdv-footer-bottom-links{display:flex;gap:20px}
