
/* ============================================================
   GHOSTBASE V23.5 — HOME PROFISSIONAL
   Arquivo exclusivo: só atua em body.page-home.
   ============================================================ */

.page-home{
    --home-max:1360px;
    --home-section:74px;
}

/* Container da Home, sem mudar páginas internas */
.page-home main > section > .container,
.page-home .home-intro > .container{
    width:min(calc(100% - 48px),var(--home-max));
    max-width:var(--home-max);
}

/* -------------------- HERO -------------------- */
.page-home .gb-banner-slider--hero{
    margin-top:34px!important;
    margin-bottom:38px!important;
    width:min(calc(100% - 48px),var(--home-max))!important;
    border-radius:24px!important;
}

.page-home .gb-banner-slider--hero,
.page-home .gb-banner-slider--hero .gb-banner-track,
.page-home .gb-banner-slider--hero .gb-banner-slide{
    height:clamp(420px,36vw,610px)!important;
    min-height:420px!important;
}

/* fallback do hero sem banner */
.page-home .gb-home-fallback{
    min-height:560px;
}

/* -------------------- INTRO -------------------- */
.page-home .gb-home-intro-v235{
    padding:34px 0 36px;
    border-bottom:1px solid rgba(255,255,255,.07);
    background:
        linear-gradient(
            180deg,
            rgba(255,106,0,.028),
            transparent 70%
        );
}

.page-home .gb-home-intro-v235 .home-intro-inner{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(340px,.75fr);
    gap:50px;
    align-items:end;
}

.page-home .gb-home-intro-v235 h2{
    max-width:720px;
    margin:7px 0 0;
    font-size:clamp(27px,3vw,42px);
    line-height:1.06;
}

.page-home .gb-home-intro-v235 p{
    max-width:620px;
    margin:0;
    color:#9eadb6;
    font-size:15px;
    line-height:1.7;
}

/* -------------------- SEÇÕES -------------------- */
.page-home .section{
    padding:var(--home-section) 0;
}

.page-home .section-head{
    margin-bottom:27px;
}

.page-home .section-head h2{
    margin:6px 0 6px;
    font-size:clamp(31px,3.2vw,46px);
    line-height:1.04;
    letter-spacing:-.035em;
}

.page-home .section-head p{
    margin:0;
    color:#899aa4;
}

.page-home .section-head > a{
    color:#ff7614;
    font-size:12px;
    font-weight:900;
}

/* -------------------- OPERAÇÕES -------------------- */
.page-home .gb-home-operations-v235{
    background:#080c0f;
}

.page-home .gb-home-operations-v235 .grid-4{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}

