.animate-on-scroll {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.4s ease-out, transform 0.4s ease-out;
    will-change: opacity, transform;
}
.animate-on-scroll.show {
    opacity: 1;
    transform: translateY(0);
}
.section-blue {
    background: #080B2E !important;
    color: #fff !important;
}
/* Paleta de cores personalizada baseada na imagem */
:root {
    --gold: #c9a13b;
    --dark-blue: #232c36;
    --green: #4a5a2c;
    --beige: #e6d6b2;
    --light: #f8f9fa;
    --font-heading: 'Space Grotesk', 'Segoe UI', Arial, sans-serif;
    --font-body: 'Inter', 'Segoe UI', Arial, sans-serif;
}

.bg-gold {
    background-color: var(--gold) !important;
}
.text-gold {
    color: var(--gold) !important;
}
.text-dark-blue {
    color: var(--dark-blue) !important;
}
.btn-gold {
    background-color: var(--gold);
    color: var(--dark-blue);
    border: 2px solid var(--gold);
    font-weight: 600;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
}
.btn-gold:hover {
    background-color: var(--dark-blue);
    color: var(--gold);
    border-color: var(--gold);
}
.btn-gold:focus {
    background-color: var(--gold);
    color: var(--dark-blue);
    border-color: var(--gold);
    box-shadow: none;
    outline: none;
}
.btn-gold:active {
    background-color: #b08f35;
    color: var(--dark-blue);
    border-color: #b08f35;
}
.btn-dark-blue {
    background-color: var(--dark-blue);
    color: #fff;
    border: none;
}
.btn-dark-blue:hover {
    background-color: #080B2E;
    color: var(--gold);
}
.btn-outline-gold { color: var(--gold); border:2px solid var(--gold); background:transparent; font-weight:600; letter-spacing:.5px; }
.btn-outline-gold:hover { background:var(--gold); color: var(--dark-blue); }
.btn-outline-gold:focus { 
    background: transparent; 
    color: var(--gold); 
    border-color: var(--gold);
    box-shadow: none;
    outline: none;
}
.btn-outline-gold:active {
    background: var(--gold); 
    color: var(--dark-blue);
}
.banner-cta .btn { min-width:200px; }
.logo {
    height: 48px;
    width: auto;
}

/* Logo IYQ no navbar */
.navbar-brand-container {
    display: flex;
    align-items: center;
}

.iyq-logo {
    height: 40px;
    width: auto;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.iyq-logo-link {
    text-decoration: none !important;
    display: inline-block;
    padding: 4px 8px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    transition: all 0.3s ease;
}

.iyq-logo-link:hover {
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.4);
    transform: translateY(-2px);
}

.iyq-logo-link:hover .iyq-logo {
    transform: scale(1.05);
}

/* Links dos logos de parceiros */
.partner-logo-link {
    text-decoration: none !important;
    display: inline-block;
    transition: transform 0.3s ease, opacity 0.3s ease;
    border-radius: 8px;
    overflow: hidden;
}

.partner-logo-link:hover {
    transform: translateY(-3px) scale(1.05);
    opacity: 0.9;
}

.iyq-partner-link {
    border: 2px solid rgba(255, 255, 255, 0.3);
    padding: 8px;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
}

.iyq-partner-link:hover {
    border-color: rgba(255, 255, 255, 0.6);
    background: rgba(255, 255, 255, 0.2);
    transform: translateY(-3px) scale(1.08);
}

.iyq-partner-logo {
    filter: brightness(1.1);
}

