/* V16 — popup de campanha sem clique na imagem */
body.campaign-popup-open {
    overflow: hidden;
    overscroll-behavior: none;
}

.campaign-popup {
    padding: clamp(12px, 2.6vw, 34px) !important;
}

.campaign-popup-backdrop {
    background:
        radial-gradient(circle at 18% 20%, rgba(54, 179, 88, .16), transparent 32%),
        radial-gradient(circle at 82% 16%, rgba(21, 104, 194, .22), transparent 34%),
        rgba(2, 17, 35, .88) !important;
    backdrop-filter: blur(14px) saturate(.9) !important;
    -webkit-backdrop-filter: blur(14px) saturate(.9) !important;
}

.campaign-popup-card {
    width: min(930px, 100%) !important;
    max-height: calc(100svh - 28px) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.55fr) minmax(290px, .8fr) !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, .68) !important;
    border-radius: 28px !important;
    background: #fff !important;
    box-shadow:
        0 42px 110px rgba(0, 18, 43, .52),
        0 0 0 1px rgba(255, 255, 255, .14) inset !important;
}

.campaign-popup-card::before {
    content: "";
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;
    right: 0;
    height: 5px;
    background: linear-gradient(90deg, #2baa52 0 34%, #ffd21d 34% 58%, #0d62b8 58% 100%);
}

.campaign-popup-close {
    position: absolute !important;
    z-index: 8 !important;
    top: 15px !important;
    right: 15px !important;
    width: 42px !important;
    height: 42px !important;
    color: #12365e !important;
    border: 1px solid rgba(9, 66, 125, .12) !important;
    background: rgba(255, 255, 255, .93) !important;
    box-shadow: 0 10px 28px rgba(0, 22, 52, .2) !important;
    backdrop-filter: blur(9px);
}

.campaign-popup-close:hover {
    color: #fff !important;
    background: #0b57a6 !important;
    transform: rotate(4deg) scale(1.03) !important;
}

.campaign-popup-media {
    position: relative !important;
    min-width: 0 !important;
    min-height: 0 !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
    cursor: default !important;
    background:
        linear-gradient(135deg, rgba(10, 80, 151, .06), rgba(50, 174, 86, .08)),
        #f1f6fa !important;
}

.campaign-popup-media::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 70px;
    pointer-events: none;
    background: linear-gradient(180deg, transparent, rgba(2, 28, 57, .12));
}

.campaign-popup-media picture {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    place-items: center !important;
}

.campaign-popup-media img {
    width: 100% !important;
    height: 100% !important;
    max-height: calc(100svh - 28px) !important;
    display: block !important;
    object-fit: contain !important;
    object-position: center !important;
    background: #fff !important;
    user-select: none;
    -webkit-user-drag: none;
}

.campaign-popup-media-hint,
.campaign-popup-head {
    display: none !important;
}

