/* ============================================================
   HERO AJUSTE DIREITA
   foto mais proxima do titulo + moldura
   ============================================================ */

.hero {
    position: relative !important;
    height: min(480px, calc(100svh - 84px)) !important;
    min-height: 420px !important;
    background: #f3ece3 !important;
    overflow: hidden !important;
}

/* moldura geral do bloco */
.hero::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    right: 26px !important;
    bottom: 26px !important;
    left: 26px !important;
    border: 1px solid rgba(48, 43, 41, 0.14) !important;
    pointer-events: none !important;
    z-index: 4 !important;
}

/* area da foto no lado direito, colada na linha do cabecalho */
.hero .hero-slides {
    position: absolute !important;
    top: 0 !important;
    right: 26px !important;
    bottom: 26px !important;
    left: auto !important;

    width: clamp(700px, 59vw, 980px) !important;

    overflow: hidden !important;
    background: #ece5dc !important;
    z-index: 1 !important;

    border-left: 1px solid rgba(48, 43, 41, 0.12) !important;
    border-right: 1px solid rgba(48, 43, 41, 0.12) !important;
}

/* imagem preenchendo o molde por completo */
.hero .hero-slide,
.hero .hero-slide.active {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
    object-position: center center !important;

    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;

    transform: none !important;
    animation: none !important;
    scale: 1 !important;
    zoom: 1 !important;

    transition: opacity .45s ease !important;
}

/* faixa de protecao do texto para a foto nao invadir visualmente */
.hero .hero-shade {
    z-index: 2 !important;
    background:
        linear-gradient(
            90deg,
            rgba(243,236,227,1) 0%,
            rgba(243,236,227,.985) 10%,
            rgba(243,236,227,.94) 19%,
            rgba(243,236,227,.74) 28%,
            rgba(243,236,227,.34) 36%,
            rgba(243,236,227,.08) 43%,
            rgba(243,236,227,0) 50%
        ) !important;
}

/* carrossel sempre visivel sobre a foto, dentro da moldura */
.hero .hero-controls {
    right: 60px !important;
    bottom: 60px !important;
    opacity: 1 !important;
}

/* texto na frente */
.hero .hero-content {
    position: relative !important;
    z-index: 5 !important;

    width: min(390px, 32vw) !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 50px 0 70px clamp(24px, 4vw, 48px) !important;
}

/* titulo menor para ganhar respiro */
.hero h1 {
    max-width: 380px !important;
    font-size: clamp(36px, 4.4vw, 58px) !important;
    line-height: .92 !important;
    letter-spacing: -.04em !important;
}

.hero .hero-text {
    max-width: 430px !important;
}

/* tablet */
@media (max-width: 1180px) {
    .hero .hero-slides {
        width: clamp(480px, 56vw, 680px) !important;
    }

    .hero .hero-content {
        width: min(360px, 38vw) !important;
    }
}

/* celular */
@media (max-width: 860px) {
    /* neutraliza o padding-top/bottom global de "main section" (camada pwa/mobile)
       que empurrava a foto e quebrava o encaixe do hero no celular */
    .hero {
        display: block !important;
        height: auto !important;
        min-height: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .hero::after {
        inset: 12px !important;
    }

    .hero .hero-slides {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;

        width: calc(100% - 24px) !important;
        height: 280px !important;
        margin: 12px auto 0 !important;

        border-left: 0 !important;
        border-right: 0 !important;
    }

    .hero .hero-slide,
    .hero .hero-slide.active {
        object-position: center center !important;
    }

    .hero .hero-shade {
        background:
            linear-gradient(
                180deg,
                rgba(243,236,227,.12) 0%,
                rgba(243,236,227,.45) 100%
            ) !important;
    }

    .hero .hero-content {
        width: auto !important;
        margin: 0 !important;
        padding: 36px 20px 28px !important;
    }

    .hero h1 {
        max-width: 100% !important;
    }

    .hero .hero-controls {
        top: 232px !important;
        bottom: auto !important;
        right: 20px !important;
    }
}