/* aurora template · "night over the city"
 * A Tehran rooftop skyline under a northern-lights sky in the shop's colour.
 * paper #0a1020 night ink · lamp #ffc45c fixed window light · accent = Shop.primaryColor
 * One family, Vazirmatn (variable, self-hosted): the weight contrast 150 <-> 900 carries the hierarchy.
 *
 * Part 1: palette and fonts.  Part 2: the home page (.tpl-aurora).
 * Part 3: the skin of the shared pages ([data-template='aurora']).
 */

/* ───────────────────────── 1 · fonts and palette ───────────────────────── */
@font-face {
  font-family: 'Vazirmatn VF';
  font-style: normal; font-weight: 100 900; font-display: swap;
  src: url('fonts/vazirmatn-arabic-wght-normal.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}
@font-face {
  font-family: 'Vazirmatn VF';
  font-style: normal; font-weight: 100 900; font-display: swap;
  src: url('fonts/vazirmatn-latin-ext-wght-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Vazirmatn VF';
  font-style: normal; font-weight: 100 900; font-display: swap;
  src: url('fonts/vazirmatn-latin-wght-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

html[data-template='aurora'] {
  --night-0: #070c18;
  --night-1: #0a1020;
  --night-2: #111a30;
  --night-3: #1b2744;
  --night-4: #2a3858;
  --paper: #e8e3d3;
  --paper-2: color-mix(in oklab, var(--paper) 68%, var(--night-1));
  --paper-3: color-mix(in oklab, var(--paper) 50%, var(--night-1));
  --rule: color-mix(in oklab, var(--paper) 14%, transparent);
  --rule-strong: color-mix(in oklab, var(--paper) 28%, transparent);
  --lamp: #ffc45c;
  --lamp-dim: color-mix(in oklab, var(--lamp) 45%, var(--night-2));
  --lamp-wash: color-mix(in oklab, var(--lamp) 9%, transparent);
  --accent-text: color-mix(in oklab, var(--accent) 62%, var(--paper));
  --accent-rim: color-mix(in oklab, var(--accent) 58%, var(--night-3));
  --veil: color-mix(in oklab, var(--night-0) 84%, transparent);

  --mtn: #121b31;
  --mtn-1: #1d2a4a;
  --mtn-2: #172240;
  --dmv: #22305a;
  --snow: color-mix(in oklab, var(--paper) 30%, var(--mtn-1));
  --snow-hi: color-mix(in oklab, color-mix(in oklab, var(--paper) 52%, var(--mtn-1)) 84%, var(--accent));
  --haze: #25355a;
  --city-far: #131d36;
  --city-mid: #0c1429;
  --city-near: #060a15;
  --win-off: #121a2e;
  --lamp-2: #ffa95a;
  --lamp-3: #ffe3a8;
  --tv: #9cc4ff;
  --shop-cool: #bcdcff;
  --sodium: #ff9b45;
  --avl: #ff4535;
  --curtain: color-mix(in oklab, var(--lamp-2) 55%, #5a2a1c);
  --cloth-1: #6b3a3a;
  --cloth-2: #36546b;
  --cloth-3: #8a7a55;

  --gut: clamp(16px, 4vw, 56px);
  --maxw: 1320px;
  --au-head: 73px;
  --ease-out: cubic-bezier(.22, .8, .24, 1);
  --ease-in-out: cubic-bezier(.65, 0, .35, 1);
  --dur-s: 160ms;
  --dur-m: 420ms;

  /* the design tokens of styles/tokens.css, as night */
  --canvas: 10 16 32; --tile: 17 26 48; --tile-2: 27 39 68; --tile-3: 42 56 88;
  --line: 41 45 56; --line-strong: 72 75 82;
  --ink: 232 227 211; --mute: 166 164 158; --faint: 130 131 133;
  --amber: 255 196 92; --amber-soft: 255 196 92;
  --danger: 255 138 128; --danger-soft: 255 138 128;
  --success: 112 222 170; --success-soft: 112 222 170;
  --info: 150 196 255; --info-soft: 150 196 255;
  --radius-tile: 8px; --radius-sheet: 12px;
  --shadow-tile: none;
  --shadow-icon: none;
  --shadow-window: 0 0 0 1px rgb(232 227 211 / .14), 0 24px 60px -18px rgb(0 0 0 / .8);
  --shadow-sheet: 0 0 0 1px rgb(232 227 211 / .14), 0 30px 90px rgb(0 0 0 / .7);
  --font-ui: 'Vazirmatn VF', var(--font-vazirmatn), 'Vazirmatn', Tahoma, system-ui, sans-serif;
  color-scheme: dark;
  background: #0a1020;
}
html[data-template='aurora'][lang='ru'] { --font-ui: var(--font-latin), 'Vazirmatn VF', 'Segoe UI', system-ui, sans-serif; }
@media (max-width: 767px) { html[data-template='aurora'] { --au-head: 109px; } }

/* --signal-ink is darkened for a light canvas and --on-signal only knows "white unless very
   light". Both are redefined below <html> (the inline per-shop values sit on <html> itself):
   link text is the accent lifted towards paper, and text on the accent is night ink whenever
   white would not carry. Browsers without relative colours keep readable paper / the inline value. */
html[data-template='aurora'] body { --signal-ink: 232 227 211; }
@supports (color: rgb(from white r g b)) {
  html[data-template='aurora'] body {
    /* --signal follows --accent, so one variable recolours the whole shop (the two are the same colour per shop) */
    --signal: from var(--accent) r g b;
    --signal-soft: from var(--accent) r g b;
    --signal-ink: from color-mix(in oklab, var(--accent) 62%, #e8e3d3) r g b;
    --on-signal: from var(--accent)
      clamp(7, (104 - (r * .299 + g * .587 + b * .114)) * 1000, 255)
      clamp(12, (104 - (r * .299 + g * .587 + b * .114)) * 1000, 255)
      clamp(24, (104 - (r * .299 + g * .587 + b * .114)) * 1000, 255);
  }
}

/* ───────────────────────────── 2 · home page ───────────────────────────── */
.storefront-studio[data-template='aurora'][data-home='true'] { background: var(--night-1); }
.storefront-studio[data-template='aurora'][data-home='true'] > main { max-width: none; padding: 0; }
.storefront-studio[data-template='aurora'][data-home='true'] > header { background: linear-gradient(to bottom, color-mix(in oklab, var(--night-0) 72%, transparent), color-mix(in oklab, var(--night-0) 38%, transparent)); border-color: transparent; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.storefront-studio[data-template='aurora'][data-home='true'] > footer { position: relative; z-index: 2; background: color-mix(in oklab, var(--night-0) 92%, transparent); }

/* the route's loading skeleton, which has no padding of its own on the full-bleed home */
.storefront-studio[data-template='aurora'][data-home='true'] > main > [role='status'] { max-width: var(--maxw); margin-inline: auto; padding: 24px var(--gut); min-height: 100vh; }

.tpl-aurora { position: relative; color: var(--paper); font-size: 16px; line-height: 1.75; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.tpl-aurora *, .tpl-aurora *::before, .tpl-aurora *::after { box-sizing: border-box; }
.tpl-aurora a { color: inherit; }
.tpl-aurora bdi[dir='ltr'] { unicode-bidi: isolate; }
.tpl-aurora :focus-visible { outline: 2px solid var(--lamp); outline-offset: 3px; border-radius: 3px; }
.tpl-aurora .au-wrap { max-width: var(--maxw); margin: 0 auto; padding-inline: var(--gut); }

/* the night scene */
.tpl-aurora .au-scene { position: fixed; inset: 0; z-index: 0; overflow: hidden; isolation: isolate; background: var(--night-1); }
.tpl-aurora .au-aurora { position: absolute; inset: 0; z-index: 0; background: linear-gradient(to top, var(--night-2), var(--night-0)); }
.tpl-aurora .au-aurora i { position: absolute; inset: 0; -webkit-mask: center bottom / cover no-repeat; mask: center bottom / cover no-repeat; mix-blend-mode: plus-lighter; }
.tpl-aurora .au-aurora i:nth-child(1) { background: var(--accent); -webkit-mask-image: url('sky-a.webp'); mask-image: url('sky-a.webp'); }
.tpl-aurora .au-aurora i:nth-child(2) { background: #fff; -webkit-mask-image: url('sky-h.webp'); mask-image: url('sky-h.webp'); }
.tpl-aurora .au-aurora i:nth-child(3) { -webkit-mask: none; mask: none; background: linear-gradient(to top, color-mix(in oklab, var(--lamp) 9%, transparent), transparent 46%); }
.tpl-aurora .au-sky { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; display: block; opacity: 0; transition: opacity 900ms var(--ease-out); }
.tpl-aurora .au-sky.au-on { opacity: 1; }

/* the stage is the city's own box: everything pinned to a window is placed in % of it, no script needed */
.tpl-aurora .au-stage { position: absolute; left: 0; bottom: 0; width: 100%; aspect-ratio: 1440 / 360; z-index: 2; container-type: size; pointer-events: none; }
.tpl-aurora .au-beams, .tpl-aurora .au-overlay { position: absolute; inset: 0; }
.tpl-aurora .au-beams { z-index: 1; }
.tpl-aurora .au-city { position: absolute; inset: 0; z-index: 3; display: block; width: 100%; height: 100%; overflow: visible; }
.tpl-aurora .au-overlay { z-index: 4; transition: opacity var(--dur-m) var(--ease-out); }
.tpl-aurora.au-past .au-overlay { opacity: 0; }
.tpl-aurora.au-past .au-overlay * { pointer-events: none !important; }
html[dir='ltr'] .tpl-aurora .au-city { transform: scaleX(-1); }

/* windows */
.tpl-aurora .au-city .bw { fill: var(--win-off); transition: fill var(--dur-m) var(--ease-out); }
.tpl-aurora .au-city .bw.lit { fill: var(--lamp); }
.tpl-aurora .au-city .bw.lit.t2 { fill: var(--lamp-2); }
.tpl-aurora .au-city .bw.lit.t3 { fill: var(--lamp-3); }
.tpl-aurora .au-city .bw.lit.tv { fill: var(--tv); transition: opacity 360ms linear; }
.tpl-aurora .au-city .bw.amb { transition: fill 1.6s var(--ease-out); }
.tpl-aurora .au-city .cur { fill: var(--curtain); opacity: .8; transition: opacity var(--dur-m) var(--ease-out); }
.tpl-aurora .au-city .bw:not(.lit) + .cur { opacity: .14; }
.tpl-aurora .au-city .avl { transition: opacity 200ms linear; }
.tpl-aurora .au-city .avl.off { opacity: .12; }
.tpl-aurora .au-city .pw .frame { fill: var(--city-near); }
.tpl-aurora .au-city .pw .glass { fill: var(--lamp-dim); transition: fill var(--dur-m) var(--ease-out), filter var(--dur-m) var(--ease-out); }
.tpl-aurora .au-city .pw .curtain { fill: var(--night-3); opacity: .55; transition: opacity var(--dur-m) var(--ease-out); }
.tpl-aurora .au-city .pw .spill { opacity: .16; transition: opacity var(--dur-m) var(--ease-out); }
.tpl-aurora .au-city .pw.on .glass { fill: var(--lamp); filter: drop-shadow(0 0 5px var(--lamp)); }
.tpl-aurora .au-city .pw.on .curtain { opacity: .12; }
.tpl-aurora .au-city .pw.on .spill { opacity: .5; }
.tpl-aurora .au-city .pw.dark .glass { fill: var(--night-0); }
.tpl-aurora .au-city .pw.dark .curtain { opacity: .9; fill: var(--win-off); }
.tpl-aurora .au-city .pw.dark .spill { opacity: 0; }
.tpl-aurora .au-city .rim { stroke: var(--accent-rim); stroke-width: 1; fill: none; }
.tpl-aurora .au-city .rim.m { opacity: .6; }
.tpl-aurora .au-city .rim.f { opacity: .38; }
.tpl-aurora .au-city .rim.k { opacity: .45; stroke-width: 1.2; }
.tpl-aurora .au-city .rim.k2 { opacity: .16; }

/* beam, label, tap target: one per plan, pinned to its window */
.tpl-aurora .au-pin { display: contents; }
.tpl-aurora .au-beam { position: absolute; inset-inline-end: var(--x); bottom: calc(100% - var(--y)); width: 2px; height: 78vh; margin-inline-end: -1px;
  transform: scaleY(0); transform-origin: 50% 100%;
  background: linear-gradient(to top, var(--lamp) 0%, color-mix(in oklab, var(--lamp) 50%, var(--accent)) 30%, color-mix(in oklab, var(--accent) 80%, transparent) 62%, transparent 100%);
  opacity: 0; transition: transform 700ms var(--ease-out), opacity 300ms var(--ease-out); }
.tpl-aurora .au-beam.on { transform: scaleY(1); opacity: .95; }
.tpl-aurora .au-tag { position: absolute; inset-inline-end: var(--x); top: calc(var(--ty) * 100%); transform: translate(-50%, -100%); pointer-events: auto;
  display: grid; justify-items: center; gap: 4px; text-decoration: none; color: var(--paper); padding: 6px 8px 0; }
html[dir='ltr'] .tpl-aurora .au-tag { transform: translate(50%, -100%); }
.tpl-aurora .au-tag .au-t { font-size: 13px; font-weight: 700; line-height: 1.2; white-space: nowrap; padding: 3px 8px 4px; border-radius: 3px; background: color-mix(in oklab, var(--night-0) 78%, transparent); transition: background var(--dur-s), color var(--dur-s); }
.tpl-aurora .au-tag .au-t small { font-size: 11.5px; font-weight: 400; color: var(--paper-2); margin-inline-start: 2px; }
.tpl-aurora .au-tag .au-stem { width: 1px; height: 34px; height: calc((var(--y) - var(--ty)) * 100cqh - 6px); min-height: 6px; background: var(--rule-strong); }
.tpl-aurora .au-tag:hover .au-t, .tpl-aurora .au-tag.on .au-t { background: var(--lamp); color: var(--night-0); }
.tpl-aurora .au-tag:hover .au-t small, .tpl-aurora .au-tag.on .au-t small { color: var(--night-2); }
.tpl-aurora .au-tag.au-dark { cursor: default; }
.tpl-aurora .au-tag.au-dark .au-t, .tpl-aurora .au-tag.au-dark .au-t small { color: var(--paper-3); }
.tpl-aurora .au-tag.au-dark:hover .au-t { background: color-mix(in oklab, var(--night-0) 78%, transparent); color: var(--paper-3); }
.tpl-aurora .au-hit { position: absolute; inset-inline-end: var(--x); top: var(--hy); transform: translate(-50%, -50%); width: 44px; height: 44px; border-radius: 4px; pointer-events: auto; }
html[dir='ltr'] .tpl-aurora .au-hit { transform: translate(50%, -50%); }

/* hero: the shop's name in the sky */
.tpl-aurora .au-skyc { position: relative; z-index: 2; pointer-events: none; min-height: calc(100vh - var(--au-head)); min-height: calc(100dvh - var(--au-head)); }
.tpl-aurora .au-skyc a { pointer-events: auto; }
.tpl-aurora .au-skyc p { text-shadow: 0 1px 8px var(--night-0), 0 0 2px var(--night-0); }
.tpl-aurora .au-hero { padding-top: clamp(24px, 6vh, 72px); padding-bottom: clamp(56px, 8vw, 120px); display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; }
.tpl-aurora .au-wordmark { grid-column: 1 / span 9; margin: 0; font-weight: 900; font-size: clamp(56px, 8vw, 112px); line-height: 1.02; color: var(--paper); overflow-wrap: anywhere; min-width: 0; text-shadow: 0 2px 30px color-mix(in oklab, var(--night-0) 60%, transparent); }
html[dir='ltr'] .tpl-aurora .au-wordmark { line-height: .95; letter-spacing: -.02em; }
.tpl-aurora .au-wordmark { text-wrap: balance; }
.tpl-aurora .au-wordmark.au-wm-m { font-size: clamp(40px, 5.6vw, 80px); line-height: 1.12; grid-column: 1 / span 10; }
.tpl-aurora .au-wordmark.au-wm-s { font-size: clamp(30px, 4vw, 58px); line-height: 1.2; grid-column: 1 / span 10; }
html[dir='ltr'] .tpl-aurora .au-wordmark.au-wm-m, html[dir='ltr'] .tpl-aurora .au-wordmark.au-wm-s { line-height: 1.05; }
.tpl-aurora .au-lede { grid-column: 1 / span 5; margin: 28px 0 0; font-size: clamp(17px, 1.5vw, 20px); line-height: 1.8; color: var(--paper-2); font-weight: 350; max-width: 34ch; }
.tpl-aurora .au-lede b { color: var(--paper); font-weight: 700; }
.tpl-aurora .au-chan { grid-column: 9 / span 4; align-self: end; justify-self: end; margin: 0; font-size: 14px; color: var(--paper-2); text-align: end; line-height: 1.6; }
.tpl-aurora .au-chan a { color: var(--paper); text-decoration: none; border-bottom: 1px solid var(--rule-strong); display: inline-block; margin-top: 4px; transition: border-color var(--dur-s); }
.tpl-aurora .au-chan a + a { margin-inline-start: 16px; }
.tpl-aurora .au-chan a:hover { border-color: var(--lamp); }

/* everything below the first screen scrolls up over the city */
.tpl-aurora .au-body { position: relative; z-index: 2; background: linear-gradient(to bottom, color-mix(in oklab, var(--night-0) 0%, transparent), var(--veil) 140px); }

/* catalogue: a quiet typographic list */
.tpl-aurora .au-cat { padding-block: clamp(24px, 4vw, 48px) clamp(64px, 8vw, 120px); scroll-margin-top: var(--au-head); }
.tpl-aurora .au-cat-head { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; align-items: end; padding-bottom: 28px; }
.tpl-aurora .au-cat-head h2 { grid-column: 1 / span 5; margin: 0; font-size: clamp(26px, 2.8vw, 38px); font-weight: 800; line-height: 1.25; }
.tpl-aurora .au-cat-head p { grid-column: 7 / span 6; margin: 0; color: var(--paper-2); font-size: 15px; max-width: 58ch; }
.tpl-aurora .au-plans { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--rule-strong); }
.tpl-aurora .au-plan { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 4fr) minmax(0, 3fr) minmax(0, 2fr); column-gap: 24px; align-items: center;
  padding-block: 18px; border-bottom: 1px solid var(--rule); text-decoration: none; color: inherit; position: relative; }
.tpl-aurora .au-plan::before { content: ''; position: absolute; inset: 0; background: linear-gradient(to left, var(--lamp-wash), transparent 70%); opacity: 0; transition: opacity var(--dur-m) var(--ease-out); pointer-events: none; }
html[dir='ltr'] .tpl-aurora .au-plan::before { background: linear-gradient(to right, var(--lamp-wash), transparent 70%); }
.tpl-aurora a.au-plan:hover::before, .tpl-aurora a.au-plan:focus-visible::before, .tpl-aurora a.au-plan.on::before { opacity: 1; }
.tpl-aurora .au-plan .au-d { display: flex; align-items: baseline; gap: 12px; }
.tpl-aurora .au-plan .au-d b { font-weight: 200; font-size: clamp(44px, 5vw, 72px); line-height: 1.05; font-variant-numeric: normal; transition: color var(--dur-m) var(--ease-out); }
.tpl-aurora .au-plan .au-d span { font-size: 15px; color: var(--paper-2); }
.tpl-aurora a.au-plan:hover .au-d b, .tpl-aurora a.au-plan.on .au-d b { color: var(--lamp); }
.tpl-aurora .au-plan .au-n { min-width: 0; }
.tpl-aurora .au-plan .au-n h3 { margin: 0; font-size: clamp(19px, 1.7vw, 24px); font-weight: 800; line-height: 1.4; overflow-wrap: anywhere; }
.tpl-aurora .au-plan .au-n p { margin: 2px 0 0; color: var(--paper-2); font-size: 15px; overflow-wrap: anywhere; }
.tpl-aurora .au-plan .au-p { font-size: clamp(19px, 1.8vw, 26px); font-weight: 700; line-height: 1.3; white-space: nowrap; }
.tpl-aurora .au-plan .au-p small { font-size: 14px; font-weight: 400; color: var(--paper-2); margin-inline-start: 6px; }
.tpl-aurora .au-plan .au-go { justify-self: end; display: inline-flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 700; color: var(--paper); white-space: nowrap; }
.tpl-aurora .au-plan .au-go svg { width: 22px; height: 12px; stroke: currentColor; fill: none; stroke-width: 1.6; transition: transform var(--dur-m) var(--ease-out); }
.tpl-aurora a.au-plan:hover .au-go svg { transform: translateX(-6px); }
html[dir='ltr'] .tpl-aurora .au-plan .au-go svg { transform: scaleX(-1); }
html[dir='ltr'] .tpl-aurora a.au-plan:hover .au-go svg { transform: scaleX(-1) translateX(-6px); }
.tpl-aurora .au-plan.au-out, .tpl-aurora .au-plan.au-out .au-d b { color: var(--paper-3); }
.tpl-aurora .au-plan.au-out .au-n p, .tpl-aurora .au-plan.au-out .au-d span { color: var(--paper-3); }
.tpl-aurora .au-plan.au-out .au-go { color: var(--paper-3); font-weight: 500; }
.tpl-aurora .au-empty { margin: 0; padding-block: 28px; border-block: 1px solid var(--rule-strong); color: var(--paper-2); font-size: 17px; font-weight: 350; }
.tpl-aurora .au-cat-foot { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 28px; margin: 22px 0 0; font-size: 14.5px; color: var(--paper-2); }
.tpl-aurora .au-cat-foot b { color: var(--paper); font-weight: 700; }
.tpl-aurora .au-cat-foot a { color: var(--accent-text); text-decoration: none; border-bottom: 1px solid color-mix(in oklab, var(--accent-text) 40%, transparent); }
.tpl-aurora .au-cat-foot a:hover { border-color: var(--accent-text); }

/* the shop's other products */
.tpl-aurora .au-more { padding-block: clamp(64px, 8vw, 120px); border-top: 1px solid var(--rule); }
.tpl-aurora .au-g { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; row-gap: 56px; }
.tpl-aurora .au-free { grid-column: 1 / span 6; scroll-margin-top: calc(var(--au-head) + 24px); }
.tpl-aurora .au-free h2 { margin: 0; font-size: clamp(30px, 3.4vw, 48px); font-weight: 900; line-height: 1.2; }
.tpl-aurora .au-free h2 span { display: block; font-weight: 150; color: var(--paper-2); }
.tpl-aurora .au-free p { margin: 20px 0 28px; color: var(--paper-2); max-width: 44ch; }
.tpl-aurora .au-free.au-solo { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; align-items: end; }
.tpl-aurora .au-free.au-solo h2 { grid-column: 1 / span 6; grid-row: 1 / span 2; align-self: start; }
.tpl-aurora .au-free.au-solo p { grid-column: 8 / span 5; margin-top: 0; }
.tpl-aurora .au-free.au-solo .au-btn { grid-column: 8 / span 5; justify-self: start; }
.tpl-aurora .au-body > section:first-child { border-top: 0; }
.tpl-aurora .au-body > .au-more:first-child { padding-top: clamp(40px, 5vw, 72px); }
.tpl-aurora .au-body > .au-faq:first-child .au-g { border-top: 0; }
.tpl-aurora .au-ads { grid-column: 8 / span 5; align-self: end; scroll-margin-top: calc(var(--au-head) + 24px); }
.tpl-aurora .au-ads.au-solo { grid-column: 1 / span 7; }
.tpl-aurora .au-ads h3 { margin: 0 0 6px; font-size: 20px; font-weight: 800; }
.tpl-aurora .au-ads > p { margin: 0 0 18px; color: var(--paper-2); font-size: 15px; }
.tpl-aurora .au-ad { border-top: 1px solid var(--rule-strong); padding-block: 16px 18px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 16px; align-items: baseline; }
.tpl-aurora .au-ad h4 { margin: 0; font-size: 18px; font-weight: 700; }
.tpl-aurora .au-ad p { margin: 0; grid-column: 1; color: var(--paper-2); font-size: 14.5px; }
.tpl-aurora .au-ad a { grid-column: 2; grid-row: 1; font-size: 14px; color: var(--accent-text); white-space: nowrap; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: color-mix(in oklab, var(--accent-text) 45%, transparent); }
.tpl-aurora .au-ad a:hover { text-decoration-color: currentColor; }

/* FAQ */
.tpl-aurora .au-faq { padding-block: 0 clamp(64px, 8vw, 120px); scroll-margin-top: var(--au-head); }
.tpl-aurora .au-faq .au-g { border-top: 1px solid var(--rule); padding-top: clamp(40px, 5vw, 72px); row-gap: 0; }
.tpl-aurora .au-faq h2 { grid-column: 1 / span 4; margin: 0 0 20px; font-size: clamp(24px, 2.4vw, 34px); font-weight: 800; line-height: 1.3; }
.tpl-aurora .au-faq .au-list { grid-column: 6 / span 7; }
.tpl-aurora .au-faq details { border-bottom: 1px solid var(--rule); }
.tpl-aurora .au-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 16px; padding-block: 16px; font-weight: 700; font-size: 17px; }
.tpl-aurora .au-faq summary::-webkit-details-marker { display: none; }
.tpl-aurora .au-faq summary svg { flex: none; width: 14px; height: 14px; margin-top: 8px; stroke: var(--paper-2); stroke-width: 1.6; fill: none; transition: transform var(--dur-m) var(--ease-out); }
.tpl-aurora .au-faq details[open] summary svg { transform: rotate(45deg); }
.tpl-aurora .au-faq summary:hover svg { stroke: var(--lamp); }
.tpl-aurora .au-faq details p { margin: 0 0 18px; color: var(--paper-2); max-width: 60ch; }

/* buttons */
.tpl-aurora .au-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 26px; border-radius: 6px;
  font-weight: 800; font-size: 16px; text-decoration: none; cursor: pointer; border: 1px solid transparent; white-space: nowrap;
  transition: background var(--dur-s) var(--ease-out), transform var(--dur-s) var(--ease-out), border-color var(--dur-s); }
.tpl-aurora .au-btn:active { transform: translateY(1px); }
.tpl-aurora .au-btn-ghost { background: transparent; border-color: var(--rule-strong); color: var(--paper); }
.tpl-aurora .au-btn-ghost:hover { border-color: var(--paper-2); }

@media (max-height: 700px) and (min-width: 861px) {
  .tpl-aurora .au-hero { padding-top: 20px; }
  .tpl-aurora .au-wordmark { font-size: clamp(48px, 6vw, 84px); }
  .tpl-aurora .au-lede { margin-top: 16px; font-size: 16px; }
}
@media (max-width: 860px) {
  .tpl-aurora .au-wordmark, .tpl-aurora .au-lede { grid-column: 1 / -1; }
  .tpl-aurora .au-chan { grid-column: 1 / -1; justify-self: start; text-align: start; margin-top: 14px; }
  .tpl-aurora .au-cat-head h2, .tpl-aurora .au-cat-head p { grid-column: 1 / -1; }
  .tpl-aurora .au-cat-head p { margin-top: 10px; }
  .tpl-aurora .au-plan { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: 'd p' 'n go'; row-gap: 2px; padding-block: 16px 14px; }
  .tpl-aurora .au-plan .au-d { grid-area: d; }
  .tpl-aurora .au-plan .au-n { grid-area: n; }
  .tpl-aurora .au-plan .au-p { grid-area: p; align-self: end; font-size: 22px; }
  .tpl-aurora .au-plan .au-go { grid-area: go; align-self: start; padding-top: 4px; }
  .tpl-aurora .au-plan .au-d b { font-size: 48px; }
  .tpl-aurora .au-plan .au-n h3 { font-size: 20px; }
  .tpl-aurora .au-plan .au-n p { font-size: 14px; }
  .tpl-aurora .au-free, .tpl-aurora .au-ads, .tpl-aurora .au-ads.au-solo, .tpl-aurora .au-faq h2, .tpl-aurora .au-faq .au-list { grid-column: 1 / -1; }
  .tpl-aurora .au-free.au-solo { display: block; }
  .tpl-aurora .au-free.au-solo p { margin-top: 20px; }
  .tpl-aurora .au-wordmark.au-wm-m, .tpl-aurora .au-wordmark.au-wm-s { grid-column: 1 / -1; }
  /* the labels shrink to the plan's length; the price is in the list below */
  .tpl-aurora .au-tag { padding: 4px 3px 0; gap: 3px; }
  .tpl-aurora .au-tag .au-t { font-size: 11.5px; padding: 2px 6px 3px; }
  .tpl-aurora .au-tag .au-t small { display: none; }
}
@media (max-width: 699px) {
  /* phone: crop to the middle of the city, where the plans stand, and lift it onto a strip of dark
     ground. The catalogue's first line rises over that strip, so the lit windows stay in view and
     stay tappable on the first screen. */
  .tpl-aurora { --au-ground: 88px; }
  .tpl-aurora .au-stage { width: 205.714%; left: -53.143%; bottom: var(--au-ground); }
  .tpl-aurora .au-stage.au-wide { width: 148.148%; left: -24.28%; }
  .tpl-aurora .au-scene::after { content: ''; position: absolute; inset: auto 0 0 0; height: calc(var(--au-ground) + 1px); z-index: 2; background: var(--city-near); }
  .tpl-aurora .au-skyc { min-height: calc(100vh - var(--au-head) - var(--au-ground) + 20px); min-height: calc(100dvh - var(--au-head) - var(--au-ground) + 20px); }
  .tpl-aurora .au-hero { padding-bottom: calc(51.43vw + 40px); }
  .tpl-aurora .au-body { background: linear-gradient(to bottom, color-mix(in oklab, var(--night-0) 0%, transparent), var(--veil) 72px); }
}
@media (max-width: 699px) and (max-height: 700px) {
  .tpl-aurora { --au-ground: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .tpl-aurora *, .tpl-aurora *::before, .tpl-aurora *::after { transition-duration: 120ms !important; animation: none !important; }
  .tpl-aurora .au-beam { transform: scaleY(1); }
  .tpl-aurora .au-beam:not(.on) { opacity: 0; }
}

/* ─────────────────────── 3 · skin of the shared pages ─────────────────────── */
html[data-template='aurora'] :focus-visible { outline: 2px solid var(--lamp); outline-offset: 3px; }
html[data-template='aurora'] ::selection { background: color-mix(in oklab, var(--lamp) 34%, transparent); color: var(--paper); }

.storefront-studio[data-template='aurora'] { background: var(--night-1); color: var(--paper); }
.storefront-studio[data-template='aurora'] > main { max-width: var(--maxw); padding-top: 28px; padding-inline: var(--gut); }

/* header */
.storefront-studio[data-template='aurora'] > header { background: color-mix(in oklab, var(--night-0) 82%, transparent); border-color: var(--rule); }
.storefront-studio[data-template='aurora'] > header > div { max-width: var(--maxw); height: 72px; padding-inline: var(--gut); }
.storefront-studio[data-template='aurora'] > header > div > a:first-child > span:last-child { font-weight: 800; font-size: 17px; color: var(--paper); }
.storefront-studio[data-template='aurora'] > header nav { max-width: var(--maxw); }
.storefront-studio[data-template='aurora'] > header nav a { font-size: 14px; font-weight: 500; color: var(--paper-2); border-radius: 4px; background: transparent; transition: color var(--dur-s); }
.storefront-studio[data-template='aurora'] > header nav a:hover { color: var(--paper); background: transparent; }
.storefront-studio[data-template='aurora'] > header nav a[aria-current='page'] { background: transparent; color: var(--lamp); font-weight: 700; }
.storefront-studio[data-template='aurora'] > header a[data-testid='header-login'] { background: var(--accent); color: rgb(var(--on-signal)); border-radius: 6px; font-weight: 800; padding-inline: 20px; }
.storefront-studio[data-template='aurora'] > header a[data-testid='header-login']:hover { background: color-mix(in oklab, var(--accent) 86%, var(--paper)); }
.storefront-studio[data-template='aurora'] > header a[data-testid='header-wallet'] { background: transparent; border: 1px solid var(--rule-strong); border-radius: 6px; }
.storefront-studio[data-template='aurora'] > header a[data-testid='header-wallet']:hover { border-color: var(--paper-2); }
.storefront-studio[data-template='aurora'] > header a[data-testid='header-wallet'] svg { color: var(--lamp); }
.storefront-studio[data-template='aurora'] > header a[data-testid='header-account'] { border-radius: 6px; }
html[data-template='aurora'] .language-select { background: transparent; border-color: var(--rule-strong); border-radius: 6px; color: var(--paper-2); }
html[data-template='aurora'] .language-select option { background: var(--night-2); color: var(--paper); }
.storefront-studio[data-template='aurora'] > header nav a { white-space: nowrap; }
@media (min-width: 768px) and (max-width: 1023px) {
  .storefront-studio[data-template='aurora'] > header > div > nav { gap: 0; margin-inline-start: 0; }
  .storefront-studio[data-template='aurora'] > header > div > nav a { padding-inline: 8px; font-size: 13px; }
}
/* the monogram is a lit window */
html[data-template='aurora'] span[aria-hidden].bg-signal.rounded-2xl { background: var(--lamp); color: var(--night-0); border-radius: 2px; font-weight: 900; box-shadow: 0 0 0 3px var(--city-near), 0 0 0 4px var(--paper-3), 0 0 18px color-mix(in oklab, var(--lamp) 40%, transparent); }
.storefront-studio[data-template='aurora'] img.rounded-2xl { border-radius: 4px; }
@media (max-width: 767px) {
  .storefront-studio[data-template='aurora'] > header > div { height: 64px; }
  .storefront-studio[data-template='aurora'] > header > nav { padding-inline: var(--gut); padding-bottom: 10px; gap: 5px; }
  .storefront-studio[data-template='aurora'] > header > nav a { font-size: 12.5px; border: 1px solid var(--rule); padding: 5px 10px; line-height: 22px; }
  .storefront-studio[data-template='aurora'] > header > nav a[aria-current='page'] { border-color: var(--lamp-dim); background: var(--lamp-wash); }
  .storefront-studio[data-template='aurora'] > header a[data-testid='header-login'] { padding-inline: 14px; }
}

/* footer */
.storefront-studio[data-template='aurora'] > footer { border-color: var(--rule); background: var(--night-0); margin-top: 0; }
.storefront-studio[data-template='aurora'] .footer-main { max-width: var(--maxw); padding: 48px var(--gut) 40px; align-items: end; }
.storefront-studio[data-template='aurora'] .footer-brand > a { gap: 16px; }
.storefront-studio[data-template='aurora'] .footer-brand > a strong { font-size: clamp(28px, 3.2vw, 44px); font-weight: 900; line-height: 1.2; color: var(--paper); overflow-wrap: anywhere; }
.storefront-studio[data-template='aurora'] .footer-brand > p { color: var(--paper-3); font-size: 13px; line-height: 1.9; max-width: 38ch; }
.storefront-studio[data-template='aurora'] .footer-main nav { color: var(--paper); font-size: 15px; gap: 8px; }
.storefront-studio[data-template='aurora'] .footer-main nav h2 { color: var(--paper-3); font-size: 13px; font-weight: 400; margin-bottom: 4px; }
.storefront-studio[data-template='aurora'] .footer-main nav a { border-bottom: 1px solid var(--rule-strong); }
.storefront-studio[data-template='aurora'] .footer-main nav a:hover { color: var(--paper); text-decoration: none; border-color: var(--lamp); }
.storefront-studio[data-template='aurora'] .store-footer > div { border-top: 1px solid var(--rule); max-width: var(--maxw); padding-inline: var(--gut); padding-block: 22px; color: var(--paper-3); }
.storefront-studio[data-template='aurora'] .store-footer > div a:hover { color: var(--paper); }
@media (max-width: 767px) { .storefront-studio[data-template='aurora'] .footer-main { padding: 36px var(--gut) 28px; } }

/* page chrome */
html[data-template='aurora'] .store-skip-link { background: var(--lamp); color: var(--night-0); border-radius: 4px; font-weight: 700; }
.storefront-studio[data-template='aurora'] .route-frame { padding-bottom: 80px; }
.storefront-studio[data-template='aurora'] .store-breadcrumb { color: var(--paper-3); font-size: 13px; }
.storefront-studio[data-template='aurora'] .store-breadcrumb a:hover { color: var(--paper); }
.storefront-studio[data-template='aurora'] .store-breadcrumb > span { color: var(--paper-2); font-weight: 500; }
.storefront-studio[data-template='aurora'] .store-page-title { border-bottom: 1px solid var(--rule-strong); padding: 0 0 22px; margin-bottom: 28px; }
.storefront-studio[data-template='aurora'] .store-page-title::before { width: 12px; height: 15px; border-radius: 1px; background: var(--lamp); box-shadow: 0 0 0 2px var(--city-near), 0 0 0 3px var(--paper-3), 0 0 14px color-mix(in oklab, var(--lamp) 45%, transparent); margin: 3px 3px 18px; }
.storefront-studio[data-template='aurora'] .store-page-title h1 { font-size: clamp(30px, 3.4vw, 44px); font-weight: 900; line-height: 1.3; letter-spacing: 0; color: var(--paper); }
.storefront-studio[data-template='aurora'] .store-page-title > p { color: var(--paper-2); font-size: 15px; font-weight: 350; }

/* surfaces: night tiles with hairline rules, no shadows */
html[data-template='aurora'] .store-tile { border-radius: 8px; box-shadow: none; border-color: var(--rule); background: var(--night-2); }
.storefront-studio[data-template='aurora'] a > .store-tile:hover, .storefront-studio[data-template='aurora'] a.store-tile:hover { border-color: var(--lamp-dim); }
html[data-template='aurora'] .rounded-lg, html[data-template='aurora'] .rounded-xl { border-radius: 6px; }
html[data-template='aurora'] .rounded-2xl, html[data-template='aurora'] .rounded-3xl { border-radius: 8px; }
html[data-template='aurora'] a.rounded-full, html[data-template='aurora'] button.rounded-full, html[data-template='aurora'] [role='radiogroup'].rounded-full { border-radius: 6px; }
html[data-template='aurora'] span.rounded-full.px-2 { border-radius: 3px; padding: 3px 8px 4px; font-weight: 700; }
html[data-template='aurora'] [role='switch'].rounded-full { border-radius: 999px; }
html[data-template='aurora'] .text-signal-ink { color: var(--accent-text); }
/* Vazirmatn's tabular figures are set wide; prices read better in the proportional ones */
html[data-template='aurora'] .tabular { font-variant-numeric: normal; }

/* buttons */
html[data-template='aurora'] .store-button { border-radius: 6px; font-weight: 800; min-height: 46px; transition: background var(--dur-s) var(--ease-out), border-color var(--dur-s), transform var(--dur-s) var(--ease-out), filter var(--dur-s); }
html[data-template='aurora'] .store-button:active { transform: translateY(1px); }
html[data-template='aurora'] .store-button[data-ds-button='quiet'] { background: transparent; box-shadow: inset 0 0 0 1px var(--rule-strong); color: var(--paper); }
html[data-template='aurora'] .store-button[data-ds-button='quiet']:hover { box-shadow: inset 0 0 0 1px var(--paper-2); }
html[data-template='aurora'] .store-button[data-ds-button='ghost']:hover { background: var(--night-3); }
html[data-template='aurora'] .store-button:disabled { background: var(--night-3); color: var(--paper-3); opacity: 1; box-shadow: none; }
html[data-template='aurora'] .storefront-studio a.bg-signal { border-radius: 6px; font-weight: 800; }
html[data-template='aurora'] .storefront-studio a.bg-signal:hover, html[data-template='aurora'] .store-button[data-ds-button='signal']:hover:not(:disabled) { filter: none; background: color-mix(in oklab, var(--accent) 86%, var(--paper)); }
html[data-template='aurora'] .storefront-studio a.bg-tile-2.rounded-full { background: transparent; box-shadow: inset 0 0 0 1px var(--rule-strong); color: var(--paper-2); }

/* forms */
html[data-template='aurora'] .store-input, html[data-template='aurora'] .store-textarea, html[data-template='aurora'] .store-select { background: var(--night-0); border-radius: 6px; border-color: var(--rule-strong); }
html[data-template='aurora'] .store-input:focus-within, html[data-template='aurora'] .store-textarea:focus, html[data-template='aurora'] .store-select:focus { background: var(--night-0); border-color: var(--paper-2); box-shadow: 0 0 0 3px color-mix(in oklab, var(--lamp) 16%, transparent); }
html[data-template='aurora'] .store-input input:focus-visible { outline: none; }
html[data-template='aurora'] .store-select option { background: var(--night-2); color: var(--paper); }
html[data-template='aurora'] .store-input input:-webkit-autofill { -webkit-text-fill-color: var(--paper); box-shadow: 0 0 0 40px var(--night-0) inset; caret-color: var(--paper); }
.storefront-studio[data-template='aurora'] input[type='file'] { background: var(--night-0); border-color: var(--rule-strong); border-radius: 6px; color: var(--paper-2); }
.storefront-studio[data-template='aurora'] input[type='file']::file-selector-button { border-radius: 4px; background: var(--night-3); color: var(--paper); border: 0; padding: 8px 14px; margin-inline-end: 12px; font: inherit; font-weight: 700; }
.storefront-studio[data-template='aurora'] [data-testid='aggregate-form'], .storefront-studio[data-template='aurora'] [data-testid='receipt-form'], .storefront-studio[data-template='aurora'] [data-testid='creative-form'], .storefront-studio[data-template='aurora'] [data-testid='banner-creative-form'] { background: var(--night-2); border: 1px solid var(--rule); border-radius: 8px; }
.storefront-studio[data-template='aurora'] [data-testid='crypto-address'] { background: var(--night-0); border: 1px solid var(--rule); border-radius: 8px; }

/* empty / notice */
.storefront-studio[data-template='aurora'] .store-empty { background: transparent; border: 1px dashed var(--rule-strong); border-radius: 8px; }
.storefront-studio[data-template='aurora'] .store-tile > .store-empty { border: none; }
.storefront-studio[data-template='aurora'] .store-empty > div:first-child { width: 44px; height: 56px; border-radius: 2px; background: var(--city-near); color: var(--lamp-dim); box-shadow: 0 0 0 1px var(--paper-3); }
.storefront-studio[data-template='aurora'] .store-notice { background: var(--night-2); border: 1px solid var(--rule); border-radius: 10px; box-shadow: none; }

/* sign in / register: the form beside a window on the night */
.storefront-studio[data-template='aurora'] .auth-layout { border: 1px solid var(--rule-strong); border-radius: 10px; background: var(--night-2); }
.storefront-studio[data-template='aurora'] .auth-story { color: var(--paper);
  background:
    radial-gradient(120% 46% at 30% 30%, color-mix(in oklab, var(--accent) 46%, transparent), transparent 70%),
    radial-gradient(90% 34% at 78% 46%, color-mix(in oklab, var(--accent) 30%, transparent), transparent 72%),
    linear-gradient(to top, color-mix(in oklab, var(--lamp) 10%, var(--night-0)), var(--night-0) 34%, var(--night-0)); }
.storefront-studio[data-template='aurora'] .auth-story::after { content: ''; position: absolute; inset: auto 0 0 0; height: 96px; z-index: -1; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 360 80'%3E%3Cpath fill='%23060a15' d='M0 80V46h22v-8h18v8h8V30h30v-6h10v6h4v22h14V40h26v12h10V20h34v32h12V34h8v-8h20v8h6v20h16V44h24V34h14v10h8V26h28v22h20V36h28v44Z'/%3E%3Cpath fill='none' stroke='%232a3858' d='M48 30.5h30m-78 16h22m82-6h26m10-20h34m20 14h8m54 0h14m8-8h28m20 10h28'/%3E%3Cpath fill='%23ffc45c' d='M54 37h4v5h-4zM70 45h4v5h-4zM8 54h4v5H8zM120 47h4v5h-4zM172 28h4v5h-4zM184 44h4v5h-4zM236 41h4v5h-4zM300 51h4v5h-4zM294 34h4v5h-4zM340 44h4v5h-4z'/%3E%3Cpath fill='%23ffa95a' d='M62 53h4v5h-4zM30 53h4v5h-4zM132 55h4v5h-4zM172 52h4v5h-4zM196 36h4v5h-4zM248 49h4v5h-4zM350 60h4v5h-4zM318 58h4v5h-4z'/%3E%3C/svg%3E") left bottom / 432px 96px repeat-x; }
.storefront-studio[data-template='aurora'] .auth-story { padding-bottom: 120px; }
@media (max-width: 767px) {
  .storefront-studio[data-template='aurora'] .auth-story { padding-bottom: 86px; }
  .storefront-studio[data-template='aurora'] .auth-story::after { height: 64px; background-size: 288px 64px; }
}
.storefront-studio[data-template='aurora'] .auth-brand { color: var(--paper-2); font-size: 14px; }
.storefront-studio[data-template='aurora'] .auth-brand svg { color: var(--lamp); }
.storefront-studio[data-template='aurora'] .auth-story h2 { font-weight: 900; line-height: 1.45; letter-spacing: 0; text-shadow: 0 1px 14px var(--night-0); }
.storefront-studio[data-template='aurora'] .auth-story h2 em { color: var(--lamp); font-weight: 200; }
.storefront-studio[data-template='aurora'] .auth-story > p { color: var(--paper-2); text-shadow: 0 1px 8px var(--night-0); }
.storefront-studio[data-template='aurora'] .auth-symbol > svg { color: var(--lamp); }
.storefront-studio[data-template='aurora'] .auth-symbol > span { border-color: color-mix(in oklab, var(--accent) 38%, transparent); }
.storefront-studio[data-template='aurora'] .auth-features { color: var(--paper-2); position: relative; }
.storefront-studio[data-template='aurora'] .auth-content .store-tile { background: transparent; }
.storefront-studio[data-template='aurora'] .auth-content .store-page-title { border: 0; }

/* account workspace */
.storefront-studio[data-template='aurora'] .personal-sidebar { background: transparent; border: 0; border-top: 1px solid var(--rule-strong); border-radius: 0; padding: 14px 0 0; top: 100px; }
.storefront-studio[data-template='aurora'] .personal-sidebar > p { color: var(--paper-3); margin-inline: 0; font-size: 13px; }
.storefront-studio[data-template='aurora'] .personal-sidebar nav { gap: 0; }
.storefront-studio[data-template='aurora'] .personal-sidebar nav a { color: var(--paper-2); border-radius: 0; border-bottom: 1px solid var(--rule); padding: 14px 4px; font-size: 15px; }
.storefront-studio[data-template='aurora'] .personal-sidebar nav a:hover { background: transparent; color: var(--paper); }
.storefront-studio[data-template='aurora'] .personal-sidebar nav a[aria-current='page'] { background: linear-gradient(to left, var(--lamp-wash), transparent 80%); color: var(--lamp); font-weight: 700; }
html[dir='ltr'] .storefront-studio[data-template='aurora'] .personal-sidebar nav a[aria-current='page'] { background: linear-gradient(to right, var(--lamp-wash), transparent 80%); }
.storefront-studio[data-template='aurora'] .sidebar-note { border-top: 0; color: var(--paper-2); justify-items: start; text-align: start; padding-top: 20px; margin-top: 8px; }
.storefront-studio[data-template='aurora'] .sidebar-note > svg { color: var(--lamp-dim); }
.storefront-studio[data-template='aurora'] .sidebar-note > a { color: var(--accent-text); }
@media (max-width: 767px) {
  .storefront-studio[data-template='aurora'] .personal-sidebar { border-top: 0; border-bottom: 1px solid var(--rule-strong); padding: 0; }
  .storefront-studio[data-template='aurora'] .personal-sidebar nav a { border-bottom: 2px solid transparent; padding: 10px 6px 12px; font-size: 13px; }
  .storefront-studio[data-template='aurora'] .personal-sidebar nav a[aria-current='page'] { background: transparent; border-bottom-color: var(--lamp); }
}
.storefront-studio[data-template='aurora'] .wallet-balance { border-color: var(--rule-strong); min-height: 160px;
  background:
    radial-gradient(90% 120% at 12% 0%, color-mix(in oklab, var(--accent) 34%, transparent), transparent 62%),
    radial-gradient(60% 90% at 70% -10%, color-mix(in oklab, var(--accent) 18%, transparent), transparent 70%),
    var(--night-0); }
.storefront-studio[data-template='aurora'] .wallet-balance > div > p { color: var(--paper-2); }
.storefront-studio[data-template='aurora'] .wallet-balance > div > span > span:first-child { color: var(--paper); font-weight: 300; font-size: clamp(34px, 4.4vw, 54px); line-height: 1.2; }
.storefront-studio[data-template='aurora'] .wallet-balance > div > span > span + span { color: var(--paper-2); }
.storefront-studio[data-template='aurora'] .wallet-balance > span { color: var(--night-0); background: var(--lamp); border: 0; border-radius: 2px; width: 44px; height: 56px; box-shadow: 0 0 0 3px var(--city-near), 0 0 0 4px var(--paper-3), 0 0 26px color-mix(in oklab, var(--lamp) 45%, transparent); }
.storefront-studio[data-template='aurora'] .profile-avatar { background: var(--city-near); color: var(--lamp); border-radius: 2px; box-shadow: 0 0 0 1px var(--paper-3); }
.storefront-studio[data-template='aurora'] [data-testid='account-card'] dl { border-top: 1px solid var(--rule); }
.storefront-studio[data-template='aurora'] .account-shortcut > svg { background: var(--night-3); color: var(--lamp); border-radius: 6px; }
.storefront-studio[data-template='aurora'] .order-detail-card { border-top: 2px solid var(--lamp); }
.storefront-studio[data-template='aurora'] .order-timeline { color: var(--paper-2); }

/* catalogue cards */
.storefront-studio[data-template='aurora'] .product-card:hover, .storefront-studio[data-template='aurora'] .listing-card:hover { box-shadow: none; border-color: var(--lamp-dim); transform: none; }
.storefront-studio[data-template='aurora'] .product-card-visual { color: var(--paper-2); border-radius: 4px; border: 1px solid var(--rule); min-height: 88px;
  background:
    radial-gradient(120% 90% at 20% 0%, color-mix(in oklab, var(--accent) 30%, transparent), transparent 64%),
    var(--night-0); }
.storefront-studio[data-template='aurora'] .product-card-visual > svg { color: var(--lamp); width: 34px; height: 34px; }
.storefront-studio[data-template='aurora'] .product-location { border-color: var(--rule-strong); background: color-mix(in oklab, var(--night-0) 70%, transparent); border-radius: 3px; color: var(--paper); }
.storefront-studio[data-template='aurora'] .product-features { color: var(--paper-2); }
.storefront-studio[data-template='aurora'] .product-features svg { color: var(--lamp-dim); }
.storefront-studio[data-template='aurora'] .product-card-price { border-top: 1px solid var(--rule); }
.storefront-studio[data-template='aurora'] .listing-card-visual { background: var(--night-0); color: var(--paper-2); border: 1px solid var(--rule); border-radius: 4px; }
.storefront-studio[data-template='aurora'] .listing-card-visual > span:first-child { border-color: var(--rule-strong); background: var(--night-3); color: var(--lamp); border-radius: 4px; }
.storefront-studio[data-template='aurora'] .proxy-card > img { border-color: var(--rule-strong); border-radius: 4px; background: var(--paper); }
.storefront-studio[data-template='aurora'] .proxy-card dl { background: var(--night-0); border: 1px solid var(--rule); border-radius: 6px; }
.storefront-studio[data-template='aurora'] .detail-visual { color: var(--paper); border-radius: 6px; border: 1px solid var(--rule); font-weight: 300; min-height: 132px;
  background:
    radial-gradient(110% 100% at 22% 0%, color-mix(in oklab, var(--accent) 40%, transparent), transparent 62%),
    radial-gradient(70% 80% at 80% 10%, color-mix(in oklab, var(--accent) 20%, transparent), transparent 70%),
    linear-gradient(to top, color-mix(in oklab, var(--lamp) 8%, var(--night-0)), var(--night-0) 40%); }
.storefront-studio[data-template='aurora'] .detail-visual > svg { color: var(--lamp); }
.storefront-studio[data-template='aurora'] .detail-banner { color: var(--paper); }

/* the buy sheet and toasts are portalled to <body> */
html[data-template='aurora'] [role='presentation'] > [aria-hidden].absolute.inset-0 { background: rgb(4 7 14 / .72); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
html[data-template='aurora'] [role='dialog'] { background: var(--night-2); border-radius: 12px 12px 0 0; }
html[data-template='aurora'] [role='dialog'] h2 { font-weight: 900; font-size: 22px; }
html[data-template='aurora'] [role='dialog'] > div:first-child { padding-top: 18px; padding-bottom: 14px; border-bottom: 1px solid var(--rule); }
html[data-template='aurora'] [role='dialog'] dl { gap: 0; align-items: stretch; }
html[data-template='aurora'] [role='dialog'] dl > dt, html[data-template='aurora'] [role='dialog'] dl > dd { padding-block: 11px; border-bottom: 1px solid var(--rule); display: flex; align-items: center; }
html[data-template='aurora'] [role='dialog'] dl > dt { color: var(--paper-2); padding-inline-end: 20px; }
@media (min-width: 640px) { html[data-template='aurora'] [role='dialog'] { border-radius: 12px; } }

/* /ads (app/globals.css): night panels, hairlines, accent and lamp light. */
.storefront-studio[data-template='aurora'] .tone-page { --tone-a: var(--accent); --tone-b: var(--lamp); --tone-base: var(--night-1); }
.storefront-studio[data-template='aurora'] .page-hero { border: 1px solid var(--rule); border-radius: 12px; }
.storefront-studio[data-template='aurora'] .ad-choice { --ad-card: var(--night-2); border-color: var(--rule); border-radius: 12px; box-shadow: none; }
.storefront-studio[data-template='aurora'] .ad-choice:hover { transform: none; border-color: var(--lamp-dim); box-shadow: 0 0 0 1px var(--lamp-wash), 0 30px 60px -36px color-mix(in oklab, var(--ad) 60%, transparent); }
.storefront-studio[data-template='aurora'] .ad-choice-tagline { color: var(--paper-2); }
.storefront-studio[data-template='aurora'] .ad-choice-icon, .storefront-studio[data-template='aurora'] .page-hero-badge { border-radius: 10px; }
.storefront-studio[data-template='aurora'] .adp-list, .storefront-studio[data-template='aurora'] .adp-post { border-radius: 8px; background: var(--night-1); border-color: var(--rule-strong); }
.storefront-studio[data-template='aurora'] .ad-choice-cta { border-radius: 6px; }
.storefront-studio[data-template='aurora'] .vp-card { background: var(--night-2); border-color: var(--rule); border-radius: 12px; box-shadow: none; }
.storefront-studio[data-template='aurora'] .vp-card:hover { transform: none; border-color: var(--lamp-dim); box-shadow: 0 0 0 1px var(--lamp-wash), 0 30px 60px -36px color-mix(in oklab, var(--vp) 60%, transparent); }
.storefront-studio[data-template='aurora'] .vp-foot { border-color: var(--rule); }
.storefront-studio[data-template='aurora'] .vp-cta { border-radius: 6px; }