.banner {
    background: #080B2E;
    min-height: 100vh;
    min-height: 100svh; /* mobile safe */
    height: 100vh;
    height: 100svh;
    color: var(--beige);
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* Versão estática simples (sem gradiente / sem animação) */
.banner-static-bg { background:#080B2E !important; }
.banner-static-bg .banner-content { z-index:2; }
.waves-bg { display:none !important; }

/* ===== Fundo Quântico (particles + links) ===== */
.quantum-bg { position:absolute; inset:0; width:100%; height:100%; z-index:1; pointer-events:none; mix-blend-mode:screen; opacity:.55; }
@media (prefers-reduced-motion: reduce){
    .quantum-bg { display:none; }
}

.waves-bg {
    position: absolute;
    pointer-events: none;
    width: 100%;
    height: 100%;
    opacity: 0.7;
}
.banner-content {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0 1rem;
}
.banner-logo {
    max-width: 400px;
    opacity: 0.95;
}
.banner-logo img {
    width: 100%;
    height: auto;
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.5));
}
@media (max-width: 768px) {
    .banner-content {
        padding: 2rem 1rem;
    }
    .banner-logo {
        max-width: 280px;
    }
}
.banner-apoio {
    position: absolute;
    bottom: 1rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    max-width: 900px;
    width: 100%;
    padding: 0 1rem;
    opacity: 0.9;
}
.banner-apoio img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}
@media (max-width: 768px) {
    .banner-apoio {
        max-width: 100%;
        padding: 0 0.5rem;
        bottom: 0.5rem;
    }
}
.border-gold {
    border: 3px solid var(--gold);
}
.patrocinador-logo {
        background-color: #080B2E !important;
    width: auto;
    border-radius: 8px;
    border: 2px solid var(--gold);
    background: var(--beige);
    padding: 4px;
}
body { background-color: var(--light); font-family: var(--font-body); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-heading); letter-spacing:.5px; }
nav .nav-link { font-weight:500; font-size:.85rem; letter-spacing:.08em; text-transform:uppercase; }
nav .nav-link.active, nav .nav-link:hover { color: var(--gold) !important; }
section h3 {
    margin-bottom: 1rem;
}
/* ===== Palestrantes ===== */
.speaker-card { overflow:hidden; box-shadow:0 8px 18px -8px rgba(0,0,0,.4); border-radius:14px; }
.speaker-card .card-body { border-top:1px solid rgba(0,0,0,.06); }
.speaker-avatar { height:180px; background:linear-gradient(135deg,#101637,#1e274d 55%,#2d3b63); display:flex; align-items:center; justify-content:center; position:relative; color:#fff; font-family:var(--font-heading); font-weight:600; font-size:3rem; letter-spacing:.08em; }
.speaker-avatar:after { content:attr(data-iniciais); }
@media (max-width: 600px){ .speaker-avatar { height:150px; font-size:2.4rem; } }
/* Borda mais fina apenas nos cards de palestrantes */
.speaker-card.border-gold { border-width:1px; }

/* ===== Animação unificada para caixas (info, programação, palestrantes) ===== */
.local-meta .info-box,
.local-meta-secondary .info-box,
.pg-card,
.speaker-card { transition: border-color .45s ease, box-shadow .45s ease, transform .45s ease; }

/* Overlay sutil (reutiliza :before existente nas info-box; usamos :after nos outros) */
.pg-card::after, .speaker-card::after { content:""; position:absolute; inset:0; border-radius:inherit; background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,0)); opacity:0; transition:opacity .45s ease; pointer-events:none; }

/* Estado hover / focus */
.local-meta .info-box:hover,
.local-meta-secondary .info-box:hover,
.pg-card:hover,
.pg-card:focus-within,
.speaker-card:hover,
.speaker-card:focus-within { border-color: var(--gold) !important; box-shadow:0 8px 22px -10px rgba(0,0,0,.55), 0 0 0 1px rgba(201,161,59,.35); }

.pg-card:hover::after, .pg-card:focus-within::after,
.speaker-card:hover::after, .speaker-card:focus-within::after { opacity:1; }

/* Leve elevação */
.pg-card:hover, .pg-card:focus-within,
.speaker-card:hover, .speaker-card:focus-within,
.local-meta .info-box:hover, .local-meta-secondary .info-box:hover { transform:translateY(-4px); }

