/* Gift a massage (Paul's designs, 31 Oct 2026), in the site's own look: Kanit, teal #0E4B4F, lime #B4DE54. Loaded on every
   page after polish.css, because the Massages menu, the hero button, the footer link and the seasonal bar live everywhere. */
:root{--sd-gift-teal:#0e4b4f;--sd-gift-lime:#b4de54;--sd-gift-line:#dfe6df;--sd-gift-soft:#eef5e6}

/* Seasonal bar: normal flow above #site-header, so the sticky header and its height are untouched. */
.sd-gift-banner{display:block;padding:7px 16px;background:var(--sd-gift-teal);color:#fff;font-size:13.5px;line-height:1.4;text-align:center;text-decoration:none}
.sd-gift-banner strong{font-weight:500;text-decoration:underline;text-underline-offset:3px}
.sd-gift-banner:hover strong,.sd-gift-banner:focus-visible strong{color:var(--sd-gift-lime)}
.sd-gift-banner:focus-visible{outline:2px solid var(--sd-gift-lime);outline-offset:-4px}

/* Massages menu: the link goes to the menu page, the small button opens the rows. */
.nav-massages{position:relative;display:inline-flex;align-items:center;gap:2px}
.nav-massages-toggle{display:inline-flex;align-items:center;justify-content:center;width:24px;height:28px;padding:0;border:0;border-radius:8px;background:none;color:inherit;cursor:pointer}
.nav-massages-toggle svg{transition:transform .2s}
.nav-massages.is-open>.nav-massages-toggle svg{transform:rotate(180deg)}
.nav-massages-toggle:focus-visible{outline:2px solid var(--sd-gift-teal);outline-offset:1px}
.nav-massages-panel{display:none;min-width:232px;padding:8px;border:1px solid var(--sd-gift-line);border-radius:16px;background:#fff;box-shadow:0 18px 40px -18px rgba(11,46,45,.35)}
.main-nav .nav-massages-panel a,.server-mobile-menu .nav-massages-panel a{display:flex;align-items:center;min-height:44px;padding:10px 12px;border-radius:10px;color:#223f3d;font-size:14px;font-weight:400;line-height:1.35;white-space:nowrap;text-decoration:none}
.main-nav .nav-massages-panel a:hover,.main-nav .nav-massages-panel a:focus-visible,.server-mobile-menu .nav-massages-panel a:hover{background:var(--sd-gift-soft)}
.main-nav .nav-massages-panel a::after{display:none}
.main-nav .nav-massages-panel a.nav-gift,.server-mobile-menu .nav-massages-panel a.nav-gift{color:var(--sd-gift-teal);font-weight:500}
.nav-massages-rule{display:block;height:1px;margin:6px 8px;background:var(--sd-gift-line)}
.nav-massages.is-open>.nav-massages-panel{display:block}
@media(min-width:801px){
  .main-nav .nav-massages-panel{position:absolute;left:-10px;top:100%;z-index:70;margin-top:6px}
  .main-nav .nav-massages::after{content:"";position:absolute;left:0;right:0;top:100%;height:10px}
  .server-site-header .main-nav .nav-massages:focus-within>.nav-massages-panel{display:block}
}
@media(min-width:801px) and (hover:hover){.main-nav .nav-massages:not(.is-dismissed):hover>.nav-massages-panel{display:block}}
/* Touch: the small arrow and the thin seasonal bar keep their looks but take a full-size tap. */
@media(pointer:coarse){.sd-gift-why-link,.sd-gift-languages a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;justify-content:center}.nav-massages-toggle{position:relative}.nav-massages-toggle::after{content:"";position:absolute;inset:-8px -14px -8px -6px}.sd-gift-banner{min-height:44px;align-items:center}}
.woocommerce-no-js .server-mobile-menu .nav-massages-panel{display:block}
/* Phone menu: an accordion in place. */
@media(max-width:800px){
  .nav-massages{display:grid;grid-template-columns:1fr auto;width:100%}
  .nav-massages>a{min-width:0}
  .nav-massages-toggle{width:44px;height:44px}
  .nav-massages-panel{grid-column:1/-1;min-width:0;padding:0 0 6px 12px;border:0;border-radius:0;background:none;box-shadow:none}
}
html[data-theme=dark] .nav-massages-panel{border-color:rgba(247,247,242,.14);background:#123534}
html[data-theme=dark] .main-nav .nav-massages-panel a,html[data-theme=dark] .server-mobile-menu .nav-massages-panel a{color:#e7f3ee}
html[data-theme=dark] .main-nav .nav-massages-panel a:hover,html[data-theme=dark] .main-nav .nav-massages-panel a:focus-visible{background:rgba(247,247,242,.08)}
html[data-theme=dark] .main-nav .nav-massages-panel a.nav-gift{color:var(--sd-gift-lime)}
html[data-theme=dark] .nav-massages-rule{background:rgba(247,247,242,.14)}

/* Hero button: light glass on the dark clip. */
.sd-gift-hero-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.16);color:#fff;-webkit-backdrop-filter:blur(10px) saturate(150%);backdrop-filter:blur(10px) saturate(150%)}
.sd-gift-hero-button:hover,.sd-gift-hero-button:focus-visible{border-color:#fff;background:rgba(255,255,255,.28);color:#fff}
.ref-actions .sd-gift-hero-button{min-width:205px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.55);color:#fff}
.ref-actions .sd-gift-hero-button:hover{background:rgba(255,255,255,.28);border-color:#fff}
.sd-gift-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 0}
.sd-gift-hero-actions .button{border-radius:999px}
.ref-actions--drop{flex-wrap:wrap}
@media(max-width:540px){.ref-hero .ref-actions--drop .button{flex:1 1 0;min-width:0;padding-inline:14px;white-space:nowrap}}

/* Footer link. */
.footer-gift-link,.site-footer a.footer-gift-link{color:var(--sd-gift-lime);font-weight:500}

/* The card. */
.sd-gift-card{display:flex;flex-direction:column;gap:6px;width:100%;max-width:420px;padding:22px 24px;border-radius:22px;box-shadow:0 22px 44px -24px rgba(11,46,45,.55);font-family:Kanit,system-ui,sans-serif}
.sd-gift-card--teal{background:var(--sd-gift-teal);color:#fff}
.sd-gift-card--lime{background:#e4f2b2;color:var(--sd-gift-teal)}
.sd-gift-card--ivory{background:#f6f3e8;color:var(--sd-gift-teal)}
.sd-gift-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.sd-gift-card-top img{width:auto;height:32px}
.sd-gift-card-top span{font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--sd-gift-lime)}
.sd-gift-card--lime .sd-gift-card-top span,.sd-gift-card--ivory .sd-gift-card-top span{color:var(--sd-gift-teal)}
.sd-gift-card p{margin:0}
.sd-gift-card .sd-gift-card-title{font-size:25px;font-weight:600;line-height:1.25}
.sd-gift-card .sd-gift-card-item{font-size:15px;opacity:.86;overflow-wrap:anywhere}
.sd-gift-card .sd-gift-card-code{font-size:14px;letter-spacing:.02em}
.sd-gift-card-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:14px;font-size:14px}
.sd-gift-card-foot p{display:grid;gap:2px;min-width:0;overflow-wrap:anywhere}
.sd-gift-card-foot svg{flex:none;color:var(--sd-gift-lime)}
.sd-gift-card--lime .sd-gift-card-foot svg,.sd-gift-card--ivory .sd-gift-card-foot svg{color:var(--sd-gift-teal)}

/* Landing page. */
.sd-gift-hero{position:relative;overflow:hidden;isolation:isolate;padding:56px 0 64px;background:#0b2e2d;color:#fff}
.sd-gift-hero-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.sd-gift-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(11,46,45,.92) 0%,rgba(11,46,45,.78) 48%,rgba(11,46,45,.42) 100%)}
.sd-gift-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:40px}
.sd-gift-eyebrow{margin:0 0 12px;color:var(--sd-gift-lime);font-size:14px;font-weight:600;letter-spacing:.04em;line-height:1.4}
.sd-gift-title{margin:0;color:#fff;font-size:clamp(34px,5vw,56px);font-weight:600;line-height:1.15}
.sd-gift-lead{max-width:520px;margin:16px 0 0;color:rgba(255,255,255,.92);font-size:17px}
.sd-gift-hero-links{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin:26px 0 0}
.sd-gift-start{display:inline-flex;align-items:center;gap:9px;border-radius:999px}
.sd-gift-hero .button-lime{border-color:var(--sd-gift-lime);background:var(--sd-gift-lime);color:var(--sd-gift-teal);font-weight:600}
.sd-gift-why-link{color:#fff;text-decoration:underline;text-underline-offset:4px}
.sd-gift-section{padding-top:52px}
.sd-gift-section--tight{padding-top:36px}
.sd-gift-section h2{margin:0 0 22px;color:var(--ink,#0b2e2d);font-size:clamp(24px,3vw,32px);font-weight:600;line-height:1.25;text-align:center}
.sd-gift-why{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.sd-gift-why-card{padding:22px;border:1px solid var(--sd-gift-line);border-radius:20px;background:#fff}
.sd-gift-why-card h3{margin:14px 0 8px;font-size:18px;font-weight:600;line-height:1.3}
.sd-gift-why-card p{margin:0;color:var(--muted,#627371);font-size:14.5px}
.sd-gift-why-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--sd-gift-soft);color:var(--sd-gift-teal)}
.sd-gift-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0;padding:0;list-style:none}
.sd-gift-chip{padding:8px 18px;border:1px solid var(--sd-gift-line);border-radius:999px;background:#fff;font-size:14.5px}
.sd-gift-how{margin-bottom:56px;padding:28px;border:1px solid var(--sd-gift-line);border-radius:22px;background:#fff}
.sd-gift-how h2{text-align:left}
.sd-gift-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0;padding:0 0 22px;border-bottom:1px solid var(--sd-gift-line);list-style:none}
.sd-gift-step{display:flex;gap:12px}
.sd-gift-step>span{display:inline-flex;flex:none;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--sd-gift-teal);color:#fff;font-size:14px}
.sd-gift-step h3{margin:0;font-size:16px;font-weight:600}
.sd-gift-step p{margin:0;color:var(--muted,#627371);font-size:14px}
.sd-gift-how-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:20px 0 0}
.sd-gift-how-cta small{color:var(--muted,#627371);font-size:14px}

/* Wizard. */
.sd-gift-wizard{padding-top:28px;padding-bottom:64px}
.sd-gift-wizard-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}
.sd-gift-kicker{margin:0;color:var(--sd-gift-teal);font-size:14px;font-weight:500}
.sd-gift-wizard-head h1{margin:2px 0 0;font-size:clamp(26px,3.4vw,36px);font-weight:600;line-height:1.2}
.sd-gift-wizard-head h1:focus{outline:none}
.sd-gift-progress{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;list-style:none;color:var(--muted,#627371);font-size:14px}
.sd-gift-progress li{display:flex;align-items:center;gap:8px}
.sd-gift-progress span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:2px solid var(--sd-gift-line);border-radius:50%;font-size:13px}
.sd-gift-progress .is-current,.sd-gift-progress .is-done{color:var(--ink,#0b2e2d)}
.sd-gift-progress .is-current{font-weight:500}
.sd-gift-progress .is-current span,.sd-gift-progress .is-done span{border-color:var(--sd-gift-teal);background:var(--sd-gift-teal);color:#fff}
.sd-gift-wizard-grid{display:grid;grid-template-columns:minmax(0,1fr) 370px;align-items:start;gap:24px}
.sd-gift-panels{display:grid;gap:16px;min-width:0}
.sd-gift-panel{padding:22px;border:1px solid var(--sd-gift-line);border-radius:20px;background:#fff}
.sd-gift-panel h2{margin:0 0 14px;font-size:19px;font-weight:600}
.sd-gift-panel h2:not(:first-child){margin-top:20px}
.sd-gift-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.sd-gift-options--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.sd-gift-option,.sd-gift-pick{display:grid;gap:2px;padding:12px 14px;border:1.5px solid var(--sd-gift-line);border-radius:14px;background:#fff;color:inherit;font:inherit;text-align:left;cursor:pointer}
.sd-gift-option strong,.sd-gift-pick strong{font-weight:600}
.sd-gift-option small,.sd-gift-pick small{color:var(--muted,#627371);font-size:13px}
.sd-gift-chips-row{display:flex;flex-wrap:wrap;gap:8px}
.sd-gift-pick{border-radius:999px;padding:9px 16px}
.sd-gift-chips-row .sd-gift-pick:has(small){border-radius:14px;text-align:center}
.sd-gift-option.is-selected,.sd-gift-pick.is-selected,.sd-gift-design.is-selected{border-color:var(--sd-gift-teal);background:var(--sd-gift-soft)}
.sd-gift-option:focus-visible,.sd-gift-pick:focus-visible,.sd-gift-design:focus-visible{outline:2px solid var(--sd-gift-teal);outline-offset:2px}
.sd-gift-designs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.sd-gift-design{display:grid;gap:8px;min-width:0;padding:8px;border:1.5px solid var(--sd-gift-line);border-radius:18px;background:#fff;color:inherit;font:inherit;text-align:center;cursor:pointer}
.sd-gift-design .sd-gift-card{gap:2px;padding:12px;border-radius:14px;box-shadow:none;font-size:12px;text-align:left}
.sd-gift-design .sd-gift-card-top img{height:18px}
.sd-gift-design .sd-gift-card-title{font-size:14px}
.sd-gift-design .sd-gift-card-item,.sd-gift-design .sd-gift-card-foot{font-size:10.5px}
.sd-gift-design .sd-gift-card-foot{margin-top:6px}
.sd-gift-design .sd-gift-card-foot svg{display:none}
.sd-gift-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sd-gift-review-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.sd-gift-review-head h2{margin:0}
.sd-gift-panel dl{margin:8px 0 0}
.sd-gift-row{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-top:1px solid var(--sd-gift-line);font-size:14.5px}
.sd-gift-row dt{color:var(--muted,#627371)}
.sd-gift-row dd{margin:0;text-align:right;overflow-wrap:anywhere}
.sd-gift-methods{display:grid;gap:10px}
.sd-gift-preview{position:sticky;top:calc(var(--sd-hdr-h,87px) + 14px);display:grid;gap:12px;padding:20px;border:1px solid var(--sd-gift-line);border-radius:20px;background:#fff}
.sd-gift-preview-label{margin:0;color:var(--muted,#627371);font-size:14px}
.sd-gift-preview-message{margin:0;padding:10px 14px;border-radius:12px;background:#f3f6f1;font-size:14px;font-style:italic;overflow-wrap:anywhere}
.sd-gift-row--total{align-items:baseline}
.sd-gift-row--total strong{font-size:24px;font-weight:600}
.sd-gift-preview-actions{display:flex;flex-wrap:wrap;gap:10px}
.sd-gift-preview-actions .button{border-radius:999px}
.sd-gift-done{display:grid;justify-items:center;gap:14px;max-width:560px;padding-top:40px;padding-bottom:64px;text-align:center}
.sd-gift-done h1{margin:0;font-size:32px;font-weight:600}
.sd-gift-done h1:focus{outline:none}
.sd-gift-done .field{width:100%;text-align:left}
.sd-gift-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.sd-gift-actions .button{border-radius:999px}

/* Recipient page. */
.sd-gift-recipient-inner{display:grid;justify-items:center;gap:14px;padding-top:40px;padding-bottom:64px;text-align:center}
.sd-gift-recipient-from{margin:0;color:var(--sd-gift-teal);font-weight:500}
.sd-gift-recipient h1{margin:0;font-size:clamp(28px,4vw,38px);font-weight:600;line-height:1.2;overflow-wrap:anywhere}
.sd-gift-recipient .sd-gift-card{text-align:left}
.sd-gift-message{max-width:420px;margin:0;padding:12px 18px;border:1px solid var(--sd-gift-line);border-radius:16px;background:#fff;font-style:italic;overflow-wrap:anywhere}
.sd-gift-status{min-height:1.4em;margin:0;font-size:14.5px}
.sd-gift-status.is-done{color:var(--sd-gift-teal)}
.sd-gift-status.is-error{color:#b3261e}
.sd-gift-facts{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;margin:0;padding:0;color:var(--muted,#627371);font-size:14px;list-style:none}
.sd-gift-print-note{display:none}
.sd-gift-languages{display:flex;gap:14px;font-size:13.5px}

/* My gifts. */
.sd-gift-list{display:grid;gap:10px;margin-bottom:24px}
.sd-gift-list h2{margin:0;font-size:20px;font-weight:600}
.sd-gift-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border:1px solid var(--sd-gift-line);border-radius:16px;background:#fff}
.sd-gift-item h3{margin:0;font-size:16px;font-weight:600}
.sd-gift-item p{margin:2px 0 0;color:var(--muted,#627371);font-size:14px}
.sd-gift-item-actions{display:flex;flex-wrap:wrap;gap:8px}
.sd-gift-pill{display:inline-block;margin-left:6px;padding:1px 9px;border-radius:999px;background:var(--sd-gift-soft);color:var(--sd-gift-teal);font-size:12px;font-weight:500}
.sd-gift-pill--redeemed,.sd-gift-pill--expired,.sd-gift-pill--refunded{background:#eef0ee;color:#5b6a68}
.sd-gift-empty{display:grid;justify-items:start;gap:10px}
.footer-gift-link:focus-visible,.sd-gift-why-link:focus-visible{outline:2px solid var(--sd-gift-lime);outline-offset:2px}

/* Dark mode: panels follow the site's dark surfaces, cards keep their printed colours. */
html[data-theme=dark] :is(.sd-gift-why-card,.sd-gift-chip,.sd-gift-how,.sd-gift-panel,.sd-gift-preview,.sd-gift-message,.sd-gift-item,.sd-gift-option,.sd-gift-pick,.sd-gift-design){border-color:rgba(247,247,242,.14);background:#123534;color:#e7f3ee}
html[data-theme=dark] :is(.sd-gift-option.is-selected,.sd-gift-pick.is-selected,.sd-gift-design.is-selected){border-color:var(--sd-gift-lime);background:#1a4644}
html[data-theme=dark] :is(.sd-gift-why-card p,.sd-gift-step p,.sd-gift-how-cta small,.sd-gift-option small,.sd-gift-pick small,.sd-gift-row dt,.sd-gift-preview-label,.sd-gift-facts,.sd-gift-item p){color:#b8cdc8}
html[data-theme=dark] :is(.sd-gift-section h2,.sd-gift-recipient h1,.sd-gift-wizard-head h1,.sd-gift-kicker,.sd-gift-recipient-from,.sd-gift-done h1){color:#e7f3ee}
html[data-theme=dark] .sd-gift-preview-message{background:#1a4644}
html[data-theme=dark] .sd-gift-status.is-done{color:var(--sd-gift-lime)}
html[data-theme=dark] .sd-gift-status.is-error{color:#ffb4a8}
html[data-theme=dark] :is(.sd-gift-row,.sd-gift-steps){border-color:rgba(247,247,242,.14)}

@media(max-width:960px){
  .sd-gift-why{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sd-gift-wizard-grid{grid-template-columns:minmax(0,1fr)}
  .sd-gift-preview{position:static;order:-1}
  /* The form sits under the card here, so the next step stays on screen, in the place of the Book now bar. */
  .sd-gift-preview-actions{position:fixed;left:0;right:0;bottom:0;z-index:71;justify-content:center;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -10px 24px -18px rgba(11,46,45,.45)}
  .sd-gift-preview-actions .button-primary{flex:1 1 auto;max-width:420px}
  body:has([data-gift-app]:not([hidden])) .sd-sticky-book{display:none}
  body:has([data-gift-app]:not([hidden])) .sd-gift-wizard{padding-bottom:84px}
  html[data-theme=dark] .sd-gift-preview-actions{background:#123534}
  .sd-gift-options{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .sd-gift-hero{padding-bottom:40px}
  .sd-gift-hero-grid{grid-template-columns:minmax(0,1fr)}
  .sd-gift-steps{grid-template-columns:minmax(0,1fr)}
  .sd-gift-two{grid-template-columns:minmax(0,1fr)}
  .sd-gift-designs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sd-gift-options--three{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:480px){.sd-gift-why{grid-template-columns:minmax(0,1fr)}.sd-gift-panel{padding:16px}}
@media(prefers-reduced-motion:reduce){.nav-massages-toggle svg{transition:none}}

/* The printed card: only the card, the message, the code and how to use it. */
@media print{
  .sd-gift-banner,#site-header,#site-footer,.sd-directory,.sd-sticky-book,.sd-gift-actions,.sd-gift-status,.sd-gift-languages,.skip-link,#modal-root,#toast,.sd-chat{display:none!important}
  .sd-gift-recipient-inner{padding-top:0}
  .sd-gift-card{box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .sd-gift-print-note{display:block;margin:0;font-size:13px}
}

/* Gift a massage in the menus (Paul's gift menu mockup, 1 Nov 2026). Phones get a tinted row under Membership and a dashed
   redeem box; the wider header keeps the gift under Massages. */
.main-nav a.nav-gift-row,.server-mobile-menu a.nav-gift-row,.nav-extra a.nav-redeem{display:none}
@media(max-width:800px){
  .nav-massages-panel :is(.nav-gift,.nav-massages-rule){display:none}
  .main-nav a.nav-gift-row,.server-mobile-menu a.nav-gift-row{display:flex;align-items:center;gap:10px;padding:13px 12px;border-radius:14px;background:#edf3d3;color:var(--sd-gift-teal);font-weight:500}
  .nav-gift-row span{flex:1}
  .nav-extra a.nav-redeem{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1.5px dashed #b9cc7c;border-radius:14px;background:#f1f5dc;color:var(--sd-gift-teal);font-size:14px;font-weight:400}
  .nav-redeem b{font-weight:600;text-decoration:underline;text-underline-offset:3px}
  body:has(.main-nav.open) .sd-chat{display:none}
  body:has(.header-user[open])::after{content:"";position:fixed;inset:0;z-index:40;background:rgba(11,46,45,.6)}
  .header-user-menu{width:min(300px,calc(100vw - 72px))}
  .header-user-menu :is(a,button){padding-block:12px;font-size:15px}
}
.header-user-menu a.header-user-gifts{display:flex;align-items:center;gap:10px;margin-block:2px;background:#edf3d3;color:var(--sd-gift-teal)}
.header-user-menu a.header-user-gifts:hover{background:#e4edc2}
.header-user-gifts span{flex:1;line-height:1.3}
.header-user-menu a.header-user-gifts small{display:block;font-size:12px;font-weight:400;color:var(--muted)}
.header-user-gifts b{display:grid;place-items:center;min-width:22px;height:22px;padding-inline:6px;border-radius:999px;background:#c9e265;color:#0b2e2d;font-size:12px;font-weight:600}
html[data-theme=dark] .main-nav a.nav-gift-row,html[data-theme=dark] .header-user-menu a.header-user-gifts{background:rgba(212,243,107,.14);color:var(--sd-gift-lime)}
html[data-theme=dark] .nav-extra a.nav-redeem{border-color:rgba(212,243,107,.4);background:rgba(212,243,107,.08);color:var(--sd-gift-lime)}
html[data-theme=dark] .header-user-menu a.header-user-gifts small{color:var(--sd-muted)}

/* The box behind Redeem your code, right under the hero. */
.sd-gift-redeem{scroll-margin-top:calc(var(--sd-hdr-h) + 16px);padding-block:20px 0}
.sd-gift-redeem form{padding:18px;border:1.5px dashed #b9cc7c;border-radius:18px;background:#f6f9e8}
.sd-gift-redeem-row{display:flex;flex-wrap:wrap;gap:10px}
.sd-gift-redeem-row .input{flex:1 1 220px;text-transform:uppercase;letter-spacing:.04em}
.sd-gift-redeem-row .input::placeholder{letter-spacing:.04em}
.sd-gift-redeem .notice{margin:10px 0 0}
html[data-theme=dark] .sd-gift-redeem form{border-color:rgba(212,243,107,.4);background:rgba(212,243,107,.06)}
.sd-gift-mail h3{margin:14px 0 8px;font-size:15px}
.sd-gift-options--two{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Service areas (Paul's mockup v2, 7 Nov 2026): the live city first, then coming-soon cities; the list scrolls
   inside the menu so more cities fit without crowding it. A coming-soon city opens a sheet (app.js areaSheet). */
.main-nav .nav-areas-panel{width:320px}
.nav-areas-list{display:grid;gap:2px;max-height:262px;overflow-y:auto;overscroll-behavior:contain;padding:4px;border:1px solid var(--sd-gift-line);border-radius:14px;background:#fff}
.main-nav .nav-areas-panel .nav-area,.nav-area{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:8px 10px;border:0;border-radius:10px;background:none;color:#223f3d;text-align:left;font:inherit;font-size:14px;line-height:1.3;cursor:pointer}
.main-nav .nav-areas-panel .nav-area:hover,.main-nav .nav-areas-panel .nav-area:focus-visible{background:var(--sd-gift-soft)}
.nav-area-pin{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:10px;background:#eef1ee;color:#8c9691}
.nav-area.is-live .nav-area-pin{background:#e4f3b8;color:#d6493d}
.nav-area-text{display:grid;gap:1px;flex:1;min-width:0}
.nav-area-text strong{font-size:15px;font-weight:600;color:var(--ink)}
.nav-area:not(.is-live) .nav-area-text strong{color:#7c8881}
.nav-area-text small{font-size:12px;color:var(--muted)}
.nav-area-pill{flex:none;white-space:nowrap;padding:3px 9px;border-radius:999px;background:#eef1ee;color:#5f6b66;font-size:11px;font-weight:600;line-height:1.4}
.nav-area-pill.is-live{display:inline-flex;align-items:center;gap:5px;background:var(--teal);color:#fff}
.nav-area-pill.is-live::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--lime)}
.nav-areas-more{margin:6px 0 2px;text-align:center;font-size:11px;color:var(--muted)}
.sd-area-sheet{max-width:420px}
.sd-area-sheet h2{display:flex;align-items:center;gap:6px;margin:12px 0 8px;font-size:26px}
.sd-area-sheet h2 .nav-area-pin{width:auto;height:auto;background:none;color:#d6493d}
.sd-area-body{margin-bottom:18px;color:var(--muted);font-size:15px}
.sd-area-form{display:grid;gap:12px}
.sd-area-form .sd-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.sd-area-instead{display:block;margin-top:14px;color:var(--teal);font-size:14px;font-weight:500;text-align:center;text-decoration:underline;text-underline-offset:3px}
@media(max-width:800px){
  .sd-area-backdrop{align-items:flex-end;padding:0}
  .sd-area-sheet{max-width:none;max-height:calc(100dvh - 40px);border-radius:24px 24px 0 0;padding-bottom:calc(28px + env(safe-area-inset-bottom))}
  .sd-area-sheet::before{content:"";display:block;width:44px;height:4px;margin:-14px auto 14px;border-radius:4px;background:#d5ddd6}
}
html[data-theme=dark] .nav-areas-list{border-color:rgba(247,247,242,.14);background:#123534}
html[data-theme=dark] .main-nav .nav-areas-panel .nav-area{color:#e7f3ee}
html[data-theme=dark] .nav-area-text strong{color:#fff}
html[data-theme=dark] .nav-area:not(.is-live) .nav-area-text strong{color:#b9c9c4}
html[data-theme=dark] .nav-area-pin,html[data-theme=dark] .nav-area-pill{background:rgba(247,247,242,.1);color:#cfe0da}
html[data-theme=dark] .nav-area.is-live .nav-area-pin{background:rgba(212,243,107,.18);color:#ff8a7a}
html[data-theme=dark] .nav-area-pill.is-live{background:var(--sd-accent,#d4f36b);color:#0b2e2d}