.page-home .gb-home-operations-v235 .event-card{
    overflow:hidden;
    border-radius:17px;
    background:#10171b;
    border:1px solid #26343c;
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.page-home .gb-home-operations-v235 .event-card:hover{
    transform:translateY(-5px);
    border-color:rgba(255,106,0,.45);
    box-shadow:0 22px 45px rgba(0,0,0,.28);
}

.page-home .gb-home-operations-v235 .event-card .media{
    height:245px;
}

.page-home .gb-home-operations-v235 .event-card .media img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.page-home .gb-home-operations-v235 .card-body{
    padding:19px;
}

/* -------------------- BANNER DO MEIO -------------------- */
.page-home .gb-home-campaign-v235{
    padding:26px 0 56px!important;
    background:
        linear-gradient(
            180deg,
            #080c0f,
            #0a0f12
        );
}

/* palco */
.page-home .gb-home-campaign-v235 .gb-banner-slider--compact{
    position:relative!important;
    overflow:hidden!important;
    height:clamp(330px,31vw,500px)!important;
    min-height:330px!important;
    border-radius:22px!important;

    border:1px solid rgba(255,255,255,.12)!important;
    background:#0b1115!important;

    box-shadow:
        0 30px 75px rgba(0,0,0,.55),
        0 0 45px rgba(255,106,0,.075)!important;
}

.page-home .gb-home-campaign-v235 .gb-banner-track,
.page-home .gb-home-campaign-v235 .gb-banner-slide{
    height:100%!important;
    min-height:100%!important;
}

/*
 * Fallback fundamental:
 * mesmo que o IMG tenha algum conflito com CSS antigo,
 * o próprio slide possui a mesma imagem como background.
 */
.page-home .gb-home-campaign-v235 .gb-banner-slide{
    background:
        linear-gradient(
            90deg,
            rgba(5,8,10,.86) 0%,
            rgba(5,8,10,.49) 42%,
            rgba(5,8,10,.08) 74%
        ),
        var(--gb-banner-image),
        #0a1014!important;

    background-size:cover!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
}

/* mídia por cima do fallback */
.page-home .gb-home-campaign-v235 .gb-banner-media{
    z-index:1!important;
    opacity:1!important;
}

.page-home .gb-home-campaign-v235 .gb-banner-media img{
    object-fit:cover!important;
    object-position:center!important;
    filter:
        brightness(.85)
        contrast(1.07)
        saturate(1.03)!important;
}

/* sombreado profissional visível */
.page-home .gb-home-campaign-v235 .gb-banner-overlay{
    z-index:3!important;
    background:
        linear-gradient(
            90deg,
            rgba(4,7,9,.90) 0%,
            rgba(4,7,9,.72) 30%,
            rgba(4,7,9,.26) 62%,
            rgba(4,7,9,.06) 82%
        ),
        linear-gradient(
            180deg,
            rgba(0,0,0,.08),
            transparent 48%,
            rgba(0,0,0,.38)
        )!important;
}

/* CONTEÚDO DO BANNER — força aparecer */
.page-home .gb-home-campaign-v235 .gb-banner-content{
    position:absolute!important;
    inset:0!important;
    z-index:8!important;

    width:100%!important;
    height:100%!important;

    display:flex!important;
    align-items:center!important;

    padding:38px 54px!important;

    pointer-events:none;
}

.page-home .gb-home-campaign-v235 .gb-banner-copy{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    transform:none!important;

    width:min(610px,58%)!important;
    max-width:610px!important;

    padding:23px 25px!important;

    border:1px solid rgba(255,255,255,.11);
    border-left:3px solid #ff6a00;
    border-radius:14px;

    background:
        linear-gradient(
            135deg,
            rgba(8,12,15,.83),
            rgba(8,12,15,.58)
        );

    box-shadow:
        0 18px 55px rgba(0,0,0,.25);

    backdrop-filter:blur(9px);
}

.page-home .gb-home-campaign-v235 .gb-banner-eyebrow{
    display:block;
    margin-bottom:7px;
    color:#ff7614;
    font-size:9px;
    line-height:1.2;
    font-weight:950;
    letter-spacing:.18em;
}

.page-home .gb-home-campaign-v235 .gb-banner-copy h3{
    display:block!important;
    margin:0 0 8px!important;
    color:#fff!important;
    font-size:clamp(29px,3.4vw,48px)!important;
    line-height:1!important;
    letter-spacing:-.045em!important;
}

.page-home .gb-home-campaign-v235 .gb-banner-copy h2{
    display:block!important;
    margin:0 0 10px!important;
    color:#e9eef1!important;
    font-size:clamp(15px,1.7vw,22px)!important;
    line-height:1.25!important;
    font-weight:750!important;
}

.page-home .gb-home-campaign-v235 .gb-banner-copy p{
    display:block!important;
    margin:0 0 18px!important;
    color:#b5c0c7!important;
    font-size:13px!important;
    line-height:1.55!important;
}

.page-home .gb-home-campaign-v235 .gb-banner-copy .btn{
    pointer-events:auto;
    min-height:42px;
    padding:0 16px;
    font-size:11px;
}

/* controles */
.page-home .gb-home-campaign-v235 .gb-banner-arrow{
    z-index:20!important;
    opacity:.55!important;
}

.page-home .gb-home-campaign-v235 .gb-banner-dots{
    z-index:21!important;
    bottom:18px!important;
}

.page-home .gb-home-campaign-v235 .gb-banner-progress{
    z-index:22!important;
}

/* -------------------- NOTÍCIAS -------------------- */
.page-home .gb-home-news-v235{
    background:
        radial-gradient(
            circle at 84% 12%,
            rgba(255,106,0,.055),
            transparent 26%
        ),
        #0b1013;
}

.page-home .gb-home-news-v235 .news-layout{
    display:grid;
    grid-template-columns:minmax(0,1.5fr) minmax(330px,.72fr);
    gap:22px;
}

.page-home .gb-home-news-v235 .feature-card{
    min-height:480px;
    border-radius:18px;
    overflow:hidden;
}

.page-home .gb-home-news-v235 .feature-card>img{
    height:480px;
    object-fit:cover;
}

.page-home .gb-home-news-v235 .feature-copy{
    padding:28px;
}

/* -------------------- EQUIPES -------------------- */
.page-home .gb-home-teams-v235 .grid-3{
    gap:18px;
}

.page-home .gb-home-teams-v235 .identity-card{
    min-height:190px;
    border-radius:15px;
    transition:transform .18s ease,border-color .18s ease;
}

.page-home .gb-home-teams-v235 .identity-card:hover{
    transform:translateY(-4px);
    border-color:rgba(255,106,0,.40);
}

/* -------------------- OPERADORES -------------------- */
.page-home .gb-home-operators-v235{
    background:#0a0f12;
}

.page-home .gb-home-operators-v235 .operator-card{
    min-height:430px;
    border-radius:17px;
    overflow:hidden;
}

.page-home .gb-home-operators-v235 .operator-card img{
    transition:transform .45s ease;
}

.page-home .gb-home-operators-v235 .operator-card:hover img{
    transform:scale(1.035);
}

/* -------------------- COMUNIDADE -------------------- */
.page-home .gb-home-community-v235{
    padding-top:76px;
    background:
        linear-gradient(
            180deg,
            #080c0f,
            #0b1013
        );
}

.page-home .gb-home-community-grid-v235{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(440px,.9fr);
    gap:50px;
    align-items:center;

    padding:42px;
    border:1px solid #27353d;
    border-radius:20px;

    background:
        radial-gradient(
            circle at 12% 0%,
            rgba(255,106,0,.12),
            transparent 28%
        ),
        #10171b;
}

.page-home .gb-home-community-copy-v235 h2{
    max-width:680px;
    margin:8px 0 15px;
    font-size:clamp(34px,4vw,57px);
    line-height:.98;
    letter-spacing:-.045em;
}

.page-home .gb-home-community-copy-v235 p{
    max-width:650px;
    color:#a5b3bb;
    font-size:15px;
}

.page-home .gb-home-community-actions-v235{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:22px;
}

.page-home .gb-home-community-links-v235{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}

.page-home .gb-home-community-links-v235 a{
    min-height:132px;
    padding:17px;
    border:1px solid #293840;
    border-radius:13px;
    background:#0c1216;
    transition:.18s ease;
}

.page-home .gb-home-community-links-v235 a:hover{
    transform:translateY(-3px);
    border-color:rgba(255,106,0,.42);
    background:#11191e;
}

.page-home .gb-home-community-links-v235 a>span{
    display:block;
    color:#ff6a00;
    font-size:10px;
    font-weight:950;
}

.page-home .gb-home-community-links-v235 strong{
    display:block;
    margin-top:8px;
    color:#fff;
    font-size:14px;
}

.page-home .gb-home-community-links-v235 small{
    display:block;
    margin-top:5px;
    color:#84959f;
    font-size:10px;
    line-height:1.45;
}

.page-home .gb-home-start-v235{
    margin-top:22px;
}

/* -------------------- RESPONSIVO -------------------- */
@media(max-width:1100px){
    .page-home .gb-home-operations-v235 .grid-4{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .page-home .gb-home-community-grid-v235{
        grid-template-columns:1fr;
    }

    .page-home .gb-home-intro-v235 .home-intro-inner{
        grid-template-columns:1fr;
        gap:17px;
    }
}

@media(max-width:780px){
    .page-home{
        --home-section:54px;
    }

    .page-home main > section > .container,
    .page-home .home-intro > .container{
        width:calc(100% - 28px);
    }

    .page-home .gb-banner-slider--hero{
        width:calc(100% - 28px)!important;
    }

    .page-home .gb-home-operations-v235 .grid-4{
        grid-template-columns:1fr;
    }

    .page-home .gb-home-news-v235 .news-layout{
        grid-template-columns:1fr;
    }

    .page-home .gb-home-campaign-v235 .gb-banner-slider--compact{
        height:390px!important;
    }

    .page-home .gb-home-campaign-v235 .gb-banner-content{
        align-items:flex-end!important;
        padding:18px!important;
    }

    .page-home .gb-home-campaign-v235 .gb-banner-copy{
        width:100%!important;
        max-width:none!important;
        padding:18px!important;
    }

    .page-home .gb-home-community-grid-v235{
        padding:24px 19px;
    }

    .page-home .gb-home-community-links-v235{
        grid-template-columns:1fr;
    }
}