/* Respeito a preferências de movimento reduzido */
@media (prefers-reduced-motion: reduce){
    .local-meta .info-box,
    .local-meta-secondary .info-box,
    .pg-card,
    .speaker-card { transition: border-color .3s ease; }
    .pg-card:hover, .pg-card:focus-within,
    .speaker-card:hover, .speaker-card:focus-within,
    .local-meta .info-box:hover, .local-meta-secondary .info-box:hover { transform:none; }
}
/* Chips meta do banner */
.event-meta .meta-chip {
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(148,115,32,0.35);
    border-radius: 12px;
    padding: .6rem .9rem .55rem;
    min-width: 180px;
    backdrop-filter: blur(4px);
}
.event-meta .meta-chip .label {
    display:block;
    font-size: .6rem;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #d2bb85;
    margin-bottom: 2px;
}
.event-meta .meta-chip .value {
    font-size: .8rem;
    font-weight:600;
    color: #fff;
    line-height:1.1rem;
}
@media (max-width: 600px){
    .event-meta .meta-chip { min-width:140px; padding:.55rem .7rem; }
    .event-meta .meta-chip .value { font-size:.7rem; }
}

/* ===== Meta Inline (Data + Local lado a lado) ===== */
.event-meta-inline { font-family:var(--font-heading); display:flex; flex-direction:column; align-items:center; gap:.35rem; }
.event-meta-inline .meta-line { display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; }
.event-meta-inline .primary { font-size:1rem; letter-spacing:.12em; text-transform:uppercase; font-weight:600; color:#f1e8d2; }
.event-meta-inline .secondary { font-size:.8rem; letter-spacing:.15em; text-transform:uppercase; font-weight:500; color:#d4c7aa; opacity:.9; }
.event-meta-inline .meta-date { color:var(--gold); }
.event-meta-inline .meta-place { color:#fff; font-weight:600; }
.event-meta-inline .meta-time { color:#fff; }
.event-meta-inline .sep { color:#947320; font-weight:700; }
@media (max-width: 620px){
    .event-meta-inline .primary { font-size:.85rem; letter-spacing:.14em; }
    .event-meta-inline .secondary { font-size:.65rem; letter-spacing:.18em; }
}

/* ===== Programação (Timeline) ===== */
.schedule {
    position: relative;
    margin-top: 2rem;
    padding-left: 0.5rem;
}
.schedule:before {
    content: '';
    position: absolute;
    top: 0.3rem;
    bottom: 0.3rem;
    left: 120px;
    width: 2px;
    background: linear-gradient(to bottom, #947320 0%, rgba(148,115,32,0.25) 100%);
}
.schedule-item {
    display: flex;
    gap: 1.25rem;
    position: relative;
    padding: 0.75rem 0 0.75rem 0.25rem;
}
.schedule-item:not(:last-child) { border-bottom: 1px solid rgba(255,255,255,0.06); }
.bg-white .schedule-item:not(:last-child) { border-color: #eee; }

.schedule-item .time {
    flex: 0 0 110px;
    font-weight: 600;
    font-size: 0.9rem;
    letter-spacing: .5px;
    color: #947320;
    text-align: right;
    padding-right: 10px;
}
.schedule-item .details {
    flex: 1;
    background: #080B2E;
    color: #fff;
    border: 1px solid rgba(148,115,32,0.35);
    border-radius: 10px;
    padding: 0.85rem 1rem 0.9rem;
    position: relative;
    overflow: hidden;
}
.bg-white .schedule-item .details { background:#fff; color:#222; }
.schedule-item .details:before {
    content: '';
    position: absolute;
    top: 12px;
    left: -6px;
    width: 12px;
    height: 12px;
    background: #947320;
    border: 2px solid #080B2E;
    border-radius: 50%;
    box-shadow: 0 0 0 4px #080B2E;
}
.bg-white .schedule-item .details:before { border-color:#fff; box-shadow:0 0 0 4px #fff; }

.schedule-item h5.activity {
    margin: 0 0 0.35rem;
    font-size: 1.05rem;
    font-weight: 600;
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    align-items: baseline;
}
.schedule-item h5.activity .local {
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    background: rgba(148,115,32,0.15);
    color: #d7c089;
    padding: 2px 6px;
    border-radius: 4px;
}
.bg-white .schedule-item h5.activity .local { color:#947320; }
.schedule-item p.desc {
    margin: 0;
    font-size: .85rem;
    line-height: 1.3rem;
}

/* Variedades de atividade (cores sutis) */
.schedule-item .activity.credenciamento { color:#947320; }
.schedule-item .activity.abertura { color:#d5b768; }
.schedule-item .activity.palestra { color:#f1e2b6; }
.bg-white .schedule-item .activity.palestra { color:#947320; }
.schedule-item .activity.expoposter { color:#c9aa55; }
.schedule-item .activity.almoco { color:#947320; }
.schedule-item .activity.sessao { color:#e2c97d; }
.schedule-item .activity.painel { color:#e3d4a5; }

/* Estados especiais */
.schedule-item.break .details { background:#342b10; }
.schedule-item.pause .details { background:#1b2032; }
.bg-white .schedule-item.break .details { background:#fff9ec; }
.bg-white .schedule-item.pause .details { background:#f7f9ff; }

/* Responsividade */
@media (max-width: 768px) {
    .schedule:before { left: 100px; }
    .schedule-item .time { flex:0 0 90px; font-size:.75rem; }
    .schedule-item h5.activity { font-size:.95rem; }
    .schedule-item p.desc { font-size:.75rem; }
}
@media (max-width: 520px) {
    .schedule:before { display:none; }
    .schedule-item { flex-direction:column; padding-left:0; }
    .schedule-item .time { text-align:left; padding:0; }
    .schedule-item .details:before { display:none; }
}

/* Evita que a âncora dos links de navegação fique escondida atrás do navbar fixo */
section { scroll-margin-top: 120px; }

/* ===== PROGRAMAÇÃO - LAYOUT ESTILO TABELA ===== */
/* Container principal - layout vertical estilo tabela */
.program-vertical-container {
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 1.5rem 1rem;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

/* Item individual da programação - estilo linha de tabela */
.program-item {
    width: 100%;
    background: rgba(255, 255, 255, 0.6);
    border: none;
    border-bottom: 1px solid rgba(201, 161, 59, 0.2);
    border-radius: 0;
    padding: 1.2rem 1.5rem;
    display: grid;
    grid-template-columns: 120px 180px 1fr;
    grid-template-rows: auto auto;
    gap: 0.5rem 1rem;
    align-items: start;
    transition: all 0.25s ease;
}

.program-item:first-child {
    border-top: 1px solid rgba(201, 161, 59, 0.2);
}

/* Item de pausa/almoço - fundo levemente diferente */
.program-item.program-break {
    background: rgba(201, 161, 59, 0.08);
}

/* Itens de networking/check-in - fundo azul escuro */
.program-item.program-networking {
    background: #090C2F;
}

.program-item.program-networking .program-time {
    background: rgba(201, 161, 59, 0.3);
    border-color: rgba(201, 161, 59, 0.5);
    color: var(--dark-blue);
}

.program-item.program-networking .program-location {
    background: rgba(201, 161, 59, 0.25);
    border-color: rgba(201, 161, 59, 0.5);
    color: var(--dark-blue);
}

.program-item.program-networking .program-title {
    color: var(--gold);
}

.program-item.program-networking .program-desc {
    color: rgba(230, 214, 178, 0.95);
}

.program-item.program-networking .program-desc small {
    color: rgba(230, 214, 178, 0.75);
    font-size: 0.8em;
}

.program-item.program-networking:hover {
    background: rgba(9, 12, 47, 0.9);
}

/* Hover effect - destaque suave */
.program-item:hover {
    background: rgba(201, 161, 59, 0.15);
    border-bottom-color: var(--gold);
}

/* Elementos internos do item */
.program-time {
    grid-column: 1;
    grid-row: 1 / 3;
    font-size: 0.85rem;
    font-weight: 600;
    color: #232c36;
    font-family: var(--font-heading);
    padding: 0.25rem 0.75rem;
    background: rgba(201, 161, 59, 0.2);
    border: 1px solid rgba(201, 161, 59, 0.4);
    border-radius: 4px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.program-location {
    grid-column: 2;
    grid-row: 1 / 3;
    font-size: 0.75rem;
    font-weight: 600;
    color: #232c36;
    font-family: var(--font-heading);
    padding: 0.25rem 0.75rem;
    background: rgba(201, 161, 59, 0.12);
    border: 1px solid rgba(201, 161, 59, 0.3);
    border-radius: 4px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.program-title {
    grid-column: 3;
    grid-row: 1;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--dark-blue);
    margin: 0;
    font-family: var(--font-heading);
}

.program-desc {
    grid-column: 3;
    grid-row: 2;
    font-size: 0.9rem;
    line-height: 1.5;
    margin: 0;
    color: rgba(35, 44, 54, 0.85);
}

/* Responsividade programa vertical */
@media (max-width: 768px) {
    .program-vertical-container {
        padding: 1rem 0.5rem;
    }
    
    .program-item {
        grid-template-columns: 100px 140px 1fr;
        padding: 1rem 1rem;
        gap: 0.5rem 0.75rem;
    }
    
    .program-time {
        font-size: 0.75rem;
        padding: 0.2rem 0.5rem;
    }
    
    .program-location {
        font-size: 0.7rem;
        padding: 0.2rem 0.5rem;
    }
    
    .program-title {
        font-size: 1rem;
    }
    
    .program-desc {
        font-size: 0.85rem;
    }
}

@media (max-width: 576px) {
    .program-item {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto auto;
        padding: 1rem;
        gap: 0.5rem;
    }
    
    .program-time {
        grid-column: 1;
        grid-row: 1;
        font-size: 0.8rem;
        justify-content: flex-start;
        width: fit-content;
    }
    
    .program-location {
        grid-column: 1;
        grid-row: 2;
        font-size: 0.75rem;
        justify-content: flex-start;
        width: fit-content;
    }
    
    .program-title {
        grid-column: 1;
        grid-row: 3;
        font-size: 1rem;
    }
    
    .program-desc {
        grid-column: 1;
        grid-row: 4;
        font-size: 0.8rem;
    }
}

/* Preferências de movimento reduzido */
@media (prefers-reduced-motion: reduce) {
    .program-item {
        transition: border-color 0.2s ease;
    }
    

/* ===== BANNERS DE PALESTRANTES ===== */
.speaker-banner { position: relative; background:#fff; }
.speaker-banner img { display:block; object-fit:cover; aspect-ratio: 4 / 5; }
@media (max-width: 576px){
    .speaker-banner img { aspect-ratio: 3 / 4; }
}
    .program-item:hover {
        transform: none;
    }
}

/* ===== Local (meta side-by-side) ===== */
.local-meta, .local-meta-secondary { display:flex; gap:1.25rem; flex-wrap:wrap; }
.local-meta .info-box, .local-meta-secondary .info-box { background:rgba(255,255,255,0.06); border:1px solid rgba(201,161,59,0.35); padding:1rem 1.15rem .95rem; border-radius:14px; min-width:240px; flex:1 1 100%; position:relative; backdrop-filter:blur(4px); }
.local-meta .info-box:before, .local-meta-secondary .info-box:before { content:""; position:absolute; inset:0; border-radius:14px; background:linear-gradient(145deg,rgba(255,255,255,0.08),rgba(255,255,255,0)); pointer-events:none; }
.local-meta .info-box:hover, .local-meta-secondary .info-box:hover { border-color:var(--gold); }
.info-box .ib-label { font-size:.6rem; letter-spacing:.18em; text-transform:uppercase; color:#d7c089; font-weight:600; margin-bottom:.35rem; }
.info-box .ib-value { font-size:.85rem; font-weight:600; line-height:1.25rem; color:#fff; }
.local-meta-secondary .info-box.time { flex:1 1 100%; text-align:center; }
/* Centralização específica solicitada para Local e Data (mantendo caixas esticadas em largura completa) */
.local-meta.center-meta { justify-content:flex-start; }
.local-meta.center-meta .info-box { flex:1 1 100%; text-align:center; }
.local-meta.center-meta .info-box .ib-label,
.local-meta.center-meta .info-box .ib-value { text-align:center; display:block; }
@media (max-width:680px){
    .local-meta .info-box, .local-meta-secondary .info-box { min-width:100%; }
    .local-meta-secondary .info-box.time { text-align:left; }
}
/* Borda dourada mais fina somente para o mapa */
.local-layout .map-frame.border-gold { border-width:1px; }
/* Layout duas colunas Local */
.local-layout .map-wrapper { position:relative; min-height:320px; }
.local-layout .map-frame { position:relative; width:100%; height:100%; overflow:hidden; display:block; }
.local-layout .map-frame iframe { width:100%; height:100%; border:0; }
@media (max-width: 991.98px){
    .local-layout .map-wrapper { min-height:300px; }
}
@media (max-width: 575.98px){
    .local-layout .map-wrapper { min-height:260px; }
}

/* ===== Navbar Custom ===== */
:root { --nav-height: 108px; --nav-height-scrolled: 74px; }
.main-nav { background:rgba(8,11,46,.82); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom:1px solid rgba(201,161,59,.25); box-shadow:0 4px 18px -6px rgba(0,0,0,.55); padding:0; transition: all .45s ease; z-index:1040; }
.main-nav .container { min-height: var(--nav-height); display:flex; align-items:center; }
.main-nav .navbar-brand { display:flex; align-items:center; padding:.4rem 0; }
.main-nav .logo { height:72px; width:auto; transition:height .45s ease, transform .45s ease; filter: drop-shadow(0 2px 4px rgba(0,0,0,.4)); }
.main-nav .navbar-toggler { border:none; padding:.45rem .6rem; }
.main-nav .navbar-toggler:focus { box-shadow:0 0 0 2px rgba(201,161,59,.6); }
.main-nav .navbar-nav { align-items:center; }
.main-nav .nav-link { position:relative; padding:.55rem 1rem .5rem; margin:0 .15rem; font-size:.8rem; letter-spacing:.14em; font-weight:600; text-transform:uppercase; color:#f2f2f2 !important; transition:color .3s ease; }
.main-nav .nav-link::after { content:""; position:absolute; left:1rem; right:1rem; bottom:4px; height:2px; background:linear-gradient(90deg,transparent,var(--gold),transparent); opacity:0; transform:scaleX(0); transform-origin:center; transition:transform .4s ease, opacity .4s ease; }
.main-nav .nav-link:hover, .main-nav .nav-link:focus { color:var(--gold) !important; }
.main-nav .nav-link:hover::after, .main-nav .nav-link:focus::after, .main-nav .nav-link.active::after { opacity:1; transform:scaleX(1); }
.main-nav .nav-link.active { color:var(--gold) !important; }
.main-nav.scrolled { background:rgba(8,11,46,.94); border-bottom-color:rgba(201,161,59,.38); box-shadow:0 6px 20px -8px rgba(0,0,0,.65); }
.main-nav.scrolled .container { min-height: var(--nav-height-scrolled); }
.main-nav.scrolled .logo { height:56px; }
.main-nav.scrolled .nav-link { padding:.45rem 1rem .4rem; font-size:.75rem; }

/* Botões especiais no menu */
.btn-nav-primary,
.btn-nav-secondary {
    padding: 0.5rem 1.2rem;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border-radius: 6px;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.btn-nav-primary {
    background: var(--gold);
    color: var(--dark-blue);
    border: 2px solid var(--gold);
}

.btn-nav-primary:hover {
    background: transparent;
    color: var(--gold);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(201, 161, 59, 0.3);
}

.btn-nav-secondary {
    background: transparent;
    color: var(--gold);
    border: 2px solid var(--gold);
}

.btn-nav-secondary:hover {
    background: var(--gold);
    color: var(--dark-blue);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(201, 161, 59, 0.3);
}

.btn-nav-primary:focus,
.btn-nav-secondary:focus {
    box-shadow: none;
    outline: none;
}

/* Navbar integrada ao banner */
.main-nav.in-hero { position:absolute; top:0; left:0; right:0; background:transparent; backdrop-filter:none; -webkit-backdrop-filter:none; border-bottom:none; box-shadow:none; z-index:1040; }
.main-nav.in-hero.scrolled { position:fixed; top:0; left:0; right:0; background:rgba(8,11,46,.94); border-bottom:1px solid rgba(201,161,59,.38); z-index:1040; }
/* Logo maior somente enquanto no topo do banner (não scrolled) */
.main-nav.in-hero:not(.scrolled) .logo { height:100px; }

@media (max-width: 991.98px){
    .main-nav .navbar-collapse { background:rgba(8,11,46,.92); border:1px solid rgba(201,161,59,.25); border-radius:12px; padding:1rem .75rem; margin-top:.75rem; box-shadow:0 12px 26px -10px rgba(0,0,0,.7); }
    .main-nav .nav-link { margin:.15rem 0; }
    .main-nav .nav-link::after { left:.5rem; right:.5rem; }
    /* Botões no mobile - largura completa e empilhados */
    .main-nav .btn-nav-primary,
    .main-nav .btn-nav-secondary {
        display: block;
        width: 100%;
        text-align: center;
        margin: 0.5rem 0 !important;
    }
}
@media (max-width: 600px){
    :root { --nav-height: 92px; --nav-height-scrolled: 64px; }
    .main-nav .logo { height:62px; }
    .main-nav.scrolled .logo { height:50px; }
    section { scroll-margin-top: 110px; }
    .main-nav.in-hero:not(.scrolled) .logo { height:72px; }
}

/* ===== RODAPÉ EXPANDIDO ===== */
.footer-main {
    background: #080B2E;
    color: #fff;
    font-family: var(--font-body);
}

.footer-main h5,
.footer-main h6 {
    font-family: var(--font-heading);
    font-weight: 600;
    letter-spacing: 0.5px;
}

.footer-links {
    margin: 0;
    padding: 0;
}

.footer-links li {
    margin-bottom: 0.5rem;
}

.footer-links a {
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.3s ease, padding-left 0.3s ease;
    display: inline-block;
}

.footer-links a:hover {
    color: var(--gold) !important;
    padding-left: 5px;
}

.footer-social-link {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(201, 161, 59, 0.3);
    border-radius: 8px;
    color: var(--gold);
    text-decoration: none;
    font-size: 1.1rem;
    transition: all 0.3s ease;
}

.footer-social-link:hover {
    background: var(--gold);
    color: #080B2E;
    border-color: var(--gold);
    transform: translateY(-3px);
}

.footer-main hr {
    opacity: 0.2;
}

.footer-main a {
    transition: color 0.3s ease;
}

.footer-main a:hover {
    color: var(--gold) !important;
}

@media (max-width: 768px) {
    .footer-main .col-6 {
        margin-bottom: 1rem;
    }
}
