/* ============================================================
   Banner de destaque da home (Views/Home/_SlideBannerDestaque.cshtml)
   Uma loteria ou concurso especial em destaque, com chamada para a
   página pública de estatística. Fica no começo do carrossel do hero
   (o primeiro slide é o mais visto) e, como o hero, ocupa quase a
   primeira tela toda, de ponta a ponta (.hero-home e --hero-altura,
   modern_layout.css).
   - Computador (992px+): a foto cobre o slide todo e o texto fica por
     cima, à esquerda, na grade da página. Um degradê escuro cobre o
     lado do texto (forte até onde o texto termina, some no meio da
     tela): o texto fica legível com qualquer foto. A foto é gerada
     com o assunto à direita e o lado esquerdo calmo (fluxo n8n
     banner-destaque-imagem). Embaixo, a foto se funde no fundo azul,
     onde fica a barra de controle.
   - Celular e tablet: a foto no topo, de ponta a ponta, com a altura
     que sobra acima do texto; ela se funde no fundo azul e o texto
     fica embaixo, nunca por cima do assunto.
   - Hierarquia: loteria e concurso → título (o maior texto) →
     subtítulo → data do sorteio → um botão. Sem valor de prêmio, selo
     de acumulado nem prazo das apostas (a home é lida como software de
     estatística). O aviso de aleatoriedade e de +18 fica embaixo da
     barra de controle do carrossel (Index.cshtml).
   Variáveis do slide: --bd-cor (loteria) e --bd-cor-escura.
   Os seletores começam por .hero-carousel (ou .hero-home) para valer
   por cima do modern_layout.css, que é carregado depois.
   ============================================================ */

/* ---- Foto: o fundo do slide inteiro, a partir do topo da tela, por baixo do menu fixo (no celular, o topo) ---- */
.hero-carousel .bd-visual {
    position: absolute;
    inset: 0;
    overflow: hidden;
    background: var(--bd-cor-escura);
}

.hero-carousel .bd-visual img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 70% 50%;
}

/* Degradê por cima da foto: escuro até onde o texto termina (--bd-fim-texto) e transparente no meio da tela; embaixo,
   a foto se funde no fundo azul do hero */
.hero-carousel .bd-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to top, var(--primary-color), transparent 96px),
        linear-gradient(to right,
            rgba(12, 28, 50, 0.92) 0,
            rgba(12, 28, 50, 0.86) calc(var(--bd-fim-texto) - 60px),
            rgba(12, 28, 50, 0.6) calc(var(--bd-fim-texto) + 100px),
            rgba(12, 28, 50, 0) calc(var(--bd-fim-texto) + 360px));
}

/* Sem ilustração: a cor da loteria com o ícone do tema, do lado do assunto */
.hero-carousel .bd-desenho {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: max(6%, calc((100% - 1200px) / 2 + 4rem));
    background: linear-gradient(115deg, var(--bd-cor-escura) 30%, var(--bd-cor));
}

.hero-carousel .bd-desenho i {
    font-size: clamp(8rem, 18vw, 15rem);
    color: rgba(255, 255, 255, 0.2);
}

/* ---- Texto ---- */
.hero-carousel .bd-texto {
    padding: 24px 0 28px;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

.hero-carousel .bd-etiquetas {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}

.hero-carousel .bd-loteria {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    border-radius: 6px;
    font-size: var(--font-size-sm);
    font-weight: 600;
    line-height: 1.3;
    color: #fff;
    text-shadow: none;
}

.hero-carousel .bd-loteria {
    background: var(--bd-cor);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18);
}

/* Título: o maior texto do slide, logo abaixo da loteria, com a faixa fina na cor dela */
.hero-carousel .bd-titulo {
    color: #fff;
    font-size: clamp(1.75rem, 3vw, 2.75rem);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -0.02em;
    margin: 0 0 0.75rem;
    padding-left: 16px;
    border-left: 4px solid var(--bd-cor);
}