.campaign-popup-panel {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 24px;
    padding: 54px 30px 28px;
    color: #173a60;
    background:
        radial-gradient(circle at 100% 0, rgba(20, 105, 195, .08), transparent 35%),
        linear-gradient(180deg, #fff 0%, #f8fbfe 100%);
}

.campaign-popup-copy {
    display: grid;
    gap: 9px;
}

.campaign-popup-kicker {
    width: max-content;
    min-height: 27px;
    display: inline-flex !important;
    align-items: center;
    padding: 0 10px;
    border-radius: 999px;
    color: #17743b !important;
    background: #e9f8ed;
    font-size: 10px !important;
    font-weight: 900;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.campaign-popup-panel h2 {
    margin: 0;
    color: #07396f;
    font-size: clamp(27px, 2.8vw, 38px);
    line-height: 1.05;
    letter-spacing: -.04em;
}

.campaign-popup-panel p {
    margin: 0;
    color: #687b90;
    font-size: 14px;
    line-height: 1.65;
}

.campaign-popup-highlight {
    display: grid;
    grid-template-columns: 44px 1fr;
    align-items: center;
    gap: 12px;
    padding: 14px;
    border: 1px solid #d8e8de;
    border-radius: 15px;
    background: #f2fbf4;
}

.campaign-popup-highlight > span {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: #fff;
    background: linear-gradient(135deg, #27bd63, #138d44);
    box-shadow: 0 9px 22px rgba(19, 141, 68, .22);
}

.campaign-popup-highlight svg {
    width: 23px;
    height: 23px;
    stroke: currentColor;
}

.campaign-popup-highlight div {
    display: grid;
    gap: 1px;
}

.campaign-popup-highlight strong {
    color: #15472a;
    font-size: 13px;
}

.campaign-popup-highlight small {
    color: #698374;
    font-size: 11px;
}

.campaign-popup-actions {
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.campaign-popup-primary,
.campaign-popup-secondary {
    width: 100%;
    min-height: 49px !important;
    border-radius: 13px !important;
    font-size: 13px !important;
}

.campaign-popup-primary {
    order: 1;
    justify-content: center;
    background: linear-gradient(135deg, #25b95d, #138b42) !important;
    box-shadow: 0 13px 28px rgba(20, 145, 69, .25) !important;
}

.campaign-popup-primary:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 17px 34px rgba(20, 145, 69, .32) !important;
}

.campaign-popup-secondary {
    order: 2;
    border: 0 !important;
    color: #60758b !important;
    background: transparent !important;
}

.campaign-popup-secondary:hover {
    color: #07396f !important;
    background: #edf4fa !important;
}

@media (max-width: 820px) {
    .campaign-popup-card {
        width: min(520px, 100%) !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: minmax(0, 1fr) auto !important;
        border-radius: 23px !important;
    }

    .campaign-popup-media img {
        width: 100% !important;
        height: auto !important;
        max-height: calc(100svh - 235px) !important;
        object-fit: contain !important;
    }

    .campaign-popup-panel {
        gap: 13px;
        padding: 19px 18px 15px;
    }

    .campaign-popup-copy {
        gap: 5px;
        padding-right: 42px;
    }

    .campaign-popup-kicker {
        min-height: 23px;
        font-size: 9px !important;
    }

    .campaign-popup-panel h2 {
        font-size: clamp(20px, 6vw, 27px);
    }

    .campaign-popup-panel p {
        font-size: 12px;
        line-height: 1.45;
    }

    .campaign-popup-highlight {
        display: none;
    }

    .campaign-popup-actions {
        grid-template-columns: 1fr auto !important;
        align-items: center;
    }

    .campaign-popup-primary {
        order: 1;
        min-width: 0;
    }

    .campaign-popup-secondary {
        order: 2;
        width: auto;
        padding-inline: 13px !important;
    }
}

@media (max-width: 430px) {
    .campaign-popup {
        padding: 8px !important;
    }

    .campaign-popup-card {
        max-height: calc(100svh - 16px) !important;
        border-radius: 18px !important;
    }

    .campaign-popup-close {
        top: 10px !important;
        right: 10px !important;
        width: 38px !important;
        height: 38px !important;
    }

    .campaign-popup-media img {
        max-height: calc(100svh - 210px) !important;
    }

    .campaign-popup-panel {
        padding: 14px 13px 12px;
    }

    .campaign-popup-copy p {
        display: none;
    }

    .campaign-popup-actions {
        grid-template-columns: 1fr !important;
        gap: 4px !important;
    }

    .campaign-popup-secondary {
        width: 100%;
        min-height: 38px !important;
    }
}

@media (max-height: 650px) and (min-width: 821px) {
    .campaign-popup-card {
        width: min(820px, 100%) !important;
    }

    .campaign-popup-panel {
        gap: 15px;
        padding-top: 48px;
    }

    .campaign-popup-highlight {
        display: none;
    }
}
