.club-modern { --ink:#161616; --muted:#626262; --line:#eee7e3; --club-page-gutter:max(24px,calc((100% - 1296px)/2)); --club-intro-background:linear-gradient(120deg,#fff3eb 0%,#fff 50%,#fdeef0 100%); color:var(--ink); background:#fff; }
.club-modern .topbar { padding:14px max(24px,calc((100vw - 1296px)/2)); gap:28px; background:rgba(255,255,255,.97); backdrop-filter:blur(16px); }
.club-modern .brand-wordmark>span,.club-modern .header-user-pill,.club-modern.is-authenticated .shop-home-button { display:none; }
.club-modern .brand-wordmark strong { color:#111; font-size:20px; }
.club-modern .sidebar { display:flex; position:static; flex-direction:row; align-self:auto; gap:22px; padding:0; border:0; background:none; box-shadow:none; }
.club-modern .sidebar .nav-item { position:relative; width:auto; margin:0; padding:18px 0; border:0; border-radius:0; background:transparent; color:#666; font-size:16px; white-space:nowrap; box-shadow:none; }
.club-modern .sidebar .nav-item.is-active { color:#111; background:none; }
.club-modern .sidebar .nav-item.is-active::after { content:""; position:absolute; bottom:0; height:3px; left:0; right:0; background:var(--brand-gradient); }
.club-modern .sidebar .nav-dot,.club-modern .sidebar .modern-legacy-nav { display:none!important; }
.modern-header-chips { display:flex; align-items:center; gap:10px; }
.modern-header-chips button { border:1px solid var(--line); border-radius:30px; background:#fff; color:#111; padding:10px 15px; font-size:13px; font-weight:750; white-space:nowrap; }
.modern-header-chips #modern-favorites { color:#8d2337; }
.club-modern .prototype-shell { display:block; max-width:1344px; padding:48px 24px 64px; }
.club-modern .content { min-width:0; }
.modern-preview-notice { margin:0; padding:8px 24px; color:#765c3b; background:#fff7e8; font-size:11px; text-align:center; }
.club-modern.is-authenticated #overview { display:none!important; }
.club-modern .view { max-width:none; }
.modern-deals { display:grid; gap:0; }
.club-modern:is(.is-authenticated,.is-public-view) .prototype-shell { max-width:none; padding:0; }
.club-modern:is(.is-authenticated,.is-public-view) .account-frame { background:#fff; }
.club-modern:is(.is-authenticated,.is-public-view) .content { width:100%; gap:0; }
.modern-deals>.modern-section,.modern-deals>.modern-help { width:calc(100% - 48px); max-width:1296px; margin-inline:auto; padding:40px 0; border:0; border-radius:0; background:#fff; box-shadow:none; }
.club-modern .modern-deals>.modern-intro { padding:32px var(--club-page-gutter); background:var(--club-intro-background); }
.modern-intro { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; align-items:start; }
.modern-intro.has-promos { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); align-items:stretch; }
.modern-welcome { display:flex; flex-direction:column; justify-content:flex-start; align-items:stretch; max-width:680px; }
.modern-intro.has-promos .modern-welcome { max-width:none; }
.modern-intro.has-promos .modern-member-summary { margin-top:auto; }
.modern-greeting { margin:0 0 6px; color:#9d452f; font-weight:700; }
.modern-welcome h1 { margin:0 0 8px; font-size:clamp(40px,3.8vw,54px); line-height:1.03; letter-spacing:-2.5px; color:#080808; }
.modern-welcome h1>span { background:var(--brand-gradient); background-clip:text; -webkit-background-clip:text; color:transparent; }
.modern-lead { margin:0 0 12px; max-width:640px; font-size:16px; color:#484848; line-height:1.45; }
.club-copy-mobile { display:none; }
.modern-member-summary { border:1px solid #f3e4dd; border-radius:20px; background:#fff; box-shadow:0 8px 24px #66301806; }
.modern-member-summary .modern-bonus-card { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:14px 24px; margin:0; padding:20px 22px; border:0; border-radius:20px 20px 0 0; box-shadow:none; }
.modern-member-summary .modern-bonus-heading { grid-column:1; grid-row:1; gap:4px; }
.modern-member-summary .modern-streak { grid-column:1/-1; grid-row:2; margin:0; }
.modern-member-summary .modern-bonus-bottom { grid-column:2; grid-row:1; align-self:start; }
.modern-member-summary .modern-bonus-card>.modern-captcha-attribution,.modern-member-summary .modern-bonus-unavailable { grid-column:1/-1; margin:0; }
.modern-member-summary #modern-progress-card { position:relative; border:0; border-radius:0 0 20px 20px; padding:20px 22px; }
.modern-member-summary #modern-progress-card .reward-roadmap-shell { padding:32px 12px 20px 0; }
.modern-member-summary #modern-progress-card .reward-roadmap-track { height:10px; box-shadow:none; }
.modern-member-summary #modern-progress-card .reward-roadmap-start { display:none; }
.modern-member-summary #modern-progress-card .reward-progress-available { background:linear-gradient(90deg,#ec515e,#ed7781); box-shadow:none; animation:none; }
.modern-member-summary #modern-progress-card .reward-progress-available::after { display:none; }
.modern-member-summary #modern-progress-card .reward-roadmap-current { width:16px; height:16px; border-width:3px; box-shadow:0 0 0 1px #ed778140; }
.modern-member-summary:has(#modern-daily-bonus:not([hidden])) #modern-progress-card { border-top:1px solid #f0e8e2; }
.modern-member-summary:has(#modern-daily-bonus[hidden]) #modern-progress-card { border-radius:20px; }
.modern-member-summary .modern-progress-goal { margin-bottom:0; font-size:16px; }
.modern-member-summary .modern-progress-balances { display:flex; align-items:center; flex-wrap:wrap; gap:10px 18px; }
.modern-member-summary .modern-balance { display:flex; align-items:center; gap:6px; border:0; padding:0; background:none; }
.modern-member-summary .modern-balance>strong { margin:0; font-size:13px; }
.modern-member-summary .modern-balance.is-pending { position:static; }
.modern-member-summary #modern-progress-card .modern-info-panel { top:calc(100% - 8px); left:16px; right:auto; width:min(300px,calc(100% - 32px)); }
.modern-bonus-card { position:relative; margin-bottom:18px; border:1px solid #f3e4dd; background:#fff; border-radius:20px; padding:22px; box-shadow:0 8px 24px #66301806; }
.modern-bonus-heading { display:flex; flex-direction:column; gap:8px; align-items:flex-start; font-size:15px; }
.modern-bonus-title { display:flex; gap:6px; align-items:center; }
.modern-bonus-heading>span { color:#26732c; background:#f0f7eb; padding:5px 10px; border-radius:20px; font-size:12px; font-weight:700; }
.modern-streak { display:flex; gap:8px; margin:18px 0; }
.modern-streak>span { flex:1; min-width:0; color:#777; font-size:11px; line-height:14px; text-align:center; }
.modern-streak>span>strong { display:block; font-size:11px; line-height:14px; font-weight:700; }
.modern-streak i { display:block; height:6px; margin:3px 0; border-radius:8px; background:#f2e5dd; }
.modern-streak .earned i { background:var(--brand-gradient); }
.modern-streak .is-today { color:#8d233c; font-weight:800; }
.modern-streak .is-today i { outline:2px solid #f4b8c9; outline-offset:2px; }
.modern-bonus-bottom { display:flex; align-items:center; gap:12px; flex-wrap:wrap; justify-content:space-between; }
.modern-bonus-bottom .primary-action { width:100%; }
.modern-bonus-bottom .primary-action:disabled { color:#746963; background:#f6f2ef; opacity:1; }
.modern-bonus-unavailable { color:#626262; font-size:12px; line-height:1.5; }
.modern-bonus-feedback { grid-column:1/-1; margin:4px 0; color:#8d233c; font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.modern-info { position:relative; display:inline-block; flex:none; }
.modern-info>summary { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; padding:0; cursor:pointer; list-style:none; color:#6b6261; border-radius:50%; }
.modern-info>summary::-webkit-details-marker { display:none; }
.modern-info>summary>span { display:grid; place-items:center; width:18px; height:18px; border:1.5px solid currentColor; border-radius:50%; font-family:Georgia,serif; font-size:13px; line-height:1; font-weight:700; }
.modern-info[open]>summary,.modern-info>summary:hover { color:#9d452f; background:#fff3eb; }
.modern-info-panel { position:absolute; z-index:30; top:calc(100% + 8px); right:0; width:min(280px,calc(100vw - 80px)); padding:16px; border:1px solid #eddfd7; border-radius:12px; background:#fff; box-shadow:0 10px 32px #38202124; color:#48403d; font-size:13px; line-height:1.55; font-weight:400; text-align:left; }
.modern-info-panel>strong { font-size:13px; font-weight:800; }
.modern-info-panel p { margin:8px 0 0; }
.modern-info-panel a { color:inherit; text-decoration:underline; }
.modern-bonus-title .modern-info { position:static; }
.modern-bonus-title .modern-info-panel { top:58px; left:18px; right:18px; width:auto; }
.modern-bonus-card>.modern-captcha-attribution { margin:16px 0 0; color:#626262; font-size:11px; line-height:1.5; }
.modern-captcha-attribution a { color:inherit; text-decoration:underline; }
.club-modern .primary-action,.club-modern .offer-action { background:var(--brand-gradient); color:#151515; border:0; font-weight:800; border-radius:10px; min-height:44px; padding:12px 18px; box-shadow:0 6px 12px #b54b3914; }
.club-modern button:disabled { cursor:default; box-shadow:none; opacity:.6; }
.modern-progress-card { width:100%; border:1px solid var(--line); border-radius:18px; background:#fff; padding:22px; text-align:left; }
.modern-progress-goal { margin:0 0 16px; font-size:16px; line-height:1.4; color:#231e1c; }
.modern-progress-balances { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.modern-balance { min-width:0; border:1px solid #f0e8e2; border-radius:12px; padding:12px; background:#fffaf7; }
.modern-balance:only-child { grid-column:1/-1; }
.modern-balance.is-pending { position:relative; }
.modern-balance>span { display:flex; align-items:center; min-height:28px; color:#746963; font-size:12px; }
.modern-balance.is-pending>span { gap:8px; }
.modern-balance-divider { font-size:16px; font-weight:750; }
.modern-balance>strong { display:block; margin-top:5px; font-size:17px; font-weight:800; overflow-wrap:anywhere; }
.modern-balance .modern-info { position:static; }
.modern-balance .modern-info>summary { width:28px; height:28px; }
.modern-balance .modern-info>summary>span { width:14px; height:14px; font-size:11px; border-width:1px; }
.modern-promos { display:grid; gap:16px; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:stretch; align-self:stretch; min-width:0; }
.modern-promos.has-large-banner { min-height:496px; grid-template-rows:repeat(2,minmax(240px,1fr)); }
.modern-promo-carousel { position:relative; min-width:0; min-height:240px; border-radius:20px; overflow:hidden; box-shadow:0 8px 28px #6630180a; }
.modern-promo-carousel--large { grid-column:1; grid-row:1 / 3; }
.modern-promos.has-large-banner .modern-promo-carousel--small { grid-column:2; grid-row:1; }
.modern-promos.has-large-banner .modern-promo-carousel--awin { grid-column:2; grid-row:2; }
.modern-promos.has-large-banner:not(.has-awin-banner):not(.has-survey-banner) .modern-promo-carousel--small,
.modern-promos.has-large-banner:not(.has-small-banner) .modern-promo-carousel--awin { grid-row:1 / 3; }
.modern-promos.has-single-promo { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(320px,1fr); min-height:320px; }
.modern-promos.has-single-promo>* { grid-column:1!important; grid-row:1!important; }
.modern-promos.has-survey-banner { min-height:496px; grid-template-rows:repeat(2,minmax(240px,1fr)); }
.modern-promos.has-survey-banner>.modern-promo-carousel--small { grid-column:2; grid-row:1; }
.modern-promos>.modern-survey-card { grid-column:2; grid-row:2; }
.modern-promos.is-loading { min-height:496px; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(240px,1fr)); }
.modern-promo-placeholder { min-width:0; border-radius:20px; background:linear-gradient(135deg,#f8e9e0,#f9eef1); }
.modern-promo-placeholder--large { grid-column:1; grid-row:1 / 3; }
.modern-promo-placeholder--small { grid-column:2; grid-row:1; }
.modern-promo-placeholder--awin { grid-column:2; grid-row:2; }
.modern-promo-carousel>.modern-promo-banner { position:absolute; inset:0; }
.modern-promos .modern-promo-banner { position:relative; isolation:isolate; border:0; border-radius:20px; padding:0; gap:0; justify-content:flex-end; background:linear-gradient(145deg,#ffe0c5 0%,#fff2e6 50%,#f5ccdf 100%); }
.modern-promos .modern-promo-carousel--small .modern-promo-banner { background:linear-gradient(135deg,#f4d9e7,#fff0f5 62%,#ffe7d1); }
.modern-promos .modern-promo-carousel>.modern-promo-banner { position:absolute; }
.modern-promos .modern-promo-banner .offer-media { position:absolute; inset:0; height:100%; min-height:0; padding:0; border:0; background:transparent; }
.modern-promo-banner .offer-media::after { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(0deg,#fff1e8 0%,#fff1e8f2 36%,#fff1e800 75%); pointer-events:none; }
.modern-promos .modern-promo-banner .offer-media .modern-banner-artwork { position:absolute; z-index:0; inset:0; width:100%; height:100%; max-height:none; object-fit:cover; transform:none; }
.modern-promo-banner.has-banner-artwork .offer-media::after { background:linear-gradient(0deg,#fff1e8 0%,#fff1e8f5 24%,#fff1e8b3 45%,#fff1e800 78%); }
.modern-banner-brand { position:absolute; z-index:3; top:14px; left:14px; display:flex; align-items:center; justify-content:center; width:120px; max-width:calc(100% - 84px); height:48px; padding:8px; border-radius:9px; background:#fffffff2; box-shadow:0 3px 12px #38242c12; color:#242020; font-size:13px; line-height:1.15; font-weight:800; text-align:center; overflow-wrap:anywhere; }
.modern-promos .modern-promo-banner .modern-banner-brand img { width:auto; height:auto; max-width:100%; max-height:32px; object-fit:contain; transform:none; }
.modern-promo-banner .offer-favorite-star { z-index:4; top:12px; right:12px; }
.modern-promos .modern-promo-banner .offer-card-body { position:relative; z-index:2; flex:0 0 auto; display:block; padding:20px 16px 0; }
.modern-promo-banner .modern-deal-type { margin:0 0 8px; font-size:9px; letter-spacing:.8px; max-width:90%; }
.modern-promo-banner .modern-card-brand { display:none; }
.modern-promos .modern-promo-banner h3 { margin:0 0 12px; font-size:24px; line-height:1.15; letter-spacing:-.6px; overflow-wrap:anywhere; }
.modern-promo-banner .offer-card-body>p { display:none; }
.modern-promos .modern-promo-banner .offer-meta { position:relative; z-index:2; display:flex; flex:0 0 auto; padding:0 16px 52px; gap:6px; border:0; background:transparent; }
.club-modern .modern-promos .modern-promo-banner .offer-action { align-self:flex-start; width:auto; max-width:100%; font-size:11px; min-height:44px; padding:10px; border-radius:999px; background:var(--brand-gradient); color:#fff; font-weight:800; letter-spacing:.2px; line-height:1.3; text-transform:uppercase; overflow-wrap:anywhere; box-shadow:none; }
.modern-promos .modern-promo-carousel--small .modern-promo-banner h3 { font-size:18px; }
.modern-promos .modern-promo-carousel--small .offer-card-body { padding:76px 14px 0; }
.modern-promos .modern-promo-carousel--small .offer-meta { padding:0 14px 40px; }
.modern-promo-carousel--small .offer-media::after { background:linear-gradient(0deg,#fbe6ef 0%,#fbe6eff5 58%,#fbe6ef00 100%); }
/* With either carousel slot missing, keep artwork in its own bounded area.
   The visible slide participates in layout so long copy cannot overlap it. */
.modern-promos:not(.is-mobile,.has-large-banner.has-small-banner) .modern-promo-carousel>.modern-promo-banner { position:relative; inset:auto; height:100%; min-height:320px; }
.modern-promos:not(.is-mobile,.has-large-banner.has-small-banner) .modern-promo-banner .offer-media { position:relative; inset:auto; display:flex; align-items:center; justify-content:center; flex:1 0 auto; height:auto; min-height:88px; aspect-ratio:auto; padding:76px 16px 12px; }
.modern-promos:not(.is-mobile,.has-large-banner.has-small-banner) .modern-promo-banner .offer-media::after { display:none; }
.modern-promos:not(.is-mobile,.has-large-banner.has-small-banner) .modern-promo-banner .offer-media .modern-banner-artwork { position:static; inset:auto; display:block; flex:0 1 auto; min-width:0; width:auto; height:auto; max-width:min(100%,320px); max-height:180px; object-fit:contain; transform:none; }
.modern-promos:not(.is-mobile,.has-large-banner.has-small-banner) .modern-promo-banner .offer-card-body { padding:20px 16px 0; }
.modern-carousel-controls { position:absolute; z-index:5; left:20px; right:20px; bottom:14px; display:flex; align-items:center; gap:7px; }
.modern-carousel-step { position:relative; flex:1; height:18px; padding:0; border:0; border-radius:8px; background:transparent; overflow:hidden; }
.modern-carousel-step::before { content:""; position:absolute; left:0; right:0; top:7px; height:4px; border-radius:4px; background:#4a243329; }
.modern-carousel-step[aria-pressed=true]::after { content:""; position:absolute; left:0; right:0; top:7px; height:4px; border-radius:4px; background:#8e354e; transform-origin:left; animation:modern-banner-progress var(--carousel-duration) linear both; }
.modern-promo-carousel[data-paused=true] .modern-carousel-step::after { animation-play-state:paused; }
.modern-carousel-toggle { width:26px; height:26px; padding:0; border:1px solid #4a24332b; border-radius:50%; color:#532b37; background:#ffffffa6; font-size:11px; flex-shrink:0; }
.modern-carousel-arrow { width:26px; height:26px; padding:0; border:1px solid #4a24332b; border-radius:50%; background:#ffffffa6; color:#532b37; font-size:20px; line-height:1; flex-shrink:0; }
.modern-carousel-counter { flex:1; color:#532b37; font-size:11px; font-weight:750; text-align:center; }
@keyframes modern-banner-progress { from { transform:scaleX(0); } to { transform:scaleX(1); } }
.modern-section-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:24px; }
.modern-section-heading h2,.modern-help h2 { margin:0; font-size:clamp(26px,3vw,38px); line-height:1.15; letter-spacing:-1.2px; color:#111; }
.modern-section-heading p:not(.eyebrow),.modern-help p { color:#666; font-size:14px; line-height:1.6; }
.modern-offer-grid,.modern-fee-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.modern-offer-grid { gap:18px; align-items:stretch; }
.modern-deal-card { border:0; border-radius:20px; padding:0; background:#fff; box-shadow:0 4px 18px #38242c0d; overflow:hidden; display:flex; flex-direction:column; gap:0; min-width:0; min-height:0; height:auto; }
.club-modern .modern-deal-card:not(.modern-promo-banner) { --deal-accent:#f6d8e2; --deal-tint:#fff7fa; --deal-ink:#84334e; --deal-rule:#f3cbd7; border:5px solid var(--deal-accent); border-radius:26px; background:var(--deal-accent); box-shadow:0 6px 22px #38242c0d; }
.club-modern .modern-deal-card--redemption:not(.modern-promo-banner) { --deal-accent:#f8dfd7; --deal-tint:#fff7f2; --deal-ink:#85432f; --deal-rule:#f5d3c9; }
.club-modern .modern-deal-card--partner:not(.modern-promo-banner) { --deal-accent:#cfd9e6; --deal-tint:#f5f8fc; --deal-ink:#315274; --deal-rule:#becbde; }
.club-modern .modern-deal-card--shop:not(.modern-promo-banner) { --deal-accent:#e3dcea; --deal-tint:#faf7fc; --deal-ink:#5a3c78; --deal-rule:#d9ccdf; }
.modern-deal-card .offer-media { display:flex; flex:none; min-height:76px; height:76px; padding:20px 20px 8px; justify-content:flex-start; align-items:center; aspect-ratio:auto; border:0; background:transparent; border-radius:0; }
.club-modern .modern-deal-card:not(.modern-promo-banner) .offer-media,.club-modern .modern-deal-card:not(.modern-promo-banner) .offer-logo-placeholder { background:transparent; }
.club-modern .modern-deal-card:not(.modern-promo-banner) .offer-media { height:auto; min-height:142px; padding:16px 20px 18px; display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.modern-card-logo { display:flex; flex:none; align-items:center; justify-content:center; width:196px; height:66px; max-width:calc(100% - 52px); padding:6px 10px; border-radius:10px; background:#fff; overflow:hidden; }
.club-modern .modern-card-logo>.offer-image { display:block; flex:none; width:auto; height:auto; max-width:100%; max-height:100%; margin:0; padding:0; border:0; border-radius:0; background:transparent; aspect-ratio:auto; object-fit:contain; object-position:50% 50%; transform:none; }
.club-modern .modern-card-logo>.offer-logo-placeholder { display:grid; place-items:center; width:100%; height:100%; min-height:0; max-width:100%; margin:0; padding:0; border-radius:0; background:transparent; color:#333; text-align:center; }
.club-modern .modern-card-logo>.offer-logo-placeholder img { display:block; width:auto; height:auto; max-width:100%; max-height:100%; margin:0; opacity:1; object-fit:contain; }
.modern-deal-card .offer-customer-label { display:block; color:#625c60; font-size:12px; font-weight:650; line-height:1.4; }
.modern-deal-card .offer-card-body { padding:8px 20px 0; gap:8px; flex:0 0 auto; }
.modern-deal-card:not(.modern-promo-banner) .offer-card-body { padding:20px; border-radius:20px 20px 0 0; background:#fff; }
.modern-offer-grid>.modern-deal-card .offer-card-body { flex:1 0 auto; }
.modern-offer-grid>.modern-deal-card .modern-coupon-footer { flex:none; min-height:0; }
.modern-deal-card h3 { font-size:20px; line-height:1.25; margin:0; letter-spacing:-.5px; color:#111; overflow-wrap:anywhere; }
.modern-deal-card .offer-card-body>p { margin:0; font-size:13px; line-height:1.45; color:#666; overflow-wrap:anywhere; }
.modern-deal-type { display:block; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:1px; color:#98523b; margin:0; }
.modern-deal-card:not(.modern-promo-banner) .modern-deal-type { display:inline-flex; align-self:flex-start; width:fit-content; max-width:100%; padding:5px 9px; border-radius:7px; background:var(--deal-tint); color:var(--deal-ink); font-size:12px; font-weight:800; line-height:1.35; letter-spacing:0; text-transform:none; overflow-wrap:anywhere; }
.modern-card-brand { display:block; font-size:14px; margin:0; }
.modern-deal-card .modern-coupon-footer { position:relative; display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 10px; margin-top:0; padding:12px 20px 6px; border:0; border-top:2px dashed var(--deal-rule,#d7a5b6); border-radius:0 0 19px 19px; background:#fff; }
.modern-coupon-footer::before,.modern-coupon-footer::after { content:""; position:absolute; top:-12px; width:22px; height:22px; border:0; border-radius:50%; background:#fff; pointer-events:none; }
.modern-coupon-footer::before { left:-16px; }
.modern-coupon-footer::after { right:-16px; }
.modern-coupon-scissors { position:absolute; top:-15px; left:16px; padding:0 4px; background:#fff; color:#51434a; font-size:20px; line-height:24px; pointer-events:none; }
.modern-coupon-validity { display:flex; align-items:center; justify-content:flex-end; min-width:0; margin-left:auto; }
.modern-coupon-validity time { display:flex; flex-direction:column; align-items:flex-end; gap:1px; color:#766b65; font-size:10px; line-height:1.4; text-align:right; }
.modern-coupon-validity time strong { font-size:10px; font-weight:650; font-variant-numeric:tabular-nums; white-space:nowrap; }
.club-modern .modern-coupon-footer .offer-action { justify-self:start; width:auto; max-width:100%; min-height:44px; padding:10px 14px; border-radius:999px; color:#fff; font-size:12px; font-weight:800; letter-spacing:.35px; line-height:1.3; text-transform:uppercase; overflow-wrap:anywhere; }
.modern-promos .modern-promo-carousel--small .modern-deal-type { display:block; letter-spacing:.5px; }
.modern-deal-card .offer-labels { display:none; }
.modern-feature-card { background:#fff; }
.modern-feature-card .offer-card-body { padding:24px; }
.modern-feature-card .offer-media { background:transparent; min-height:120px; height:130px; }
#modern-day-deal>.modern-feature-card { display:grid; grid-template-columns:minmax(190px,.85fr) minmax(0,1.3fr); }
#modern-day-deal .offer-media { grid-row:1; height:100%; min-height:220px; background:transparent; }
#modern-day-deal .offer-media img { max-height:160px; }
#modern-day-deal .offer-card-body { padding:24px; }
#modern-day-deal h3 { font-size:clamp(28px,3.5vw,46px); letter-spacing:-1.5px; }
#modern-day-deal .modern-coupon-footer { grid-column:1/-1; margin-top:0; }
.modern-survey-card { position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; gap:12px; padding:20px; background:var(--brand-gradient); border-radius:20px; min-width:0; min-height:240px; color:#161616; }
.modern-promos>.modern-survey-card { padding:16px; gap:8px; }
.survey-tile-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px 10px; width:100%; }
.modern-survey-card[hidden] { display:none; }
.modern-survey-card .survey-tile-label { margin:0; font-size:10px; font-weight:800; letter-spacing:1.6px; text-transform:uppercase; }
.modern-survey-card h2 { margin:0; font-size:21px; letter-spacing:-.5px; line-height:1.2; overflow-wrap:anywhere; }
.modern-promos>.modern-survey-card h2 { font-size:18px; }
.modern-survey-card .survey-tile-details { margin:0; font-size:12px; line-height:1.5; }
.modern-survey-card .survey-tile-points { display:inline-flex; padding:5px 9px; border-radius:999px; background:#ffffff75; font-size:12px; font-weight:800; }
.modern-survey-card .survey-tile-choice { display:flex; flex-direction:column; gap:5px; width:100%; font-size:11px; font-weight:700; }
.modern-survey-card select { width:100%; min-width:0; min-height:40px; padding:8px; border:1px solid #ffffff70; border-radius:8px; background:#fff; color:#222; font:inherit; }
.modern-promos>.modern-survey-card select { min-height:32px; padding:5px 8px; }
.modern-survey-card button { position:relative; margin-top:auto; max-width:100%; min-height:44px; border:0; border-radius:9px; background:#111; color:#fff; padding:12px 15px; font-size:12px; font-weight:800; cursor:pointer; overflow-wrap:anywhere; }
.modern-survey-card button:disabled { opacity:.65; cursor:wait; }
.modern-survey-card button:focus-visible,.modern-survey-card select:focus-visible { outline:3px solid #111; outline-offset:3px; }

.modern-filters button { border:1px solid #e9e2de; border-radius:30px; background:#fff; padding:12px 20px; color:#111; font-size:13px; font-weight:700; }
.modern-filters { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:20px; }
.modern-filters button[aria-pressed=true] { background:#111; color:#fff; border-color:#111; }
.modern-search-row { display:flex; flex-wrap:wrap; gap:16px; align-items:end; }
.modern-search-row label { display:grid; gap:7px; font-size:12px; color:#666; flex:1; min-width:180px; }
.modern-search-row input,.modern-search-row select { padding:13px 16px; border:1px solid #e9e2de; border-radius:10px; color:#222; background:#fff; width:100%; }
.modern-results { font-size:12px; color:#666; margin:20px 0; }
#modern-load-more { display:block; margin:28px auto 0; }
.modern-fee-grid { grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); }
.modern-fee-card { border:1px solid #efe4dd; background:#fff; border-radius:20px; overflow:hidden; }
.modern-fee-card>div:last-child { padding:26px; }
.modern-fee-card h3 { font-size:24px; letter-spacing:-.6px; }
.modern-fee-card p { color:#666; font-size:13px; line-height:1.6; }
.modern-fee-card .primary-action { margin-top:20px; }
.modern-fee-art { height:135px; display:flex; align-items:center; justify-content:center; color:#924b61; background:linear-gradient(120deg,#f8e0d1,#f6d7e6); font-size:72px; font-weight:800; }
.modern-fee-notice { padding:12px; background:#fcf5ef; border-radius:8px; }
.modern-newsletter,.modern-help { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:32px; border-radius:20px; background:#fff; border:1px solid var(--line); }
.modern-newsletter h2 { font-size:26px; letter-spacing:-.7px; }
.modern-newsletter p { color:#666; font-size:14px; }
.club-modern .club-home-card { background:#fff; border:1px solid var(--line); border-radius:20px; box-shadow:none; }
/* Keep the jump links after the intro in DOM order, sticky across the whole account including profile. */
.club-modern.club-account-open.is-authenticated:not(.is-registering) #points:not([hidden]) { display:contents!important; }
.modern-account-intro { display:grid; gap:20px; padding:44px var(--club-page-gutter) 40px; background:var(--club-intro-background); }
.club-modern #points>:not(.modern-account-intro):not(.modern-account-nav) { width:calc(100% - 48px); max-width:1296px; margin-inline:auto; }
.club-modern #points>section,.club-modern #points>.modern-account-newsletter { padding:40px 0; border:0; border-radius:0; background:#fff; box-shadow:none; }
.modern-account-nav { position:sticky; top:0; z-index:15; min-width:0; padding:12px var(--club-page-gutter); background:#fff; border-bottom:1px solid var(--line); }
.modern-account-nav[hidden] { display:none; }
.modern-account-nav-links { display:flex; gap:8px; overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:thin; }
.modern-account-nav a { display:inline-flex; flex:none; align-items:center; min-height:44px; padding:8px 14px; border:1px solid var(--line); border-radius:999px; color:#625853; font-size:12px; font-weight:750; text-decoration:none; white-space:nowrap; }
.modern-account-nav a[hidden] { display:none; }
.modern-account-nav a:hover { background:#fff5f0; color:#111; }
.modern-account-nav a[aria-current=location] { color:#fff; background:#161616; border-color:#161616; }
.club-modern :is(#points-hero-card,#account-rewards,#voucher-band,#modern-account-favorites,#points-ledger-section,#profile,#profile-notification-card) { scroll-margin-top:88px; }
.club-modern #points>section:not([hidden]) { padding-block:48px; border-bottom:1px solid var(--line); }
.club-modern #points>section>.club-home-section-head,.club-modern #modern-account-favorites>.modern-section-heading,.modern-account-section-title,.club-modern .profile-account-section>div:first-child { padding-left:16px; border-left:3px solid #ed8b9d; }
.club-modern #points>section>.club-home-section-head,.club-modern #modern-account-favorites>.modern-section-heading { margin-bottom:28px; }
.modern-account-section-title h2,.club-modern .profile-account-section>div:first-child h2 { margin:0; }
.club-modern #profile,.club-modern #faq,.club-modern #benefits { padding:44px var(--club-page-gutter) 48px; background:#fff; }
.club-modern.club-account-open.is-authenticated:not(.is-registering) #profile:not([hidden]) { display:grid!important; gap:32px; margin-top:0; }
.club-modern #profile>.club-home-card,.club-modern #benefits>.club-home-card { padding:0; border:0; border-radius:0; background:#fff; box-shadow:none; }
.club-modern.club-account-open #profile { padding-block:48px; gap:48px!important; }
.club-modern.club-account-open #profile>.club-home-card { padding-bottom:48px; border-bottom:1px solid var(--line); }
.club-modern #faq { gap:28px; }
.club-modern #faq .faq-header { padding:0 0 12px; border:0; border-radius:0; box-shadow:none; }
.club-modern.club-account-open #profile .profile-hero-row,.club-modern .overview-logout-link { display:none; }
.club-modern .points-title { font-size:42px; letter-spacing:-1.6px; }
.modern-account-hero { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:24px; align-items:stretch; }
.modern-account-hero>* { min-width:0; }
.modern-account-art { position:relative; display:grid; place-items:center; min-height:460px; overflow:hidden; border:1px solid #f1e4db; border-radius:20px; background:radial-gradient(ellipse at 50% 40%,#fff9e9 0,#f9e4d6 52%,#f0dce1 100%); }
.modern-account-art::after { content:""; position:absolute; left:18%; right:18%; bottom:93px; height:26px; border-radius:50%; background:#6d3b2b24; filter:blur(16px); }
.modern-account-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.modern-account-art.has-custom-image>:not(.modern-account-image),.modern-account-art.has-custom-image::after { display:none; }
.club-modern #points-hero-card .modern-account-purpose { margin:18px 0 0; color:#9d452f; font-size:15px; font-weight:750; line-height:1.5; overflow-wrap:anywhere; }
.modern-account-art-card { position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; gap:17px; width:min(250px,66%); padding:27px 18px 23px; border:1px solid #f7e1d3; border-radius:16px; background:linear-gradient(135deg,#fff,#fff9f3); box-shadow:10px 24px 34px #9f6a5030; transform:rotate(-9deg); text-align:center; }
.modern-account-art-card>span { font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:1.6px; color:#9d452f; }
.modern-account-art-card>img { width:88px; height:88px; object-fit:contain; }
.modern-account-art-card>strong { color:#1e1714; font-size:25px; line-height:1.1; letter-spacing:-.8px; }
.modern-account-art-card>small { width:100%; padding-top:14px; border-top:1px dashed #e8c9b2; color:#7d6251; font-size:10px; }
.modern-account-art>p { position:absolute; z-index:3; bottom:28px; left:24px; right:24px; margin:0; color:#805846; font-size:14px; line-height:1.5; text-align:center; }
.modern-account-coin { position:absolute; z-index:1; display:grid; place-items:center; width:82px; height:82px; border:5px double #d9a855; border-radius:50%; color:#ba822f; background:radial-gradient(circle at 32% 28%,#ffedbd,#e7bd6d 72%); box-shadow:inset 0 0 0 4px #f8d88b,7px 9px 0 #ba833238,12px 16px 22px #8e5e2520; font-family:Georgia,serif; font-size:36px; font-weight:700; }
.modern-account-coin--one { left:-26px; top:57%; transform:rotate(-24deg); }
.modern-account-coin--two { right:-27px; top:18%; width:112px; height:112px; transform:rotate(18deg); font-size:50px; }
.modern-account-coin--three { left:12%; top:7%; width:60px; height:60px; transform:rotate(24deg); font-size:25px; }
.modern-account-coin--four { right:13%; bottom:16%; width:56px; height:56px; transform:rotate(-18deg); font-size:24px; }
.club-modern #points-hero-card { display:flex; flex-direction:column; gap:0; padding:30px 32px; overflow:visible; }
.modern-account-greeting { margin:0 0 14px; color:#9d452f; font-size:14px; font-weight:800; }
.modern-account-total { display:flex; flex-wrap:wrap; align-items:baseline; gap:12px; margin:0; color:#080808; letter-spacing:-2px; line-height:1; }
.modern-account-total>span:first-child { font-size:clamp(48px,5.2vw,70px); font-weight:800; overflow-wrap:anywhere; }
.modern-account-total>span:last-child { font-size:clamp(26px,3vw,40px); font-weight:800; }
.modern-account-total small { display:block; margin-top:6px; color:#80746e; font-size:12px; font-weight:500; letter-spacing:0; }
.modern-account-balance-row { position:relative; display:flex; align-items:center; flex-wrap:wrap; gap:4px; margin-top:10px; color:#746963; font-size:13px; line-height:1.5; }
#modern-account-balances { display:inline-flex; flex-wrap:wrap; column-gap:8px; row-gap:2px; }
.modern-account-balance { white-space:nowrap; }
.modern-account-balance strong { color:#39312d; font-weight:700; }
.modern-account-info { position:static; }
.modern-account-info .modern-info-panel { width:min(360px,100%); left:0; right:auto; }
.modern-account-info .modern-info-panel p { margin:8px 0 0; color:#48403d; font-size:13px; line-height:1.55; }
.modern-account-expiry>strong,.modern-account-expiry>span { display:block; }
.modern-account-expiry>strong { font-weight:750; }
.modern-account-progress { display:block; }
.modern-account-progress .modern-progress-goal { margin:0; color:#231e1c; font-size:16px; line-height:1.4; }
.modern-account-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px; margin-top:22px; }
.modern-account-actions .primary-action { display:inline-flex; gap:16px; align-items:center; }
#modern-account-bonus .modern-bonus-card { display:grid; grid-template-columns:minmax(190px,.9fr) minmax(160px,1fr) minmax(200px,1.1fr); align-items:center; column-gap:24px; row-gap:12px; margin-bottom:0; padding:20px 26px; }
#modern-account-bonus .modern-streak { margin:0; }
#modern-account-bonus .modern-bonus-bottom { grid-column:3; grid-row:1; align-self:start; }
#modern-account-bonus .modern-captcha-attribution { grid-column:1/-1; margin:0; }
#modern-account-bonus .modern-bonus-unavailable { grid-column:1/-1; margin:0; }
#modern-account-bonus .modern-bonus-title .modern-info-panel { max-width:420px; }
.club-modern .modern-account-newsletter { margin:0; padding:24px; border-top:1px solid var(--line); }
.club-footer-links { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px 20px; }
.club-footer-brand { display:none; }
.club-footer-logout { min-height:44px; padding:8px 0; border:0; background:transparent; color:inherit; font:inherit; font-weight:650; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.club-modern:is(.is-authenticated,.is-public-view) .club-legal-footer { justify-content:space-between; align-items:center; gap:20px 32px; margin:0; padding:32px var(--club-page-gutter); background:#3d3d3d; color:#fff; text-align:left; }
.club-modern:is(.is-authenticated,.is-public-view) .club-footer-brand { display:block; font-size:14px; font-weight:800; }
.club-modern .club-legal-footer a + a::before { content:none; }
.club-modern .club-legal-footer :focus-visible { outline-color:#ffd4df; }
.club-modern:is(.is-authenticated,.is-public-view) .club-legal-footer a:hover,.club-footer-logout:hover { color:inherit; text-decoration:underline; text-underline-offset:4px; }
.modern-code-dialog { max-width:520px; width:calc(100% - 32px); border:1px solid #efdcd1; border-radius:20px; padding:32px; color:#161616; }
.modern-code-dialog::backdrop { background:#16161670; backdrop-filter:blur(4px); }
.modern-code-dialog code { display:block; padding:20px; margin:20px 0; border:2px dashed #d4879b; background:#fff9f7; border-radius:12px; font-size:22px; overflow-wrap:anywhere; }
.modern-code-dialog p { line-height:1.6; color:#666; font-size:13px; }
.modern-dialog-close { float:right; border:0; background:none; font-size:26px; }
.club-modern :focus-visible { outline:3px solid #ad3c61; outline-offset:4px; }
@media(max-width:1100px) {
  .modern-account-hero { grid-template-columns:minmax(0,.7fr) minmax(0,1fr); gap:18px; }
  .club-modern #points-hero-card { padding:26px; }
  #modern-account-bonus .modern-bonus-card { column-gap:18px; grid-template-columns:minmax(170px,.9fr) minmax(140px,.8fr) minmax(180px,1fr); }
  .club-modern .topbar { gap:16px; padding:10px 24px; flex-wrap:wrap; }
  .club-modern .topbar>.sidebar { order:3; width:100%; height:auto; margin:0; justify-content:center; backdrop-filter:none; }
  .club-modern .topbar-actions { margin-left:auto; }
  .modern-intro.has-promos { grid-template-columns:minmax(0,1fr); }
  .modern-welcome { max-width:none; }
  .modern-promos { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .modern-promos:not(.has-large-banner.has-small-banner.has-awin-banner):not(.has-single-promo,.is-loading,.is-mobile) { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .modern-promos.has-large-banner,.modern-promos.has-single-promo { min-height:0; grid-template-rows:none; }
  .modern-promos.is-loading { min-height:300px; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:none; }
  .modern-promo-placeholder { grid-column:auto; grid-row:auto; min-height:300px; }
  .modern-promos>.modern-promo-carousel { grid-column:auto!important; grid-row:auto!important; min-height:300px; }
  .modern-promos.has-survey-banner { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(240px,1fr)); }
  .modern-promos.has-survey-banner>.modern-promo-carousel--large { grid-column:1!important; grid-row:1 / 3!important; min-height:0; }
  .modern-promos.has-survey-banner>.modern-promo-carousel--small { grid-column:2!important; grid-row:1!important; min-height:240px; }
  .modern-offer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:820px) {
  .modern-account-hero { grid-template-columns:minmax(0,1fr); }
  .modern-account-art { min-height:240px; }
  .modern-account-art-card { width:190px; padding:16px; gap:9px; }
  .modern-account-art-card>img { width:56px; height:56px; }
  .modern-account-art-card>strong { font-size:20px; }
  .modern-account-art-card>small { padding-top:9px; }
  .modern-account-art>p { display:none; }
  #modern-account-bonus .modern-bonus-card { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  #modern-account-bonus .modern-bonus-heading { grid-column:1/-1; }
  #modern-account-bonus .modern-bonus-bottom { grid-column:2; grid-row:2; }
  #modern-account-bonus .modern-captcha-attribution { font-size:10px; }
}
@media(max-width:640px) {
  .club-modern { --club-page-gutter:16px; }
  .modern-deals { grid-template-columns:minmax(0,1fr); }
  .modern-deals>.modern-section,.modern-deals>.modern-help,.club-modern #points>:not(.modern-account-intro):not(.modern-account-nav) { width:calc(100% - 32px); padding-block:28px; }
  .club-modern .modern-deals>.modern-intro,.modern-account-intro { padding-block:28px; }
  .club-modern #profile,.club-modern #faq,.club-modern #benefits { padding-block:28px 36px; }
  .modern-account-nav { padding-block:8px; }
  .modern-account-nav a { padding-inline:12px; }
  .club-modern #points>section:not([hidden]) { padding-block:32px; }
  .club-modern.club-account-open #profile { padding-block:32px; gap:32px!important; }
  .club-modern.club-account-open #profile>.club-home-card { padding-bottom:32px; }
  .club-modern:is(.is-authenticated,.is-public-view) .club-legal-footer { align-items:flex-start; flex-direction:column; padding-block:28px; }
  .club-footer-links { justify-content:flex-start; gap:8px 18px; }
  .club-modern #points-hero-card { padding:22px 18px; }
  #modern-account-bonus .modern-bonus-card { padding:18px; grid-template-columns:minmax(0,1fr); gap:16px; }
  #modern-account-bonus .modern-bonus-bottom { grid-column:auto; grid-row:auto; }
  .modern-account-art-card>strong { font-size:18px; }
  .modern-account-art-card>:is(span,small) { display:none; }
  .modern-account-total>span:first-child { font-size:44px; }
  .modern-account-total>span:last-child { font-size:26px; }
  .modern-account-actions { gap:12px; }
  .club-modern .topbar { padding:10px 16px 0; gap:8px; }
  .club-modern.is-authenticated .topbar { padding-block:0; }
  .club-modern.is-authenticated .topbar-actions { display:none; }
  .club-modern.is-authenticated .topbar>.sidebar { width:auto; align-self:stretch; gap:clamp(10px,4vw,24px); }
  .club-modern .sidebar { gap:24px; }
  .club-modern .sidebar .nav-item { font-size:13px; min-height:44px; padding:12px 0; }
  .club-modern .brand img.brand-mark { width:28px; height:28px; }
  .club-modern .brand-wordmark strong { font-size:16px; }
  .club-modern .prototype-shell { padding:28px 16px 40px; }
  .club-copy-desktop { display:none; }
  .club-copy-mobile { display:inline; }
  .modern-welcome h1 { font-size:clamp(1.875rem,7vw,2.125rem); line-height:1.1; letter-spacing:-.035em; overflow-wrap:anywhere; }
  .modern-welcome h1 br,.modern-greeting { display:none; }
  .modern-lead { font-size:14px; }
  .modern-section-heading { margin-bottom:16px; }
  .modern-section-heading h2,.modern-help h2,.modern-newsletter h2 { font-size:22px; letter-spacing:-.5px; }
  .modern-fee-card h3 { font-size:20px; }
  .modern-help p,#account-rewards .eyebrow,.club-modern #faq .faq-header>p { display:none; }
  .club-modern #faq .faq-header h1 { font-size:26px; margin:0; }
  .modern-member-summary .modern-bonus-card { grid-template-columns:minmax(0,1fr); gap:10px; padding:16px; }
  .modern-member-summary .modern-bonus-heading,.modern-member-summary .modern-streak,.modern-member-summary .modern-bonus-bottom { grid-column:auto; grid-row:auto; }
  .modern-bonus-card .modern-bonus-heading { flex-direction:row; align-items:center; gap:6px; }
  .modern-bonus-title { gap:3px; font-size:13px; }
  .modern-bonus-title .modern-info>summary { width:24px; }
  .modern-bonus-heading>span { min-width:0; padding:4px 6px; font-size:11px; }
  .modern-streak>span:nth-child(n+6) { display:none; }
  .modern-member-summary #modern-progress-card { padding:16px; }
  .modern-member-summary .modern-progress-balances { flex-wrap:nowrap; gap:8px; }
  .modern-member-summary .modern-balance { flex-wrap:wrap; gap:0 5px; }
  #modern-account-balances { min-width:0; flex-wrap:nowrap; }
  .modern-account-balance { white-space:normal; overflow-wrap:anywhere; }
  .modern-bonus-card { padding:18px; }
  .modern-bonus-bottom .primary-action { width:100%; }
  .modern-offer-grid { grid-template-columns:minmax(0,1fr); gap:12px; }
  .club-modern .modern-offer-grid>.modern-deal-card .offer-media { min-height:0; padding:8px 56px 8px 10px; flex-direction:row; flex-wrap:wrap; align-items:center; gap:6px 8px; }
  .modern-offer-grid .modern-card-logo { width:112px; max-width:100%; height:42px; padding:5px 8px; }
  .modern-offer-grid>.modern-deal-card .modern-deal-type { align-self:center; padding:4px 7px; font-size:11px; }
  .modern-deal-card .offer-favorite-star { width:44px; height:44px; top:8px; right:8px; }
  .modern-offer-grid>.modern-deal-card .offer-card-body { padding:12px; gap:5px; }
  .modern-offer-grid>.modern-deal-card h3 { font-size:18px; }
  .modern-offer-grid>.modern-deal-card .modern-coupon-footer { padding:8px 12px 5px; gap:6px 8px; }
  .modern-offer-grid .offer-info-button { width:44px; height:44px; }
  .modern-promos.is-mobile { --mobile-banner-height:304px; min-height:0; grid-template-columns:minmax(0,1fr); grid-template-rows:none; }
  .modern-promo-placeholder--mobile { min-height:var(--mobile-banner-height); }
  .modern-promos.is-mobile>.modern-promo-carousel--mobile { min-height:var(--mobile-banner-height); overflow:clip; touch-action:pan-y pinch-zoom; }
  .modern-promos.is-mobile .modern-promo-carousel--mobile>.modern-promo-banner { position:relative; inset:auto; min-height:var(--mobile-banner-height); }
  .modern-promos.is-mobile .modern-promo-banner .offer-card-body { padding-top:76px; }
  .modern-promos.is-mobile .modern-promo-banner:not(.has-banner-artwork) .offer-card-body { padding-top:168px; }
  .modern-promos.is-mobile .modern-promo-banner:not(.has-banner-artwork) .modern-banner-brand { top:66px; left:50%; transform:translateX(-50%); width:min(200px,72%); max-width:none; height:86px; padding:12px; font-size:17px; }
  .modern-promos.is-mobile .modern-promo-banner:not(.has-banner-artwork) .modern-banner-brand img { width:100%; height:100%; max-height:none; }
  .modern-promos.is-mobile .modern-promo-banner h3 { font-size:20px; }
  .modern-promos.is-mobile .modern-promo-banner .offer-meta { padding-bottom:16px; }
  .modern-promo-carousel--mobile .modern-carousel-controls { inset:14px 14px auto auto; }
  .modern-promo-carousel--mobile .modern-carousel-counter { flex:none; padding:5px 8px; border-radius:999px; background:#fffffff2; white-space:nowrap; }
  .modern-promo-carousel--mobile :is(.modern-carousel-arrow,.modern-carousel-toggle) { width:44px; height:44px; }
  .modern-promo-carousel--mobile .modern-carousel-arrow:not(:focus-visible) { position:absolute; width:1px; height:1px; padding:0; border:0; overflow:hidden; clip-path:inset(50%); }
  .modern-survey-section>.modern-survey-card { min-height:0; }
  #modern-day-deal>.modern-feature-card { grid-template-columns:minmax(0,1fr); }
  #modern-day-deal .offer-media { grid-row:auto; height:120px; min-height:120px; }
  #modern-day-deal .offer-media img { max-height:88px; }
  #modern-day-deal .offer-card-body { padding:18px; }
  #modern-day-deal h3 { font-size:22px; letter-spacing:-.5px; }
  .modern-newsletter,.modern-help { flex-direction:column; align-items:stretch; padding:24px; }
  .club-modern .points-title { font-size:32px; }
  .modern-search-row { flex-direction:column; align-items:stretch; }
  .modern-filters { flex-wrap:nowrap; overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:thin; gap:8px; padding:4px 5px 8px; margin-inline:-5px; }
  .modern-filters button { flex:none; white-space:nowrap; min-height:44px; font-size:12px; padding:10px 13px; }
}
@media(prefers-reduced-motion:reduce) { .club-modern * { scroll-behavior:auto!important; transition:none!important; } .modern-carousel-step[aria-pressed=true]::after { animation:none; } }
@media(max-width:380px) {
  .modern-deal-card .modern-coupon-footer { padding-inline:16px; gap:8px; }
  .club-modern .modern-coupon-footer .offer-action { padding-inline:12px; font-size:11px; }
  .modern-coupon-validity time strong { font-size:10px; }
}
/* Deliberately mounted once, only after an explicit daily-bonus claim. */
.modern-bonus-captcha-dialog { width: min(440px, calc(100vw - 24px)); box-sizing: border-box; padding: 28px; border: 0; border-radius: 24px; color: var(--ink, #161616); background: #fff; box-shadow: 0 24px 80px #0003; }
.modern-bonus-captcha-dialog::backdrop { background: #16161666; }
.modern-bonus-captcha-dialog h2 { margin: 8px 0 12px; font-size: 24px; line-height: 1.2; }
.modern-bonus-captcha-dialog p { line-height: 1.5; }
#modern-bonus-captcha-widget { min-height: 80px; margin: 22px 0; }
#modern-bonus-captcha-status { font-size: 13px; color: var(--muted, #626262); }
.modern-bonus-captcha-dialog > button { width: 100%; }
@media(max-width:480px) { .modern-bonus-captcha-dialog { padding: 20px 16px; } }
.club-survey-dialog{padding:0;border:0;border-radius:16px;width:min(1000px,95vw);height:min(880px,94dvh);max-height:94dvh;overflow:hidden;background:#f3f6ed}.club-survey-dialog::backdrop{background:#183a2a90}.club-survey-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 22px;background:#fff}.club-survey-dialog h2{font-size:18px;margin:0;line-height:1.4}.club-survey-dialog>header>button{white-space:nowrap;font-size:12px}.club-survey-dialog iframe{display:block;width:100%;height:calc(100% - 80px);border:0;background:#f3f6ed}@media(max-width:600px){.club-survey-dialog{width:98vw;height:96dvh;max-height:96dvh}.club-survey-dialog>header{padding:12px}.club-survey-dialog h2{font-size:14px}.club-survey-dialog iframe{height:calc(100% - 70px)}}
#modern-code-dialog [hidden] { display: none !important; }
#modern-code-shop { display: inline-flex; align-items: center; justify-content: center; margin-top: 12px; text-decoration: none; }
