/* BLACK UNI-RN — título e oferta em duas colunas iguais; slogan abaixo. */
.campaign > .slogan-row {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: clamp(12px, 2vw, 28px);
    width: 100%;
    margin: clamp(18px, 3vw, 38px) auto 0;
}
.campaign > .slogan-row .campaign-slogan {
    margin: 0;
    text-align: center;
}

@media (max-width: 800px) {
    .campaign-grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: clamp(6px, 1.6vw, 14px);
        align-items: center;
    }
    .campaign-art,
    .offer-wrap.offer-wrap-image {
        min-width: 0;
        width: 100%;
        max-width: none;
        margin: 0;
    }
    .campaign-art { position: relative; }
    .campaign-art .black-word {
        font-size: clamp(29px, 9.2vw, 73px);
        letter-spacing: -.095em;
        line-height: 1;
        gap: clamp(2px, .7vw, 7px);
        white-space: nowrap;
    }
    .campaign-art .spark-shape {
        flex: none;
        grid-template-columns: repeat(2, clamp(12px, 7vw, 35px));
        grid-template-rows: repeat(2, clamp(8px, 7vw, 35px));
        gap: 4px;
        margin-left: 5px;
    }
    .campaign-art .unirn-word {
        font-size: clamp(29px, 8.6vw, 68px);
        line-height: 1.12;
        letter-spacing: -.055em;
        padding: 0 clamp(2px, .7vw, 7px) 3px;
        margin: clamp(8px, 1.5vw, 13px) 0 0 15%;
        max-width: 85%;
        white-space: nowrap;
        box-shadow: 5px 6px 0 #06065b;
    }
    .campaign-art .decor-stars {
        top: 65%;
        left: 0;
        grid-template-columns: repeat(2, clamp(13px, 9.8vw, 30px));
        grid-template-rows: repeat(2, clamp(11px, 2.8vw, 23px));
        gap: 10px;
    }
    .offer-wrap-image .offer-art-image {
        display: block;
        width: 100%;
        height: auto;
        object-fit: contain;
    }
    .offer-wrap-image > p {
        margin-top: 3px;
        padding: 0;
        font-size: clamp(8px, 1.7vw, 12px);
        line-height: 1.3;
    }
    .campaign > .slogan-row {
        margin-top: clamp(18px, 4vw, 32px);
        gap: clamp(8px, 2vw, 16px);
    }
    .campaign > .slogan-row .campaign-slogan {
        font-size: clamp(20px, 5.2vw, 35px);
        line-height: 1.22;
    }
    .campaign > .slogan-row .slogan-arrows {
        flex: 0 0 clamp(42px, 15vw, 105px);
        width: clamp(42px, 15vw, 105px);
    }
}
@media (max-width: 430px) {
    .campaign-grid { gap: 5px; }
    .campaign-art .black-word { font-size: clamp(28px, 8.7vw, 33px); }
    .campaign-art .unirn-word { font-size: clamp(27px, 8.2vw, 31px); }
    .campaign-art .spark-shape {
        grid-template-columns: repeat(2, 22px);
        grid-template-rows: repeat(2, 22px);
        margin-top: -5px;
    }
    .campaign > .slogan-row .campaign-slogan { font-size: clamp(18px, 5vw, 20px); }
    .campaign-art .decor-stars{
        grid-template-columns: repeat(2, 22px);
        grid-template-rows: repeat(2, 22px);
        gap: 3px;  
        top: 55%;
    }
}

/* Ajuste final: somente mobile — BLACK UNI-RN maior, oferta menor,
   ambos centralizados verticalmente em colunas de 50%. */
@media (max-width: 800px) {
    .campaign .campaign-grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        align-items: center;
        column-gap: clamp(4px, 1.2vw, 10px);
    }

    .campaign .campaign-art {
        width: 100%;
        min-width: 0;
        align-self: center;
    }

    .campaign .campaign-art .black-word {
        font-size: clamp(34px, 13.5vw, 110px);
        line-height: .98;
        letter-spacing: -.09em;
        gap: clamp(2px, .5vw, 5px);
    }

    .campaign .campaign-art .unirn-word {
        font-size: clamp(33px, 12.8vw, 105px);
        line-height: 1.04;
        margin-top: clamp(5px, 1vw, 10px);
        margin-left: 22%;
        max-width: 88%;
        padding-inline: 2px;
    }

    .campaign .offer-wrap.offer-wrap-image {
        width: 88%;
        max-width: 88%;
        min-width: 0;
        margin: 0 auto;
        align-self: center;
    }

    .campaign .offer-wrap-image .offer-art-image {
        width: 100%;
        height: auto;
        object-fit: contain;
    }

    .campaign > .slogan-row {
        width: 100%;
        justify-content: center;
        margin-top: clamp(14px, 3vw, 26px);
    }
}

@media (max-width: 380px) {
    .campaign .campaign-art .black-word { font-size: clamp(32px, 10vw, 40px); }
    .campaign .campaign-art .unirn-word { font-size: clamp(31px, 9.2vw, 37px); }
    .campaign .offer-wrap.offer-wrap-image { width: 85%; max-width: 85%; }
}

@media(max-width: 1024px) and (min-width: 999px){
    .campaign-art{
        margin-left: 10%;
    }
}