/* Compact selection and a focused, responsive checkout surface. */
.combo-invitation{display:flex;align-items:center;justify-content:space-between;gap:24px}.combo-from{flex-shrink:0;font-size:.875rem;color:var(--muted)}.combo-from strong{display:block;color:var(--ink);font-size:1.75rem;line-height:1.3}.combo-invitation p{max-width:660px}.combo-builder .combo-details{margin-top:8px}.combo-builder .combo-details summary{color:var(--green)}
@media(max-width:550px){.combo-invitation{align-items:flex-start;gap:16px;flex-direction:column}.combo-from strong{display:inline;margin-left:6px;font-size:1.25rem}}
.section.payment-section{padding-block:40px}.payment-section .section-heading{margin-bottom:20px;gap:24px;align-items:center}.payment-section .section-heading h2{font-size:clamp(1.5rem,3vw,2rem)}.payment-section .section-heading .eyebrow{margin-bottom:8px}.payment-section .section-heading>p{font-size:.875rem;max-width:430px}.payment-grid{gap:12px}.payment-grid .payment-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:4px 12px;padding:16px;align-content:start;align-items:center;border-radius:14px}.payment-card .payment-type{grid-column:2;grid-row:1;font-size:.75rem;letter-spacing:.06em}.payment-card h3{grid-column:2;grid-row:2;font-size:1rem;line-height:1.3;margin:0}.payment-card p{grid-column:1/-1;font-size:.875rem;line-height:1.45;margin:8px 0 0}.payment-card strong{grid-column:1/-1;font-size:1.0625rem;margin:0;letter-spacing:.015em}.payment-card .copy-payment,.payment-card .payment-link{grid-column:1/-1;justify-self:stretch;text-align:center;margin:10px 0 0;padding:10px 8px;min-height:44px;font-size:.875rem}.payment-note,#payment-status{margin-top:12px;font-size:.8125rem}#payment-status:empty{display:none}
.payment-logo{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #dce3ed;border-radius:12px;width:100%;height:96px;margin:12px 0 18px;padding:16px}.payment-logo img{display:block;max-width:100%;max-height:66px;width:auto;height:auto;object-fit:contain}.pay-western .payment-logo{background:#111;border-color:#272727}.pay-paypal .payment-logo img{width:124px}.pay-western .payment-logo img{width:180px}
.payment-card .payment-logo{grid-column:1;grid-row:1/3;width:64px;height:54px;margin:0;padding:7px;border-radius:9px}.payment-card .payment-logo img{max-height:42px;max-width:100%;width:auto}.payment-grid{align-items:stretch}.payment-card:hover{transform:translateY(-2px)}
@media(min-width:1001px){.payment-card p{min-height:41px}.payment-card:has(strong) p{min-height:0}.payment-card:has(strong) strong{margin-bottom:1px}}
@media(max-width:550px){.payment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.payment-grid .payment-card{padding:12px;grid-template-columns:48px minmax(0,1fr);gap:4px 8px}.payment-card .payment-logo{width:48px;height:48px;padding:5px}.payment-card h3{font-size:.875rem}.payment-card .payment-type{font-size:.75rem;letter-spacing:0}.payment-card strong{font-size:1rem}.payment-section .section-heading{gap:12px}.payment-card p{font-size:.8125rem}}
@media(max-width:360px){.payment-grid{grid-template-columns:1fr}.payment-grid .payment-card{grid-template-columns:64px minmax(0,1fr)}.payment-card .payment-logo{width:64px}}
.combo-builder,[data-theme=light] .combo-builder{padding:22px 24px;border-radius:18px}
.combo-builder h3{font-size:1.4rem;margin:0 0 6px}.combo-builder .eyebrow{margin-bottom:6px}
.combo-details{margin-top:14px}.combo-details summary{cursor:pointer;min-height:44px;padding:12px 0;color:var(--ink);font-size:.875rem;font-weight:700}
.combo-details .combo-presets{margin-top:10px;gap:10px}.combo-option,[data-theme=light] .combo-option{padding:16px}
.combo-option h4,[data-theme=light] .combo-option h4{font-size:1rem;margin:10px 0 8px}
.combo-option-price,[data-theme=light] .combo-option-price{font-size:1.5rem}
.combo-option ul{margin:10px 0;padding:10px 0;display:flex;flex-wrap:wrap;gap:2px 10px}.combo-option li{font-size:.8125rem}
.combo-extra-saving{font-size:.8125rem}.combo-selection{margin-top:10px;gap:6px}.combo-selection button{padding:6px 12px}
.combo-deal{padding:10px 12px;margin-top:12px}.combo-summary{margin-top:12px;padding:14px 16px;grid-template-columns:1fr auto auto;gap:4px 20px}
.combo-count{font-size:.875rem}.combo-price{grid-column:2;grid-row:1/3;font-size:1.65rem}.combo-saved{grid-row:2}.combo-review{grid-column:3;grid-row:1/3;padding:12px 18px}.combo-disclaimer{margin-top:10px;line-height:1.5}
.cart-dialog{width:min(920px,calc(100% - 24px));border-radius:24px;max-height:90dvh}
.cart-dialog .dialog-header{padding:22px 28px;background:linear-gradient(115deg,#211936,#142b40)}
.cart-dialog .dialog-header h2{font-size:1.5rem;letter-spacing:-.035em}
.cart-dialog .dialog-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:18px 28px;padding:26px}
.cart-items{grid-column:1;grid-row:1/3}.cart-items li{padding:16px 12px;margin-bottom:8px;border:1px solid var(--line);border-radius:12px;background:#ffffff04;gap:10px;grid-template-columns:1fr auto}.cart-items button{grid-column:2;font-size:.8125rem;padding:5px 10px}.cart-items strong{overflow-wrap:anywhere}
.cart-game{grid-column:2;grid-row:1;border:1px solid #9278ca70;border-radius:16px;padding:18px;background:radial-gradient(ellipse at top right,#7950c428,transparent),#ffffff04}
.game-heading{display:flex;align-items:center;gap:12px}.game-heading h3{font-size:1rem;margin:0 0 5px}.game-heading p{font-size:.875rem;margin:0;line-height:1.5;color:var(--muted)}
.game-badge{flex-shrink:0;padding:13px 10px;border-radius:12px;background:linear-gradient(135deg,#8c45d4,#315ecc);color:#fff;font-weight:800;font-size:1.125rem}
.game-start{width:100%;margin:14px 0 8px;padding:12px;border:1px solid #ac90ed;border-radius:10px;background:#8c67c91a;color:var(--ink);font-weight:700;min-height:44px}
.cart-game small{display:block;color:var(--muted);font-size:.75rem;line-height:1.5}.game-status{font-size:.875rem!important;line-height:1.5;margin:10px 0;color:var(--ink)}
.memory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.memory-grid button{min-height:60px;border-radius:10px;background:linear-gradient(135deg,#57368c,#284971);border:1px solid #a691d7;color:white;font-size:1.5rem;transition:transform .2s,background .2s}.memory-grid button:hover{transform:translateY(-2px)}.memory-grid .revealed{background:#2d6780}.memory-grid .matched{background:#196354;border-color:#65c5a4;opacity:1}.game-won{border-color:#54bda0}
.cart-totals{grid-column:2;grid-row:2;margin:0;padding:18px;border:1px solid var(--line);border-radius:16px;background:#ffffff05}.cart-total-row strong:last-child{font-size:1.8rem;letter-spacing:-.04em}.cart-totals .cart-reward-row{color:#80dfc3}.cart-totals .cart-total-row{align-items:center}
.cart-conditions{grid-column:1;margin:0;line-height:1.6}.cart-payment-summary{grid-column:1;grid-row:3;margin:0}.cart-checkout{grid-column:2;grid-row:3;align-self:start;padding:16px!important;font-size:.875rem}.cart-continue{grid-column:2;grid-row:4;margin:0;align-self:start}.cart-empty{grid-column:1/-1}
[data-theme=light] .cart-dialog .dialog-header{background:linear-gradient(110deg,#f4f0ff,#eff8fc)}
[data-theme=light] .cart-game{background:linear-gradient(135deg,#faf7ff,#f0f8ff);border-color:#d4c8ed}
[data-theme=light] .cart-items li{background:#f8fafc}[data-theme=light] .cart-totals{background:#f6f8fc}[data-theme=light] .cart-totals .cart-reward-row{color:#166b53}
[hidden]{display:none!important}
.cart-items{grid-row:1}.cart-game{grid-column:1;grid-row:2/5}.cart-totals{grid-column:2;grid-row:1;align-self:start}.cart-checkout{grid-row:2}.cart-payment-summary{grid-column:2;grid-row:3}.cart-conditions{grid-column:1/-1;grid-row:5}.cart-continue{grid-row:4}
@media(max-width:700px){.combo-builder,[data-theme=light] .combo-builder{padding:18px}.combo-summary{grid-template-columns:1fr auto}.combo-price{grid-column:2}.combo-review{grid-row:3;grid-column:1/-1;margin-top:8px}.cart-dialog .dialog-body{display:flex;flex-direction:column;padding:18px;gap:16px}.cart-dialog .dialog-header{padding:20px}.cart-dialog .dialog-header h2{font-size:1.2rem}.cart-conditions{order:6}.cart-game{order:1}.cart-items{order:0}.cart-totals{order:2}.cart-payment-summary{order:4}.cart-checkout{order:3}.cart-continue{order:5;align-self:center}.combo-details .combo-presets{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:410px){.combo-details .combo-presets{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.memory-grid button{transition:none}.memory-grid button:hover{transform:none}}
