.cartao-public:has(.natal-campaign) .rodape { display: none; }
.cartao-public:has(.natal-campaign) #__next { min-height: 0; }

.natal-campaign {
    --natal-gold: #ffd24d;
    --natal-navy: #061b36;
    --natal-ink: #091431;
    --natal-outline: #e3e8ef;
    --natal-shadow: 0 4px 12px #091b3838;
    background: linear-gradient(180deg, #061a35 0 240px, #eff0f1 415px, #dbe7f7 100%);
    color: var(--natal-ink);
    font-family: Arial, "Segoe UI", sans-serif;
}

.natal-campaign :is(h2, h3, p, a, button, li, td, th) { font-family: inherit; }

.natal-art {
    display: inline-block;
    flex: none;
    width: calc(var(--w) * 1px);
    max-width: 100%;
    aspect-ratio: var(--w) / var(--h);
    background: url("/assets/img/natal-solidario-referencia.png") no-repeat;
    background-size: calc(108600% / var(--w)) auto;
    background-position:
        calc(var(--x) * 100% / (1086 - var(--w)))
        calc(var(--y) * 100% / (1448 - var(--h)));
    vertical-align: middle;
}

.natal-brand {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    color: #fff !important;
    text-decoration: none;
}
.natal-brand .natal-art { width: clamp(30px, 3.8vw, 43px); }
.natal-brand strong {
    display: block;
    font: 700 clamp(.94rem, 1.55vw, 1.3rem)/1 Georgia, "Times New Roman", serif;
    letter-spacing: -.025em;
}
.natal-brand em { display: block; font: italic .73rem/1.15 Arial, sans-serif; }
.natal-campaign .cartao-hero-actions .cartao-hero-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 32px;
    padding: 5px 15px;
    border: 1px solid #fff2bc;
    border-radius: 100vw;
    color: #11150c;
    background: linear-gradient(180deg, #fff2b8, #ffcc58 70%, #d79320);
    box-shadow: 0 2px 6px #0007;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.natal-campaign .cartao-sales .cartao-product-banner {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 80% 40%, #153960, transparent 45%),
        radial-gradient(circle at 4% 55%, #103756, transparent 32%),
        linear-gradient(105deg, #03162d, #062545 66%, #04172e);
}

.natal-campaign .cartao-sales .cartao-product-banner-inner {
    position: relative;
    z-index: 1;
    width: min(81%, 1250px);
    min-height: clamp(290px, 26vw, 390px);
    padding: clamp(14px, 1.65vw, 26px) 0 30px;
    margin-inline: auto;
}

.natal-hero-image {
    position: absolute;
    z-index: -1;
    bottom: 0;
    left: 38.8%;
    width: min(42%, 610px);
    mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 8% 100%, 8% 81%, 0 81%);
}

.natal-hero-pine {
    position: absolute;
    inset: auto auto 0 0;
    z-index: -1;
    width: min(9%, 110px);
    mask-image: radial-gradient(ellipse at 0 70%, #000 42%, transparent 86%);
}

.natal-campaign .cartao-sale-intro { max-width: 44%; }
.natal-campaign .cartao-sales .cartao-product-banner h1 {
    margin: 0 0 5px;
    max-width: none;
    font: 800 clamp(1.95rem, 3.26vw, 3.4rem)/.91 Georgia, "Times New Roman", serif;
    letter-spacing: -.035em;
}
.natal-campaign .cartao-product-banner h1 span { color: var(--natal-gold); }
.natal-campaign .cartao-product-subtitle {
    max-width: 37ch;
    margin: 8px 0;
    color: #fff;
    font-size: clamp(.75rem, 1.13vw, 1rem);
    line-height: 1.2;
}
.natal-campaign .cartao-sale-price {
    padding: 3px 16px 5px;
    margin: 1px 0 7px;
    border-color: #f9e4a5;
    background: linear-gradient(180deg, #fff2b6, #ffd170 75%, #e5a93f);
}
.natal-campaign .cartao-sale-price strong { font-size: clamp(1.38rem, 2.25vw, 2.25rem); line-height: 1; }
.natal-campaign .cartao-sale-price span { font-size: .74rem; line-height: 1.2; }
.natal-campaign .cartao-hero-actions { gap: 8px; }
.natal-campaign .cartao-hero-actions a { min-height: 31px; padding: 5px 14px; font-size: .8rem; }
.natal-campaign .cartao-sale-promo {
    flex: 0 0 min(15vw, 185px);
    padding: clamp(8px, 1.3vw, 14px);
    border-color: var(--natal-gold);
    background: #04182dec;
    gap: 4px;
}
.natal-campaign .cartao-sale-promo b { color: var(--natal-gold); }
.natal-campaign .cartao-sale-promo strong { color: #151409; background: linear-gradient(#ffedaa, #ffc75d); border-radius: 8px; padding: 4px; }

.natal-campaign .cartao-sale-sections {
    width: min(93%, 1340px);
    margin: -9px auto 0;
    gap: 6px;
}
.natal-campaign .cartao-sale-sections > .cartao-product-panel {
    padding: 8px clamp(12px, 2.05vw, 30px) 11px;
    border-radius: 17px;
    border: 1px solid #fff;
    background: linear-gradient(170deg, #fafbfc, #eef1f3);
    box-shadow: var(--natal-shadow);
}
.natal-campaign .cartao-sale-progress {
    grid-template-columns: 1.06fr 1.37fr .46fr;
    gap: 16px;
    padding: 10px clamp(12px, 2.3vw, 28px);
    border: 2px solid #edf3ff;
    border-radius: 17px;
    color: #fff;
    background: linear-gradient(145deg, #08294c, #04172f 62%, #001226);
    box-shadow: var(--natal-shadow), inset 0 0 10px #85b5e34b;
}
.natal-campaign .cartao-sale-progress > div:first-child {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    align-items: center;
    column-gap: 12px;
}
.natal-campaign .cartao-sale-progress > div:first-child .natal-art { grid-row: span 2; }
.natal-campaign .cartao-sale-progress > div:nth-child(2) {
    padding-inline: clamp(12px, 2vw, 24px);
    border-inline: 1px solid #f7e4b7;
}
.natal-campaign .cartao-sale-progress > div:last-child { display: flex; align-items: center; gap: 8px; }
.natal-campaign .cartao-sale-progress > div:last-child .natal-art { width: 40px; }
.natal-campaign .cartao-sale-progress h2 { font-size: clamp(1.05rem, 1.93vw, 1.6rem); }
.natal-campaign .cartao-sale-progress p { font-size: clamp(.73rem, 1.15vw, .96rem); line-height: 1.2; }
.natal-campaign .cartao-sale-progress p .natal-art { width: 24px; }
.natal-campaign .cartao-sale-progress strong { color: var(--natal-gold); }
.natal-campaign .cartao-sale-progress > div:nth-child(2) strong { font-size: 1.3em; }
.natal-campaign .cartao-progress-track {
    background: #273d59;
    height: 22px;
    border-color: #f0ebda;
}
.natal-campaign .cartao-progress-track span {
    background: radial-gradient(circle, #fff 1%, transparent 18%) 0 0 / 32px 22px, linear-gradient(90deg, #e28d0b, #ffdb43, #ffbe27);
}

.natal-campaign .cartao-sale-heading {
    color: var(--natal-ink);
    margin: 0 0 8px;
    font-weight: 850;
    line-height: 1.05;
    letter-spacing: -.04em;
    font-size: clamp(1.1rem, 2.22vw, 1.7rem);
}
.natal-campaign .cartao-sale-heading::after { height: 2px; background: #dc9a23; }
.natal-campaign .cartao-sale-heading .natal-art { width: 29px; }
.natal-campaign .cartao-sale-grid { gap: 9px; }
.natal-campaign .cartao-sale-tile {
    min-height: 72px;
    padding: 8px 9px;
    border-color: #fff;
    border-radius: 12px;
    box-shadow: 0 3px 4px #16243a26;
    background: linear-gradient(160deg, #fcfdfe, #eef1f5);
    color: var(--natal-ink);
    line-height: 1.1;
}
.natal-campaign .cartao-sale-tile strong { font-size: clamp(.85rem, 1.38vw, 1.12rem); font-weight: 800; }
.natal-campaign .cartao-sale-tile > span:not(.natal-art) { font-size: .77rem; }
.natal-campaign .cartao-sale-tile > .natal-art { width: 29px; }
.natal-campaign .cartao-sale-offer, .natal-campaign .cartao-sale-featured {
    background: linear-gradient(150deg, #fff6c6, #ffc858);
}
.natal-campaign .natal-prize {
    grid-template-columns: minmax(65px, .8fr) minmax(0, 1fr);
    align-items: center;
    justify-items: start;
    text-align: left;
    background: linear-gradient(145deg, #061c36, #032745 70%, #020d20);
    color: #fff;
}
.natal-campaign .natal-prize > .natal-art { width: 100%; grid-row: span 3; }

.natal-campaign .cartao-premiado-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
    gap: 10px;
    max-width: 740px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cartao-premiado-grid + .cartao-sale-prizes { margin-top: 12px; }

.cartao-premiado {
    --cartao-premiado-arte: url("/assets/img/cartao-premiado-disponivel.png");
    --cartao-premiado-ouro: linear-gradient(#ffe9a1, #ffcb56 64%, #e5a32e);
    position: relative;
    isolation: isolate;
    overflow: hidden;
    container-type: inline-size;
    max-width: 244px;
    border: 1px solid #70501c;
    border-radius: 10px;
    background: linear-gradient(150deg, #0a203c 0%, #061326 55%, #040d1b 100%);
    color: #fff;
    box-shadow: 0 2px 4px #09142638, 0 2px 4px #c88b1930;
}

.cartao-premiado::before {
    position: absolute;
    z-index: -1;
    inset: 0;
    content: "";
    background:
        radial-gradient(ellipse at 50% 117%, #ffbd3099, transparent 41%),
        var(--cartao-premiado-arte) center 60% / 112% 111% no-repeat;
    mask-image: linear-gradient(transparent 67%, #000);
}

.cartao-premiado-encontrado {
    --cartao-premiado-arte: url("/assets/img/cartao-premiado-encontrado.png");
    border-color: #ffcb56;
    box-shadow: inset 0 0 5px #ffcb5680, 0 0 5px #eeaa32a0, 0 2px 6px #c88b1960;
}

.cartao-premiado-content {
    box-sizing: border-box;
    display: grid;
    align-content: start;
    gap: clamp(5px, 3.25cqw, 8px);
    min-height: max(76px, 47.5cqw);
    padding: clamp(5px, 3.8cqw, 9px) clamp(7px, 6cqw, 14px);
    font: 700 clamp(9px, 5.9cqw, 14px)/1.13 Arial, sans-serif;
    letter-spacing: -.025em;
    text-align: center;
}

.cartao-premiado-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3px;
    text-align: left;
    font-size: clamp(10px, 7.1cqw, 17px);
}

.cartao-premiado-header strong { font-weight: 700; overflow-wrap: anywhere; }

.cartao-premiado-status,
.cartao-premiado-minimo,
.cartao-premiado-ganhador {
    border-radius: 999px;
    background: var(--cartao-premiado-ouro);
    color: #0b0b0b;
    box-shadow: inset 0 1px 0 #fff3be;
}

.cartao-premiado-status {
    flex: none;
    padding: .28em .6em;
    font-size: clamp(7px, 4.35cqw, 10px);
}

.cartao-premiado-encontrado .cartao-premiado-status {
    background: linear-gradient(#168b29, #095718);
    box-shadow: inset 0 0 0 1px #e9b640;
    color: #fff;
}

.cartao-premiado-minimo {
    justify-self: center;
    padding: .22em .95em;
}

.cartao-premiado-premio {
    padding-top: .38em;
    border-top: 1px solid #e9b640;
    overflow-wrap: anywhere;
    font-weight: 400;
}

.cartao-premiado-premio strong { color: #ffdc68; font-weight: 700; }
.cartao-premiado-ganhador { padding: .22em .65em; overflow-wrap: anywhere; }
.cartao-premiado-encontrado .cartao-premiado-content { gap: clamp(2px, 1.4cqw, 4px); }

.natal-campaign .cartao-game-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 217px), 1fr));
    gap: 12px;
}

.natal-campaign .cartao-game-card {
    display: block;
    container-type: inline-size;
    max-width: 350px;
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e2e4e8;
    border-radius: 8px;
    background: #fff;
    color: #0a1734;
    box-shadow: 0 2px 5px #06152e26;
    text-decoration: none;
}

.cartao-game-card-layout {
    display: grid;
    grid-template-columns: 41% minmax(0, 1fr);
    grid-template-rows: 31% minmax(0, 1fr);
    min-height: 75px;
    aspect-ratio: 217 / 77;
}

.cartao-game-card-art {
    position: relative;
    display: grid;
    grid-row: 1 / 3;
    place-items: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 16% 23%, #fff0b4 0, #f7a635 1%, transparent 5%),
        radial-gradient(circle at 91% 11%, #ffe5a0 0, #e89b2e 1%, transparent 4%),
        radial-gradient(circle at 10% 82%, #ffe7ad 0, #ee941c 2%, transparent 10%),
        radial-gradient(ellipse at 28% 88%, #db850d, #6d380c 41%, transparent 72%),
        linear-gradient(110deg, #251605, #06152e 75%);
}

.cartao-game-card-art img {
    position: absolute;
    width: 108%;
    height: 108%;
    max-width: none;
    object-fit: contain;
    filter: drop-shadow(0 1px 4px #ffbe39a6);
}

.natal-campaign .cartao-game-card-title {
    display: flex;
    align-items: center;
    margin: 0;
    padding-inline: 5px;
    background: linear-gradient(95deg, #102746, #06152e 74%);
    color: #fff;
    font-family: var(--cartao-font-body, Inter, Arial, sans-serif);
    font-size: clamp(10px, 5.55cqw, 18px);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -.04em;
}

.cartao-game-card-info {
    display: grid;
    align-content: space-evenly;
    padding: 2px 3px;
    background: #fff;
    color: #0a1734;
    font-family: Arial, sans-serif;
    font-size: clamp(7px, 3.35cqw, 11.5px);
    letter-spacing: -.02em;
    line-height: 1.12;
}

.cartao-game-card-row {
    display: grid;
    grid-template-columns: clamp(13px, 7cqw, 24px) minmax(0, 1fr);
    align-items: center;
    gap: clamp(3px, 1.8cqw, 6px);
}

.cartao-game-card-row svg {
    display: block;
    width: 100%;
    fill: none;
    stroke: #f47a00;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.cartao-game-card-row strong {
    display: block;
    font-size: 1.12em;
    font-weight: 800;
}

.cartao-game-card-row:first-child > span { font-weight: 700; }

.natal-campaign a.cartao-game-card:focus-visible {
    outline: 2px solid #f47a00;
    outline-offset: 2px;
}

.natal-campaign .cartao-sale-steps { counter-reset: natal-step; }
.natal-campaign .cartao-sale-steps .cartao-sale-tile {
    counter-increment: natal-step;
    grid-template-columns: 35px minmax(0, 1fr);
    align-items: center;
    justify-items: start;
    text-align: left;
}
.natal-campaign .cartao-sale-steps .natal-art { grid-row: span 2; }
.natal-campaign .cartao-sale-steps strong::before {
    content: counter(natal-step);
    display: inline-grid;
    place-items: center;
    width: 17px;
    height: 17px;
    margin-right: 4px;
    border-radius: 50%;
    color: #fff;
    background: #0a3261;
    font-size: .68rem;
}
.natal-campaign .cartao-sale-last-call {
    overflow: hidden;
    gap: 14px;
    padding: 0 18px 0 0;
    min-height: 95px;
    border: 2px solid #fff;
    border-radius: 18px;
    color: #fff;
    background: linear-gradient(100deg, #091c32, #031c38 75%);
    box-shadow: var(--natal-shadow);
}
.natal-campaign .natal-call-art { width: min(28%, 340px); }
.natal-campaign .cartao-sale-last-call h2 { font-size: clamp(1rem, 2.12vw, 1.7rem); font-weight: 800; }

.natal-footer {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 138px;
    padding: 12px 0 10px;
    border-top: 2px solid #fff;
    color: #fff;
    background: linear-gradient(125deg, #041629, #052849 60%, #020f21);
}
.natal-footer-inner {
    display: grid;
    grid-template-columns: 1.35fr 1fr .85fr 1.3fr .65fr;
    align-items: start;
    gap: 14px;
    width: min(83%, 1180px);
    margin: auto;
}
.natal-footer-inner > div { display: grid; gap: 3px; font-size: .75rem; }
.natal-footer-inner a { color: #fff; text-decoration: none; }
.natal-footer-inner div a:hover { text-decoration: underline; }
.natal-footer-inner div i { color: var(--natal-gold); }
.natal-footer .natal-socials { display: flex; gap: 9px; }
.natal-footer small { display: block; margin-top: 8px; text-align: center; font-size: .67rem; color: #d0dff3; }
.natal-footer-pine, .natal-footer-pine-right { position: absolute; z-index: -1; width: min(9%, 92px); inset: auto auto 0 0; }
.natal-footer-pine-right { inset: auto 0 0 auto; }

@media (max-width: 760px) {
    .natal-campaign .cartao-sales .cartao-product-banner-inner { width: calc(100% - 36px); align-items: flex-start; }
    .natal-campaign .cartao-sale-intro { max-width: 100%; }
    .natal-hero-image { left: auto; right: -9%; width: 73%; opacity: .46; }
    .natal-hero-pine { display: none; }
    .natal-campaign .cartao-sale-promo { max-width: 135px; }
    .natal-campaign .cartao-sale-progress { grid-template-columns: minmax(0, 1fr) auto; gap: 9px; }
    .natal-campaign .cartao-sale-progress > div:first-child { grid-column: 1 / -1; }
    .natal-campaign .cartao-sale-progress > div:nth-child(2) { padding: 0; border: 0; }
    .natal-campaign .cartao-sale-progress > div:last-child .natal-art { display: none; }
    .natal-campaign .cartao-sale-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .natal-campaign .cartao-sale-last-call { flex-direction: row; flex-wrap: wrap; padding: 10px; }
    .natal-campaign .natal-call-art { width: 95px; border-radius: 7px; }
    .natal-campaign .cartao-sale-last-call h2 { flex: 1; }
    .natal-footer-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); width: calc(100% - 48px); }
    .natal-footer-inner > .natal-brand { grid-column: 1 / -1; }
}
