/* Shared type and sizing for the campaign body. */
.natal-campaign .cartao-sale-sections {
    --campaign-section-title: clamp(1.15rem, 2.1vw, 1.65rem);
    --campaign-card-title: clamp(.86rem, 1.32vw, 1.07rem);
    --campaign-body: clamp(.76rem, 1.12vw, .95rem);
    --campaign-caption: clamp(.69rem, .95vw, .85rem);
    --campaign-gap: clamp(8px, 1vw, 13px);
    --campaign-tile-height: clamp(108px, 10vw, 132px);
    --campaign-tile-columns: repeat(3, minmax(0, 1fr));
    gap: var(--campaign-gap);
    font-family: var(--cartao-font-body);
}

.natal-campaign .cartao-sale-sections :is(.cartao-sale-heading, .draw-prizes h2, .closing-heading, .cartao-purchase-heading h2) {
    font-family: var(--cartao-font-heading);
    font-size: var(--campaign-section-title);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -.025em;
}

.natal-campaign .cartao-sale-sections :is(.draw-live h2, .draw-prize-card h3, .cartao-game-card-title, .cartao-premiado-header, .closing-steps h3, .closing-ranking-main h3, .natal-prize strong) {
    font-family: var(--cartao-font-heading);
    font-size: var(--campaign-card-title);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -.02em;
}

.natal-campaign .cartao-sale-sections :is(.cartao-purchase-heading p, .cartao-purchase-copy > span, .draw-live p, .closing-steps p, .cartao-product-muted) {
    font-family: var(--cartao-font-body);
    font-size: var(--campaign-body);
    line-height: 1.35;
}

.natal-campaign .cartao-sale-sections :is(.cartao-premiado-content, .cartao-game-card-info, .closing-ranking-table table, .closing-banner-benefits li) {
    font-family: var(--cartao-font-body);
    font-size: var(--campaign-caption);
    line-height: 1.3;
    letter-spacing: 0;
}

.natal-campaign .cartao-sale-sections :is(.cartao-premiado-grid, .cartao-sale-prizes, .cartao-game-grid) {
    grid-template-columns: var(--campaign-tile-columns);
    gap: var(--campaign-gap);
    max-width: none;
}

.natal-campaign .cartao-sale-sections :is(.cartao-premiado, .cartao-game-card, .natal-prize) {
    max-width: none;
    min-height: var(--campaign-tile-height);
}

.natal-campaign .cartao-premiado-content {
    min-height: calc(var(--campaign-tile-height) - 2px);
    padding: 8px clamp(8px, 1vw, 13px);
    align-content: center;
    gap: 5px;
}
.natal-campaign .cartao-premiado-status { font-size: var(--campaign-caption); }
.natal-campaign .cartao-premiado-header strong { font-weight: 800; }

.natal-campaign .cartao-game-card-layout {
    min-height: calc(var(--campaign-tile-height) - 2px);
    height: 100%;
    aspect-ratio: auto;
    grid-template-rows: minmax(30px, auto) 1fr;
}
.natal-campaign .cartao-game-card-title { padding: 4px 8px; }
.natal-campaign .cartao-game-card-info { gap: 4px; padding: 5px 7px; }
.natal-campaign .cartao-game-card-row { grid-template-columns: clamp(12px, 5.5cqw, 22px) minmax(0, 1fr); }

.natal-campaign .closing-steps { gap: var(--campaign-gap); }
.natal-campaign .closing-steps > li { padding: clamp(8px, 1vw, 12px); }
.natal-campaign .closing-steps > li > .closing-icon { width: clamp(20px, 2.8vw, 35px); }
.natal-campaign .closing-ranking-table th,
.natal-campaign .closing-ranking-table td { padding-block: 3px; }

.natal-campaign .cartao-purchase-panel { margin-block: 0; }
.natal-campaign .cartao-purchase-heading-icon { width: clamp(40px, 4.6vw, 63px); }
.natal-campaign .cartao-purchase-copy strong { font-size: clamp(1.12rem, 2vw, 1.75rem); }
.natal-campaign .cartao-purchase-ticket { min-height: clamp(33px, 4.3vw, 56px); }
.natal-campaign .cartao-purchase-ticket svg { width: min(100%, 65px); }
.natal-campaign .cartao-purchase-ticket-stack svg + svg { width: min(85%, 65px); }
.natal-campaign .cartao-purchase-quick .cartao-purchase-gift { width: min(62%, 175px); }
.natal-campaign .cartao-purchase-choice,
.natal-campaign .cartao-purchase-offer { min-height: var(--campaign-tile-height); }

@media (max-width: 900px) {
    .natal-campaign .cartao-sale-sections { --campaign-tile-columns: repeat(2, minmax(0, 1fr)); }
    .natal-campaign .closing-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
    .natal-campaign .cartao-sale-sections { --campaign-tile-columns: minmax(0, 1fr); }
    .natal-campaign .cartao-game-card-layout { grid-template-columns: 35% minmax(0, 1fr); }
    .natal-campaign .cartao-purchase-choice,
    .natal-campaign .cartao-purchase-offer { min-height: 82px; }
}
