/* Coupon Core — component styles (coupon card, code ticket, success rate, votes, store logo/card/grid,
   store coupons + filter chips + expired codes, hero, category circles, monthly table, season banner,
   country strip, removed-today strip, code pill, empty state).

   Class names mirror the Figma layer names of the Couponat design. Every value reads a --cw-* design
   token with a fallback, so components look right on any theme; the Couponat theme defines the tokens
   (tokens.css), and any site can restyle components by defining them, e.g.
     :root{ --cw-font: Cairo, sans-serif; --cw-brand-default: #0f766e; --cw-radius-lg: 12px; }
   Fallbacks are kept in sync with couponat/assets/css/tokens.css by tools/component-css.py. */

/* ---------- scoped base (only inside components) ---------- */
:is(.cw-block,.cw-storeCoupons,.cw-couponCard,.cw-storeCard,.cw-codeTicket,.cw-codePill,.cw-storeLogo),:is(.cw-block,.cw-storeCoupons,.cw-couponCard,.cw-storeCard,.cw-codeTicket,.cw-codePill) :where(*,*::before,*::after){box-sizing:border-box}
:is(.cw-block,.cw-storeCoupons,.cw-couponCard,.cw-storeCard) :where(h1,h2,h3,h4,p,ul,ol,dl,dd,figure){margin:0}
:is(.cw-block,.cw-storeCoupons,.cw-couponCard,.cw-storeCard) :where(h1,h2,h3,h4){color:var(--cw-text-heading, #0f172a)}
:is(.cw-block,.cw-storeCoupons,.cw-couponCard,.cw-storeCard) a,:is(.cw-block,.cw-storeCoupons,.cw-couponCard,.cw-storeCard) a:hover{text-decoration:none}
:is(.cw-block,.cw-storeCoupons,.cw-couponCard,.cw-storeCard) :where(img,svg){max-inline-size:100%}
.cw-link{color:var(--cw-brand-text, #1d4ed8)}
.cw-link:hover{color:var(--cw-brand-hover, #1d4ed8)}
/* Icons that point "forward" in right-to-left pages (arrow-left) are mirrored on left-to-right pages. */
.cw-icon--dir:dir(ltr){transform:scaleX(-1)}

/* ---------- primitives (also defined by the Couponat theme, same values) ---------- */
.screen-reader-text{position:absolute!important;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.cw-container{inline-size:min(var(--cw-container,1200px),100% - 32px);margin-inline:auto}
.cw-icon{flex:none;display:inline-block;vertical-align:middle}
.cw-h2{font:var(--cw-type-heading-h2, 700 34px/42px var(--cw-font, system-ui, sans-serif));font-family:"Thmanyah Serif Display","Thmanyah Serif Display Fallback",var(--cw-font, system-ui, sans-serif)}
.cw-h4{font:var(--cw-type-heading-h4, 500 18px/26px var(--cw-font, system-ui, sans-serif));display:flex;align-items:center;gap:8px}
.cw-h4 .cw-icon{color:var(--cw-icon-brand, #2563eb)}
.cw-link{display:inline-flex;align-items:center;gap:4px;font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif))}
/* ---------- buttons, pills, chips ---------- */
.cw-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-block-size:44px;padding:10px 18px;border-radius:var(--cw-btn-radius,var(--cw-radius-full, 999px));border:1px solid transparent;font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));font-size:15px;cursor:pointer;transition:background .15s,border-color .15s,transform .05s;white-space:nowrap}
.cw-btn:active{transform:translateY(1px)}
.cw-btn--s{min-block-size:36px;padding:7px 14px;font-size:14px}
.cw-btn--primary{background:var(--cw-brand-default, #2563eb);color:var(--cw-brand-on-brand, #ffffff)}
.cw-btn--primary:hover{background:var(--cw-brand-hover, #1d4ed8);color:var(--cw-brand-on-brand, #ffffff)}
.cw-btn--secondary{background:var(--cw-bg-card, #ffffff);color:var(--cw-text-heading, #0f172a);border-color:var(--cw-border-default, #e2e8f0)}
.cw-btn--secondary:hover{border-color:var(--cw-border-brand, #2563eb);color:var(--cw-brand-text, #1d4ed8)}
.cw-pill{display:inline-flex;align-items:center;gap:6px;padding-block:5px;padding-inline:12px 10px;border-radius:var(--cw-radius-full, 999px);font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));border:1px solid var(--cw-border-default, #e2e8f0);background:var(--cw-bg-card, #ffffff);color:var(--cw-text-body, #334155)}
.cw-chips{display:flex;flex-wrap:wrap;gap:8px}
.cw-chip{border:1px solid var(--cw-border-default, #e2e8f0);background:var(--cw-bg-card, #ffffff);color:var(--cw-text-body, #334155);border-radius:var(--cw-radius-full, 999px);padding:7px 16px;font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));cursor:pointer;min-block-size:36px}
.cw-chip[aria-selected="true"]{background:var(--cw-text-heading, #0f172a);color:var(--cw-text-inverse, #ffffff);border-color:var(--cw-text-heading, #0f172a)}
/* ---------- store logo tile ---------- */
.cw-storeLogo{--cw-logo-size:56px;display:grid;place-items:center;inline-size:var(--cw-logo-size);block-size:var(--cw-logo-size);border-radius:var(--cw-radius-lg, 20px);background:var(--cw-logo-bg,var(--cw-bg-card, #ffffff));border:1px solid var(--cw-border-default, #e2e8f0);overflow:hidden;flex:none}
.cw-storeLogo img{inline-size:78%;block-size:78%;object-fit:contain}
.cw-storeLogo--mono{color:var(--cw-text-heading, #0f172a);font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));font-weight:900;font-size:calc(var(--cw-logo-size) * .3);text-transform:uppercase;letter-spacing:-.02em}
/* ---------- store coupons (heading + chips + list + expired) ---------- */
.cw-storeCoupons{display:grid;gap:20px;min-inline-size:0}
.cw-sectionHead{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.cw-sectionHead .cw-h2{font-size:26px;line-height:34px}
/* ---------- coupon card ---------- */
.cw-couponList{display:grid;grid-template-columns:repeat(var(--cw-list-cols,2),minmax(0,1fr));gap:var(--cw-gap,16px)}
.cw-couponCard{position:relative;display:grid;gap:12px;align-content:start;background:var(--cw-bg-card, #ffffff);border:1px solid var(--cw-border-default, #e2e8f0);border-radius:var(--cw-radius-lg, 20px);padding:20px;box-shadow:var(--cw-shadow-card, 0 1px 2px rgba(15,23,42,.06), 0 4px 12px -2px rgba(15,23,42,.06));transition:border-color .15s,box-shadow .15s}
.cw-couponCard:hover{border-color:color-mix(in srgb,var(--cw-border-brand, #2563eb) 40%,var(--cw-border-default, #e2e8f0));box-shadow:var(--cw-shadow-float, 0 12px 28px -6px rgba(15,23,42,.10), 0 2px 6px rgba(15,23,42,.05))}
.cw-couponCard--featured{grid-column:1/-1;border:2px solid var(--cw-border-brand, #2563eb);box-shadow:var(--cw-shadow-brand-glow, 0 8px 24px -4px rgba(37,99,235,.28))}
.cw-couponCard[hidden]{display:none}
.cw-couponCard__flag{position:absolute;inset-block-start:-12px;inset-inline-start:20px;display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--cw-radius-full, 999px);background:var(--cw-brand-default, #2563eb);color:#fff;font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif))}
.cw-couponCard__head{display:flex;gap:12px;align-items:flex-start}
.cw-couponCard__titles{flex:1;min-inline-size:0}
.cw-couponCard__store{font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-muted, #64748b)}
.cw-couponCard__title{font:var(--cw-type-heading-h4, 500 18px/26px var(--cw-font, system-ui, sans-serif));text-wrap:pretty}
.cw-couponCard--featured .cw-couponCard__title{font:var(--cw-type-heading-h3, 700 24px/32px var(--cw-font, system-ui, sans-serif))}
.cw-couponCard__discount{flex:none;padding:4px 10px;border-radius:var(--cw-radius-sm, 10px);background:var(--cw-success-tint, #dcfce7);color:var(--cw-success-default, #15803d);font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));font-weight:700}
.cw-couponCard__badges{display:flex;flex-wrap:wrap;gap:6px}
.cw-couponCard__badges .cw-pill{font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif));padding-block:3px;padding-inline:10px 8px}
.cw-couponCard__terms{display:flex;gap:6px;align-items:flex-start;font:var(--cw-type-body-small, 400 14px/22px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-muted, #64748b)}
.cw-couponCard__terms .cw-icon{margin-block-start:3px}
.cw-couponCard__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block-start:4px;border-block-start:1px dashed var(--cw-border-default, #e2e8f0)}
.cw-couponCard__deal{inline-size:100%}
/* success rate */
.cw-successRate{display:flex;align-items:center;gap:10px;font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-body, #334155)}
.cw-successRate__bar{flex:1;max-inline-size:160px;block-size:6px;border-radius:3px;background:var(--cw-bg-subtle, #f1f5f9);overflow:hidden}
.cw-successRate__bar span{display:block;block-size:100%;border-radius:3px;background:var(--cw-success-default, #15803d)}
/* code ticket — Figma «codeTicket»: dashed butter strip with notches */
.cw-codeTicket{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 8px 8px 8px;padding-inline-start:18px;border:1.5px dashed var(--cw-code-border, #f5c451);border-radius:var(--cw-radius-md, 14px);background:var(--cw-code-bg, #fff7e0);transition:background .15s,border-color .15s}
.cw-codeTicket::before,.cw-codeTicket::after{content:"";position:absolute;inset-block-start:50%;inline-size:14px;block-size:14px;margin-block-start:-7px;border-radius:50%;background:var(--cw-bg-card, #ffffff);border:1.5px dashed var(--cw-code-border, #f5c451)}
.cw-codeTicket::before{inset-inline-start:-8px}
.cw-codeTicket::after{inset-inline-end:-8px}
.cw-codeTicket:hover{background:color-mix(in srgb,var(--cw-code-hover, #ffe08a) 45%,var(--cw-code-bg, #fff7e0))}
.cw-codeTicket__code{font:var(--cw-type-code-default, 700 22px/28px var(--cw-font, system-ui, sans-serif));letter-spacing:.08em;direction:ltr;color:var(--cw-code-text, #0f172a);overflow-wrap:anywhere}
.cw-couponCard--featured .cw-codeTicket__code{font:var(--cw-type-code-large, 700 28px/34px var(--cw-font, system-ui, sans-serif));letter-spacing:.08em}
.cw-codeTicket[data-state="copied"]{border-style:solid;border-color:var(--cw-code-copied, #15803d);background:var(--cw-success-tint, #dcfce7)}
.cw-codeTicket[data-state="copied"] .cw-copy{background:var(--cw-code-copied, #15803d)}
/* vote */
.cw-vote{display:flex;align-items:center;gap:6px}
.cw-vote__q{font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-muted, #64748b)}
.cw-vote__btn{display:grid;place-items:center;inline-size:36px;block-size:36px;border-radius:var(--cw-radius-full, 999px);border:1px solid var(--cw-border-default, #e2e8f0);background:var(--cw-bg-card, #ffffff);color:var(--cw-icon-default, #475569);cursor:pointer}
.cw-vote__btn[data-vote="up"]:hover,.cw-vote__btn[aria-pressed="true"][data-vote="up"]{color:var(--cw-success-default, #15803d);border-color:var(--cw-success-default, #15803d);background:var(--cw-success-tint, #dcfce7)}
.cw-vote__btn[data-vote="down"]:hover,.cw-vote__btn[aria-pressed="true"][data-vote="down"]{color:var(--cw-danger-default, #dc2626);border-color:var(--cw-danger-default, #dc2626);background:var(--cw-danger-tint, #fee2e2)}
.cw-vote__btn:disabled{opacity:.6;cursor:default}
.cw-vote__thanks{font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif));color:var(--cw-success-default, #15803d)}
/* empty state */
.cw-empty{display:flex;gap:12px;align-items:center;padding:20px;border-radius:var(--cw-radius-lg, 20px);background:var(--cw-bg-tint, #eff6ff);color:var(--cw-text-body, #334155)}
/* =====================================================================
   Band components (the couponat/* blocks): hero, store grid, coupon grid,
   categories, monthly table, season banner, country strip, removed today.
   ===================================================================== */
.cw-band{padding-block:36px}
.cw-block{margin:0}
.cw-block + .cw-block .cw-band{padding-block-start:8px}
.cw-sectionHead--block{margin-block-end:20px}
.cw-sectionHead__sub{color:var(--cw-text-muted, #64748b);font:var(--cw-type-body-base, 400 16px/28px var(--cw-font, system-ui, sans-serif));margin-block-start:4px}
.cw-fineprint{margin-block-start:12px;font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-muted, #64748b)}
.cw-btn--onBrand{background:#fff;color:var(--cw-brand-text, #1d4ed8)}
.cw-btn--onBrand:hover{background:var(--cw-brand-soft, #dbeafe);color:var(--cw-brand-text, #1d4ed8)}
/* hero */
.cw-hero{background:radial-gradient(1200px 500px at 85% -10%,var(--cw-p-blue-100, #dbeafe),transparent 60%),radial-gradient(800px 400px at 0% 110%,var(--cw-p-butter-50, #fff7e0),transparent 60%),var(--cw-bg-page, #f7f9fc);border-block-end:1px solid var(--cw-border-hairline, #f1f5f9)}
.cw-hero__inner{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:48px;align-items:center;padding-block:56px 64px}
.cw-hero__copy{display:grid;gap:20px;align-content:start}
.cw-hero__eyebrow{display:inline-flex;align-items:center;gap:6px;justify-self:start;padding:6px 14px;border-radius:var(--cw-radius-full, 999px);background:var(--cw-success-tint, #dcfce7);color:var(--cw-success-default, #15803d);font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif))}
.cw-hero__title{font:var(--cw-type-display-hero, 700 60px/68px var(--cw-font, system-ui, sans-serif));font-family:"Thmanyah Serif Display","Thmanyah Serif Display Fallback",var(--cw-font, system-ui, sans-serif);text-wrap:balance}
.cw-hero__sub{font:var(--cw-type-body-large, 400 18px/32px var(--cw-font, system-ui, sans-serif));max-inline-size:56ch}
.cw-heroSearch{display:flex;align-items:center;gap:10px;padding:6px 6px 6px 6px;padding-inline-start:18px;background:var(--cw-bg-card, #ffffff);border:1px solid var(--cw-border-default, #e2e8f0);border-radius:var(--cw-radius-full, 999px);box-shadow:var(--cw-shadow-float, 0 12px 28px -6px rgba(15,23,42,.10), 0 2px 6px rgba(15,23,42,.05));color:var(--cw-text-muted, #64748b);max-inline-size:620px}
.cw-heroSearch input{flex:1;min-inline-size:0;border:0;background:transparent;font:var(--cw-type-body-large, 400 18px/32px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-heading, #0f172a);outline:none;block-size:48px}
.cw-heroSearch:focus-within{box-shadow:0 0 0 3px var(--cw-brand-soft, #dbeafe),var(--cw-shadow-float, 0 12px 28px -6px rgba(15,23,42,.10), 0 2px 6px rgba(15,23,42,.05));border-color:var(--cw-border-brand, #2563eb)}
.cw-heroSearch .cw-btn{min-block-size:48px;padding-inline:26px}
.cw-hero__popular{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-muted, #64748b)}
.cw-storePill{display:inline-flex;align-items:center;gap:8px;padding:4px;padding-inline-end:14px;border-radius:var(--cw-radius-full, 999px);background:var(--cw-bg-card, #ffffff);border:1px solid var(--cw-border-default, #e2e8f0);color:var(--cw-text-heading, #0f172a);font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif))}
.cw-storePill .cw-storeLogo{border-radius:50%}
.cw-storePill:hover{border-color:var(--cw-border-brand, #2563eb);color:var(--cw-brand-text, #1d4ed8)}
.cw-storePill--light{background:var(--cw-bg-subtle, #f1f5f9);border-color:transparent}
.cw-hero__stats{display:flex;gap:32px;margin:8px 0 0}
.cw-hero__stats div{display:grid}
.cw-hero__stats dt{order:2;font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-muted, #64748b)}
.cw-hero__stats dd{order:1;margin:0;font:var(--cw-type-heading-h2, 700 34px/42px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-heading, #0f172a);font-variant-numeric:tabular-nums}
.cw-hero__tickets{position:relative;display:grid;gap:var(--cw-gap,14px)}
.cw-heroTicket{display:grid;gap:10px;padding:18px;background:var(--cw-bg-card, #ffffff);border:1px solid var(--cw-border-default, #e2e8f0);border-radius:var(--cw-radius-lg, 20px);box-shadow:var(--cw-shadow-float, 0 12px 28px -6px rgba(15,23,42,.10), 0 2px 6px rgba(15,23,42,.05));color:var(--cw-text-body, #334155);transition:transform .2s}
.cw-heroTicket:hover{transform:translateY(var(--cw-lift,-2px));color:var(--cw-text-body, #334155)}
.cw-heroTicket--0{margin-inline-end:40px}
.cw-heroTicket--1{margin-inline-start:40px}
.cw-heroTicket--2{margin-inline-end:20px}
.cw-heroTicket__head{display:flex;align-items:center;gap:10px}
.cw-heroTicket__head strong{display:block;color:var(--cw-text-heading, #0f172a);font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));font-size:15px}
.cw-heroTicket__head small{display:inline-flex;align-items:center;gap:4px;color:var(--cw-success-default, #15803d);font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif))}
.cw-heroTicket__deal{font:var(--cw-type-body-small, 400 14px/22px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-body, #334155)}
/* hero, centred search variant (className "cw-hero--search", e.g. the couponat/home-search pattern) */
.cw-hero--search .cw-hero__inner{grid-template-columns:1fr;justify-items:center;text-align:center;padding-block:40px 48px}
.cw-hero--search .cw-hero__copy{justify-items:center;max-inline-size:760px}
.cw-hero--search .cw-hero__eyebrow{justify-self:center}
.cw-hero--search .cw-heroSearch{inline-size:100%;max-inline-size:720px}
.cw-hero--search .cw-hero__popular{justify-content:center}
.cw-codeTicket--mini{padding:6px 14px;justify-content:center}
.cw-codeTicket--mini .cw-codeTicket__code{font-size:18px;line-height:24px}
/* store grid + card */
.cw-storeGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--cw-gap,14px);list-style:none;margin:0;padding:0}
.cw-storeGrid--compact{grid-template-columns:repeat(6,minmax(0,1fr))}
.cw-storeCard{background:var(--cw-bg-card, #ffffff);border:1px solid var(--cw-border-default, #e2e8f0);border-radius:var(--cw-radius-lg, 20px);box-shadow:var(--cw-shadow-card, 0 1px 2px rgba(15,23,42,.06), 0 4px 12px -2px rgba(15,23,42,.06));transition:border-color .15s,box-shadow .15s,transform .15s}
.cw-storeCard:hover{border-color:var(--cw-border-brand, #2563eb);box-shadow:var(--cw-shadow-float, 0 12px 28px -6px rgba(15,23,42,.10), 0 2px 6px rgba(15,23,42,.05));transform:translateY(var(--cw-lift,-2px))}
.cw-storeCard__link{display:grid;justify-items:center;gap:8px;padding:20px 14px 16px;text-align:center;color:var(--cw-text-heading, #0f172a)}
.cw-storeCard__name{font:var(--cw-type-heading-h4, 500 18px/26px var(--cw-font, system-ui, sans-serif));font-size:16px;line-height:24px}
.cw-storeCard__meta{font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-muted, #64748b)}
.cw-storeCard__cta{margin-block-start:6px;inline-size:100%}
/* coupon grid (home) */
.cw-couponList--grid{grid-template-columns:repeat(var(--cw-list-cols,2),minmax(0,1fr))}
.cw-couponList--grid .cw-couponCard--featured{grid-column:auto}
/* categories */
.cw-catCircles{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:var(--cw-gap,12px);list-style:none;margin:0;padding:0}
.cw-catCircle{display:grid;justify-items:center;gap:8px;text-align:center;color:var(--cw-text-heading, #0f172a)}
.cw-catCircle__icon{display:grid;place-items:center;inline-size:88px;block-size:88px;border-radius:50%;background:var(--tone-bg);color:var(--tone-fg);transition:transform .15s,box-shadow .15s}
.cw-catCircle:hover .cw-catCircle__icon{transform:scale(1.05);box-shadow:var(--cw-shadow-float, 0 12px 28px -6px rgba(15,23,42,.10), 0 2px 6px rgba(15,23,42,.05))}
.cw-catCircle strong{font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));font-size:15px}
.cw-catCircle small{font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-muted, #64748b)}
.cw-tone-0{--tone-bg:#e0ecff;--tone-fg:#1d4ed8}
.cw-tone-1{--tone-bg:#fde7ef;--tone-fg:#be185d}
.cw-tone-2{--tone-bg:#dcfce7;--tone-fg:#15803d}
.cw-tone-3{--tone-bg:#fff2cc;--tone-fg:#b45309}
.cw-tone-4{--tone-bg:#ede9fe;--tone-fg:#6d28d9}
.cw-tone-5{--tone-bg:#ccfbf1;--tone-fg:#0f766e}
.cw-tone-6{--tone-bg:#ffe4d6;--tone-fg:#c2410c}
.cw-tone-7{--tone-bg:#e2e8f0;--tone-fg:#334155}
/* monthly table */
.cw-tableWrap{overflow-x:auto;background:var(--cw-bg-card, #ffffff);border:1px solid var(--cw-border-default, #e2e8f0);border-radius:var(--cw-radius-lg, 20px);box-shadow:var(--cw-shadow-card, 0 1px 2px rgba(15,23,42,.06), 0 4px 12px -2px rgba(15,23,42,.06))}
.cw-monthTable{inline-size:100%;border-collapse:collapse;min-inline-size:720px}
.cw-monthTable th,.cw-monthTable td{padding:12px 16px;text-align:start;border-block-end:1px solid var(--cw-border-hairline, #f1f5f9);font:var(--cw-type-body-small, 400 14px/22px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-body, #334155);vertical-align:middle}
.cw-monthTable thead th{background:var(--cw-bg-subtle, #f1f5f9);font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-body, #334155)}
.cw-monthTable tbody tr:last-child>*{border-block-end:0}
.cw-monthTable tbody tr:hover{background:var(--cw-bg-tint, #eff6ff)}
.cw-monthTable__store{display:flex;align-items:center;gap:10px;color:var(--cw-text-heading, #0f172a);font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif))}
.cw-monthTable .cw-ok{color:var(--cw-success-default, #15803d);margin-inline-end:4px}
.cw-codePill{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border:1.5px dashed var(--cw-code-border, #f5c451);border-radius:var(--cw-radius-sm, 10px);background:var(--cw-code-bg, #fff7e0);color:var(--cw-code-text, #0f172a);font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));font-weight:700;letter-spacing:.06em;direction:ltr;cursor:default}
button.cw-codePill{cursor:pointer}
button.cw-codePill:hover{background:var(--cw-code-hover, #ffe08a)}
.cw-codePill[data-state="copied"]{border-style:solid;border-color:var(--cw-code-copied, #15803d);background:var(--cw-success-tint, #dcfce7)}
/* season banner (home) */
.cw-seasonBanner{display:grid;grid-template-columns:auto minmax(0,1fr);gap:32px;align-items:center;padding:32px 40px;border-radius:var(--cw-radius-xl, 28px);background:linear-gradient(120deg,var(--cw-p-slate-900, #0f172a),var(--cw-p-blue-800, #1e40af));color:var(--cw-p-blue-100, #dbeafe);overflow:hidden}
.cw-seasonBanner__count{display:grid;place-items:center;inline-size:150px;block-size:150px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);text-align:center}
.cw-seasonBanner__count strong{font:var(--cw-type-number-big, 700 48px/56px var(--cw-font, system-ui, sans-serif));color:#fff;line-height:1}
.cw-seasonBanner__count span{font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif));padding-inline:12px}
.cw-seasonBanner__copy{display:grid;gap:10px;justify-items:start}
.cw-seasonBanner__eyebrow{display:inline-flex;align-items:center;gap:6px;font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));color:var(--cw-p-butter-300, #ffe08a)}
.cw-seasonBanner h2{color:#fff;font:var(--cw-type-heading-h2, 700 34px/42px var(--cw-font, system-ui, sans-serif));font-family:"Thmanyah Serif Display","Thmanyah Serif Display Fallback",var(--cw-font, system-ui, sans-serif)}
/* country strips */
.cw-countryStrips{display:grid;gap:14px}
.cw-countryStrip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;background:var(--cw-bg-card, #ffffff);border:1px solid var(--cw-border-default, #e2e8f0);border-radius:var(--cw-radius-lg, 20px)}
.cw-countryStrip__title{display:flex;align-items:center;gap:14px}
.cw-countryStrip__title p{font:var(--cw-type-body-small, 400 14px/22px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-muted, #64748b)}
.cw-countryStrip__flag{font-size:36px;line-height:1}
.cw-countryStrip__stores{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
/* removed today */
.cw-removed{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-radius:var(--cw-radius-lg, 20px);background:var(--cw-danger-tint, #fee2e2);border:1px solid color-mix(in srgb,var(--cw-danger-default, #dc2626) 25%,transparent)}
.cw-removed__title{display:flex;gap:12px;align-items:flex-start;color:var(--cw-danger-default, #dc2626)}
.cw-removed__title p{font:var(--cw-type-body-small, 400 14px/22px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-body, #334155)}
.cw-removed__codes{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.cw-removed__codes li{display:inline-flex;gap:8px;align-items:center;padding:6px 12px;border-radius:var(--cw-radius-full, 999px);background:var(--cw-bg-card, #ffffff);font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif))}
.cw-removed__codes s{color:var(--cw-danger-default, #dc2626);font-weight:700;letter-spacing:.05em}
/* ---------- responsive ---------- */
/* Narrow spaces (page-builder columns, narrow content areas): bands and store coupons are size
   containers, so their grids follow the space they get, not only the viewport. These come before
   the viewport media queries below, which win where both apply (so full-width bands look exactly
   as before). A container needs a width from its parent: in a flex row, give the widget a width. */
.cw-block,.cw-storeCoupons{container-type:inline-size}
@container (max-width:900px){
	.cw-storeGrid,.cw-storeGrid--compact{grid-template-columns:repeat(4,minmax(0,1fr))}
	.cw-catCircles{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:var(--cw-gap,20px)}
}
@container (max-width:660px){
	.cw-couponList,.cw-couponList--grid{grid-template-columns:repeat(var(--cw-list-cols-m,1),minmax(0,1fr))}
	.cw-storeGrid,.cw-storeGrid--compact{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@container (max-width:440px){
	.cw-storeGrid,.cw-storeGrid--compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--cw-gap,10px)}
}
@media (max-width:1100px){
	.cw-hero__inner{grid-template-columns:1fr;gap:32px}
	.cw-hero__tickets{grid-template-columns:repeat(3,minmax(0,1fr))}
	.cw-heroTicket--0,.cw-heroTicket--1,.cw-heroTicket--2{margin:0}
	.cw-storeGrid{grid-template-columns:repeat(4,minmax(0,1fr))}
	.cw-storeGrid--compact{grid-template-columns:repeat(4,minmax(0,1fr))}
	.cw-catCircles{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:var(--cw-gap,20px)}
}
@media (max-width:760px){
	.cw-couponList{grid-template-columns:repeat(var(--cw-list-cols-m,1),minmax(0,1fr))}
	.cw-band{padding-block:24px}
	.cw-hero__inner{padding-block:32px 40px}
	.cw-hero__title{font-size:36px;line-height:46px}
	.cw-hero__tickets{grid-template-columns:1fr}
	.cw-hero__tickets .cw-heroTicket:nth-child(n+2){display:none}
	.cw-hero__stats{gap:20px}
	.cw-hero__stats dd{font-size:26px;line-height:32px}
	.cw-heroSearch{padding-inline-start:14px}
	.cw-heroSearch input{font-size:16px;block-size:44px}
	.cw-heroSearch .cw-btn{padding-inline:16px;min-block-size:44px}
	.cw-h2,.cw-sectionHead .cw-h2{font-size:24px;line-height:32px}
	.cw-storeGrid,.cw-storeGrid--compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--cw-gap,10px)}
	.cw-couponList--grid{grid-template-columns:repeat(var(--cw-list-cols-m,1),minmax(0,1fr))}
	.cw-catCircles{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--cw-gap,8px)}
	.cw-catCircle__icon{inline-size:64px;block-size:64px}
	.cw-catCircle__icon svg{inline-size:24px;block-size:24px}
	.cw-catCircle small{display:none}
	.cw-catCircle strong{font-size:13px;line-height:18px}
	.cw-seasonBanner{grid-template-columns:1fr;padding:24px;justify-items:start}
	.cw-seasonBanner__count{inline-size:110px;block-size:110px}
	.cw-seasonBanner__count strong{font-size:36px}
}
.cw-hero__copy,.cw-hero__tickets{min-inline-size:0}
/* Absolutely-positioned screen-reader labels inside the scrolling table must not widen the page. */
.cw-tableWrap{position:relative}
.screen-reader-text{clip-path:inset(50%);margin:-1px;padding:0;border:0}
.cw-storeCoupons>*,.cw-couponCard>*{min-inline-size:0}
.cw-sectionHead .cw-h2,.cw-couponCard__title{overflow-wrap:anywhere}
.cw-vote__thanks--warn{color:var(--cw-warning-default, #d97706)}
.cw-turnstile{position:fixed;inset-block-end:16px;inset-inline-start:16px;z-index:100}
/* ---------- expired codes (store coupons) ---------- */
.cw-expired{margin-block-start:16px;border:1px dashed var(--cw-border-default, #e2e8f0);border-radius:var(--cw-radius-lg, 20px);background:var(--cw-bg-subtle, #f1f5f9);color:var(--cw-text-muted, #64748b)}
.cw-expired__summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;cursor:pointer;list-style:none;font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-body, #334155)}
.cw-expired__summary::-webkit-details-marker{display:none}
.cw-expired__summary>span{display:inline-flex;align-items:center;gap:8px}
.cw-expired[open] .cw-expired__summary>.cw-icon{transform:rotate(180deg)}
.cw-expired__note{padding:0 18px 10px;font:var(--cw-type-body-small, 400 14px/22px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-body, #334155)}
.cw-expired__list{list-style:none;margin:0;padding:0 18px 14px;display:grid;gap:8px}
.cw-expired__item{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:10px 14px;border-radius:var(--cw-radius-md, 14px);background:var(--cw-bg-card, #ffffff);opacity:.75;filter:grayscale(1)}
.cw-expired__title{flex:1 1 220px;min-inline-size:0;font:var(--cw-type-body-small, 400 14px/22px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-body, #334155);overflow-wrap:anywhere}
.cw-expired__title small{color:var(--cw-text-muted, #64748b)}
.cw-expired__code{font:var(--cw-type-code-default, 700 22px/28px var(--cw-font, system-ui, sans-serif));font-size:15px;letter-spacing:.06em;direction:ltr;color:var(--cw-text-muted, #64748b);text-decoration-thickness:2px;overflow-wrap:anywhere}
.cw-expired__date{font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-muted, #64748b);white-space:nowrap}

/* ---------- code reveal mode (masked codes, «Show code», code dialog) ---------- */
.cw-maskedCode{direction:ltr;unicode-bidi:isolate;white-space:nowrap}
.cw-mask{letter-spacing:.12em;color:var(--cw-text-muted, #64748b);opacity:.75}
.cw-codeTicket--masked{border-style:dashed}
.cw-codeTicket--masked .cw-codeTicket__code{overflow-wrap:normal}
.cw-maskedCode.is-revealed{white-space:normal;overflow-wrap:anywhere}
/* One of the two icons of a «Show code» button is visible: the eye before, the copy icon once revealed. */
.cw-icon.cw-reveal__copy,.cw-copy.is-revealed .cw-icon.cw-reveal__eye{display:none}
.cw-copy.is-revealed .cw-icon.cw-reveal__copy{display:inline-block}
.cw-reveal[aria-busy="true"]{cursor:progress;opacity:.8}
button.cw-codePill--masked{cursor:pointer}
.cw-revealNote{margin:6px 0 0;font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif));color:var(--cw-danger-default, #dc2626)}
.cw-revealDialog{box-sizing:border-box;inline-size:min(440px,calc(100% - 32px));padding:0;border:0;border-radius:var(--cw-radius-lg, 20px);background:var(--cw-bg-card, #ffffff);color:var(--cw-text-body, #334155);box-shadow:var(--cw-shadow-float, 0 12px 28px -6px rgba(15,23,42,.10), 0 2px 6px rgba(15,23,42,.05));font-family:var(--cw-font, system-ui, sans-serif)}
.cw-revealDialog::backdrop{background:rgba(15,23,42,.55)}
.cw-revealDialog *{box-sizing:border-box}
.cw-revealDialog__box{position:relative;display:grid;gap:16px;margin:0;padding:28px 24px 24px}
.cw-revealDialog__title{margin:0;font:var(--cw-type-heading-h4, 500 18px/26px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-heading, #0f172a)}
.cw-revealDialog__note{margin:0;font:var(--cw-type-body-small, 400 14px/22px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-muted, #64748b)}
.cw-revealDialog__close{position:absolute;inset-block-start:8px;inset-inline-end:8px;display:grid;place-items:center;inline-size:36px;block-size:36px;border:0;border-radius:var(--cw-radius-full, 999px);background:transparent;color:var(--cw-text-muted, #64748b);font-size:24px;line-height:1;cursor:pointer}
.cw-revealDialog__close:hover{background:var(--cw-bg-subtle, #f1f5f9);color:var(--cw-text-heading, #0f172a)}
.cw-revealDialog .cw-codeTicket__code{font:var(--cw-type-code-large, 700 28px/34px var(--cw-font, system-ui, sans-serif));letter-spacing:.08em}
/* ---------- forms (coupon submission, newsletter) ---------- */
.cw-hp{position:absolute!important;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.cw-submit,.cw-submitForm,.cw-newsletterForm{position:relative}
.cw-submit{display:grid;gap:4px;padding:28px;background:var(--cw-bg-card, #ffffff);border:1px solid var(--cw-border-default, #e2e8f0);border-radius:var(--cw-radius-lg, 20px);box-shadow:var(--cw-shadow-card, 0 1px 2px rgba(15,23,42,.06), 0 4px 12px -2px rgba(15,23,42,.06))}
.cw-submit .cw-sectionHead--block{margin-block-end:12px}
.cw-submitForm{display:grid;gap:16px}
.cw-submitForm__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.cw-submitForm__store{grid-column:1/-1;display:flex;align-items:center;gap:10px;margin:0;font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-heading, #0f172a)}
.cw-field{display:grid;gap:6px;margin:0;min-inline-size:0}
.cw-field--title,.cw-field--terms{grid-column:1/-1}
.cw-field label{font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-heading, #0f172a)}
.cw-field__help{font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-muted, #64748b)}
:is(.cw-submitForm,.cw-newsletterForm) :is(input[type="text"],input[type="email"],input[type="url"],input[type="date"],textarea){inline-size:100%;min-block-size:44px;padding:10px 14px;border:1px solid var(--cw-border-default, #e2e8f0);border-radius:var(--cw-radius-sm, 10px);background:var(--cw-bg-card, #ffffff);color:var(--cw-text-heading, #0f172a);font:var(--cw-type-body-small, 400 14px/22px var(--cw-font, system-ui, sans-serif));font-size:16px}
:is(.cw-submitForm,.cw-newsletterForm) :is(input,textarea):focus{outline:none;border-color:var(--cw-border-brand, #2563eb);box-shadow:0 0 0 3px var(--cw-brand-soft, #dbeafe)}
:is(.cw-submitForm,.cw-newsletterForm) textarea{resize:vertical}
:is(.cw-submitForm,.cw-newsletterForm) ::placeholder{color:var(--cw-text-placeholder, #94a3b8)}
.cw-submitForm__foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}
.cw-submitForm__foot .cw-fineprint{margin:0}
.cw-formStatus{margin:0;min-block-size:1em;font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif))}
.cw-formStatus:empty{display:none}
.cw-formStatus[data-tone="ok"]{color:var(--cw-success-default, #15803d)}
.cw-formStatus[data-tone="error"]{color:var(--cw-danger-default, #dc2626)}
.cw-formNotice{margin:0 0 12px;padding:12px 16px;border-radius:var(--cw-radius-md, 14px);font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif))}
.cw-formNotice--ok{background:var(--cw-success-tint, #dcfce7);color:var(--cw-success-default, #15803d)}
.cw-formNotice--error{background:var(--cw-danger-tint, #fee2e2);color:var(--cw-danger-default, #dc2626)}
.cw-newsletter{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 40px;align-items:center;padding:32px 40px;border-radius:var(--cw-radius-xl, 28px);background:linear-gradient(120deg,var(--cw-p-slate-900, #0f172a),var(--cw-p-blue-800, #1e40af));color:var(--cw-p-blue-100, #dbeafe)}
.cw-newsletter__copy{display:flex;gap:16px;align-items:flex-start}
.cw-newsletter__icon{display:grid;place-items:center;flex:none;inline-size:52px;block-size:52px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff}
.cw-block .cw-newsletter__title{margin:0 0 6px;font:var(--cw-type-heading-h3, 700 24px/32px var(--cw-font, system-ui, sans-serif));color:#fff}
.cw-newsletter__text{margin:0;font:var(--cw-type-body-base, 400 16px/28px var(--cw-font, system-ui, sans-serif));color:var(--cw-p-blue-100, #dbeafe)}
.cw-newsletter__actions{display:grid;gap:14px}
.cw-newsletter__channels{display:flex;flex-wrap:wrap;gap:10px}
.cw-newsletterForm{display:grid;gap:10px}
.cw-newsletterForm__row{display:flex;gap:8px}
.cw-newsletterForm__row input{flex:1;min-inline-size:0}
.cw-consent{display:flex;gap:8px;align-items:flex-start;font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif));color:var(--cw-p-blue-100, #dbeafe);cursor:pointer}
.cw-consent input{margin-block-start:2px;flex:none}
.cw-newsletter .cw-formStatus[data-tone="ok"]{color:#bbf7d0}
.cw-newsletter .cw-formStatus[data-tone="error"]{color:#fecaca}
@container (max-width:660px){
	.cw-submitForm__grid{grid-template-columns:1fr}
	.cw-newsletter{grid-template-columns:1fr;padding:24px}
}
@media (max-width:760px){
	.cw-submit{padding:20px}
	.cw-submitForm__grid{grid-template-columns:1fr}
	.cw-newsletter{grid-template-columns:1fr;padding:24px}
	.cw-newsletterForm__row{flex-wrap:wrap}
	.cw-newsletterForm__row .cw-btn{inline-size:100%}
}

@media (prefers-reduced-motion:reduce){
	body:not(.cw-motion-always) :is(.cw-block,.cw-storeCoupons,.cw-couponCard,.cw-storeCard,.cw-codeTicket,.cw-btn,.cw-chip),body:not(.cw-motion-always) :is(.cw-block,.cw-storeCoupons,.cw-couponCard,.cw-storeCard) *{transition:none!important}
}

/* =====================================================================
   Marketing components: hero slider, deal of the day, flash deals (rail + compact card), logo
   strip, trust strip, counters, channel band, testimonials, category tiles, coupon tabs.
   Mobile first: the slider and the rails swipe with native scroll-snap.
   ===================================================================== */
.cw-band.cw-band--tight{padding-block:18px}
.cw-icon--back:dir(ltr){transform:none}
.cw-icon--back:dir(rtl){transform:scaleX(-1)}
.cw-icon.cw-slider__playIcon{display:none}
.is-paused>.cw-slider__bar .cw-slider__pauseIcon,.is-paused>.cw-marquee__toggle .cw-slider__pauseIcon,.cw-marquee.is-paused .cw-slider__pauseIcon{display:none}
.is-paused>.cw-slider__bar .cw-slider__playIcon,.cw-marquee.is-paused .cw-slider__playIcon{display:inline-block}

/* ---------- hero slider ---------- */
.cw-slider{position:relative;border-radius:var(--cw-radius-xl, 28px);overflow:hidden;background:var(--cw-p-slate-900, #0f172a);box-shadow:var(--cw-shadow-float, 0 12px 28px -6px rgba(15,23,42,.10), 0 2px 6px rgba(15,23,42,.05));--cw-slider-h:300px}
.cw-slider--compact{--cw-slider-h:240px}
.cw-slider--tall{--cw-slider-h:420px}
.cw-slider__track{position:relative;display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.cw-slider__track::-webkit-scrollbar{display:none}
.cw-slider__track:focus-visible{outline:3px solid var(--cw-border-brand, #2563eb);outline-offset:-3px}
.cw-slide{position:relative;flex:0 0 100%;min-inline-size:0;scroll-snap-align:start;scroll-snap-stop:always;display:grid;align-items:center;min-block-size:var(--cw-slider-h,300px);overflow:hidden;color:#fff;background:linear-gradient(120deg,var(--cw-s1,#0f172a),var(--cw-s2,#1e40af))}
.cw-slide--p0{--cw-s1:var(--cw-p-slate-900, #0f172a);--cw-s2:var(--cw-p-blue-800, #1e40af)}
.cw-slide--p1{--cw-s1:#064e3b;--cw-s2:#0f766e}
.cw-slide--p2{--cw-s1:#3b0764;--cw-s2:#be185d}
.cw-slide--p3{--cw-s1:#7c2d12;--cw-s2:#b45309}
.cw-slide.is-light{color:var(--cw-text-heading, #0f172a)}
.cw-slide__img{position:absolute;inset:0;inline-size:100%;block-size:100%;max-inline-size:none;object-fit:cover}
.cw-slide.has-image::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to right,rgba(15,23,42,.82),rgba(15,23,42,.25))}
.cw-slide.has-image:dir(rtl)::before{background:linear-gradient(to left,rgba(15,23,42,.82),rgba(15,23,42,.25))}
.cw-slide__inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:32px;align-items:center;padding:36px 72px 52px}
.cw-slide__copy{display:grid;gap:14px;justify-items:start;min-inline-size:0}
.cw-slide__eyebrow{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--cw-radius-full, 999px);background:rgba(255,255,255,.16);font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif))}
.cw-slide.is-light .cw-slide__eyebrow{background:rgba(15,23,42,.08)}
.cw-slide .cw-slide__title{margin:0;color:inherit;font:var(--cw-type-display-h1, 700 44px/52px var(--cw-font, system-ui, sans-serif));font-size:clamp(26px,3.6vw,42px);line-height:1.2;text-wrap:balance}
.cw-slide__text{max-inline-size:52ch;font:var(--cw-type-body-large, 400 18px/32px var(--cw-font, system-ui, sans-serif));opacity:.92}
.cw-slide__cta{margin-block-start:4px}
.cw-slide__coupon{display:grid;gap:12px;padding:16px;border-radius:var(--cw-radius-lg, 20px);background:var(--cw-bg-card, #ffffff);color:var(--cw-text-body, #334155);box-shadow:var(--cw-shadow-float, 0 12px 28px -6px rgba(15,23,42,.10), 0 2px 6px rgba(15,23,42,.05));min-inline-size:0}
.cw-slide__couponHead{display:flex;align-items:center;gap:10px}
.cw-slide__couponWho{flex:1;min-inline-size:0;display:grid}
.cw-slide__couponHead strong{color:var(--cw-text-heading, #0f172a);font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));font-size:15px}
.cw-slide__couponHead small{display:inline-flex;align-items:center;gap:4px;color:var(--cw-success-default, #15803d);font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif))}
.cw-slide__couponTitle{font:var(--cw-type-body-small, 400 14px/22px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-body, #334155)}
.cw-slider__nav{position:absolute;inset-block-start:calc(50% - 22px);z-index:3;display:grid;place-items:center;inline-size:44px;block-size:44px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.94);color:#0f172a;box-shadow:var(--cw-shadow-card, 0 1px 2px rgba(15,23,42,.06), 0 4px 12px -2px rgba(15,23,42,.06));cursor:pointer;transition:transform .15s,background .15s}
.cw-slider__nav:hover{background:#fff;transform:scale(1.06)}
.cw-slider__nav--prev{inset-inline-start:14px}
.cw-slider__nav--next{inset-inline-end:14px}
.cw-slider__nav:focus-visible,.cw-slider__dot:focus-visible,.cw-slider__pause:focus-visible,.cw-rail__nav:focus-visible,.cw-marquee__toggle:focus-visible,.cw-tabs__tab:focus-visible{outline:3px solid var(--cw-border-brand, #2563eb);outline-offset:2px}
.cw-slider__bar{position:absolute;inset-inline:0;inset-block-end:10px;z-index:3;display:flex;align-items:center;justify-content:center;gap:8px;pointer-events:none}
.cw-slider__bar>*{pointer-events:auto}
.cw-slider__dots{display:flex;align-items:center;gap:0;padding:0 6px;border-radius:var(--cw-radius-full, 999px);background:rgba(15,23,42,.35)}
.cw-slider__dot{display:grid;place-items:center;inline-size:24px;block-size:24px;padding:0;border:0;background:transparent;cursor:pointer}
.cw-slider__dot::after{content:"";inline-size:8px;block-size:8px;border-radius:99px;background:rgba(255,255,255,.6);transition:inline-size .2s,background .2s}
.cw-slider__dot[aria-current="true"]::after{inline-size:22px;background:#fff}
.cw-slider__pause,.cw-marquee__toggle{display:grid;place-items:center;inline-size:30px;block-size:30px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.94);color:#0f172a;cursor:pointer;box-shadow:var(--cw-shadow-card, 0 1px 2px rgba(15,23,42,.06), 0 4px 12px -2px rgba(15,23,42,.06))}
.cw-slider__pause[hidden]{display:none}

/* ---------- countdown ---------- */
.cw-timer{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;direction:ltr}
.cw-timer__unit{display:grid;justify-items:center;gap:2px;min-inline-size:66px;padding:10px 8px;border-radius:var(--cw-radius-md, 14px);background:rgba(255,255,255,.14)}
.cw-timer__unit[hidden]{display:none}
.cw-timer b{font:var(--cw-type-number-big, 700 48px/56px var(--cw-font, system-ui, sans-serif));font-size:32px;line-height:1.1;font-variant-numeric:tabular-nums;color:inherit}
.cw-timer small{font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif));opacity:.85}
.cw-timer--compact{display:inline-flex;gap:4px;direction:inherit;font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));font-variant-numeric:tabular-nums;color:var(--cw-danger-default, #dc2626)}
.cw-timer__label{color:var(--cw-text-muted, #64748b);font-weight:500}
.cw-timer.is-ended{opacity:.6}

/* ---------- deal of the day ---------- */
.cw-dealDay{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);overflow:hidden;border:1px solid var(--cw-border-default, #e2e8f0);border-radius:var(--cw-radius-xl, 28px);background:var(--cw-bg-card, #ffffff);box-shadow:var(--cw-shadow-float, 0 12px 28px -6px rgba(15,23,42,.10), 0 2px 6px rgba(15,23,42,.05))}
.cw-dealDay__main{display:grid;gap:16px;align-content:start;padding:28px 32px;min-inline-size:0}
.cw-dealDay__store{display:flex;align-items:center;gap:16px}
.cw-dealDay__store>div{min-inline-size:0;display:grid;gap:6px}
.cw-dealDay__storeName{font:var(--cw-type-heading-h4, 500 18px/26px var(--cw-font, system-ui, sans-serif))}
.cw-dealDay__storeName a{color:var(--cw-text-heading, #0f172a)}
.cw-dealDay__discount{margin-inline-start:auto;flex:none;padding:6px 16px;border-radius:var(--cw-radius-md, 14px);background:var(--cw-success-tint, #dcfce7);color:var(--cw-success-default, #15803d);font:var(--cw-type-heading-h3, 700 24px/32px var(--cw-font, system-ui, sans-serif));font-weight:800}
.cw-dealDay .cw-dealDay__title{font:var(--cw-type-heading-h3, 700 24px/32px var(--cw-font, system-ui, sans-serif));text-wrap:pretty}
.cw-dealDay .cw-codeTicket__code{font:var(--cw-type-code-large, 700 28px/34px var(--cw-font, system-ui, sans-serif));letter-spacing:.08em;font-size:clamp(18px,2.4cqi,28px)}
.cw-dealDay__timer{display:grid;gap:14px;align-content:center;justify-items:center;padding:28px;text-align:center;color:#fff;background:linear-gradient(135deg,var(--cw-p-slate-900, #0f172a),var(--cw-p-blue-800, #1e40af))}
.cw-dealDay__timerLabel{display:inline-flex;align-items:center;gap:8px;font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));color:var(--cw-p-butter-300, #ffe08a)}

/* ---------- compact coupon card + rail ---------- */
.cw-miniCard{display:grid;gap:10px;align-content:start;block-size:100%;padding:16px;border:1px solid var(--cw-border-default, #e2e8f0);border-radius:var(--cw-radius-lg, 20px);background:var(--cw-bg-card, #ffffff);box-shadow:var(--cw-shadow-card, 0 1px 2px rgba(15,23,42,.06), 0 4px 12px -2px rgba(15,23,42,.06));transition:border-color .15s,box-shadow .15s}
.cw-miniCard:hover{border-color:color-mix(in srgb,var(--cw-border-brand, #2563eb) 40%,var(--cw-border-default, #e2e8f0));box-shadow:var(--cw-shadow-float, 0 12px 28px -6px rgba(15,23,42,.10), 0 2px 6px rgba(15,23,42,.05))}
.cw-miniCard__head{display:flex;align-items:center;gap:10px}
.cw-miniCard__store{flex:1;min-inline-size:0;margin:0;font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cw-miniCard__store a{color:var(--cw-text-heading, #0f172a)}
.cw-miniCard .cw-miniCard__title{margin:0;font:var(--cw-type-heading-h4, 500 18px/26px var(--cw-font, system-ui, sans-serif));font-size:16px;line-height:24px;min-block-size:48px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-wrap:pretty}
.cw-miniCard__meta{display:flex;align-items:center;gap:6px;margin:0;font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-muted, #64748b)}
.cw-miniCard__act{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-block-start:auto;padding-block-start:10px;border-block-start:1px dashed var(--cw-border-default, #e2e8f0)}
.cw-miniCard__act .cw-btn{flex:1}
.cw-miniCard__rate{display:inline-flex;align-items:center;gap:4px;flex:none;color:var(--cw-success-default, #15803d);font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif))}
.cw-rail{position:relative}
.cw-rail__track{display:flex;gap:var(--cw-gap,14px);margin:0;padding:4px 2px 14px;list-style:none;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.cw-rail__track:focus-visible{outline:3px solid var(--cw-border-brand, #2563eb);outline-offset:2px}
.cw-rail__item{flex:0 0 min(300px,80%);display:flex;min-inline-size:0;scroll-snap-align:start}
.cw-rail__item>*{flex:1;min-inline-size:0}
.cw-rail__nav{display:none;position:absolute;inset-block-start:calc(50% - 30px);z-index:2;place-items:center;inline-size:40px;block-size:40px;padding:0;border:1px solid var(--cw-border-default, #e2e8f0);border-radius:50%;background:var(--cw-bg-card, #ffffff);color:var(--cw-text-heading, #0f172a);box-shadow:var(--cw-shadow-card, 0 1px 2px rgba(15,23,42,.06), 0 4px 12px -2px rgba(15,23,42,.06));cursor:pointer}
.cw-rail__nav:disabled{opacity:.35;cursor:default}
.cw-rail__nav--prev{inset-inline-start:-8px}
.cw-rail__nav--next{inset-inline-end:-8px}
@media (hover:hover) and (pointer:fine){.cw-rail.has-overflow .cw-rail__nav{display:grid}}

/* ---------- logo strip ---------- */
.cw-marquee{position:relative}
.cw-marquee__viewport{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.cw-marquee__track{display:flex;inline-size:max-content;margin:0;padding:6px 0;list-style:none;animation:cw-marquee var(--cw-mq-speed,40s) linear infinite}
.cw-marquee:dir(rtl) .cw-marquee__track{animation-name:cw-marquee-rtl}
.cw-marquee:hover .cw-marquee__track,.cw-marquee:focus-within .cw-marquee__track,.cw-marquee.is-paused .cw-marquee__track{animation-play-state:paused}
.cw-marquee__item{flex:none;padding-inline-end:14px}
.cw-marquee__link{display:flex;align-items:center;gap:10px;padding:6px;padding-inline-end:16px;border:1px solid var(--cw-border-default, #e2e8f0);border-radius:var(--cw-radius-full, 999px);background:var(--cw-bg-card, #ffffff);color:var(--cw-text-heading, #0f172a);transition:border-color .15s}
.cw-marquee__link:hover{border-color:var(--cw-border-brand, #2563eb);color:var(--cw-brand-text, #1d4ed8)}
.cw-marquee__link:focus-visible{outline:3px solid var(--cw-border-brand, #2563eb);outline-offset:2px}
.cw-marquee__link .cw-storeLogo{border-radius:50%}
.cw-marquee__name{font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));white-space:nowrap}
.cw-marquee__toggle{margin-block-start:6px;margin-inline-start:auto;inline-size:26px;block-size:26px;opacity:.8}
@keyframes cw-marquee{to{transform:translateX(-50%)}}
@keyframes cw-marquee-rtl{to{transform:translateX(50%)}}

/* ---------- trust strip + counters ---------- */
.cw-trust{display:grid;grid-template-columns:repeat(var(--cw-n,4),minmax(0,1fr));margin:0;padding:6px;list-style:none;border:1px solid var(--cw-border-default, #e2e8f0);border-radius:var(--cw-radius-xl, 28px);background:var(--cw-bg-card, #ffffff);box-shadow:var(--cw-shadow-card, 0 1px 2px rgba(15,23,42,.06), 0 4px 12px -2px rgba(15,23,42,.06))}
.cw-trust--n3{--cw-n:3}
.cw-trust--n2{--cw-n:2}
.cw-trust--n1{--cw-n:1}
.cw-trust__item{display:flex;align-items:center;gap:14px;padding:14px 18px;min-inline-size:0}
.cw-trust__item+.cw-trust__item{border-inline-start:1px solid var(--cw-border-hairline, #f1f5f9)}
.cw-trust__icon{display:grid;place-items:center;flex:none;inline-size:46px;block-size:46px;border-radius:50%;background:var(--cw-success-tint, #dcfce7);color:var(--cw-success-default, #15803d)}
.cw-trust__item:nth-child(2) .cw-trust__icon{background:var(--cw-brand-soft, #dbeafe);color:var(--cw-brand-text, #1d4ed8)}
.cw-trust__item:nth-child(3) .cw-trust__icon{background:var(--cw-danger-tint, #fee2e2);color:var(--cw-danger-default, #dc2626)}
.cw-trust__item:nth-child(4) .cw-trust__icon{background:var(--cw-code-bg, #fff7e0);color:var(--cw-p-amber-700, #b45309)}
.cw-trust__text{display:grid;min-inline-size:0}
.cw-trust__num{font:var(--cw-type-heading-h2, 700 34px/42px var(--cw-font, system-ui, sans-serif));font-size:28px;line-height:34px;font-variant-numeric:tabular-nums;color:var(--cw-text-heading, #0f172a)}
.cw-trust__label{font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-muted, #64748b)}
.cw-trust--brand{border:0;background:linear-gradient(120deg,var(--cw-p-slate-900, #0f172a),var(--cw-p-blue-800, #1e40af))}
.cw-trust--brand .cw-trust__item+.cw-trust__item{border-color:rgba(255,255,255,.16)}
.cw-trust--brand .cw-trust__icon{background:rgba(255,255,255,.12)!important;color:#fff!important}
.cw-trust--brand .cw-trust__num{color:#fff}
.cw-trust--brand .cw-trust__label{color:var(--cw-p-blue-100, #dbeafe)}
.cw-counters{display:grid;gap:24px;padding:36px 40px;border-radius:var(--cw-radius-xl, 28px);color:#fff;background:linear-gradient(120deg,var(--cw-p-slate-900, #0f172a),var(--cw-p-blue-800, #1e40af))}
.cw-counters__head{display:grid;gap:6px;justify-items:center;text-align:center}
.cw-block .cw-counters__title{margin:0;color:#fff;font:var(--cw-type-heading-h2, 700 34px/42px var(--cw-font, system-ui, sans-serif))}
.cw-counters__sub{margin:0;color:var(--cw-p-blue-100, #dbeafe);font:var(--cw-type-body-base, 400 16px/28px var(--cw-font, system-ui, sans-serif))}
.cw-counters__list{display:grid;grid-template-columns:repeat(var(--cw-n,4),minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none;text-align:center}
.cw-counters__list--n3{--cw-n:3}
.cw-counters__list--n2{--cw-n:2}
.cw-counters__list--n1{--cw-n:1}
.cw-counter{display:grid;justify-items:center;gap:6px}
.cw-counter__icon{display:grid;place-items:center;inline-size:46px;block-size:46px;border-radius:50%;background:rgba(255,255,255,.12)}
.cw-counter__n{font:var(--cw-type-number-big, 700 48px/56px var(--cw-font, system-ui, sans-serif));font-size:clamp(32px,4.2vw,48px);line-height:1.1;font-variant-numeric:tabular-nums;color:#fff}
.cw-counter__label{font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));color:var(--cw-p-blue-100, #dbeafe)}

/* ---------- channels & apps band ---------- */
.cw-channelBand{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px 40px;align-items:center;padding:32px 40px;border-radius:var(--cw-radius-xl, 28px);color:#fff;background:linear-gradient(120deg,var(--cw-p-blue-800, #1e40af),var(--cw-p-blue-500, #3b82f6))}
.cw-channelBand__copy{display:flex;gap:16px;align-items:flex-start}
.cw-block .cw-channelBand__title{margin:0 0 6px;color:#fff;font:var(--cw-type-heading-h3, 700 24px/32px var(--cw-font, system-ui, sans-serif))}
.cw-channelBand__text{margin:0;color:var(--cw-p-blue-100, #dbeafe);font:var(--cw-type-body-base, 400 16px/28px var(--cw-font, system-ui, sans-serif))}
.cw-channelBand__actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.cw-channelCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--cw-gap,16px);margin:0;padding:0;list-style:none}
.cw-channelCard{display:grid;gap:10px;align-content:start;justify-items:start;padding:24px;border:1px solid var(--cw-border-default, #e2e8f0);border-radius:var(--cw-radius-lg, 20px);background:var(--cw-bg-card, #ffffff);box-shadow:var(--cw-shadow-card, 0 1px 2px rgba(15,23,42,.06), 0 4px 12px -2px rgba(15,23,42,.06))}
.cw-channelCard__icon{display:grid;place-items:center;inline-size:52px;block-size:52px;border-radius:50%;background:var(--cw-brand-soft, #dbeafe);color:var(--cw-brand-text, #1d4ed8)}
.cw-channelCard--whatsapp .cw-channelCard__icon{background:var(--cw-success-tint, #dcfce7);color:var(--cw-success-default, #15803d)}
.cw-channelCard--apps .cw-channelCard__icon{background:var(--cw-code-bg, #fff7e0);color:var(--cw-p-amber-700, #b45309)}
.cw-block .cw-channelCard__name{margin:0;font:var(--cw-type-heading-h4, 500 18px/26px var(--cw-font, system-ui, sans-serif))}
.cw-channelCard__text{margin:0 0 6px;color:var(--cw-text-muted, #64748b);font:var(--cw-type-body-small, 400 14px/22px var(--cw-font, system-ui, sans-serif))}
.cw-channelCard__stores{display:flex;flex-wrap:wrap;gap:8px}

/* ---------- testimonials ---------- */
.cw-quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--cw-gap,16px);margin:0;padding:0;list-style:none}
.cw-quotes--n1{grid-template-columns:minmax(0,640px);justify-content:center}
.cw-quotes--n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cw-quotes--n4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cw-quote{display:flex;min-inline-size:0}
.cw-quote__card{position:relative;display:grid;gap:12px;align-content:start;inline-size:100%;margin:0;padding:24px;border:1px solid var(--cw-border-default, #e2e8f0);border-radius:var(--cw-radius-lg, 20px);background:var(--cw-bg-card, #ffffff);box-shadow:var(--cw-shadow-card, 0 1px 2px rgba(15,23,42,.06), 0 4px 12px -2px rgba(15,23,42,.06))}
.cw-quote__mark{position:absolute;inset-block-start:16px;inset-inline-end:18px;color:var(--cw-brand-soft, #dbeafe)}
.cw-quote__mark .cw-icon{inline-size:34px;block-size:34px}
.cw-stars{display:flex;gap:2px;margin:0;color:var(--cw-border-default, #e2e8f0)}
.cw-stars__s{display:inline-flex}
.cw-stars__s.is-on{color:var(--cw-p-amber-500, #f59e0b)}
.cw-quote__text{margin:0}
.cw-quote__text p{margin:0;font:var(--cw-type-body-base, 400 16px/28px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-body, #334155);text-wrap:pretty}
.cw-quote__by{display:flex;align-items:center;gap:12px;margin-block-start:auto;padding-block-start:6px}
.cw-quote__by>span:last-child{display:grid;min-inline-size:0}
.cw-quote__avatar{flex:none;inline-size:44px;block-size:44px;border-radius:50%;object-fit:cover}
.cw-quote__avatar--mono{display:grid;place-items:center;font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));font-weight:700;background:var(--tone-bg);color:var(--tone-fg)}
.cw-quote__name{font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));font-size:15px;color:var(--cw-text-heading, #0f172a)}
.cw-quote__role{font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-muted, #64748b)}

/* ---------- category tiles ---------- */
.cw-catTiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--cw-gap,14px);margin:0;padding:0;list-style:none}
.cw-catTile{position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;aspect-ratio:4/3;border-radius:var(--cw-radius-lg, 20px);background:var(--tone-bg);color:var(--tone-fg);transition:transform .15s,box-shadow .15s}
.cw-catTile:hover{transform:translateY(var(--cw-lift,-2px));box-shadow:var(--cw-shadow-float, 0 12px 28px -6px rgba(15,23,42,.10), 0 2px 6px rgba(15,23,42,.05));color:var(--tone-fg)}
.cw-catTile:focus-visible{outline:3px solid var(--cw-border-brand, #2563eb);outline-offset:2px}
.cw-catTile__media{display:block;padding:16px 16px 0}
.cw-catTile__img{inline-size:100%;block-size:100%;max-inline-size:none;object-fit:cover}
.cw-catTile.has-image{color:#fff}
.cw-catTile.has-image:hover{color:#fff}
.cw-catTile.has-image .cw-catTile__media{position:absolute;inset:0;padding:0}
.cw-catTile.has-image::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(15,23,42,.78),rgba(15,23,42,0) 62%)}
.cw-catTile__text{position:relative;z-index:1;display:grid;gap:2px;padding:12px 16px 16px}
.cw-catTile.has-image .cw-catTile__text{position:absolute;inset-inline:0;inset-block-end:0;padding:12px 16px}
.cw-catTile__name{font:var(--cw-type-heading-h4, 500 18px/26px var(--cw-font, system-ui, sans-serif));font-size:17px;line-height:24px}
.cw-catTile__count{font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif));opacity:.9}
.cw-catTiles--cards{grid-template-columns:repeat(4,minmax(0,1fr))}
.cw-catTiles--cards .cw-catTile{flex-direction:row;justify-content:flex-start;align-items:center;gap:14px;aspect-ratio:auto;padding:12px;border:1px solid var(--cw-border-default, #e2e8f0);background:var(--cw-bg-card, #ffffff);color:var(--cw-text-heading, #0f172a)}
.cw-catTiles--cards .cw-catTile:hover{border-color:var(--cw-border-brand, #2563eb);color:var(--cw-text-heading, #0f172a)}
.cw-catTiles--cards .cw-catTile__media,.cw-catTiles--cards .cw-catTile.has-image .cw-catTile__media{position:relative;inset:auto;flex:none;display:grid;place-items:center;inline-size:64px;block-size:64px;padding:0;overflow:hidden;border-radius:var(--cw-radius-md, 14px);background:var(--tone-bg);color:var(--tone-fg)}
.cw-catTiles--cards .cw-catTile.has-image::after{display:none}
.cw-catTiles--cards .cw-catTile__text,.cw-catTiles--cards .cw-catTile.has-image .cw-catTile__text{position:static;padding:0;min-inline-size:0}
.cw-catTiles--cards .cw-catTile__count{color:var(--cw-text-muted, #64748b);opacity:1}

/* ---------- coupon tabs ---------- */
.cw-tabs__list{display:flex;gap:8px;margin-block-end:20px;overflow-x:auto;scrollbar-width:none}
.cw-tabs__list::-webkit-scrollbar{display:none}
.cw-tabs__tab{display:inline-flex;align-items:center;gap:8px;flex:none;min-block-size:44px;padding:8px 18px;border:1px solid var(--cw-border-default, #e2e8f0);border-radius:var(--cw-radius-full, 999px);background:var(--cw-bg-card, #ffffff);color:var(--cw-text-body, #334155);font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));cursor:pointer;white-space:nowrap}
.cw-tabs__tab:hover{border-color:var(--cw-border-brand, #2563eb)}
.cw-tabs__tab[aria-selected="true"]{border-color:var(--cw-brand-default, #2563eb);background:var(--cw-brand-default, #2563eb);color:var(--cw-brand-on-brand, #ffffff)}
.cw-tabs__panel[hidden]{display:none}
.cw-tabs__panel:focus-visible{outline:3px solid var(--cw-border-brand, #2563eb);outline-offset:4px}
.cw-block .cw-tabs__panelTitle{display:none}
.cw-couponList--mini{grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none}
.cw-couponList--mini>li{display:flex;min-inline-size:0}
.cw-couponList--mini>li>*{flex:1;min-inline-size:0}

/* ---------- responsive ---------- */
@container (max-width:900px){
	.cw-couponList--mini{grid-template-columns:repeat(2,minmax(0,1fr))}
	.cw-quotes--n4{grid-template-columns:repeat(2,minmax(0,1fr))}
	.cw-catTiles,.cw-catTiles--cards{grid-template-columns:repeat(3,minmax(0,1fr))}
	.cw-trust{grid-template-columns:repeat(2,minmax(0,1fr))}
	.cw-trust__item:nth-child(odd){border-inline-start:0}
	.cw-trust__item:nth-child(n+3){border-block-start:1px solid var(--cw-border-hairline, #f1f5f9)}
	.cw-counters__list{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}
	.cw-channelBand{grid-template-columns:1fr}
	.cw-channelBand__actions{justify-content:flex-start}
}
@container (max-width:660px){
	.cw-couponList--mini{display:flex;gap:12px;overflow-x:auto;padding-block-end:12px;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
	.cw-couponList--mini::-webkit-scrollbar{display:none}
	.cw-couponList--mini>li{flex:0 0 82%;scroll-snap-align:start}
	.cw-dealDay .cw-codeTicket__code{font-size:18px;line-height:24px;letter-spacing:.05em}
	.cw-catTile:not(.has-image){aspect-ratio:auto;min-block-size:150px}
	.cw-trust--n3 .cw-trust__item:last-child{grid-column:1/-1}
	.cw-dealDay{grid-template-columns:1fr}
	.cw-dealDay__main{padding:22px 20px}
	.cw-catTiles,.cw-catTiles--cards{grid-template-columns:repeat(2,minmax(0,1fr))}
	.cw-counters,.cw-channelBand{padding:24px}
	.cw-quotes,.cw-quotes--n2,.cw-quotes--n4,.cw-quotes--n1{display:flex;gap:12px;overflow-x:auto;padding-block-end:12px;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
	.cw-quotes::-webkit-scrollbar{display:none}
	.cw-quote{flex:0 0 86%;scroll-snap-align:start}
}
@container (max-width:480px){
	.cw-catTiles--cards{grid-template-columns:1fr}
	.cw-trust__item{padding:12px}
	.cw-trust__icon{inline-size:40px;block-size:40px}
	.cw-trust__num{font-size:24px;line-height:30px}
}
@media (max-width:480px){
	.cw-codeTicket__code,.cw-couponCard--featured .cw-codeTicket__code{font-size:18px;line-height:24px;letter-spacing:.05em}
}
@media (max-width:760px){
	.cw-band.cw-band--tight{padding-block:14px}
	.cw-slider{border-radius:var(--cw-radius-lg, 20px);--cw-slider-h:300px}
	.cw-slider--compact{--cw-slider-h:240px}
	.cw-slider--tall{--cw-slider-h:380px}
	.cw-slide__inner{grid-template-columns:1fr;gap:16px;padding:26px 20px 52px}
	.cw-slide__text{font-size:15px;line-height:24px}
	.cw-slide__couponTitle{display:none}
	.cw-slide__coupon .cw-codeTicket__code{font-size:18px;line-height:24px;letter-spacing:.06em}
	.cw-slider__nav{display:none}
	.cw-dealDay__discount{font-size:20px}
	.cw-timer__unit{min-inline-size:58px}
	.cw-timer b{font-size:28px}
}

@media (prefers-reduced-motion:reduce){
	.cw-marquee__viewport{-webkit-mask-image:none;mask-image:none}
	.cw-marquee__track{inline-size:auto;flex-wrap:wrap;justify-content:center;row-gap:12px;animation:none}
	.cw-marquee__item[aria-hidden="true"],.cw-marquee__toggle{display:none}
	.cw-slider__track{scroll-behavior:auto}
	.cw-slider__nav,.cw-slider__dot::after,.cw-catTile,.cw-miniCard{transition:none}
}

/* =====================================================================
   Page-depth components (Wave 2.5b): rails with dots, how-to steps, store info table, FAQ, guide
   slider cards, topic chips, timeline and the search type-ahead. Logical properties only, so the
   same rules read right in right-to-left and left-to-right pages.
   ===================================================================== */
/* The prev arrow: «back» is mirrored in RTL and left alone in LTR, whatever the order of the rules above. */
.cw-icon--dir.cw-icon--back:dir(ltr){transform:none}
/* Icons drawn for left-to-right pages (the export/share arrow) are mirrored in right-to-left pages. */
.cw-icon--rtl:dir(rtl){transform:scaleX(-1)}

/* ---------- rails: dots and variants ---------- */
.cw-rail__dots{display:flex;justify-content:center;gap:0;margin-block-start:0}
.cw-rail__dots[hidden]{display:none}
.cw-rail__dot{position:relative;display:grid;place-items:center;inline-size:24px;block-size:24px;padding:0;border:0;background:transparent;cursor:pointer}
.cw-rail__dot::before{content:"";inline-size:8px;block-size:8px;border-radius:50%;background:var(--cw-p-slate-300, #cbd5e1);transition:inline-size .2s,background-color .2s}
.cw-rail__dot[aria-current="true"]::before{inline-size:22px;border-radius:var(--cw-radius-full, 999px);background:var(--cw-brand-default, #2563eb)}
.cw-rail__dot:focus-visible{outline:3px solid var(--cw-border-brand, #2563eb);outline-offset:-2px;border-radius:50%}
.cw-rail[data-cw-dots] .cw-rail__nav{inset-block-start:calc(50% - 42px)}
.cw-rail--stores .cw-rail__item{flex-basis:min(176px,44%)}
.cw-rail--stores .cw-storeCard{inline-size:100%}
.cw-rail--posts .cw-rail__item{flex-basis:min(320px,82%)}

/* ---------- how-to steps ---------- */
.cw-howto{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--cw-gap,14px);margin:0;padding:0;list-style:none}
.cw-howto--n4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cw-howto__step{position:relative;display:grid;gap:8px;align-content:start;padding:22px;background:var(--cw-bg-card, #ffffff);border:1px solid var(--cw-border-default, #e2e8f0);border-radius:var(--cw-radius-lg, 20px);box-shadow:var(--cw-shadow-card, 0 1px 2px rgba(15,23,42,.06), 0 4px 12px -2px rgba(15,23,42,.06))}
.cw-howto__n{position:absolute;inset-block-start:20px;inset-inline-end:20px;display:grid;place-items:center;inline-size:30px;block-size:30px;border-radius:50%;background:var(--cw-brand-soft, #dbeafe);color:var(--cw-brand-text, #1d4ed8);font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));font-weight:700}
.cw-howto__icon{display:grid;place-items:center;inline-size:48px;block-size:48px;margin-block-end:6px;border-radius:var(--cw-radius-md, 14px);background:var(--cw-brand-soft, #dbeafe);color:var(--cw-icon-brand, #2563eb)}
.cw-howto__title{font:var(--cw-type-heading-h4, 500 18px/26px var(--cw-font, system-ui, sans-serif));font-size:17px;line-height:26px}
.cw-howto__text{margin:0;color:var(--cw-text-muted, #64748b);font:var(--cw-type-body-small, 400 14px/22px var(--cw-font, system-ui, sans-serif))}

/* ---------- store info table ---------- */
.cw-infoTable{inline-size:100%;border-collapse:separate;border-spacing:0;background:var(--cw-bg-card, #ffffff);border:1px solid var(--cw-border-default, #e2e8f0);border-radius:var(--cw-radius-lg, 20px);overflow:hidden;box-shadow:var(--cw-shadow-card, 0 1px 2px rgba(15,23,42,.06), 0 4px 12px -2px rgba(15,23,42,.06))}
.cw-infoTable th,.cw-infoTable td{padding:14px 18px;text-align:start;vertical-align:middle;border-block-end:1px solid var(--cw-border-hairline, #f1f5f9)}
.cw-infoTable tr:last-child>*{border-block-end:0}
.cw-infoTable th{inline-size:36%;color:var(--cw-text-muted, #64748b);font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));font-weight:500}
.cw-infoTable th .cw-icon{vertical-align:middle;margin-inline-end:10px;color:var(--cw-icon-default, #475569)}
.cw-infoTable td{color:var(--cw-text-heading, #0f172a);font:var(--cw-type-body-base, 400 16px/28px var(--cw-font, system-ui, sans-serif));font-size:15px;line-height:24px}

/* ---------- FAQ ---------- */
.cw-faqList{display:grid;gap:14px;max-inline-size:860px}
.cw-faqList .cw-faq{display:grid;gap:10px}
.cw-faqList .cw-faq__item{background:var(--cw-bg-card, #ffffff);border:1px solid var(--cw-border-default, #e2e8f0);border-radius:var(--cw-radius-md, 14px);padding:0 20px}
.cw-faqList .cw-faq__item[open]{border-color:var(--cw-border-brand, #2563eb)}
.cw-faqList .cw-faq__item summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-block:16px;cursor:pointer;list-style:none;font:var(--cw-type-heading-h4, 500 18px/26px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-heading, #0f172a)}
.cw-faqList .cw-faq__item summary::-webkit-details-marker{display:none}
.cw-faqList .cw-faq__item summary:focus-visible{outline:3px solid var(--cw-border-brand, #2563eb);outline-offset:2px;border-radius:var(--cw-radius-sm, 10px)}
.cw-faqList .cw-faq__item[open] summary .cw-icon{transform:rotate(180deg)}
.cw-faqList .cw-faq__item p{padding-block-end:18px;font:var(--cw-type-body-base, 400 16px/28px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-body, #334155)}

/* ---------- guide cards (post rail) ---------- */
.cw-postTile{display:flex;inline-size:100%;background:var(--cw-bg-card, #ffffff);border:1px solid var(--cw-border-default, #e2e8f0);border-radius:var(--cw-radius-lg, 20px);box-shadow:var(--cw-shadow-card, 0 1px 2px rgba(15,23,42,.06), 0 4px 12px -2px rgba(15,23,42,.06));overflow:hidden;transition:border-color .15s,transform .15s}
.cw-postTile:hover{border-color:var(--cw-border-brand, #2563eb);box-shadow:var(--cw-shadow-float, 0 12px 28px -6px rgba(15,23,42,.10), 0 2px 6px rgba(15,23,42,.05));transform:translateY(var(--cw-lift,-2px))}
.cw-postTile__link{display:flex;flex-direction:column;inline-size:100%;color:var(--cw-text-heading, #0f172a)}
.cw-postTile__media{display:grid;place-items:center;aspect-ratio:16/9;overflow:hidden;background:var(--cw-bg-subtle, #f1f5f9);color:var(--cw-icon-default, #475569)}
.cw-postTile__img{inline-size:100%;block-size:100%;object-fit:cover}
.cw-postTile__body{display:grid;gap:6px;align-content:start;padding:14px 16px 16px}
.cw-postTile__cat{color:var(--cw-brand-text, #1d4ed8);font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif))}
.cw-postTile__title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font:var(--cw-type-heading-h4, 500 18px/26px var(--cw-font, system-ui, sans-serif));font-size:16px;line-height:24px;text-wrap:pretty}
.cw-postTile__meta{color:var(--cw-text-muted, #64748b);font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif))}

/* ---------- topic chips ---------- */
.cw-chips--links{margin:0;padding:0;list-style:none}
.cw-chip--link{display:inline-flex;align-items:center;gap:8px;color:var(--cw-text-body, #334155);text-decoration:none}
.cw-chip__n{color:var(--cw-text-muted, #64748b);font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif))}

/* ---------- timeline ---------- */
.cw-timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0;margin:0;padding:0;list-style:none}
.cw-timeline__item{position:relative;display:grid;gap:4px;align-content:start;padding-block-start:36px;padding-inline-end:18px}
.cw-timeline__item::before{content:"";position:absolute;inset-block-start:8px;inset-inline:0;block-size:2px;background:var(--cw-border-default, #e2e8f0)}
.cw-timeline__item.is-past::before{background:var(--cw-brand-default, #2563eb)}
.cw-timeline__dot{position:absolute;inset-block-start:0;inset-inline-start:0;z-index:1;inline-size:18px;block-size:18px;border:2px solid var(--cw-border-default, #e2e8f0);border-radius:50%;background:var(--cw-bg-page, #f7f9fc)}
.cw-timeline__item.is-past .cw-timeline__dot{border-color:var(--cw-brand-default, #2563eb);background:var(--cw-brand-default, #2563eb)}
.cw-timeline__item.is-now .cw-timeline__dot{border-color:var(--cw-brand-default, #2563eb);background:var(--cw-brand-default, #2563eb);box-shadow:0 0 0 5px var(--cw-brand-soft, #dbeafe)}
.cw-timeline__date{color:var(--cw-text-muted, #64748b);font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif))}
.cw-timeline__label{font:var(--cw-type-heading-h4, 500 18px/26px var(--cw-font, system-ui, sans-serif));font-size:17px;line-height:26px}
.cw-timeline__now{justify-self:start;padding:2px 10px;border-radius:var(--cw-radius-full, 999px);background:var(--cw-brand-soft, #dbeafe);color:var(--cw-brand-text, #1d4ed8);font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif));font-weight:700}
.cw-timeline__text{margin:0;color:var(--cw-text-muted, #64748b);font:var(--cw-type-body-small, 400 14px/22px var(--cw-font, system-ui, sans-serif))}
@container (max-width:900px){
	.cw-howto--n4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container (max-width:660px){
	.cw-timeline{grid-template-columns:1fr}
	.cw-timeline__item{padding-block:0 26px;padding-inline:40px 0}
	.cw-timeline__item::before{inset-block:10px -4px;inset-inline:8px auto;inline-size:2px;block-size:auto}
	.cw-timeline__item:last-child::before{display:none}
	.cw-timeline__dot{inset-block-start:2px}
	.cw-howto,.cw-howto--n4{grid-template-columns:1fr}
	.cw-infoTable th{inline-size:auto;white-space:normal}
}

/* ---------- search type-ahead ---------- */
form[data-cw-suggest]{position:relative}
.cw-suggest{position:absolute;inset-inline:0;inset-block-start:calc(100% + 8px);z-index:80;margin:0;padding:6px;max-block-size:min(70vh,440px);overflow:auto;list-style:none;text-align:start;background:var(--cw-bg-card, #ffffff);border:1px solid var(--cw-border-default, #e2e8f0);border-radius:var(--cw-radius-lg, 20px);box-shadow:var(--cw-shadow-float, 0 12px 28px -6px rgba(15,23,42,.10), 0 2px 6px rgba(15,23,42,.05))}
.cw-suggest[hidden]{display:none}
.cw-suggest__opt{margin:0;padding:0;border-radius:var(--cw-radius-md, 14px)}
.cw-suggest__opt a{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:var(--cw-radius-md, 14px);color:var(--cw-text-heading, #0f172a);text-decoration:none}
.cw-suggest__opt[aria-selected="true"] a,.cw-suggest__opt a:hover{background:var(--cw-bg-subtle, #f1f5f9)}
.cw-suggest__logo{flex:none;inline-size:32px;block-size:32px;border-radius:var(--cw-radius-sm, 10px);object-fit:contain;background:var(--cw-bg-card, #ffffff)}
.cw-suggest__icon{display:grid;place-items:center;flex:none;inline-size:32px;block-size:32px;border-radius:var(--cw-radius-sm, 10px);background:var(--cw-bg-subtle, #f1f5f9);color:var(--cw-icon-default, #475569)}
.cw-suggest__text{display:grid;flex:1;min-inline-size:0}
.cw-suggest__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif))}
.cw-suggest__meta{color:var(--cw-text-muted, #64748b);font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif))}
.cw-suggest__kind{flex:none;padding:2px 8px;border-radius:var(--cw-radius-full, 999px);background:var(--cw-bg-subtle, #f1f5f9);color:var(--cw-text-muted, #64748b);font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif))}
@media (prefers-reduced-motion:reduce){.cw-postTile{transition:none}}

@container (min-width:421px) and (max-width:900px){.cw-counters__list--n3{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* =====================================================================
   Motion and libraries (Wave 2.6): Swiper on the slider and the rails, scroll reveal, copy tick, button ripple,
   skeleton loaders and the tooltip theme. Everything below only applies when components.js starts it, and
   components.js starts nothing when the visitor prefers reduced motion (unless the owner overrode that in
   Customizer → Motion: then <body> gets .cw-motion-always).
   ===================================================================== */

/* ---------- Swiper takes over the scroll-snap markup (no size changes: the classes only move the track by transform) ---------- */
.cw-slider.is-swiper .cw-slider__track{overflow:visible;scroll-snap-type:none}
.cw-slider.is-swiper .cw-slide{scroll-snap-align:none}
.cw-slider.is-swiper .cw-slider__dot.is-active::after{inline-size:22px;background:#fff}
.cw-slider.is-swiper.cw-slider--coverflow{overflow:hidden;perspective:1200px}
.cw-slider__nav.is-disabled,.cw-rail__nav.is-disabled{opacity:.35;cursor:default;transform:none}
.cw-rail__nav.is-locked{display:none!important}
.cw-rail.is-swiper .cw-rail__viewport{padding-inline:2px}
.cw-rail.is-swiper .cw-rail__track{overflow:visible;scroll-snap-type:none;gap:0;padding-inline:0}
.cw-rail.is-swiper .cw-rail__item{scroll-snap-align:none}
.cw-rail.is-swiper .cw-rail__dot.is-active::before{inline-size:22px;border-radius:var(--cw-radius-full, 999px);background:var(--cw-brand-default, #2563eb)}
.cw-slider .swiper-notification,.cw-rail .swiper-notification{position:absolute}

/* ---------- Scroll reveal: 24px up and fade in, once; --cw-rv is the position in the grid (60ms apart) ---------- */
.cw-rv{opacity:0;transform:translateY(24px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--cw-rv,0) * 60ms)}
.cw-rv.is-in{opacity:1;transform:none}

/* ---------- Hover lift on cards (Customizer → Motion; --cw-lift is 0 when it is off) ---------- */
.cw-nolift{--cw-lift:0px}

/* ---------- Copy button: the copy icon morphs into a tick that draws itself ---------- */
.cw-icon.cw-copy__tick{display:none}
[data-copied] .cw-icon.cw-copy__tick{display:inline-block}
[data-copied]>.cw-icon:not(.cw-copy__tick){display:none}
[data-copied] .cw-copy__tick path{stroke-dasharray:1;stroke-dashoffset:1;animation:cw-draw .38s ease-out .05s forwards}
.cw-codeTicket[data-state="copied"]{animation:cw-pop .4s ease-out}
@keyframes cw-draw{to{stroke-dashoffset:0}}
@keyframes cw-pop{35%{transform:scale(1.015)}}

/* ---------- Button ripple: components.js sets the press point (--cw-rx / --cw-ry) and adds .is-rippling for one animation ---------- */
.cw-btn{position:relative;overflow:hidden}
.cw-btn::after{content:"";position:absolute;inset-block-start:var(--cw-ry,50%);left:var(--cw-rx,50%);inline-size:max(160%,120px);aspect-ratio:1;border-radius:50%;background:currentColor;opacity:0;scale:0;translate:-50% -50%;pointer-events:none}
.cw-btn.is-rippling::after{animation:cw-ripple .55s ease-out}
@keyframes cw-ripple{from{opacity:.22;scale:0}to{opacity:0;scale:1}}

/* ---------- Skeleton loaders: a shimmer where content is on its way (load more, type-ahead, Customizer refresh) ---------- */
.cw-skel{display:block;border-radius:var(--cw-radius-sm, 10px);background:linear-gradient(100deg,var(--cw-bg-subtle, #f1f5f9) 30%,var(--cw-bg-card, #ffffff) 50%,var(--cw-bg-subtle, #f1f5f9) 70%) 0 0/300% 100%;animation:cw-shimmer 1.3s linear infinite}
.cw-skel--line{block-size:12px}
.cw-skel--media{block-size:140px;border-radius:var(--cw-radius-md, 14px)}
.cw-skel--title{block-size:18px;inline-size:60%}
.cw-skel--logo{inline-size:44px;block-size:44px;border-radius:var(--cw-radius-md, 14px)}
.cw-skelCard{display:grid;gap:12px;padding:16px;background:var(--cw-bg-card, #ffffff);border:1px solid var(--cw-border-default, #e2e8f0);border-radius:var(--cw-radius-lg, 20px);box-shadow:var(--cw-shadow-card, 0 1px 2px rgba(15,23,42,.06), 0 4px 12px -2px rgba(15,23,42,.06))}
.cw-skelCard__head{display:flex;align-items:center;gap:12px}
.cw-skelCard__head .cw-skel--title{flex:1}
.cw-skelCard .cw-skel--ticket{block-size:52px;border-radius:var(--cw-radius-md, 14px)}
.cw-skelRow{display:flex;align-items:center;gap:12px;padding:8px 10px}
.cw-skelRow .cw-skel--logo{inline-size:32px;block-size:32px;border-radius:var(--cw-radius-sm, 10px)}
.cw-skelRow .cw-skel--line{flex:1}
@keyframes cw-shimmer{to{background-position:-300% 0}}

/* ---------- Tooltips (Tippy.js): one dark bubble in both colour modes ---------- */
[data-cw-tip]{cursor:help}
.tippy-box[data-theme~="cw"]{background:var(--cw-bg-ink, #0f172a);color:var(--cw-p-white-1000, #ffffff);border-radius:var(--cw-radius-sm, 10px);box-shadow:var(--cw-shadow-float, 0 12px 28px -6px rgba(15,23,42,.10), 0 2px 6px rgba(15,23,42,.05));font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif));font-size:13px;line-height:1.55;text-align:start}
.tippy-box[data-theme~="cw"] .tippy-content{padding:8px 12px}
.tippy-box[data-theme~="cw"]>.tippy-arrow{color:var(--cw-bg-ink, #0f172a)}

/* ---------- Reduced motion: nothing above runs from JS, and the CSS pieces stand still (unless the owner overrode it) ---------- */
@media (prefers-reduced-motion:reduce){
	body:not(.cw-motion-always) .cw-skel{animation:none}
	body:not(.cw-motion-always) [data-copied] .cw-copy__tick path{animation:none;stroke-dashoffset:0}
	body:not(.cw-motion-always) .cw-codeTicket[data-state="copied"]{animation:none}
	body:not(.cw-motion-always) .cw-btn.is-rippling::after{animation:none}
	body:not(.cw-motion-always) .cw-rv{opacity:1;transform:none;transition:none}
}

/* ---------- Wave 3: phone rails, bottom sheets, the code sheet, the install banner ---------- */
/* Swipeable rows (up to 600 px): the same markup as the grid becomes a scroll-snap row, the next card peeking in, with a «See all» card at the end.
   Tablets and desktops keep the grid; the «See all» card is `hidden` until then. */
@media (max-width:600px){
	.cw-mrail{display:flex;gap:var(--cw-gap,12px);margin-inline:-16px;padding:4px 16px 14px;list-style:none;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:16px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
	.cw-mrail::-webkit-scrollbar{display:none}
	.cw-mrail>*{flex:0 0 84%;min-inline-size:0;scroll-snap-align:start}
	.cw-mrail.cw-storeGrid>*,.cw-mrail.cw-catTiles>*{flex-basis:44%}
	.cw-mrail.cw-catCircles>*{flex-basis:27%}
	.cw-mrail>.cw-seeAll{display:flex}
}
.cw-seeAll__link{display:grid;place-items:center;align-content:center;gap:10px;inline-size:100%;min-block-size:132px;padding:16px;border:1.5px dashed var(--cw-border-brand, #2563eb);border-radius:var(--cw-radius-lg, 20px);background:var(--cw-brand-soft, #dbeafe);color:var(--cw-brand-text, #1d4ed8);text-align:center;font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif))}
.cw-seeAll__icon{display:grid;place-items:center;inline-size:48px;block-size:48px;border-radius:50%;background:var(--cw-bg-card, #ffffff)}

/* Bottom sheets and full-screen layers (assets/js/sheet.js). The panel slides up from the bottom edge; on wide screens it is a centred card. */
html.cw-lock,html.cw-lock body{overflow:hidden}
.cw-sheet{position:fixed;inset:0;z-index:300;display:flex;align-items:flex-end;justify-content:center}
.cw-sheet[hidden]{display:none}
.cw-sheet__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.5);opacity:0;transition:opacity .25s}
.cw-sheet.is-open .cw-sheet__backdrop{opacity:1}
.cw-sheet__panel{position:relative;box-sizing:border-box;inline-size:100%;max-inline-size:560px;max-block-size:90vh;max-block-size:90dvh;overflow:auto;overscroll-behavior:contain;padding:0 20px;padding-block-end:calc(20px + env(safe-area-inset-bottom, 0px));border-radius:var(--cw-radius-xl, 28px) var(--cw-radius-xl, 28px) 0 0;background:var(--cw-bg-card, #ffffff);color:var(--cw-text-body, #334155);box-shadow:var(--cw-shadow-float, 0 12px 28px -6px rgba(15,23,42,.10), 0 2px 6px rgba(15,23,42,.05));transform:translateY(100%);transition:transform .28s cubic-bezier(.2,.8,.2,1);outline:0}
.cw-sheet.is-open .cw-sheet__panel{transform:none}
.cw-sheet__grab{display:grid;place-items:center;padding-block:10px 12px;touch-action:none;cursor:grab}
.cw-sheet__handle{inline-size:44px;block-size:5px;border-radius:var(--cw-radius-full, 999px);background:var(--cw-p-slate-300, #cbd5e1)}
.cw-sheet__x{position:absolute;inset-block-start:10px;inset-inline-end:12px;display:grid;place-items:center;inline-size:36px;block-size:36px;padding:0;border:0;border-radius:var(--cw-radius-full, 999px);background:var(--cw-bg-subtle, #f1f5f9);color:var(--cw-text-heading, #0f172a);font-size:24px;line-height:1;cursor:pointer}
.cw-sheet__title{margin:0 0 12px;font:var(--cw-type-heading-h3, 700 24px/32px var(--cw-font, system-ui, sans-serif));font-size:20px;line-height:28px;color:var(--cw-text-heading, #0f172a)}
@media (min-width:761px){
	.cw-sheet{align-items:center}
	.cw-sheet__panel{border-radius:var(--cw-radius-xl, 28px);transform:translateY(24px);opacity:0;transition:transform .25s,opacity .25s}
	.cw-sheet.is-open .cw-sheet__panel{opacity:1}
}
@media (prefers-reduced-motion:reduce){
	body:not(.cw-motion-always) .cw-sheet__panel,body:not(.cw-motion-always) .cw-sheet__backdrop{transition:none}
}

/* The code sheet */
.cw-codeSheet [hidden]{display:none!important}
.cw-codeSheet__store{display:flex;align-items:center;gap:10px;padding-inline-end:44px;min-block-size:40px}
.cw-codeSheet__logo{display:inline-flex}
.cw-codeSheet__logo .cw-storeLogo{--cw-logo-size:40px;border-radius:var(--cw-radius-sm, 10px)}
.cw-codeSheet__storeName{font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-muted, #64748b)}
.cw-codeSheet__title{margin:6px 0 14px;font:var(--cw-type-heading-h3, 700 24px/32px var(--cw-font, system-ui, sans-serif));font-size:20px;line-height:28px;color:var(--cw-text-heading, #0f172a)}
.cw-codeTicket--sheet{flex-direction:column;align-items:stretch;justify-content:center;gap:14px;padding:18px 16px 16px;text-align:center}
.cw-codeTicket--sheet .cw-codeTicket__code{font:var(--cw-type-code-large, 700 28px/34px var(--cw-font, system-ui, sans-serif));letter-spacing:.1em;overflow-wrap:anywhere}
.cw-codeTicket--sheet .cw-sheet__main{min-block-size:52px;font-size:16px;inline-size:100%}
.cw-sheet__main .cw-reveal__eye,.cw-sheet__main.cw-reveal .cw-sheet__copyIcon{display:none}
.cw-sheet__main.cw-reveal .cw-reveal__eye{display:inline-block}
.cw-codeSheet__hint{margin:10px 0 0;text-align:center;font:var(--cw-type-body-small, 400 14px/22px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-muted, #64748b)}
.cw-codeSheet__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-block-start:14px}
.cw-codeSheet__actions .cw-btn{inline-size:100%}
.cw-codeSheet__actions [data-cs-open][hidden]+[data-cs-share]{grid-column:1/-1}
.cw-codeSheet__status{min-block-size:0;margin:8px 0 0;text-align:center;font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif));color:var(--cw-success-default, #15803d)}
.cw-codeSheet__status:empty{display:none}
.cw-codeSheet__rate{margin:14px 0 0;text-align:center;font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-heading, #0f172a)}
.cw-codeSheet .cw-vote{justify-content:center;gap:10px;margin-block-start:10px}
.cw-codeSheet .cw-vote__btn{inline-size:44px;block-size:44px}
.cw-codeSheet__meta{margin:14px 0 0;padding-block-start:12px;border-block-start:1px solid var(--cw-border-hairline, #f1f5f9);text-align:center;font:var(--cw-type-body-small, 400 14px/22px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-muted, #64748b)}

/* «Add to home screen» banner (assets/js/pwa.js) */
.cw-install{position:fixed;inset-inline:12px;inset-block-end:calc(var(--cw-mbar-h, 0px) + 12px + env(safe-area-inset-bottom, 0px));z-index:95;box-sizing:border-box;display:flex;align-items:center;gap:12px;max-inline-size:520px;margin-inline:auto;padding:12px 8px 12px 14px;padding-inline:14px 8px;background:var(--cw-bg-card, #ffffff);border:1px solid var(--cw-border-default, #e2e8f0);border-radius:var(--cw-radius-lg, 20px);box-shadow:var(--cw-shadow-float, 0 12px 28px -6px rgba(15,23,42,.10), 0 2px 6px rgba(15,23,42,.05))}
.cw-install__icon{flex:none;border-radius:var(--cw-radius-sm, 10px)}
.cw-install__text{display:grid;flex:1;min-inline-size:0;gap:2px}
.cw-install__text strong{font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-heading, #0f172a)}
.cw-install__text span{font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-muted, #64748b)}
.cw-install__x{flex:none;display:grid;place-items:center;inline-size:36px;block-size:36px;padding:0;border:0;border-radius:var(--cw-radius-full, 999px);background:transparent;color:var(--cw-text-muted, #64748b);font-size:22px;line-height:1;cursor:pointer}
@media (min-width:761px){.cw-install{inset-inline:auto 16px;inset-block-end:16px;margin-inline:0}}

/* ============================================================ Country switching (Wave 4) */
.cw-flag{display:inline-block;flex:none;font-size:18px;line-height:1}
.cw-flag--chip{min-inline-size:30px;padding:3px 6px;border:1px solid var(--cw-border-default, #e2e8f0);border-radius:var(--cw-radius-xs, 6px);background:var(--cw-bg-subtle, #f1f5f9);color:var(--cw-text-body, #334155);font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif));font-weight:700;letter-spacing:.04em}

/* Switcher: a button that opens a searchable list (a popover, or the theme's bottom sheet on phones). */
.cw-cs{position:relative}
.cw-cs__btn{list-style:none;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:var(--cw-radius-full, 999px);background:var(--cw-bg-subtle, #f1f5f9);color:var(--cw-text-heading, #0f172a);font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));cursor:pointer}
.cw-cs__btn::-webkit-details-marker{display:none}
.cw-cs__btn .cw-flag{font-size:17px}
.cw-cs__cur{color:var(--cw-text-body, #334155);font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif))}
.cw-cs__arrow{color:var(--cw-text-muted, #64748b)}
.cw-cs[open] .cw-cs__arrow{transform:rotate(180deg)}
.cw-cs__panel{position:absolute;inset-block-start:calc(100% + 8px);inset-inline-end:0;z-index:70;inline-size:min(340px,calc(100vw - 16px));overflow:hidden;background:var(--cw-bg-card, #ffffff);border:1px solid var(--cw-border-default, #e2e8f0);border-radius:var(--cw-radius-lg, 20px);box-shadow:var(--cw-shadow-float, 0 12px 28px -6px rgba(15,23,42,.10), 0 2px 6px rgba(15,23,42,.05))}
.cw-cs__panel.is-fui{inset:auto}
@media (prefers-reduced-motion:no-preference){.cw-cs[open] .cw-cs__panel{animation:cw-cs-in .16s ease-out}}
body.cw-motion-always .cw-cs[open] .cw-cs__panel{animation:cw-cs-in .16s ease-out}
@keyframes cw-cs-in{from{opacity:0;transform:translateY(-4px)}}
.cw-cs--inline .cw-cs-list{border:1px solid var(--cw-border-default, #e2e8f0);border-radius:var(--cw-radius-lg, 20px);background:var(--cw-bg-card, #ffffff);overflow:hidden}
.cw-cs-list__search{display:flex;align-items:center;gap:8px;padding:10px 14px;border-block-end:1px solid var(--cw-border-hairline, #f1f5f9);color:var(--cw-text-muted, #64748b)}
.cw-cs-list__search:focus-within{box-shadow:inset 0 -2px 0 var(--cw-brand-default, #2563eb)}
.cw-cs-list__search[hidden]{display:none}
.cw-cs-list__input{flex:1;min-inline-size:0;padding:4px 0;border:0;outline:0;background:transparent;box-shadow:none;color:var(--cw-text-heading, #0f172a);font:var(--cw-type-body-base, 400 16px/28px var(--cw-font, system-ui, sans-serif))}
.cw-cs-list__input:focus,.cw-cs-list__input:focus-visible{outline:0;box-shadow:none}
.cw-cs-list__input::placeholder{color:var(--cw-text-placeholder, #94a3b8)}
.cw-cs-list__input::-webkit-search-cancel-button{cursor:pointer}
.cw-cs-list__box{max-block-size:min(380px,62vh);overflow:auto;overscroll-behavior:contain;padding:6px}
.cw-cs-group[hidden],.cw-cs-opt[hidden],.cw-cs-list__empty[hidden]{display:none}
.cw-cs-group + .cw-cs-group{margin-block-start:4px}
.cw-cs-group__title{padding:8px 10px 4px;color:var(--cw-text-muted, #64748b);font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif));font-weight:700}
.cw-cs-opt{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--cw-radius-md, 14px);color:var(--cw-text-heading, #0f172a);font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));text-decoration:none}
.cw-cs-opt:hover,.cw-cs-opt.is-active{background:var(--cw-bg-tint, #eff6ff)}
.cw-cs-opt.is-current{background:var(--cw-brand-soft, #dbeafe);color:var(--cw-brand-text, #1d4ed8)}
.cw-cs-opt:focus-visible{outline:2px solid var(--cw-brand-default, #2563eb);outline-offset:-2px}
.cw-cs-opt .cw-flag{inline-size:26px;font-size:20px;text-align:center}
.cw-cs-opt .cw-flag--chip{inline-size:auto;min-inline-size:34px;font-size:11px}
.cw-cs-opt__txt{display:grid;flex:1;min-inline-size:0}
.cw-cs-opt__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cw-cs-opt__native{unicode-bidi:isolate;overflow:hidden;color:var(--cw-text-muted, #64748b);font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif));text-overflow:ellipsis;white-space:nowrap}
.cw-cs-opt__cur{color:var(--cw-text-muted, #64748b);font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif))}
.cw-cs-opt__tick{display:inline-flex;color:var(--cw-icon-brand, #2563eb)}
.cw-cs-list__empty{margin:0;padding:16px 10px;color:var(--cw-text-muted, #64748b);font:var(--cw-type-body-small, 400 14px/22px var(--cw-font, system-ui, sans-serif));text-align:center}
.cw-sheet .cw-cs-list__box{max-block-size:none;padding-inline:0}
.cw-sheet .cw-cs-list__search{position:sticky;inset-block-start:0;z-index:1;margin-inline:-20px;padding-inline:20px;background:var(--cw-bg-card, #ffffff)}
.cw-sheet .cw-cs-opt{padding-block:11px}

/* Suggestion bar: floats over the top of the page (no layout shift), shown by assets/js/country.js on the first visit only. */
.cw-csuggest{position:relative;z-index:45;block-size:0}
.cw-csuggest[hidden]{display:none}
.cw-csuggest__bar{position:absolute;inset-inline:0;inset-block-start:0;background:var(--cw-brand-soft, #dbeafe);border-block-end:1px solid var(--cw-border-brand, #2563eb);box-shadow:var(--cw-shadow-float, 0 12px 28px -6px rgba(15,23,42,.10), 0 2px 6px rgba(15,23,42,.05));opacity:0;transform:translateY(-8px)}
.cw-csuggest.is-in .cw-csuggest__bar{opacity:1;transform:none;transition:opacity .22s,transform .22s}
.cw-csuggest__inner{display:flex;align-items:center;gap:12px;padding-block:10px;padding-inline-end:36px;position:relative}
.cw-csuggest__flag{font-size:22px;line-height:1}
.cw-csuggest__msg{flex:1;min-inline-size:0;margin:0;color:var(--cw-text-heading, #0f172a);font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif))}
.cw-csuggest__actions{display:flex;gap:8px;flex:none}
.cw-csuggest__x{position:absolute;inset-block-start:50%;inset-inline-end:0;display:grid;place-items:center;inline-size:32px;block-size:32px;padding:0;border:0;border-radius:var(--cw-radius-full, 999px);background:transparent;color:var(--cw-text-muted, #64748b);font-size:22px;line-height:1;cursor:pointer;transform:translateY(-50%)}
.cw-csuggest__x:hover{background:var(--cw-bg-subtle, #f1f5f9);color:var(--cw-text-heading, #0f172a)}
@media (max-width:600px){
	.cw-csuggest__inner{flex-wrap:wrap;gap:8px 10px;padding-inline-end:40px}
	.cw-csuggest__msg{flex-basis:calc(100% - 40px)}
	.cw-csuggest__actions{flex-basis:100%}
	.cw-csuggest__actions .cw-btn{flex:1}
}
@media (prefers-reduced-motion:reduce){body:not(.cw-motion-always) .cw-csuggest__bar{transition:none!important}}

/* «Available in» badges (store and coupon cards) and the «My country only» chip. */
.cw-cbadges{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px}
.cw-cbadge{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border:1px solid var(--cw-border-default, #e2e8f0);border-radius:var(--cw-radius-full, 999px);background:var(--cw-bg-card, #ffffff);color:var(--cw-text-muted, #64748b);font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif));line-height:16px}
.cw-cbadge .cw-flag{font-size:14px}
.cw-cbadge .cw-flag--chip{min-inline-size:0;padding:0;border:0;background:transparent;font-size:11px}
.cw-cbadge__iso{font-size:11px;font-weight:700;letter-spacing:.03em}
.cw-cbadge.is-here{border-color:var(--cw-border-brand, #2563eb);background:var(--cw-brand-soft, #dbeafe);color:var(--cw-brand-text, #1d4ed8)}
.cw-storeCard__avail{display:flex;justify-content:center;margin-block-start:2px}
.cw-storeCard[hidden],.cw-storeRow[hidden]{display:none!important}
.cw-ccFilter{margin:12px 0 14px}
.cw-ccFilter__chip{gap:8px}
.cw-ccFilter__chip .cw-flag{font-size:16px}
.cw-ccFilter__chip[aria-pressed="true"]{background:var(--cw-text-heading, #0f172a);color:var(--cw-text-inverse, #ffffff);border-color:var(--cw-text-heading, #0f172a)}

/* No codes for this country. */
.cw-cEmpty{display:grid;gap:16px;margin-block:24px;padding:24px;background:var(--cw-bg-card, #ffffff);border:1px solid var(--cw-border-default, #e2e8f0);border-radius:var(--cw-radius-lg, 20px);box-shadow:var(--cw-shadow-card, 0 1px 2px rgba(15,23,42,.06), 0 4px 12px -2px rgba(15,23,42,.06))}
.cw-cEmpty--inline{margin-block:12px;box-shadow:none}
.cw-cEmpty__head{display:flex;align-items:flex-start;gap:14px}
.cw-cEmpty__icon{display:grid;place-items:center;flex:none;inline-size:44px;block-size:44px;border-radius:var(--cw-radius-md, 14px);background:var(--cw-brand-soft, #dbeafe);color:var(--cw-icon-brand, #2563eb)}
.cw-cEmpty__title{display:flex;align-items:center;gap:8px;margin:0 0 4px}
.cw-cEmpty__lede{margin:0;color:var(--cw-text-muted, #64748b);font:var(--cw-type-body-base, 400 16px/28px var(--cw-font, system-ui, sans-serif))}
.cw-cEmpty__sub{margin:4px 0 0;color:var(--cw-text-heading, #0f172a);font:var(--cw-type-heading-h4, 500 18px/26px var(--cw-font, system-ui, sans-serif))}
.cw-cEmpty__cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:14px}
.cw-cEmpty__group{display:grid;gap:8px}
.cw-cEmpty__from{display:flex;align-items:center;gap:6px;margin:0;color:var(--cw-text-muted, #64748b);font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif))}
.cw-cEmpty__from .cw-flag{font-size:16px}
.cw-cEmpty__near{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.cw-cEmpty .cw-container{max-inline-size:none;padding-inline:0}
.cw-cEmpty .cw-band{padding-block:0;margin:0}
.cw-cEmpty__n{color:var(--cw-text-muted, #64748b);font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif))}

/* ---------- Wave 5: accounts, alerts, ratings, used counter, cashback ---------- */
/* sign-in form (header panel, bottom sheet, account page) */
.cw-signin{display:grid;gap:14px;min-inline-size:0}
.cw-signin__title{margin:0;font:var(--cw-type-heading-h4, 500 18px/26px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-heading, #0f172a)}
.cw-signin__text{margin:0;color:var(--cw-text-body, #334155);font:var(--cw-type-body-small, 400 14px/22px var(--cw-font, system-ui, sans-serif))}
.cw-signin__form{position:relative;display:grid;gap:10px;min-inline-size:0}
.cw-signin__label{font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-heading, #0f172a)}
.cw-signin__row{display:flex;gap:8px;align-items:stretch}
.cw-signin__row input{flex:1;min-inline-size:0;min-block-size:44px;padding:10px 14px;border:1px solid var(--cw-border-default, #e2e8f0);border-radius:var(--cw-radius-md, 14px);background:var(--cw-bg-card, #ffffff);color:var(--cw-text-heading, #0f172a);font:var(--cw-type-body-base, 400 16px/28px var(--cw-font, system-ui, sans-serif));text-align:start}
.cw-signin__row input::placeholder{color:var(--cw-text-placeholder, #94a3b8)}
.cw-signin__row input:focus{outline:none;border-color:var(--cw-border-brand, #2563eb);box-shadow:0 0 0 3px var(--cw-brand-soft, #dbeafe)}
.cw-signin__row .cw-btn{flex:none}
.cw-msRow .cw-alert{flex:none;min-inline-size:120px}
.cw-signin__check{display:flex;gap:8px;align-items:flex-start;color:var(--cw-text-body, #334155);font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));cursor:pointer}
.cw-signin__check input{flex:none;inline-size:18px;block-size:18px;margin:2px 0 0;accent-color:var(--cw-brand-default, #2563eb)}
.cw-signin__privacy{display:flex;gap:8px;align-items:flex-start;margin:0;color:var(--cw-text-muted, #64748b);font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif))}
.cw-signin__privacy .cw-icon{flex:none;color:var(--cw-icon-brand, #2563eb)}
.cw-signin__noscript{margin:0;color:var(--cw-danger-default, #dc2626);font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif))}
.cw-signin.is-sent .cw-signin__row,.cw-signin .is-sent .cw-signin__row{opacity:.6}
.cw-signin__providers{display:grid;gap:8px}
.cw-signin__or{display:flex;align-items:center;gap:12px;margin:0;color:var(--cw-text-muted, #64748b);font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif))}
.cw-signin__or::before,.cw-signin__or::after{content:"";flex:1;block-size:1px;background:var(--cw-border-default, #e2e8f0)}
.cw-signin__who{display:flex;align-items:center;gap:8px;margin:0 0 8px;min-inline-size:0;color:var(--cw-text-body, #334155);font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif))}
.cw-signin__who .cw-icon{flex:none;color:var(--cw-icon-brand, #2563eb)}
.cw-signin__who span{min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cw-signin__acts{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.cw-signin--compact .cw-signin__row{flex-direction:column}
.cw-signin--compact .cw-signin__row .cw-btn{inline-size:100%}
.cw-signinSheet .cw-sheet__panel{max-inline-size:460px}

/* buttons used by the account pages */
.cw-btn--danger{background:var(--cw-danger-default, #dc2626);color:var(--cw-text-inverse, #ffffff)}
.cw-btn--danger:hover{background:var(--cw-p-red-700, #b91c1c);color:var(--cw-text-inverse, #ffffff)}
.cw-btn--danger-quiet{background:var(--cw-bg-card, #ffffff);color:var(--cw-danger-default, #dc2626);border-color:var(--cw-border-default, #e2e8f0)}
.cw-btn--danger-quiet:hover{border-color:var(--cw-danger-default, #dc2626);color:var(--cw-danger-default, #dc2626)}
.cw-alert.is-on,.cw-alert[aria-pressed="true"]{border-color:var(--cw-border-brand, #2563eb);background:var(--cw-bg-tint, #eff6ff);color:var(--cw-brand-text, #1d4ed8)}

/* the account page */
.cw-account{display:grid;gap:20px;min-inline-size:0}
.cw-account__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;align-items:start}
.cw-account__card{display:grid;gap:14px;min-inline-size:0;padding:24px;background:var(--cw-bg-card, #ffffff);border:1px solid var(--cw-border-default, #e2e8f0);border-radius:var(--cw-radius-lg, 20px);box-shadow:var(--cw-shadow-card, 0 1px 2px rgba(15,23,42,.06), 0 4px 12px -2px rgba(15,23,42,.06))}
.cw-account__h{display:flex;align-items:center;gap:10px;margin:0;color:var(--cw-text-heading, #0f172a);font:var(--cw-type-heading-h4, 500 18px/26px var(--cw-font, system-ui, sans-serif))}
.cw-account__h .cw-icon{flex:none;color:var(--cw-icon-brand, #2563eb)}
.cw-account__sub,.cw-account__empty{margin:0;color:var(--cw-text-body, #334155);font:var(--cw-type-body-small, 400 14px/22px var(--cw-font, system-ui, sans-serif))}
.cw-account__empty{padding:14px 16px;border-radius:var(--cw-radius-md, 14px);background:var(--cw-bg-tint, #eff6ff)}
.cw-account__notice{margin:0;padding:12px 16px;border-radius:var(--cw-radius-md, 14px);background:var(--cw-success-tint, #dcfce7);color:var(--cw-success-default, #15803d);font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif))}
.cw-account__notice[data-tone="error"]{background:var(--cw-danger-tint, #fee2e2);color:var(--cw-danger-default, #dc2626)}
.cw-account__confirm{max-inline-size:560px}
.cw-account__confirm form{display:flex;flex-wrap:wrap;gap:10px}
.cw-account__danger{border-color:var(--cw-danger-default, #dc2626)}
.cw-account__who{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:20px 24px;background:var(--cw-bg-card, #ffffff);border:1px solid var(--cw-border-default, #e2e8f0);border-radius:var(--cw-radius-lg, 20px);box-shadow:var(--cw-shadow-card, 0 1px 2px rgba(15,23,42,.06), 0 4px 12px -2px rgba(15,23,42,.06))}
.cw-account__avatar{display:grid;place-items:center;flex:none;inline-size:52px;block-size:52px;border-radius:50%;background:var(--cw-brand-default, #2563eb);color:var(--cw-brand-on-brand, #ffffff);font:var(--cw-type-heading-h3, 700 24px/32px var(--cw-font, system-ui, sans-serif))}
.cw-account__email{margin:0;color:var(--cw-text-heading, #0f172a);font:var(--cw-type-heading-h4, 500 18px/26px var(--cw-font, system-ui, sans-serif));overflow-wrap:anywhere}
.cw-account__since{margin:0;color:var(--cw-text-muted, #64748b);font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif))}
.cw-account__signout{margin-inline-start:auto}
.cw-account__list{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.cw-account__list li{display:flex;gap:12px;align-items:flex-start;color:var(--cw-text-body, #334155);font:var(--cw-type-body-small, 400 14px/22px var(--cw-font, system-ui, sans-serif))}
.cw-account__list .cw-icon{flex:none;color:var(--cw-icon-brand, #2563eb)}
.cw-account__chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.cw-account__chips li{display:inline-flex;align-items:center;gap:4px}
.cw-account__chips .cw-alert{padding:7px 12px;line-height:1}
.cw-account__switch{display:flex;gap:10px;align-items:center;color:var(--cw-text-heading, #0f172a);font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));cursor:pointer}
.cw-account__switch input{inline-size:20px;block-size:20px;accent-color:var(--cw-brand-default, #2563eb)}
.cw-account__acts{display:flex;flex-wrap:wrap;gap:10px;margin:0}

/* «My stores» rows: header panel, bottom sheet, account page, the home block */
.cw-msList{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.cw-msRow{display:flex;align-items:center;gap:8px;min-inline-size:0}
.cw-msRow .cw-msRow__link{display:flex;flex:1;align-items:center;gap:12px;min-inline-size:0;padding:10px 12px;border:1px solid var(--cw-border-hairline, #f1f5f9);border-radius:var(--cw-radius-md, 14px);background:var(--cw-bg-card, #ffffff);color:var(--cw-text-heading, #0f172a);text-decoration:none}
.cw-msRow .cw-msRow__link:hover{border-color:var(--cw-border-brand, #2563eb);background:var(--cw-bg-tint, #eff6ff)}
.cw-msRow__logo{display:grid;place-items:center;flex:none;inline-size:36px;block-size:36px;border-radius:var(--cw-radius-sm, 10px);background:var(--cw-bg-subtle, #f1f5f9);color:var(--cw-text-heading, #0f172a);font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));font-weight:700;overflow:hidden}
.cw-msRow__logo img{inline-size:100%;block-size:100%;object-fit:contain}
.cw-msRow__text{display:grid;min-inline-size:0}
.cw-msRow__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-heading, #0f172a)}
.cw-msRow__best{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-muted, #64748b)}
.cw-msRow__new{display:inline-block;margin-inline-start:8px;padding:1px 8px;border-radius:var(--cw-radius-full, 999px);background:var(--cw-brand-default, #2563eb);color:var(--cw-brand-on-brand, #ffffff);font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif));vertical-align:1px}
.cw-msRow__x{flex:none;display:grid;place-items:center;inline-size:32px;block-size:32px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--cw-text-muted, #64748b);font-size:20px;line-height:1;cursor:pointer}
.cw-msRow__x:hover{background:var(--cw-danger-tint, #fee2e2);color:var(--cw-danger-default, #dc2626)}
.cw-myFeed__list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.cw-myFeed[hidden]{display:none}

/* store rating */
.cw-rate{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-inline-size:0}
.cw-rate__stars{display:inline-flex;gap:0}
.cw-rate__star{display:grid;place-items:center;inline-size:32px;block-size:32px;padding:0;border:0;border-radius:var(--cw-radius-sm, 10px);background:transparent;color:var(--cw-p-slate-300, #cbd5e1);cursor:pointer;-webkit-tap-highlight-color:transparent}
.cw-rate__svg{inline-size:22px;block-size:22px;fill:none;transition:transform .12s}
.cw-rate__star.is-on,.cw-rate__star.is-hover{color:var(--cw-p-butter-500, #f5c451)}
.cw-rate__star.is-on .cw-rate__svg,.cw-rate__star.is-hover .cw-rate__svg{fill:currentColor}
.cw-rate__star.is-mine{color:var(--cw-brand-default, #2563eb)}
.cw-rate__star:hover .cw-rate__svg{transform:scale(1.12)}
.cw-rate__star:focus-visible{outline:2px solid var(--cw-border-brand, #2563eb);outline-offset:1px}
.cw-rate__avg[hidden]{display:none}
.cw-rate__avg{color:var(--cw-text-heading, #0f172a);font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif))}
.cw-rate__sum{color:var(--cw-text-muted, #64748b);font:var(--cw-type-label-small, 500 12px/16px var(--cw-font, system-ui, sans-serif))}
.cw-rate.is-busy{opacity:.6;pointer-events:none}
.cw-rate--s .cw-rate__star{inline-size:26px;block-size:26px}
.cw-rate--s .cw-rate__svg{inline-size:18px;block-size:18px}
.cw-srating{color:var(--cw-p-amber-700, #b45309);font-weight:700;white-space:nowrap}

/* used counter on the code sheet, cashback offers, toast */
.cw-codeSheet__uses{margin:0;color:var(--cw-p-amber-700, #b45309);font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));text-align:center}
.cw-codeSheet__uses[hidden]{display:none}
.cw-couponCard[data-type="cashback"]{border-color:var(--cw-p-green-200, #bbf7d0);background:linear-gradient(180deg,color-mix(in srgb,var(--cw-success-tint, #dcfce7) 55%,var(--cw-bg-card, #ffffff)),var(--cw-bg-card, #ffffff) 62%)}
.cw-couponCard[data-type="cashback"] .cw-couponCard__deal{background:var(--cw-success-default, #15803d);color:var(--cw-text-inverse, #ffffff)}
.cw-couponCard[data-type="cashback"] .cw-couponCard__deal:hover{background:var(--cw-p-green-600, #16a34a);color:var(--cw-text-inverse, #ffffff)}
.cw-couponCard__discount--cashback{background:var(--cw-success-default, #15803d);color:var(--cw-text-inverse, #ffffff);white-space:nowrap}
.cw-miniCard[data-type="cashback"]{border-color:var(--cw-p-green-200, #bbf7d0)}
.cw-toast{position:fixed;inset-inline:16px;inset-block-end:calc(16px + env(safe-area-inset-bottom,0px));z-index:400;box-sizing:border-box;margin-inline:auto;max-inline-size:420px;padding:12px 18px;border-radius:var(--cw-radius-md, 14px);background:var(--cw-bg-ink, #0f172a);color:var(--cw-text-inverse, #ffffff);font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif));box-shadow:var(--cw-shadow-float, 0 12px 28px -6px rgba(15,23,42,.10), 0 2px 6px rgba(15,23,42,.05));opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .2s,transform .2s}
.cw-toast.is-on{opacity:1;transform:none}
body.cw-hasbar .cw-toast{inset-block-end:calc(var(--cw-mbar-h,60px) + 16px + env(safe-area-inset-bottom,0px))}
@media (max-width:760px){
	.cw-signin__row{flex-direction:column}
	.cw-signin__row .cw-btn{inline-size:100%}
	.cw-msRow{flex-wrap:wrap}
	.cw-msRow .cw-msRow__link{flex-basis:100%}
	.cw-account__grid{grid-template-columns:1fr}
	.cw-account__card{padding:18px}
	.cw-account__signout{margin-inline-start:0;inline-size:100%}
	.cw-myFeed__list{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.cw-toast,.cw-rate__svg{transition:none}}

/* FAQ with groups and a search box (couponat/faq: search, items with a group) */
.cw-faqGroups{display:grid;gap:28px}
.cw-faqGroup{display:grid;gap:12px}
.cw-faqGroup[hidden],.cw-faqList .cw-faq__item[hidden]{display:none}
.cw-faqGroup__title{font:var(--cw-type-heading-h3, 700 24px/32px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-heading, #0f172a)}
.cw-faqSearch{display:flex;align-items:center;gap:12px;padding:0 20px;min-block-size:56px;border:1px solid var(--cw-border-default, #e2e8f0);border-radius:var(--cw-radius-full, 999px);background:var(--cw-bg-card, #ffffff);box-shadow:var(--cw-shadow-card, 0 1px 2px rgba(15,23,42,.06), 0 4px 12px -2px rgba(15,23,42,.06));color:var(--cw-text-muted, #64748b)}
.cw-faqSearch:focus-within{border-color:var(--cw-border-brand, #2563eb);box-shadow:0 0 0 3px rgba(37,99,235,.18)}
.cw-faqSearch input{flex:1;min-inline-size:0;border:0;outline:0;background:transparent;font:var(--cw-type-body-base, 400 16px/28px var(--cw-font, system-ui, sans-serif));color:var(--cw-text-heading, #0f172a)}
.cw-faqSearch__empty{padding:20px;text-align:center;color:var(--cw-text-muted, #64748b)}
.cw-faqSearch__empty[hidden]{display:none}

/* Campaign hero (couponat/campaign-hero): navy band, headline, store, countdown, the store's best code */
.cw-campaign{background:linear-gradient(135deg,var(--cw-p-slate-950, #020617),var(--cw-p-slate-900, #0f172a) 55%,var(--cw-p-blue-900, #1e3a8a));color:var(--cw-p-slate-300, #cbd5e1)}
.cw-campaign__inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:center;padding-block:56px}
.cw-campaign__copy{display:grid;gap:18px;justify-items:start;min-inline-size:0}
.cw-campaign__eyebrow{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--cw-radius-full, 999px);background:rgba(245,196,81,.15);color:var(--cw-p-butter-300, #ffe08a);font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif))}
.cw-campaign__title{color:#fff;font:var(--cw-type-display-h1, 700 44px/52px var(--cw-font, system-ui, sans-serif));font-family:"Thmanyah Serif Display","Thmanyah Serif Display Fallback",var(--cw-font, system-ui, sans-serif);text-wrap:balance}
.cw-campaign__lede{font:var(--cw-type-body-large, 400 18px/32px var(--cw-font, system-ui, sans-serif))}
.cw-campaign__store{display:inline-flex;align-items:center;gap:12px;padding:6px 18px 6px 6px;border-radius:var(--cw-radius-full, 999px);background:rgba(255,255,255,.08);color:#fff;font:var(--cw-type-label-large, 500 16px/24px var(--cw-font, system-ui, sans-serif))}
.cw-campaign__store:hover{background:rgba(255,255,255,.14)}
.cw-campaign__timer{display:grid;gap:10px;justify-items:start;margin-block-start:6px}
.cw-campaign__timerLabel{display:inline-flex;align-items:center;gap:8px;color:var(--cw-p-butter-300, #ffe08a);font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif))}
.cw-campaign__timer .cw-timer{justify-content:flex-start}
.cw-campaign__card{display:grid;gap:14px;padding:28px;border-radius:var(--cw-radius-xl, 28px);background:var(--cw-bg-card, #ffffff);color:var(--cw-text-body, #334155);box-shadow:var(--cw-shadow-float, 0 12px 28px -6px rgba(15,23,42,.10), 0 2px 6px rgba(15,23,42,.05));min-inline-size:0}
.cw-campaign__cardLabel{display:inline-flex;align-items:center;gap:8px;color:var(--cw-text-muted, #64748b);font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif))}
.cw-campaign__discount{justify-self:start;padding:6px 16px;border-radius:var(--cw-radius-md, 14px);background:var(--cw-success-tint, #dcfce7);color:var(--cw-success-default, #15803d);font:var(--cw-type-heading-h3, 700 24px/32px var(--cw-font, system-ui, sans-serif))}
.cw-campaign__offer{color:var(--cw-text-heading, #0f172a);font:var(--cw-type-heading-h3, 700 24px/32px var(--cw-font, system-ui, sans-serif));text-wrap:pretty}
.cw-campaign__rate{display:inline-flex;align-items:center;gap:6px;color:var(--cw-success-default, #15803d);font:var(--cw-type-label-medium, 500 14px/20px var(--cw-font, system-ui, sans-serif))}
@media (max-width:900px){.cw-campaign__inner{grid-template-columns:1fr;gap:28px;padding-block:36px}.cw-campaign__title{font-size:32px;line-height:40px}.cw-campaign__card{padding:22px 18px}}