/* Até 3 linhas (o limite de 120 caracteres já cabe; a regra só protege os textos antigos) */
.hero-carousel .bd-subtitulo {
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.08rem;
    line-height: 1.55;
    margin: 0 0 0.85rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.hero-carousel .bd-data {
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.95rem;
    font-weight: 500;
    margin: 0 0 1.5rem;
}

.hero-carousel .bd-data i {
    margin-right: 4px;
}

.hero-carousel .bd-cta {
    text-shadow: none;
}

/* ---- Computador: a foto no fundo e o texto por cima, à esquerda, na grade da página ---- */
@media (min-width: 992px) {
    /* --bd-fim-texto: onde o texto termina na tela (a margem do container de 1200px + o respiro dele + a coluna do
       texto); o degradê da foto é escuro até ali */
    .hero-home .hero-carousel .bd-slide {
        --bd-largura-texto: 520px;
        --bd-fim-texto: calc(max(0px, (100% - 1200px) / 2) + 1rem + var(--bd-largura-texto));
    }

    .hero-home .hero-carousel .bd-slide .hero-content {
        grid-template-columns: minmax(0, var(--bd-largura-texto));
    }

    .hero-carousel .bd-texto {
        padding: 40px 0 56px;
    }
}

/* Computador estreito (notebook pequeno, tablet deitado): a coluna do texto um pouco menor, para sobrar foto */
@media (min-width: 992px) and (max-width: 1199.98px) {
    .hero-home .hero-carousel .bd-slide {
        --bd-largura-texto: 460px;
    }
}

/* Telas baixas (notebook de 768px de altura): textos um pouco menores, para o slide e os controles caberem */
@media (min-width: 992px) and (max-height: 820px) {
    .hero-carousel .bd-texto {
        padding-top: 24px;
        padding-bottom: 40px;
    }

    .hero-carousel .bd-etiquetas {
        margin-bottom: 12px;
    }

    .hero-carousel .bd-titulo {
        font-size: clamp(1.6rem, 2.6vw, 2.2rem);
    }

    .hero-carousel .bd-data {
        margin-bottom: 1.15rem;
    }
}

/* ---- Celular e tablet: a foto no topo, de ponta a ponta, com a altura que sobra (os slides têm todos a altura do
   hero ou do mais alto); ela se funde no fundo azul e o texto vem embaixo, encostado na parte apagada ---- */
@media (max-width: 991.98px) {
    /* A foto começa no topo da tela, por baixo do menu fixo (--hero-topo entra na altura dela) */
    .hero-home .hero-carousel .carousel-item.bd-slide {
        padding-top: 0;
    }

    /* Cresce com a sobra do slide, até o ponto em que o botão ainda fica na primeira tela */
    .hero-carousel .bd-visual {
        position: relative;
        inset: auto;
        flex: 1 1 auto;
        min-height: calc(var(--hero-topo) + clamp(160px, 26svh, 420px));
        max-height: calc(var(--hero-topo) + 46svh);
    }

    .hero-carousel .bd-visual img {
        object-position: 72% 50%;
    }

    .hero-carousel .bd-visual::after {
        background: linear-gradient(to bottom, transparent 40%, rgba(30, 58, 95, 0.8) 78%, var(--primary-color));
    }

    .hero-carousel .bd-desenho {
        justify-content: center;
        padding: 0 0 48px;
    }

    .hero-carousel .bd-desenho i {
        font-size: clamp(5rem, 22vw, 9rem);
    }

    .hero-home .hero-carousel .carousel-item.bd-slide > .container {
        flex: 0 0 auto;
        margin-top: -56px;
    }

    .hero-carousel .bd-texto {
        max-width: 680px;
        padding-top: 0;
    }
}

@media (max-width: 480px) {
    .hero-carousel .bd-titulo {
        font-size: 1.55rem;
    }

    .hero-carousel .bd-subtitulo {
        font-size: 0.98rem;
    }

    .hero-carousel .bd-data {
        font-size: 0.875rem;
        margin-bottom: 1.15rem;
    }
}

/* Celular baixo (iPhone SE no Safari, ~550px de tela útil): sem o subtítulo, para o botão caber na primeira tela */
@media (max-width: 575.98px) and (max-height: 600px) {
    .hero-carousel .bd-subtitulo {
        display: none;
    }
}
