
/* ============================================================
   GHOSTBASE V22.8 — DESIGN / ESCALA VISUAL
   Somente apresentação. Não altera conteúdo, rotas ou dados.
   ============================================================ */

:root{
    --gb-v228-max:1320px;
    --gb-v228-gap:24px;
}

/* Base de escala */
html{
    font-size:16px!important;
}

body{
    font-size:16px!important;
    zoom:1!important;
}

.container,
.nav-shell,
.footer-grid,
.footer-bottom{
    width:min(calc(100% - 48px),var(--gb-v228-max))!important;
    max-width:var(--gb-v228-max)!important;
    margin-left:auto!important;
    margin-right:auto!important;
}

/* Cabeçalho */
.site-header{
    min-height:82px;
}

.nav-shell{
    height:82px!important;
    min-height:82px!important;
}

.brand{
    min-width:240px!important;
}

.brand strong{
    font-size:17px!important;
}

.brand small{
    font-size:10px!important;
}

.main-nav{
    font-size:14px!important;
    gap:20px!important;
}

/* Seções */
.section{
    padding:72px 0!important;
}

.section-head{
    margin-bottom:28px!important;
    gap:24px!important;
}

.section-head .kicker,
.kicker{
    font-size:11px!important;
    letter-spacing:.11em!important;
}

.section-head h2{
    margin:6px 0 8px!important;
    font-size:clamp(30px,3vw,44px)!important;
    line-height:1.05!important;
}

.section-head p{
    max-width:700px;
    font-size:15px!important;
    line-height:1.55!important;
}

.section-head>a{
    font-size:13px!important;
    font-weight:800!important;
}

/* Grids */
.grid{
    gap:22px!important;
}

.grid-4{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
}

.grid-3{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

/* Operações */
.event-card{
    min-height:100%!important;
    border-radius:16px!important;
}

.event-card .media{
    height:210px!important;
}

.event-card .media img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
}

.event-card .card-body{
    padding:19px!important;
}

.event-card h3{
    font-size:19px!important;
    line-height:1.2!important;
}

.event-card p{
    font-size:13px!important;
    line-height:1.55!important;
}

.date-chip{
    font-size:11px!important;
    padding:8px 10px!important;
}

/* Notícias */
.news-layout{
    grid-template-columns:minmax(0,1.6fr) minmax(330px,.8fr)!important;
    gap:24px!important;
}

.feature-card{
    min-height:430px!important;
    border-radius:17px!important;
}

.feature-card>img{
    width:100%!important;
    height:430px!important;
    object-fit:cover!important;
}

.feature-copy{
    padding:28px!important;
}

.feature-copy h3{
    font-size:clamp(27px,2.6vw,40px)!important;
    line-height:1.08!important;
}

.feature-copy p{
    font-size:14px!important;
    line-height:1.55!important;
}

.news-stack{
    gap:12px!important;
}

.news-row{
    min-height:92px!important;
    padding:9px!important;
}

.news-row img{
    width:118px!important;
    height:78px!important;
    object-fit:cover!important;
    border-radius:9px!important;
}

.news-row strong{
    font-size:14px!important;
    line-height:1.28!important;
}

/* Equipes */
.identity-card{
    min-height:245px!important;
    border-radius:16px!important;
    overflow:hidden!important;
}

.identity-card>img{
    width:42%!important;
    min-width:42%!important;
    height:245px!important;
    object-fit:cover!important;
}

.identity-card>div{
    padding:20px!important;
}

.identity-card h3{
    font-size:20px!important;
}

.identity-card p{
    font-size:13px!important;
    line-height:1.5!important;
}

/* Operadores */
.operator-card{
    height:390px!important;
    min-height:390px!important;
    border-radius:17px!important;
}

.operator-card>img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
}

.operator-overlay{
    padding:22px!important;
}

.operator-overlay h3{
    font-size:22px!important;
}

.operator-overlay p{
    font-size:13px!important;
}

/* CTA */
.split-cta{
    min-height:180px!important;
    padding:30px!important;
    border-radius:16px!important;
    align-items:center!important;
}

.split-cta h2{
    max-width:700px;
    font-size:clamp(25px,2.6vw,38px)!important;
}

.split-cta p{
    font-size:14px!important;
    max-width:760px;
}

.btn{
    min-height:44px!important;
    padding:0 17px!important;
    font-size:12px!important;
}

/* Rodapé */
.site-footer{
    padding-top:48px!important;
}

.footer-grid{
    grid-template-columns:1.5fr repeat(3,1fr)!important;
    gap:52px!important;
}

.footer-grid h4{
    font-size:14px!important;
}

.footer-grid a,
.footer-grid p{
    font-size:12px!important;
    line-height:1.65!important;
}

/* Tablet */
@media(max-width:1100px){
    .container,.nav-shell,.footer-grid,.footer-bottom{
        width:min(calc(100% - 36px),var(--gb-v228-max))!important;
    }

    .grid-4{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }

    .news-layout{
        grid-template-columns:1fr!important;
    }

    .news-stack{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}

/* Celular */
@media(max-width:760px){
    .container,.nav-shell,.footer-grid,.footer-bottom{
        width:min(calc(100% - 24px),var(--gb-v228-max))!important;
    }

    .section{
        padding:48px 0!important;
    }

    .section-head{
        align-items:flex-start!important;
        flex-direction:column!important;
        gap:10px!important;
    }

    .grid-4,
    .grid-3,
    .news-stack,
    .footer-grid{
        grid-template-columns:1fr!important;
    }

    .event-card .media{
        height:230px!important;
    }

    .feature-card,
    .feature-card>img{
        min-height:0!important;
        height:auto!important;
    }

    .feature-card>img{
        aspect-ratio:16/9;
    }

    .identity-card{
        display:grid!important;
        grid-template-columns:130px minmax(0,1fr)!important;
        min-height:190px!important;
    }

    .identity-card>img{
        width:130px!important;
        min-width:130px!important;
        height:100%!important;
    }

    .operator-card{
        height:420px!important;
    }

    .split-cta{
        padding:22px!important;
        flex-direction:column!important;
        align-items:flex-start!important;
        gap:20px!important;
    }

    .cta-actions{
        width:100%;
    }
}

/* Evita qualquer escala acidental herdada */
main,
.site-header,
.site-footer,
.section,
.container{
    transform:none!important;
    scale:1!important;
}
