/* Copyright (c) 2026 ansak2008-hash. See LICENSE for permitted use. */
/* ==========================================================================
   Aurora Store — Aurora Midnight Cyan
   Production-oriented storefront stylesheet
   Responsive: 320px–1920px | Accessible focus | Reduced-motion support
   ========================================================================== */

:root {
  color-scheme: dark;
  --color-primary: #67e8f9;
  --color-accent: #67e8f9;
  --color-secondary: #a5f3fc;
  --color-background: #05070a;
  --color-surface: #0b1118;
  --color-surface-elevated: #111a24;
  --color-text: #f8fafc;
  --color-muted: #94a3b8;
  --color-border: #263746;
  --color-success: #86efac;
  --color-warning: #fcd34d;
  --color-danger: #fda4af;
  --container-width: 1240px;
  --header-height: 78px;
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 22px;
  --radius-pill: 999px;
  --shadow-soft: 0 12px 38px rgba(0, 0, 0, .18);
  --shadow-deep: 0 26px 70px rgba(0, 0, 0, .38);
  --ease-out: cubic-bezier(.2, .7, .2, 1);
  --transition-fast: 160ms var(--ease-out);
  --transition-base: 240ms var(--ease-out);
  --page-gutter: clamp(18px, 4vw, 56px);
  font-family: Arial, Helvetica, sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

:root[data-theme="light"] {
  color-scheme: light;
  --color-background: #f5f8fa;
  --color-surface: #ffffff;
  --color-surface-elevated: #edf4f7;
  --color-text: #101820;
  --color-muted: #526575;
  --color-border: #d7e2e8;
  --shadow-soft: 0 12px 38px rgba(16, 40, 54, .07);
  --shadow-deep: 0 26px 70px rgba(16, 40, 54, .14);
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { min-width: 320px; scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + 24px); background: var(--color-background); }
body { min-width: 320px; margin: 0; background: var(--color-background); color: var(--color-text); font-size: 15px; line-height: 1.6; transition: background-color var(--transition-base), color var(--transition-base); }
body, button, input, select, textarea { font-family: Arial, Helvetica, sans-serif; }
button, input, select, textarea { font: inherit; }
button, select { cursor: pointer; }
button { color: inherit; }
img, svg, video { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
p, h1, h2, h3, h4 { margin-top: 0; }
h1, h2, h3, h4 { font-family: Arial, Helvetica, sans-serif; line-height: 1.12; letter-spacing: -.045em; }
::selection { color: #041116; background: var(--color-accent); }
:focus { outline: none; }
:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 4px; }
.skip-link { position: fixed; z-index: 2000; top: 12px; left: 12px; padding: 10px 16px; transform: translateY(-160%); border-radius: var(--radius-sm); background: var(--color-accent); color: #041116; font-weight: 700; transition: transform var(--transition-fast); }
.skip-link:focus { transform: translateY(0); }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.container { width: min(100% - var(--page-gutter) * 2, var(--container-width)); margin-inline: auto; }
.section-padding { padding-block: clamp(76px, 9vw, 132px); }
.eyebrow { display: flex; align-items: center; gap: 11px; margin-bottom: 20px; color: var(--color-accent); font-size: 10px; font-weight: 700; letter-spacing: .18em; line-height: 1.4; text-transform: uppercase; }
.eyebrow__line { display: inline-block; width: 27px; height: 1px; flex: 0 0 auto; background: currentColor; }
.text-link { display: inline-flex; align-items: center; gap: 12px; color: var(--color-text); font-size: 13px; font-weight: 700; transition: color var(--transition-fast), gap var(--transition-fast); }
.text-link:hover { gap: 17px; color: var(--color-accent); }
.text-link span { color: var(--color-accent); }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 12px; padding: 13px 20px; border: 1px solid transparent; border-radius: var(--radius-pill); font-size: 12px; font-weight: 700; line-height: 1.2; text-align: center; transition: transform var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast); }
.button:hover { transform: translateY(-2px); }
.button:active { transform: translateY(0); }
.button--primary { background: var(--color-accent); color: #041116; box-shadow: 0 8px 24px rgba(var(--color-accent-rgb), .13); }
.button--primary:hover { background: #a5f3fc; box-shadow: 0 12px 28px rgba(var(--color-accent-rgb), .2); }
.button--secondary { border-color: var(--color-border); background: var(--color-surface); color: var(--color-text); }
.button--secondary:hover { border-color: var(--color-accent); }
.button--full { width: 100%; }
.text-button { display: inline-flex; align-items: center; justify-content: center; padding: 8px 12px; border: 0; background: transparent; color: var(--color-muted); font-size: 12px; font-weight: 650; }
.text-button:hover { color: var(--color-danger); }
.icon-button { position: relative; display: inline-grid; width: 40px; height: 40px; flex: 0 0 auto; place-items: center; padding: 0; border: 1px solid transparent; border-radius: 50%; background: transparent; color: var(--color-text); font-size: 20px; line-height: 1; transition: border-color var(--transition-fast), background var(--transition-fast), color var(--transition-fast); }
.icon-button:hover { border-color: var(--color-border); background: var(--color-surface-elevated); color: var(--color-accent); }
.count-badge { position: absolute; top: -3px; right: -4px; display: grid; min-width: 18px; height: 18px; place-items: center; padding-inline: 4px; border: 2px solid var(--color-background); border-radius: var(--radius-pill); background: var(--color-accent); color: #041116; font-size: 9px; font-weight: 800; }

/* Announcement and navigation */
.announcement-bar { display: flex; min-height: 34px; align-items: center; justify-content: center; gap: 24px; padding: 7px var(--page-gutter); border-bottom: 1px solid rgba(148, 163, 184, .12); background: #080d12; color: #d8e6ec; font-size: 10px; letter-spacing: .035em; text-align: center; }
.announcement-bar p { margin: 0; }
.announcement-bar__note { color: #9cb0bb; }
.announcement-bar__note span { padding-left: 4px; color: var(--color-accent); }
.site-header { position: sticky; z-index: 100; top: 0; border-bottom: 1px solid var(--color-border); background: color-mix(in srgb, var(--color-background) 88%, transparent); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.header-inner { display: flex; min-height: var(--header-height); align-items: center; justify-content: space-between; gap: 26px; }
.brand { display: inline-flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.brand__mark { position: relative; display: inline-flex; width: 29px; height: 29px; align-items: center; justify-content: center; gap: 2px; overflow: hidden; border: 1px solid rgba(var(--color-accent-rgb), .45); border-radius: 9px; background: linear-gradient(145deg, rgba(var(--color-accent-rgb), .18), rgba(var(--color-accent-rgb), .025)); box-shadow: inset 0 0 15px rgba(var(--color-accent-rgb), .08); transform: rotate(-7deg); }
.brand__mark span { display: block; width: 3px; border-radius: 4px; background: var(--color-accent); box-shadow: 0 0 8px rgba(var(--color-accent-rgb), .45); }
.brand__mark span:nth-child(1) { height: 9px; opacity: .65; }
.brand__mark span:nth-child(2) { height: 17px; }
.brand__mark span:nth-child(3) { height: 12px; opacity: .8; }
.brand__wordmark { font-family: Arial, Helvetica, sans-serif; font-size: 20px; font-weight: 800; letter-spacing: -.07em; }
.brand__wordmark span { color: var(--color-accent); font-weight: 500; }
.primary-nav, .header-actions { display: flex; align-items: center; }
.primary-nav { gap: clamp(18px, 2.7vw, 38px); margin-inline: auto; }
.primary-nav a { position: relative; padding-block: 9px; color: var(--color-muted); font-size: 12px; font-weight: 600; transition: color var(--transition-fast); }
.primary-nav a::after { position: absolute; right: 0; bottom: 0; left: 0; height: 1px; background: var(--color-accent); content: ""; transform: scaleX(0); transform-origin: right; transition: transform var(--transition-fast); }
.primary-nav a:hover, .primary-nav a:focus-visible { color: var(--color-text); }
.primary-nav a:hover::after, .primary-nav a:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.header-actions { gap: 7px; }
.select-compact { max-width: 90px; padding: 8px 4px; border: 0; background: transparent; color: var(--color-muted); font-size: 10px; }
.select-compact option, .shop-toolbar select option { background: var(--color-surface); color: var(--color-text); }
.menu-toggle { display: none; }
.mobile-menu { padding: 8px var(--page-gutter) 18px; border-top: 1px solid var(--color-border); background: var(--color-surface); }
.mobile-menu a { display: block; padding: 12px 0; border-bottom: 1px solid var(--color-border); color: var(--color-muted); font-size: 13px; }
.mobile-menu a:last-child { border-bottom: 0; }

/* Hero */
.hero { position: relative; isolation: isolate; overflow: hidden; border-bottom: 1px solid var(--color-border); background: radial-gradient(ellipse at 78% 45%, rgba(var(--color-accent-rgb), .12), transparent 35%), var(--color-background); }
.hero__glow { position: absolute; z-index: -1; width: 440px; aspect-ratio: 1; border-radius: 50%; background: rgba(var(--color-accent-rgb), .07); filter: blur(90px); pointer-events: none; }
.hero__glow--one { top: 6%; right: 9%; }
.hero__glow--two { bottom: -45%; left: -15%; width: 380px; background: rgba(var(--color-accent-rgb), .08); }
.hero__inner { display: grid; min-height: min(680px, calc(100svh - var(--header-height) - 34px)); grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr); align-items: center; gap: clamp(30px, 5vw, 82px); padding-block: 70px 44px; }
.hero__content { position: relative; z-index: 2; max-width: 530px; }
.hero h1 { margin-bottom: 24px; font-size: clamp(42px, 5.4vw, 76px); font-weight: 700; letter-spacing: -.075em; line-height: 1.03; }
.hero h1 span, .section-heading h2 span, .editorial h2 span, .newsletter__inner h2 span { color: var(--color-accent); }
.hero__description { max-width: 420px; margin-bottom: 30px; color: var(--color-muted); font-size: clamp(14px, 1.2vw, 16px); line-height: 1.9; }
.hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
.hero__trust { display: flex; align-items: center; gap: 13px; margin-top: 45px; }
.hero__trust p { margin: 0; color: var(--color-text); font-size: 11px; line-height: 1.7; }
.hero__trust p span { color: var(--color-muted); }
.avatar-stack { display: flex; padding-left: 4px; }
.avatar-stack span { display: grid; width: 30px; height: 30px; place-items: center; margin-left: -5px; border: 2px solid var(--color-background); border-radius: 50%; background: #17313b; color: #dffbff; font-size: 9px; font-weight: 800; }
.avatar-stack span:nth-child(2) { background: #4d3948; }
.avatar-stack span:nth-child(3) { background: #48503b; }
.hero__visual { position: relative; display: grid; min-width: 0; min-height: 430px; place-items: center; isolation: isolate; }
.hero-orbit { position: absolute; z-index: -1; aspect-ratio: 1; border: 1px solid rgba(var(--color-accent-rgb), .13); border-radius: 50%; }
.hero-orbit--outer { width: min(100%, 470px); }
.hero-orbit--inner { width: min(77%, 360px); border-style: dashed; border-color: rgba(var(--color-accent-rgb), .1); }
.hero-product { position: absolute; overflow: hidden; border: 1px solid rgba(148, 163, 184, .22); background: #101923; box-shadow: var(--shadow-deep); }
.hero-product img { width: 100%; height: 100%; object-fit: cover; }
.hero-product--main { z-index: 2; width: min(62%, 300px); aspect-ratio: .86; border-radius: 22px; transform: rotate(-7deg) translate(-4%, 0); }
.hero-product--main::after { position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.08); border-radius: inherit; content: ""; pointer-events: none; }
.hero-product--watch { z-index: 3; top: 9%; right: 2%; width: 31%; aspect-ratio: .95; border-radius: 16px; transform: rotate(8deg); }
.hero-product--bag { z-index: 1; bottom: 7%; left: 3%; width: 34%; aspect-ratio: .88; border-radius: 17px; transform: rotate(7deg); }
.hero-floating-card { position: absolute; z-index: 4; right: 0; bottom: 8%; display: flex; align-items: center; gap: 11px; padding: 13px 16px; border: 1px solid rgba(var(--color-accent-rgb), .22); border-radius: 13px; background: color-mix(in srgb, var(--color-surface) 88%, transparent); box-shadow: var(--shadow-soft); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.floating-card__icon { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 10px; background: rgba(var(--color-accent-rgb), .12); color: var(--color-accent); }
.hero-floating-card strong, .hero-floating-card small { display: block; }
.hero-floating-card strong { font-size: 10px; }
.hero-floating-card small { margin-top: 3px; color: var(--color-muted); font-size: 9px; }
.hero__bottom { display: flex; justify-content: space-between; gap: 16px; padding-block: 16px 22px; color: var(--color-muted); font-size: 9px; letter-spacing: .14em; }
.hero__scroll { color: var(--color-text); }
.hero__scroll span { padding-left: 6px; color: var(--color-accent); }

/* Value strip and section headers */
.value-strip { border-bottom: 1px solid var(--color-border); background: var(--color-surface); }
.value-strip__inner { display: grid; grid-template-columns: repeat(3, 1fr); }
.value-strip__inner > div { display: flex; min-height: 105px; align-items: center; justify-content: center; gap: 14px; padding: 20px; border-right: 1px solid var(--color-border); }
.value-strip__inner > div:first-child { border-left: 1px solid var(--color-border); }
.value-strip__inner > div > span { color: var(--color-accent); font-size: 23px; }
.value-strip p { margin: 0; }
.value-strip strong, .value-strip small { display: block; }
.value-strip strong { font-size: 11px; }
.value-strip small { margin-top: 3px; color: var(--color-muted); font-size: 10px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 42px; }
.section-heading h2, .editorial h2, .newsletter__inner h2 { margin: 0; font-size: clamp(36px, 4.3vw, 58px); font-weight: 650; letter-spacing: -.07em; line-height: 1.08; }
.section-heading__description { max-width: 360px; margin: 0 0 5px; color: var(--color-muted); font-size: 13px; line-height: 1.9; }

/* Catalog controls */
.shop-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); }
.shop-toolbar__search { display: flex; min-width: min(100%, 280px); align-items: center; gap: 11px; padding-inline: 10px; color: var(--color-muted); }
.shop-toolbar__search > span { font-size: 22px; }
.shop-toolbar__search input { width: 100%; min-width: 0; padding: 9px 0; border: 0; outline: none; background: transparent; color: var(--color-text); font-size: 12px; }
.shop-toolbar__search input::placeholder { color: var(--color-muted); opacity: .8; }
.shop-toolbar__controls { display: flex; gap: 10px; }
.shop-toolbar select { max-width: 100%; min-height: 39px; padding: 8px 28px 8px 12px; border: 1px solid var(--color-border); border-radius: 9px; background: var(--color-background); color: var(--color-text); font-size: 11px; }
.shop-meta { display: flex; min-height: 55px; align-items: center; justify-content: space-between; gap: 16px; }
.shop-meta > p { margin: 0; color: var(--color-muted); font-size: 11px; }
.layout-toggle { display: flex; gap: 4px; }
.layout-toggle button { display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid transparent; border-radius: 8px; background: transparent; color: var(--color-muted); }
.layout-toggle button[aria-pressed="true"], .layout-toggle button:hover { border-color: var(--color-border); background: var(--color-surface); color: var(--color-accent); }

/* Product cards */
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 20px; }
.product-card { position: relative; min-width: 0; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); transition: transform var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base); }
.product-card:hover { transform: translateY(-4px); border-color: rgba(var(--color-accent-rgb), .4); box-shadow: var(--shadow-soft); }
.product-card__media { position: relative; overflow: hidden; aspect-ratio: .91; background: var(--color-surface-elevated); }
.product-card__image { width: 100%; height: 100%; object-fit: cover; transition: transform 600ms var(--ease-out); }
.product-card:hover .product-card__image { transform: scale(1.045); }
.product-card__badges { position: absolute; z-index: 2; top: 13px; left: 13px; display: flex; flex-wrap: wrap; gap: 6px; max-width: calc(100% - 70px); }
.product-badge { display: inline-flex; align-items: center; min-height: 23px; padding: 4px 8px; border: 1px solid rgba(255,255,255,.12); border-radius: var(--radius-pill); background: rgba(5, 7, 10, .78); color: #f8fafc; font-size: 8px; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.product-badge--sale { background: var(--color-accent); color: #041116; }
.product-badge--out { background: #3a2027; color: #fecdd3; }
.product-card__wishlist { position: absolute; z-index: 3; top: 12px; right: 12px; display: grid; width: 35px; height: 35px; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; background: rgba(5,7,10,.75); color: #fff; font-size: 19px; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.product-card__wishlist:hover, .product-card__wishlist[aria-pressed="true"] { border-color: var(--color-accent); color: var(--color-accent); }
.product-card__quick-view { position: absolute; z-index: 3; right: 12px; bottom: 12px; left: 12px; min-height: 39px; border: 1px solid rgba(255,255,255,.2); border-radius: var(--radius-pill); background: rgba(5,7,10,.82); color: #fff; font-size: 10px; font-weight: 700; opacity: 0; transform: translateY(8px); transition: opacity var(--transition-fast), transform var(--transition-fast); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.product-card:hover .product-card__quick-view, .product-card__quick-view:focus-visible { opacity: 1; transform: translateY(0); }
.product-card__body { padding: 17px; }
.product-card__eyebrow { margin-bottom: 7px; color: var(--color-accent); font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.product-card__title { margin-bottom: 7px; font-size: clamp(14px, 1.2vw, 17px); font-weight: 700; letter-spacing: -.035em; overflow-wrap: anywhere; }
.product-card__title a:hover { color: var(--color-accent); }
.product-card__description { display: -webkit-box; overflow: hidden; min-height: 39px; margin-bottom: 12px; color: var(--color-muted); font-size: 10px; line-height: 1.7; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.product-card__rating { display: flex; align-items: center; gap: 7px; margin-bottom: 13px; color: var(--color-muted); font-size: 10px; }
.product-rating__stars { color: #f7c66b; letter-spacing: .08em; }
.product-card__purchase { display: flex; align-items: end; justify-content: space-between; gap: 10px; padding-top: 13px; border-top: 1px solid var(--color-border); }
.product-card__prices { display: flex; min-width: 0; flex-wrap: wrap; align-items: baseline; gap: 7px; }
.product-card__price { color: var(--color-text); font-size: 15px; font-weight: 800; letter-spacing: -.03em; }
.product-card__compare-price { color: var(--color-muted); font-size: 10px; text-decoration: line-through; }
.product-card__stock { display: block; margin-top: 4px; color: var(--color-muted); font-size: 9px; }
.product-card__add { display: inline-grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; border: 1px solid rgba(var(--color-accent-rgb),.4); border-radius: 50%; background: rgba(var(--color-accent-rgb),.08); color: var(--color-accent); font-size: 19px; transition: background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast); }
.product-card__add:hover { transform: rotate(90deg); background: var(--color-accent); color: #041116; }
.product-card__add:disabled { cursor: not-allowed; opacity: .4; transform: none; }
.product-empty { grid-column: 1 / -1; padding: 70px 20px; border: 1px dashed var(--color-border); border-radius: var(--radius-lg); text-align: center; }
.product-empty h3 { margin-bottom: 9px; font-size: 22px; }
.product-empty p { color: var(--color-muted); font-size: 13px; }
.pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; margin-top: 42px; }
.pagination__button { display: grid; min-width: 38px; height: 38px; place-items: center; padding-inline: 10px; border: 1px solid var(--color-border); border-radius: 10px; background: var(--color-surface); color: var(--color-muted); font-size: 11px; }
.pagination__button:hover, .pagination__button[aria-current="page"] { border-color: var(--color-accent); background: rgba(var(--color-accent-rgb),.09); color: var(--color-accent); }
.pagination__button:disabled { cursor: not-allowed; opacity: .35; }

/* Alternate list view */
.product-grid[data-layout="list"] { grid-template-columns: 1fr; gap: 14px; }
.product-grid[data-layout="list"] .product-card { display: grid; grid-template-columns: minmax(150px, 240px) minmax(0, 1fr); }
.product-grid[data-layout="list"] .product-card__media { height: 100%; min-height: 220px; aspect-ratio: auto; }
.product-grid[data-layout="list"] .product-card__body { display: flex; flex-direction: column; justify-content: center; padding: clamp(18px, 3vw, 32px); }
.product-grid[data-layout="list"] .product-card__description { max-width: 520px; }
.product-grid[data-layout="list"] .product-card__purchase { margin-top: auto; }

/* Editorial and newsletter */
.editorial { border-block: 1px solid var(--color-border); background: var(--color-surface); }
.editorial__inner { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: center; gap: clamp(38px, 8vw, 112px); }
.editorial__image { position: relative; min-width: 0; overflow: hidden; aspect-ratio: 1.02; border-radius: var(--radius-lg); background: var(--color-surface-elevated); }
.editorial__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 700ms var(--ease-out); }
.editorial__image:hover img { transform: scale(1.035); }
.editorial__image-label { position: absolute; right: 16px; bottom: 16px; padding: 9px 12px; border: 1px solid rgba(255,255,255,.18); border-radius: var(--radius-pill); background: rgba(5,7,10,.72); color: #f8fafc; font-size: 8px; letter-spacing: .12em; }
.editorial__content > p:not(.eyebrow) { max-width: 450px; margin-block: 22px 28px; color: var(--color-muted); font-size: 13px; line-height: 2; }
.editorial__signature { display: flex; align-items: center; gap: 12px; margin-top: 42px; padding-top: 20px; border-top: 1px solid var(--color-border); color: var(--color-muted); font-size: 10px; line-height: 1.7; }
.signature-mark { display: grid; width: 39px; height: 39px; place-items: center; border: 1px solid rgba(var(--color-accent-rgb),.35); border-radius: 12px; color: var(--color-accent); font-family: Arial, Helvetica, sans-serif; font-size: 20px; font-weight: 800; }
.newsletter-section { position: relative; overflow: hidden; padding-block: clamp(65px, 8vw, 105px); background: radial-gradient(ellipse at 90% 20%, rgba(var(--color-accent-rgb), .1), transparent 38%), #080e14; color: #f8fafc; }
.newsletter__inner { display: grid; grid-template-columns: 1fr minmax(300px, .75fr); align-items: center; gap: 50px; }
.newsletter__inner h2 { font-size: clamp(32px, 4vw, 48px); }
.newsletter__inner > div > p:last-child { margin: 18px 0 0; color: #9babb9; font-size: 12px; }
.newsletter-form { display: grid; gap: 10px; }
.newsletter-form > label { color: #dce8ed; font-size: 11px; font-weight: 650; }
.newsletter-form__field { display: flex; gap: 8px; padding: 6px; border: 1px solid #263746; border-radius: var(--radius-pill); background: rgba(255,255,255,.035); }
.newsletter-form__field input { width: 100%; min-width: 0; padding: 9px 12px; border: 0; outline: 0; background: transparent; color: #f8fafc; font-size: 11px; }
.newsletter-form__field input::placeholder { color: #7d909c; }
.newsletter-form__field .button { min-height: 42px; flex: 0 0 auto; padding-inline: 16px; }
.newsletter-form > small { color: #8395a1; font-size: 9px; }

/* Footer */
.site-footer { background: #05080c; color: #f8fafc; }
.footer-main { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.2fr; gap: 38px; padding-block: 60px 48px; }
.footer-brand > p { max-width: 220px; margin-top: 18px; color: #8b9aa5; font-size: 11px; line-height: 1.8; }
.footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.footer-column h2 { margin-bottom: 5px; font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-weight: 750; letter-spacing: 0; }
.footer-column a, .footer-column p { margin: 0; color: #8b9aa5; font-size: 10px; line-height: 1.8; }
.footer-column a:hover { color: var(--color-accent); }
.footer-bottom { display: flex; min-height: 68px; align-items: center; justify-content: space-between; gap: 18px; padding-block: 16px; border-top: 1px solid #1a2730; color: #788b97; font-size: 9px; }
.footer-bottom > span:nth-child(2) { letter-spacing: .1em; }
.footer-bottom > span:nth-child(2) span { color: var(--color-accent); }
.footer-bottom select { max-width: 130px; padding: 7px 9px; border: 1px solid #263746; border-radius: 8px; background: #0b1118; color: #cbd5e1; font-size: 10px; }

/* Cart and wishlist drawers */
.drawer-backdrop { position: fixed; z-index: 300; inset: 0; background: rgba(1,5,9,.66); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.side-drawer { position: fixed; z-index: 310; top: 0; right: 0; display: flex; width: min(100%, 460px); height: 100%; height: 100dvh; flex-direction: column; overflow: hidden; border-left: 1px solid var(--color-border); background: var(--color-surface); box-shadow: var(--shadow-deep); animation: drawer-in 220ms var(--ease-out); }
@keyframes drawer-in { from { opacity: 0; transform: translateX(18px); } to { opacity: 1; transform: translateX(0); } }
.drawer-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 24px; border-bottom: 1px solid var(--color-border); }
.drawer-header .eyebrow { margin-bottom: 8px; font-size: 9px; }
.drawer-header h2 { margin: 0; font-size: 23px; }
.drawer-content { flex: 1; overflow: auto; padding: 20px 24px; overscroll-behavior: contain; }
.drawer-footer { padding: 20px 24px max(20px, env(safe-area-inset-bottom)); border-top: 1px solid var(--color-border); background: var(--color-surface); }
.drawer-footer > p { margin: 8px 0 14px; color: var(--color-muted); font-size: 10px; line-height: 1.6; }
.drawer-footer .demo-notice { margin: 10px 0 0; font-size: 9px; text-align: center; }
.subtotal-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 13px; }
.subtotal-row strong { font-size: 18px; }
.drawer-empty { padding: 48px 8px; text-align: center; }
.drawer-empty > span { display: block; margin-bottom: 14px; color: var(--color-accent); font-size: 34px; }
.drawer-empty h3 { margin-bottom: 10px; font-size: 20px; }
.drawer-empty p { margin-bottom: 22px; color: var(--color-muted); font-size: 12px; }
.cart-item, .wishlist-item { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; align-items: start; gap: 13px; padding-block: 15px; border-bottom: 1px solid var(--color-border); }
.cart-item__image, .wishlist-item__image { width: 76px; height: 88px; overflow: hidden; border-radius: 10px; background: var(--color-surface-elevated); object-fit: cover; }
.cart-item__details, .wishlist-item__details { min-width: 0; }
.cart-item__title, .wishlist-item__title { margin: 0 0 6px; font-size: 12px; font-weight: 700; line-height: 1.45; overflow-wrap: anywhere; }
.cart-item__price, .wishlist-item__price { color: var(--color-muted); font-size: 11px; }
.cart-item__total { padding-top: 2px; font-size: 11px; font-weight: 750; white-space: nowrap; }
.quantity-control { display: inline-flex; align-items: center; gap: 0; margin-top: 10px; overflow: hidden; border: 1px solid var(--color-border); border-radius: 8px; }
.quantity-control button { display: grid; width: 29px; height: 29px; place-items: center; border: 0; background: transparent; color: var(--color-text); }
.quantity-control button:hover { background: var(--color-surface-elevated); color: var(--color-accent); }
.quantity-control span { min-width: 26px; text-align: center; font-size: 10px; }
.cart-item__remove, .wishlist-item__remove { border: 0; background: transparent; color: var(--color-muted); font-size: 11px; }
.cart-item__remove:hover, .wishlist-item__remove:hover { color: var(--color-danger); }
.wishlist-item { grid-template-columns: 76px minmax(0,1fr) auto; }
.wishlist-item__actions { display: flex; flex-direction: column; gap: 8px; align-items: flex-end; }
.wishlist-item__add { padding: 7px 10px; border: 1px solid rgba(var(--color-accent-rgb),.35); border-radius: var(--radius-pill); background: rgba(var(--color-accent-rgb),.08); color: var(--color-accent); font-size: 10px; font-weight: 700; }
.wishlist-item__add:hover { background: var(--color-accent); color: #041116; }

/* Quick view dialog */
.quick-view-dialog { position: fixed; inset: 50% auto auto 50%; width: min(900px, calc(100% - 28px)); max-width: 900px; max-height: min(88dvh, 800px); margin: 0; padding: 28px; overflow: auto; transform: translate(-50%, -50%); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); color: var(--color-text); box-shadow: var(--shadow-deep); }
.quick-view-dialog[open] { display: block; }
.quick-view-dialog::backdrop { background: rgba(1,5,9,.78); -webkit-backdrop-filter: blur(7px); backdrop-filter: blur(7px); }
.quick-view-dialog__close { position: sticky; z-index: 3; top: 0; float: right; margin: -10px -10px 4px 12px; border-color: var(--color-border); background: var(--color-surface-elevated); }
.quick-view__media { float: left; width: 47%; margin: 0 28px 20px 0; overflow: hidden; border-radius: var(--radius-md); background: var(--color-surface-elevated); }
.quick-view__media img { width: 100%; max-height: 520px; aspect-ratio: .9; object-fit: cover; }
.quick-view__details { min-height: 340px; padding-top: 35px; }
.quick-view__details h2 { margin-bottom: 14px; font-size: clamp(25px, 4vw, 36px); }
.quick-view__details p { color: var(--color-muted); font-size: 12px; line-height: 1.9; }
.quick-view__rating { margin-bottom: 12px; color: #f7c66b; font-size: 11px; }
.quick-view__price { margin-block: 16px; color: var(--color-text); font-size: 22px; font-weight: 800; }
.quick-view__stock { margin-bottom: 20px; color: var(--color-success); font-size: 11px; }

/* Toasts and utility state */
.aurora-toast-region { position: fixed; z-index: 1500; right: max(18px, env(safe-area-inset-right)); bottom: max(18px, env(safe-area-inset-bottom)); display: grid; width: min(360px, calc(100vw - 36px)); gap: 9px; pointer-events: none; }
.aurora-toast { padding: 13px 16px; transform: translateY(8px); border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-surface-elevated); color: var(--color-text); box-shadow: var(--shadow-soft); font-size: 12px; opacity: 0; transition: opacity var(--transition-fast), transform var(--transition-fast); }
.aurora-toast.is-visible { transform: translateY(0); opacity: 1; }
.aurora-toast--success { border-color: rgba(134,239,172,.45); }
.aurora-toast--error { border-color: rgba(253,164,175,.55); }
.aurora-toast--info { border-color: rgba(var(--color-accent-rgb),.4); }
.has-open-layer { overflow: hidden; }
html[dir="rtl"] .primary-nav a::after { transform-origin: left; }
html[dir="rtl"] .primary-nav a:hover::after { transform-origin: right; }
html[dir="rtl"] .side-drawer { right: auto; left: 0; border-right: 1px solid var(--color-border); border-left: 0; }
html[dir="rtl"] .hero__bottom, html[dir="rtl"] .section-heading, html[dir="rtl"] .shop-meta { direction: rtl; }
html[dir="rtl"] .product-card__badges { right: 13px; left: auto; }
html[dir="rtl"] .product-card__wishlist { right: auto; left: 12px; }
html[dir="rtl"] .hero-product--main { transform: rotate(7deg) translate(4%, 0); }
html[dir="rtl"] .quick-view__media { float: right; margin: 0 0 20px 28px; }

/* Responsive layout */
@media (min-width: 1500px) {
  :root { --container-width: 1320px; }
  .hero__inner { min-height: 730px; }
  .product-grid { gap: 32px 24px; }
}
@media (max-width: 1080px) {
  :root { --header-height: 70px; --page-gutter: clamp(18px, 3vw, 32px); }
  .primary-nav { gap: 18px; }
  .header-inner { gap: 15px; }
  .hero__inner { gap: 28px; }
  .hero__visual { min-height: 390px; }
  .product-grid { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px 14px; }
  .product-card__body { padding: 14px; }
  .footer-main { gap: 24px; }
}
@media (max-width: 820px) {
  .primary-nav { display: none; }
  .menu-toggle { display: inline-grid; order: -1; }
  .header-inner { justify-content: flex-start; }
  .brand { margin-right: auto; }
  .hero__inner { grid-template-columns: 1fr 1fr; padding-top: 58px; }
  .hero h1 { font-size: clamp(39px, 6.5vw, 60px); }
  .hero__visual { min-height: 340px; }
  .hero-floating-card { right: -4px; padding: 10px; }
  .value-strip__inner > div { justify-content: flex-start; gap: 10px; padding: 16px 12px; }
  .value-strip__inner strong { font-size: 10px; }
  .value-strip__inner small { font-size: 9px; }
  .product-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px 14px; }
  .product-card__quick-view { opacity: 1; transform: none; }
  .editorial__inner { gap: 34px; }
  .footer-main { grid-template-columns: 1.2fr 1fr 1fr; }
  .footer-column:last-child { grid-column: 2 / -1; }
  .newsletter__inner { gap: 30px; }
}
@media (max-width: 620px) {
  :root { --header-height: 64px; --page-gutter: 18px; }
  .announcement-bar { min-height: 31px; font-size: 9px; }
  .announcement-bar__note { display: none; }
  .header-inner { gap: 8px; }
  .brand { gap: 7px; }
  .brand__mark { width: 26px; height: 26px; }
  .brand__wordmark { font-size: 18px; }
  .header-actions { gap: 0; }
  .header-actions .select-compact { width: 58px; max-width: 58px; font-size: 9px; }
  .header-actions .icon-button { width: 34px; height: 36px; font-size: 18px; }
  .hero__inner { grid-template-columns: 1fr; gap: 14px; padding-block: 58px 22px; }
  .hero__content { max-width: 100%; }
  .hero h1 { font-size: clamp(45px, 12vw, 65px); }
  .hero__description { max-width: 450px; font-size: 13px; }
  .hero__trust { margin-top: 27px; }
  .hero__visual { min-height: min(94vw, 380px); margin-inline: 2px; }
  .hero-product--main { width: 56%; }
  .hero-product--watch { right: 5%; width: 29%; }
  .hero-product--bag { left: 5%; width: 30%; }
  .hero-floating-card { right: 0; bottom: 5%; }
  .hero__bottom { flex-wrap: wrap; font-size: 8px; }
  .hero__bottom > span:last-child { display: none; }
  .value-strip__inner { grid-template-columns: 1fr; padding-block: 7px; }
  .value-strip__inner > div { min-height: 67px; justify-content: flex-start; padding-inline: 5px; border-right: 0; border-bottom: 1px solid var(--color-border); }
  .value-strip__inner > div:first-child { border-left: 0; }
  .value-strip__inner > div:last-child { border-bottom: 0; }
  .value-strip__inner > div > span { width: 28px; text-align: center; }
  .section-padding { padding-block: 72px; }
  .section-heading { display: block; margin-bottom: 28px; }
  .section-heading h2, .editorial h2 { font-size: 43px; }
  .section-heading__description { margin-top: 18px; font-size: 12px; }
  .shop-toolbar { align-items: stretch; flex-direction: column; gap: 10px; padding: 10px; }
  .shop-toolbar__search { min-width: 0; }
  .shop-toolbar__controls { display: grid; grid-template-columns: 1fr 1fr; }
  .shop-toolbar select { width: 100%; min-width: 0; font-size: 10px; }
  .product-grid { gap: 13px 10px; }
  .product-card { border-radius: 11px; }
  .product-card__media { aspect-ratio: .82; }
  .product-card__badges { top: 7px; left: 7px; gap: 4px; }
  .product-badge { min-height: 20px; padding: 3px 6px; font-size: 7px; }
  .product-card__wishlist { top: 7px; right: 7px; width: 30px; height: 30px; font-size: 16px; }
  .product-card__quick-view { right: 7px; bottom: 7px; left: 7px; min-height: 32px; font-size: 9px; }
  .product-card__body { padding: 11px; }
  .product-card__eyebrow { font-size: 8px; }
  .product-card__title { font-size: 12px; }
  .product-card__description { min-height: 0; font-size: 9px; }
  .product-card__rating { flex-wrap: wrap; gap: 4px; font-size: 9px; }
  .product-card__purchase { align-items: center; gap: 6px; padding-top: 10px; }
  .product-card__price { font-size: 12px; }
  .product-card__compare-price { font-size: 8px; }
  .product-card__add { width: 32px; height: 32px; font-size: 16px; }
  .product-grid[data-layout="list"] .product-card { grid-template-columns: 112px minmax(0,1fr); }
  .product-grid[data-layout="list"] .product-card__media { min-height: 180px; }
  .product-grid[data-layout="list"] .product-card__body { padding: 12px; }
  .product-grid[data-layout="list"] .product-card__description { display: none; }
  .pagination { margin-top: 28px; }
  .editorial__inner { grid-template-columns: 1fr; gap: 30px; }
  .editorial__image { aspect-ratio: 1.08; }
  .editorial__content > p:not(.eyebrow) { margin-block: 17px 22px; }
  .editorial__signature { margin-top: 28px; }
  .newsletter__inner { grid-template-columns: 1fr; gap: 26px; }
  .newsletter__inner h2 { font-size: 38px; }
  .newsletter-form__field { border-radius: 15px; }
  .newsletter-form__field .button { padding-inline: 12px; font-size: 10px; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 30px 22px; padding-block: 44px 36px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-column:last-child { grid-column: 1 / -1; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 10px; padding-block: 20px; }
  .quick-view-dialog { padding: 18px; }
  .quick-view__media { float: none; width: 100%; margin: 0 0 18px; }
  .quick-view__media img { max-height: 320px; aspect-ratio: 1.1; }
  .quick-view__details { min-height: 0; padding-top: 0; }
  .drawer-header { padding: 18px; }
  .drawer-content { padding: 14px 18px; }
  .drawer-footer { padding-inline: 18px; }
  .cart-item, .wishlist-item { grid-template-columns: 62px minmax(0,1fr) auto; gap: 10px; }
  .cart-item__image, .wishlist-item__image { width: 62px; height: 74px; }
}
@media (max-width: 360px) {
  .header-actions .theme-toggle { display: none; }
  .brand__wordmark { font-size: 16px; }
  .hero h1 { font-size: 42px; }
  .hero__actions { align-items: flex-start; flex-direction: column; gap: 15px; }
  .product-grid { grid-template-columns: 1fr; }
  .product-card__media { aspect-ratio: 1.05; }
  .product-card__title { font-size: 15px; }
  .product-card__price { font-size: 14px; }
  .product-grid[data-layout="list"] .product-card { grid-template-columns: 100px minmax(0,1fr); }
  .product-grid[data-layout="list"] .product-card__media { min-height: 165px; }
  .newsletter-form__field { align-items: stretch; flex-direction: column; padding: 8px; border-radius: 13px; }
  .newsletter-form__field input { min-height: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}


/* Controller markup refinements */
.product-card .product-card__add {
  display: flex;
  width: 100%;
  min-height: 40px;
  height: auto;
  margin-top: 12px;
  padding: 11px 14px;
  border-radius: var(--radius-pill);
  font-size: 11px;
  transform: none;
}
.product-card .product-card__add:hover {
  transform: translateY(-1px);
  background: var(--color-accent);
  color: #041116;
}
.product-card .product-card__add:disabled:hover {
  transform: none;
}
.product-card__eyebrow {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 5px 10px;
}
.product-card__stock.is-available { color: var(--color-success); }
.product-card__stock.is-unavailable { color: var(--color-danger); }
.product-card__wishlist.is-active { border-color: var(--color-accent); color: var(--color-accent); }
.product-card__image-link { display: block; width: 100%; height: 100%; }
.product-card__image-link:focus-visible { outline-offset: -5px; }
@media (max-width: 620px) {
  .product-card .product-card__add { min-height: 36px; margin-top: 10px; padding: 9px 10px; font-size: 10px; }
}

/* Aurora Midnight Cyan — mobile storefront refinement (v1.0.1)
   Targets the actual classes emitted by js/shop.js; preserves cart and quick-view hooks. */
.product-card__body {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0;
}
.product-card__eyebrow {
  align-items: baseline;
  line-height: 1.5;
}
.product-card__title {
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.product-card__description {
  line-height: 1.65;
}
.product-card__rating {
  min-height: 18px;
  line-height: 1.5;
}
.product-card__stock {
  line-height: 1.5;
}
.product-card__add {
  justify-content: center;
  align-items: center;
  gap: 8px;
  text-align: center;
}
.product-badge--best,
.product-badge--new {
  border-color: rgba(var(--color-accent-rgb), .3);
  background: rgba(var(--color-accent-rgb), .1);
  color: var(--color-secondary);
}
.shop-toolbar__search {
  min-height: 44px;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  background: var(--color-background);
}
.shop-toolbar__search:focus-within {
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px rgba(var(--color-accent-rgb), .08);
}
.shop-toolbar__search input {
  min-height: 42px;
  font-size: 14px;
}
.shop-toolbar select {
  min-height: 44px;
  font-size: 12px;
}
.header-actions .icon-button,
.menu-toggle {
  min-width: 40px;
  min-height: 40px;
}
@media (max-width: 620px) {
  .header-inner {
    gap: 6px;
  }
  .header-actions {
    gap: 2px;
  }
  .header-actions .select-compact {
    width: 56px;
    max-width: 56px;
    min-height: 40px;
    padding-inline: 2px;
    font-size: 9px;
  }
  .header-actions .icon-button {
    width: 34px;
    min-width: 34px;
    height: 38px;
    min-height: 38px;
  }
  .product-grid {
    align-items: stretch;
    gap: 16px 11px;
  }
  .product-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
  }
  .product-card__body {
    flex: 1;
    padding: 12px;
  }
  .product-card__eyebrow {
    justify-content: flex-start;
    gap: 4px 8px;
    margin-bottom: 8px;
    font-size: 9px;
    letter-spacing: .06em;
  }
  .product-card__title {
    margin: 0 0 8px;
    font-size: 13px;
    line-height: 1.4;
  }
  .product-card__description {
    margin: 0 0 10px;
    font-size: 10px;
    line-height: 1.6;
  }
  .product-card__rating {
    margin-bottom: 10px;
    font-size: 10px;
  }
  .product-card__prices {
    gap: 5px;
  }
  .product-card__price {
    font-size: 13px;
  }
  .product-card__compare-price {
    font-size: 10px;
  }
  .product-card__stock {
    font-size: 10px;
  }
  .product-card .product-card__add {
    min-height: 42px;
    margin-top: 12px;
    padding: 10px 8px;
    border-radius: 10px;
    font-size: 10px;
    letter-spacing: .04em;
  }
  .product-card__quick-view {
    min-height: 36px;
    font-size: 10px;
  }
}
@media (max-width: 360px) {
  :root {
    --page-gutter: 14px;
  }
  .header-inner {
    gap: 4px;
  }
  .brand {
    gap: 5px;
  }
  .brand__wordmark {
    font-size: 15px;
  }
  .header-actions .select-compact {
    width: 49px;
    max-width: 49px;
  }
  .product-grid {
    gap: 16px;
  }
  .product-card__body {
    padding: 14px;
  }
  .product-card__title {
    font-size: 15px;
  }
  .product-card__description {
    font-size: 12px;
  }
  .product-card__price {
    font-size: 14px;
  }
  .product-card .product-card__add {
    min-height: 44px;
    font-size: 11px;
  }
}



/* Aurora Store responsive layout correction (v1.0.2)
   Keep product cards in a predictable grid and normalize product-image framing. */
.product-grid[data-layout="grid"] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(14px, 2vw, 28px);
  width: 100%;
}
.product-grid[data-layout="grid"] > .product-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-self: stretch;
}
.product-grid[data-layout="grid"] .product-card__media {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  flex: 0 0 auto;
  background: #0b1118;
}
.product-grid[data-layout="grid"] .product-card__image-link {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  padding: 10px;
}
.product-grid[data-layout="grid"] .product-card__image {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
}
.product-grid[data-layout="grid"] .product-card__body {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  flex-direction: column;
}
.product-grid[data-layout="grid"] .product-card__purchase {
  margin-top: auto;
}
.container {
  margin-inline: auto;
}
@media (min-width: 1500px) {
  .product-grid[data-layout="grid"] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (max-width: 820px) {
  .product-grid[data-layout="grid"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 12px;
  }
}
@media (max-width: 360px) {
  .product-grid[data-layout="grid"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .product-grid[data-layout="grid"] .product-card__image-link {
    padding: 6px;
  }
  .product-grid[data-layout="grid"] .product-card__body {
    padding: 9px;
  }
  .product-grid[data-layout="grid"] .product-card__title {
    font-size: 12px;
  }
  .product-grid[data-layout="grid"] .product-card__description {
    font-size: 10px;
    line-height: 1.55;
    min-height: 31px;
  }
}


/* Aurora approved polish: product thumbnails and clearer purchase actions. */
.cart-item__image,
.wishlist-item__image {
  object-fit: contain;
  padding: 5px;
  border: 1px solid var(--color-border);
  background: var(--color-surface-elevated);
}
.cart-item__details,
.wishlist-item__details {
  min-width: 0;
}
.cart-item__price,
.wishlist-item__price {
  margin: 0;
}
.cart-item__remove,
.wishlist-item__remove {
  align-self: start;
  padding: 7px 4px;
  white-space: nowrap;
}
.wishlist-item__actions {
  min-width: 82px;
}
.wishlist-item__add {
  min-height: 34px;
  white-space: nowrap;
  transition: background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);
}
.product-card .product-card__add {
  display: inline-flex;
  width: 100%;
  min-height: 44px;
  height: auto;
  flex: 0 0 auto;
  justify-content: center;
  gap: 8px;
  margin-top: 14px;
  padding: 11px 15px;
  border: 1px solid rgba(var(--color-accent-rgb), .35);
  border-radius: var(--radius-pill);
  background: var(--color-accent);
  color: #041116;
  box-shadow: 0 7px 20px rgba(var(--color-accent-rgb), .10);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .015em;
  line-height: 1.2;
  transition: transform var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast);
}
.product-card .product-card__add:hover {
  transform: translateY(-1px);
  border-color: var(--color-secondary);
  background: var(--color-secondary);
  box-shadow: 0 10px 24px rgba(var(--color-accent-rgb), .17);
}
.product-card .product-card__add:active {
  transform: translateY(0);
}
.product-card .product-card__add:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 3px;
}
@media (max-width: 620px) {
  .product-card .product-card__add {
    width: 100%;
    min-height: 38px;
    height: auto;
    margin-top: 12px;
    padding: 9px 7px;
    border-radius: 10px;
    font-size: 10px;
    letter-spacing: 0;
  }
  .cart-item,
  .wishlist-item {
    grid-template-columns: 64px minmax(0, 1fr) auto;
    gap: 10px;
  }
  .cart-item__image,
  .wishlist-item__image {
    width: 64px;
    height: 76px;
  }
  .wishlist-item__actions {
    min-width: 0;
    gap: 4px;
  }
  .wishlist-item__add {
    padding: 7px 8px;
    font-size: 9px;
  }
}
@media (max-width: 360px) {
  .cart-item,
  .wishlist-item {
    grid-template-columns: 54px minmax(0, 1fr) auto;
    gap: 8px;
  }
  .cart-item__image,
  .wishlist-item__image {
    width: 54px;
    height: 64px;
    padding: 3px;
  }
  .cart-item__title,
  .wishlist-item__title {
    font-size: 11px;
  }
  .cart-item__remove,
  .wishlist-item__remove {
    font-size: 10px;
  }
  .product-card .product-card__add {
    padding-inline: 5px;
    font-size: 9px;
  }
}

/* Aurora cart quantity controls — minus, quantity, plus. */
.cart-item__quantity {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin: 9px 0 5px;
  padding: 3px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  background: var(--color-background);
}
.cart-item__quantity-button {
  display: inline-grid;
  width: 30px;
  min-width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid rgba(var(--color-accent-rgb), .22);
  border-radius: 50%;
  background: var(--color-surface-elevated);
  color: var(--color-accent);
  font: inherit;
  font-size: 17px;
  line-height: 1;
  cursor: pointer;
  transition: background var(--transition-fast), color var(--transition-fast), opacity var(--transition-fast);
}
.cart-item__quantity-button:hover:not(:disabled) {
  background: var(--color-accent);
  color: #041116;
}
.cart-item__quantity-button:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}
.cart-item__quantity-button:disabled {
  cursor: not-allowed;
  opacity: .35;
}
.cart-item__quantity-value {
  display: inline-grid;
  min-width: 22px;
  place-items: center;
  color: var(--color-text);
  font-size: 12px;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}
.cart-item__total {
  margin: 1px 0 0;
  color: var(--color-accent);
  font-size: 12px;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}
.cart-item__remove {
  margin-top: 1px;
}
@media (max-width: 620px) {
  .cart-item__quantity {
    gap: 6px;
    margin-top: 8px;
  }
  .cart-item__quantity-button {
    width: 28px;
    min-width: 28px;
    height: 28px;
  }
}


/* Aurora mobile app-like navigation — additive and isolated from desktop layout. */
.mobile-bottom-nav {
  display: none;
}
.mobile-bottom-nav__item {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 54px;
  flex: 1 1 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  padding: 5px 4px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: var(--color-muted);
  font: inherit;
  font-size: 10px;
  font-weight: 650;
  line-height: 1.2;
  text-align: center;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.mobile-bottom-nav__item:hover,
.mobile-bottom-nav__item:focus-visible {
  background: rgba(var(--color-accent-rgb), .08);
  color: var(--color-accent);
}
.mobile-bottom-nav__icon {
  display: grid;
  min-height: 25px;
  place-items: center;
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
}
.mobile-bottom-nav__badge {
  position: absolute;
  top: 1px;
  left: calc(50% + 7px);
  display: grid;
  min-width: 17px;
  height: 17px;
  place-items: center;
  padding-inline: 4px;
  border: 2px solid var(--color-surface);
  border-radius: 999px;
  background: var(--color-accent);
  color: #041116;
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
}
.mobile-bottom-nav__badge[hidden] {
  display: none !important;
}
@media (max-width: 620px) {
  html {
    scroll-padding-top: calc(var(--header-height) + 14px);
    scroll-padding-bottom: 90px;
  }
  body {
    padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px));
  }
  .mobile-bottom-nav {
    position: fixed;
    z-index: 250;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: stretch;
    gap: 4px;
    padding: 7px max(12px, env(safe-area-inset-left, 0px)) calc(7px + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid rgba(var(--color-accent-rgb), .2);
    background: color-mix(in srgb, var(--color-surface) 92%, transparent);
    box-shadow: 0 -12px 34px rgba(0, 0, 0, .22);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
  }
  .mobile-bottom-nav__item {
    min-height: 52px;
  }
  .mobile-bottom-nav__item:active {
    background: rgba(var(--color-accent-rgb), .13);
    transform: scale(.98);
  }
  .side-drawer {
    width: 100%;
    max-width: 100%;
    height: 100%;
    height: 100dvh;
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }
  .quick-view-dialog {
    width: calc(100% - 20px);
    max-width: 560px;
    max-height: calc(100dvh - 24px);
    padding: 16px;
    border-radius: 18px;
  }
  .quick-view-product {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
  .quick-view-product__image {
    min-width: 0;
    max-height: 38dvh;
    overflow: hidden;
    border-radius: 12px;
  }
  .quick-view-product__image img {
    width: 100%;
    max-height: 38dvh;
    object-fit: contain;
    background: var(--color-surface-elevated);
  }
  .quick-view-product__details {
    min-width: 0;
  }
  .quick-view-product__details h2 {
    font-size: clamp(22px, 6vw, 30px);
  }
  .quick-view-product__details .button {
    min-height: 48px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .mobile-bottom-nav *,
  .mobile-bottom-nav *::before,
  .mobile-bottom-nav *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}


/* Aurora Royal Amethyst — luxury palette and image-derived product accents. */
:root {
  --color-primary: #8b5cf6;
  --color-accent: #8b5cf6;
  --color-secondary: #c4b5fd;
  --color-accent-rgb: 139, 92, 246;
  --color-background: #08080d;
  --color-surface: #12111a;
  --color-surface-elevated: #1b1926;
  --color-text: #f8f7fc;
  --color-muted: #b0aabe;
  --color-border: #302a40;
  --color-gold: #c8a96b;
  --shadow-soft: 0 12px 38px rgba(0, 0, 0, .22);
  --shadow-deep: 0 26px 70px rgba(0, 0, 0, .42);
}
:root[data-theme="light"] {
  --color-primary: #7040c8;
  --color-accent: #7040c8;
  --color-secondary: #8b5cf6;
  --color-accent-rgb: 112, 64, 200;
  --color-background: #faf9ff;
  --color-surface: #ffffff;
  --color-surface-elevated: #f1edfa;
  --color-text: #211a30;
  --color-muted: #6f687d;
  --color-border: #e5def2;
  --color-gold: #8c6a32;
  --shadow-soft: 0 12px 38px rgba(39, 22, 69, .07);
  --shadow-deep: 0 26px 70px rgba(39, 22, 69, .13);
}
.button--primary { color: #fff; box-shadow: 0 8px 24px rgba(var(--color-accent-rgb), .18); }
.button--primary:hover { color: #fff; background: color-mix(in srgb, var(--color-accent) 88%, white); box-shadow: 0 12px 28px rgba(var(--color-accent-rgb), .25); }
:root[data-theme="light"] .button--primary { color: #fff; }
:root[data-theme="light"] .announcement-bar { background: #f1edfa; color: #35264f; border-bottom-color: #e5def2; }
:root[data-theme="light"] .announcement-bar__note { color: #6f687d; }
:root[data-theme="light"] .hero { background: radial-gradient(ellipse at 78% 45%, rgba(112, 64, 200, .09), transparent 38%), var(--color-background); }
:root[data-theme="light"] .hero__glow { background: rgba(139, 92, 246, .12); }
:root[data-theme="light"] .hero__glow--two { background: rgba(167, 139, 250, .12); }
:root[data-theme="light"] .hero-orbit { border-color: rgba(112, 64, 200, .15); }
:root[data-theme="light"] .hero-orbit--inner { border-color: rgba(112, 64, 200, .12); }
:root[data-theme="light"] .hero-product { background: #fff; }
:root[data-theme="light"] .hero-floating-card { border-color: rgba(112, 64, 200, .2); }
:root[data-theme="light"] .floating-card__icon { background: rgba(112, 64, 200, .1); }
:root[data-theme="light"] .newsletter-section { background: radial-gradient(ellipse at 90% 20%, rgba(139, 92, 246, .18), transparent 40%), #211a30; }
:root[data-theme="light"] .site-footer { background: #211a30; }
:root[data-theme="light"] .signature-mark { border-color: rgba(112, 64, 200, .35); }
.product-card {
  --product-accent-rgb: 139, 92, 246;
  box-shadow: 0 0 0 1px rgba(var(--product-accent-rgb), .025);
}
.product-card:hover {
  border-color: rgba(var(--product-accent-rgb), .65);
  box-shadow: 0 12px 34px rgba(var(--product-accent-rgb), .12), var(--shadow-soft);
}
.product-card__media {
  background:
    radial-gradient(ellipse at 50% 65%, rgba(var(--product-accent-rgb), .16), transparent 68%),
    var(--color-surface-elevated);
}
.product-card__image { position: relative; z-index: 1; }
.product-card__wishlist:hover,
.product-card__wishlist[aria-pressed="true"] { border-color: rgb(var(--product-accent-rgb)); color: rgb(var(--product-accent-rgb)); }
.product-card__add {
  border-color: rgba(var(--product-accent-rgb), .55);
  background: rgba(var(--product-accent-rgb), .1);
  color: rgb(var(--product-accent-rgb));
}
.product-card__add:hover { background: rgb(var(--product-accent-rgb)); color: #fff; }
.product-card__eyebrow { color: rgb(var(--product-accent-rgb)); }
.product-card__title a:hover { color: rgb(var(--product-accent-rgb)); }
.pagination__button:hover, .pagination__button[aria-current="page"] {
  background: rgba(var(--color-accent-rgb), .1);
}
:root[data-theme="light"] .product-card__media {
  background:
    radial-gradient(ellipse at 50% 65%, rgba(var(--product-accent-rgb), .10), transparent 68%),
    var(--color-surface-elevated);
}
@media (prefers-reduced-motion: reduce) {
  .product-card, .product-card__image, .button, .icon-button { transition-duration: .01ms !important; }
}

/* Aurora cyan count badges: clear, compact, and consistent with the storefront palette. */
:root {
  --badge-cart: #67e8f9;
  --badge-wishlist: #a5f3fc;
  --badge-number: #041116;
  --badge-cyan-rim: linear-gradient(135deg, #155e75 0%, #a5f3fc 30%, #22d3ee 55%, #ecfeff 72%, #0891b2 100%);
  --badge-silver-cyan-rim: linear-gradient(135deg, #64748b 0%, #e2e8f0 27%, #a5f3fc 52%, #f8fafc 72%, #64748b 100%);
}
.count-badge[data-cart-count],
.mobile-bottom-nav__badge[data-mobile-cart-count],
.count-badge[data-wishlist-count],
.mobile-bottom-nav__badge[data-mobile-wishlist-count] {
  min-width: 18px;
  height: 18px;
  padding-inline: 4px;
  border: 1px solid transparent;
  border-radius: 999px;
  background-color: var(--badge-cart);
  background-clip: padding-box, border-box;
  color: var(--badge-number);
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .2);
}
.count-badge[data-cart-count],
.mobile-bottom-nav__badge[data-mobile-cart-count] {
  background-image: linear-gradient(var(--badge-cart), var(--badge-cart)), var(--badge-cyan-rim);
}
.count-badge[data-wishlist-count],
.mobile-bottom-nav__badge[data-mobile-wishlist-count] {
  background-color: var(--badge-wishlist);
  background-image: linear-gradient(var(--badge-wishlist), var(--badge-wishlist)), var(--badge-silver-cyan-rim);
}



/* Aurora NOVA-inspired interactions: motion only; Aurora visual identity stays intact. */
:root {
  --badge-ruby: #d71920;
  --badge-number: #08080d;
  --badge-chrome-gold: linear-gradient(135deg, #7c5b24 0%, #f8e6a8 24%, #b88b36 48%, #fff0b5 68%, #8a6427 100%);
  --badge-chrome-silver: linear-gradient(135deg, #747983 0%, #f5f7fa 27%, #aeb4bf 52%, #ffffff 72%, #737985 100%);
}

/* Restore the original gold cart and silver wishlist chrome rims. */
.count-badge[data-cart-count],
.mobile-bottom-nav__badge[data-mobile-cart-count],
.count-badge[data-wishlist-count],
.mobile-bottom-nav__badge[data-mobile-wishlist-count] {
  border: 1px solid transparent;
  border-radius: 999px;
  background-color: var(--badge-ruby);
  background-clip: padding-box, border-box;
  color: var(--badge-number);
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .2);
}
.count-badge[data-cart-count],
.mobile-bottom-nav__badge[data-mobile-cart-count] {
  background-image: linear-gradient(var(--badge-ruby), var(--badge-ruby)), var(--badge-chrome-gold);
}
.count-badge[data-wishlist-count],
.mobile-bottom-nav__badge[data-mobile-wishlist-count] {
  background-image: linear-gradient(var(--badge-ruby), var(--badge-ruby)), var(--badge-chrome-silver);
}

/* Refined 3D card response, inspired by NOVA but using Aurora's own surfaces. */
@media (hover: hover) and (pointer: fine) {
  .product-card.aurora-tilt-active {
    transform:
      perspective(1000px)
      rotateX(var(--aurora-tilt-x, 0deg))
      rotateY(var(--aurora-tilt-y, 0deg))
      translateY(-3px);
    transition: transform 90ms ease-out, box-shadow var(--transition-fast), border-color var(--transition-fast);
    will-change: transform;
  }
  .product-card.aurora-tilt-active .product-card__media {
    background-image:
      radial-gradient(
        circle at var(--aurora-glare-x, 50%) var(--aurora-glare-y, 50%),
        rgba(103, 232, 249, .15),
        transparent 58%
      );
  }
}
.product-card,
.product-card__media,
.button,
.icon-button,
.product-card__wishlist,
.product-card__add,
.pagination__button {
  -webkit-tap-highlight-color: transparent;
}
.button:active,
.icon-button:active,
.product-card__wishlist:active,
.product-card__add:active,
.pagination__button:active {
  transform: scale(.97);
}
.count-badge.aurora-count-pop,
.mobile-bottom-nav__badge.aurora-count-pop {
  animation: auroraCountPop 260ms cubic-bezier(.2, .8, .25, 1.25);
}
@keyframes auroraCountPop {
  0% { transform: scale(1); }
  45% { transform: scale(1.22); }
  100% { transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  .product-card.aurora-tilt-active,
  .count-badge.aurora-count-pop,
  .mobile-bottom-nav__badge.aurora-count-pop {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}


/* ==========================================================================
   Aurora final visual polish — restrained chrome, reliable controls
   ========================================================================== */
:root {
  --aurora-chrome-spectrum: linear-gradient(
    112deg,
    #e5e7eb 0%,
    #67e8f9 23%,
    #c4b5fd 47%,
    #f8d477 71%,
    #fda4af 100%
  );
  --aurora-chrome-silver: linear-gradient(
    135deg,
    #747983 0%,
    #f8fafc 27%,
    #aeb4bf 52%,
    #ffffff 72%,
    #737985 100%
  );
  --aurora-chrome-gold: linear-gradient(
    135deg,
    #8a6427 0%,
    #f8e6a8 28%,
    #c8a96b 52%,
    #fff0b5 72%,
    #8a6427 100%
  );
  --aurora-nav-red: #f87171;
  --aurora-nav-red-deep: #dc2626;
}

/* Chromatic accents stay on key headline words, not every line of text. */
.hero h1 span,
.section-heading h2 span,
.editorial h2 span,
.newsletter__inner h2 span {
  color: var(--color-accent);
  background-image: var(--aurora-chrome-spectrum);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 0 18px rgba(103, 232, 249, .07);
}

/* Keep the favorite control visible above product imagery on touch and desktop. */
.product-card__media {
  isolation: isolate;
}
.product-card__wishlist {
  z-index: 5;
  display: grid;
  visibility: visible;
  opacity: 1;
  width: 39px;
  height: 39px;
  top: 11px;
  right: 11px;
  place-items: center;
  overflow: visible;
  border: 1px solid transparent;
  background:
    linear-gradient(rgba(8, 8, 13, .84), rgba(8, 8, 13, .84)) padding-box,
    var(--aurora-chrome-silver) border-box;
  color: #f8fafc;
  font-size: 22px;
  line-height: 1;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .22);
  -webkit-backdrop-filter: blur(9px);
  backdrop-filter: blur(9px);
  transition: color var(--transition-fast), background-color var(--transition-fast), transform var(--transition-fast);
}
.product-card__wishlist:hover,
.product-card__wishlist:focus-visible {
  color: #fda4af;
  border-color: transparent;
  background:
    linear-gradient(rgba(30, 10, 18, .94), rgba(30, 10, 18, .94)) padding-box,
    var(--aurora-chrome-silver) border-box;
}
.product-card__wishlist[aria-pressed="true"] {
  color: #fb7185;
  border-color: transparent;
  background:
    linear-gradient(rgba(48, 12, 24, .94), rgba(48, 12, 24, .94)) padding-box,
    var(--aurora-chrome-silver) border-box;
  box-shadow: 0 2px 10px rgba(251, 113, 133, .14);
}
.product-card__wishlist:active {
  transform: scale(.94);
}

/* The buy control gets a thin gold-chrome rim, never a bright permanent glow. */
.product-card__add {
  border: 1px solid transparent;
  background:
    linear-gradient(rgba(var(--color-accent-rgb), .08), rgba(var(--color-accent-rgb), .08)) padding-box,
    var(--aurora-chrome-gold) border-box;
  box-shadow: none;
}
.product-card__add:hover {
  border-color: transparent;
  background:
    linear-gradient(rgba(var(--color-accent-rgb), .15), rgba(var(--color-accent-rgb), .15)) padding-box,
    var(--aurora-chrome-gold) border-box;
  color: var(--color-text);
}
.product-card__add:active,
.product-card__add.is-purchased,
[data-add-to-cart].is-purchased {
  border-color: transparent;
  background:
    linear-gradient(#facc15, #facc15) padding-box,
    var(--aurora-chrome-gold) border-box;
  color: #111111;
  box-shadow: none;
}

/* Red is reserved for pagination/navigation interaction states. */
.pagination__button:hover,
.pagination__button[aria-current="page"],
.pagination__button:focus-visible {
  border-color: var(--aurora-nav-red);
  background: rgba(248, 113, 113, .12);
  color: var(--aurora-nav-red);
}
.primary-nav a:hover,
.primary-nav a:focus-visible,
.mobile-menu a:hover,
.mobile-menu a:focus-visible,
.mobile-bottom-nav__item:hover,
.mobile-bottom-nav__item:focus-visible {
  color: var(--aurora-nav-red);
}
.primary-nav a::after {
  background: linear-gradient(90deg, var(--aurora-nav-red-deep), #fca5a5);
}
.mobile-bottom-nav__item:hover,
.mobile-bottom-nav__item:focus-visible {
  background: rgba(248, 113, 113, .08);
}

/* Prevent badge text/rims from being clipped by their icon controls. */
.header-actions,
.header-actions .icon-button,
.mobile-bottom-nav,
.mobile-bottom-nav__item {
  overflow: visible;
}
.header-actions .icon-button {
  isolation: isolate;
}
.count-badge {
  z-index: 8;
  top: -5px;
  right: -5px;
  min-width: 22px;
  width: max-content;
  height: 22px;
  padding-inline: 5px;
  line-height: 1;
  white-space: nowrap;
  overflow: visible;
}
.count-badge[data-cart-count],
.mobile-bottom-nav__badge[data-mobile-cart-count] {
  background-image:
    linear-gradient(var(--badge-ruby), var(--badge-ruby)),
    var(--badge-chrome-gold);
}
.count-badge[data-wishlist-count],
.mobile-bottom-nav__badge[data-mobile-wishlist-count] {
  background-image:
    linear-gradient(var(--badge-ruby), var(--badge-ruby)),
    var(--badge-chrome-silver);
}
.mobile-bottom-nav__badge {
  z-index: 8;
  top: -1px;
  left: calc(50% + 8px);
  min-width: 21px;
  width: max-content;
  height: 21px;
  padding-inline: 5px;
  line-height: 1;
  white-space: nowrap;
  overflow: visible;
}
@media (max-width: 767px) {
  .product-card__wishlist {
    top: 9px;
    right: 9px;
    width: 38px;
    height: 38px;
  }
  .count-badge {
    top: -4px;
    right: -3px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .product-card__wishlist,
  .product-card__add,
  .pagination__button {
    transition-duration: .01ms !important;
  }
}


/* Purchase confirmation: warm gold, calm contrast, and a clear readable label. */
.product-card__add.is-purchased,
button[data-quick-add].is-purchased {
  width: auto;
  min-width: 124px;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid #facc15;
  border-radius: 12px;
  background: #facc15;
  color: #111111;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45);
  transform: none;
}
.product-card__add.is-purchased:hover,
.product-card__add.is-purchased:focus-visible,
button[data-quick-add].is-purchased:hover,
button[data-quick-add].is-purchased:focus-visible {
  background: #facc15;
  color: #111111;
  transform: none;
}
.product-card__add.is-purchased:disabled,
button[data-quick-add].is-purchased:disabled {
  cursor: default;
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  .product-card__add.is-purchased,
  button[data-quick-add].is-purchased {
    transition: none;
  }
}


/* Aurora add-on controls: accessible sound toggle, scroll progress, and ripple. */
.aurora-sound-toggle {
  position: fixed;
  z-index: 1400;
  right: max(18px, env(safe-area-inset-right));
  bottom: max(22px, env(safe-area-inset-bottom));
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 50%;
  color: #e0f2fe;
  background: linear-gradient(#0b1118, #0b1118) padding-box, var(--aurora-chrome-silver) border-box;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .32);
  cursor: pointer;
  transition: color var(--transition-fast), transform var(--transition-fast);
}
.aurora-sound-toggle svg { width: 21px; height: 21px; }
.aurora-sound-toggle:hover,
.aurora-sound-toggle:focus-visible { color: #67e8f9; transform: translateY(-2px); }
.aurora-sound-toggle:not(.is-active) { color: #94a3b8; opacity: .86; }
.aurora-sound-toggle:focus-visible { outline: 2px solid #67e8f9; outline-offset: 3px; }

.aurora-scroll-progress {
  position: fixed;
  z-index: 1600;
  inset: 0 0 auto;
  height: 3px;
  pointer-events: none;
  background: rgba(148, 163, 184, .12);
}
.aurora-scroll-progress__bar {
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, #67e8f9 0%, #a78bfa 38%, #f9a8d4 68%, #facc15 100%);
  box-shadow: 0 0 10px rgba(103, 232, 249, .32);
  transition: width 80ms linear;
}
button.aurora-ripple-active { position: relative; overflow: hidden; isolation: isolate; }
button.aurora-ripple-active > * { position: relative; z-index: 1; }
button.aurora-ripple-active::after {
  content: "";
  position: absolute;
  z-index: 0;
  left: var(--ripple-x, 50%);
  top: var(--ripple-y, 50%);
  width: 12px;
  height: 12px;
  border-radius: 50%;
  pointer-events: none;
  background: rgba(255, 255, 255, .42);
  transform: translate(-50%, -50%) scale(0);
  animation: aurora-ripple-wave 480ms ease-out forwards;
}
@keyframes aurora-ripple-wave {
  to { opacity: 0; transform: translate(-50%, -50%) scale(18); }
}
@media (max-width: 767px) {
  .aurora-sound-toggle {
    right: max(14px, env(safe-area-inset-right));
    bottom: calc(82px + env(safe-area-inset-bottom));
    width: 42px;
    height: 42px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .aurora-sound-toggle, .aurora-scroll-progress__bar { transition: none !important; }
  button.aurora-ripple-active::after { animation: none !important; }
  .aurora-sound-toggle:hover, .aurora-sound-toggle:focus-visible { transform: none; }
}

/* =========================================
   Aurora Store — Final Product Card Details
   ========================================= */

/* 1. Active wishlist heart: deep red */
.product-card__wishlist.is-active,
.product-card__wishlist[aria-pressed="true"],
.product-card__wishlist.is-active:hover,
.product-card__wishlist[aria-pressed="true"]:hover {
  color: #8b0000 !important;
  -webkit-text-fill-color: #8b0000;
  border-color: #8b0000 !important;
}

/* 2. Keep product badges opposite the heart */
.product-card__badges,
html[dir="rtl"] .product-card__badges {
  left: 12px !important;
  right: auto !important;
  max-width: calc(100% - 58px);
  z-index: 4;
}

/* 3. Blue background, black text, blue-black chrome frame */
.product-badge {
  color: #05070a !important;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.04em;

  background:
    linear-gradient(#67e8f9, #67e8f9) padding-box,
    linear-gradient(
      135deg,
      #020408 0%,
      #087e9b 20%,
      #a5f3fc 38%,
      #05070a 54%,
      #22d3ee 72%,
      #020408 100%
    ) border-box !important;

  border: 1.5px solid transparent !important;
  border-radius: 999px;
  box-shadow:
    0 2px 5px rgba(0, 0, 0, 0.35),
    inset 0 0 0 1px rgba(255, 255, 255, 0.12);
}

/* Keep sale and other badge variants consistent */
.product-badge--sale,
.product-badge--out {
  color: #05070a !important;
  background:
    linear-gradient(#67e8f9, #67e8f9) padding-box,
    linear-gradient(
      135deg,
      #020408,
      #087e9b,
      #a5f3fc,
      #05070a,
      #22d3ee,
      #020408
    ) border-box !important;
}


/* Synced from the CodePen-tested Aurora badge design. */
/* Aurora product labels v2: ice-blue glass, ink-black bold type, individual chrome rims. */
:root {
  --badge-ice-blue: #a8d8f5;
  --badge-ice-highlight: #dff4ff;
  --badge-ink: #080d16;
  --badge-chrome-blue: linear-gradient(125deg, #315e8a 0%, #c7edff 20%, #6fa8d5 38%, #f1fbff 51%, #4e78a5 72%, #d6f2ff 100%);
  --badge-chrome-violet: linear-gradient(125deg, #6042a0 0%, #e4d7ff 20%, #a58be2 40%, #fff8ff 52%, #7753b8 74%, #d8c9ff 100%);
  --badge-chrome-green: linear-gradient(125deg, #27684e 0%, #d4ffe7 20%, #77c8a0 40%, #f5fff9 52%, #3d8b68 74%, #c7f9dc 100%);
  --badge-chrome-gold: linear-gradient(125deg, #806024 0%, #fff0b9 20%, #d0a64e 40%, #fffbe0 52%, #a47a2e 74%, #f5d88b 100%);
  --badge-chrome-ruby: linear-gradient(125deg, #8e2938 0%, #ffd8df 20%, #e36d82 40%, #fff5f7 52%, #ad3a50 74%, #ffc4cf 100%);
  --badge-chrome-silver: linear-gradient(125deg, #666e7b 0%, #f5f8fc 20%, #aab5c4 40%, #ffffff 52%, #737e8d 74%, #e8edf4 100%);
  --badge-chrome-copper: linear-gradient(125deg, #87472c 0%, #ffddc8 20%, #cf8b65 40%, #fff8f0 52%, #9c5738 74%, #f6c6a7 100%);
}
.product-card__badges {
  gap: 7px;
  max-width: calc(100% - 74px);
}
.product-badge {
  min-height: 23px;
  padding: 4px 9px;
  border: 1px solid transparent;
  border-radius: 999px;
  background:
    linear-gradient(120deg, #b8e4fb 0%, #8ec9ed 46%, #d9f2ff 100%) padding-box,
    var(--badge-chrome-blue) border-box;
  color: var(--badge-ink);
  font-size: 8px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: .055em;
  text-shadow: none;
  box-shadow: 0 1px 2px rgba(5, 20, 40, .12);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  transition: filter 160ms ease, background-position 220ms ease;
}
.product-badge:hover {
  filter: saturate(1.12) brightness(1.035);
}
.product-badge--bestseller {
  background: linear-gradient(120deg, #b9ddff, #85b9f1 48%, #d7eaff) padding-box, var(--badge-chrome-violet) border-box;
}
.product-badge--new {
  background: linear-gradient(120deg, #bce8ff, #8ccff1 48%, #def6ff) padding-box, var(--badge-chrome-blue) border-box;
}
.product-badge--sale {
  background: linear-gradient(120deg, #c5f7dc, #91e3b8 48%, #e1ffed) padding-box, var(--badge-chrome-green) border-box;
}
.product-badge--top-rated {
  background: linear-gradient(120deg, #ffefb4, #f5d778 48%, #fff8d8) padding-box, var(--badge-chrome-gold) border-box;
}
.product-badge--exclusive {
  background: linear-gradient(120deg, #f9d5e8, #f2a9d0 48%, #ffedf6) padding-box, var(--badge-chrome-ruby) border-box;
}
.product-badge--limited {
  background: linear-gradient(120deg, #ffd9c2, #f6b18a 48%, #fff0e5) padding-box, var(--badge-chrome-copper) border-box;
}
.product-badge--popular {
  background: linear-gradient(120deg, #e5e7eb, #bdc5d0 48%, #fafbfc) padding-box, var(--badge-chrome-silver) border-box;
}
:root[data-theme="light"] .product-badge {
  color: #080d16;
  box-shadow: 0 1px 2px rgba(5, 20, 40, .08);
}
@media (max-width: 760px) {
  .product-card__badges { gap: 4px; max-width: calc(100% - 64px); }
  .product-badge { min-height: 20px; padding: 3px 7px; font-size: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .product-badge { transition: none; }
}


/* Synced from the CodePen-tested wishlist and purchase feedback. */
/* Aurora interaction refinement: rotating chrome heart and purchased confirmation. */
:root {
  --heart-chrome-silver: linear-gradient(125deg, #626b78 0%, #f8fbff 18%, #aeb8c6 35%, #ffffff 49%, #737e8e 68%, #e8edf5 100%);
  --heart-chrome-violet: linear-gradient(125deg, #5932a1 0%, #f1e6ff 18%, #a88be8 36%, #fffaff 50%, #7650bd 69%, #d8c8ff 100%);
  --heart-chrome-cyan: linear-gradient(125deg, #176d91 0%, #d8fbff 18%, #66c9e8 36%, #ffffff 50%, #287fa7 69%, #b7f0ff 100%);
  --heart-chrome-ruby: linear-gradient(125deg, #8d243f 0%, #ffe1e8 18%, #e66e8b 36%, #fff8fa 50%, #a82e50 69%, #ffc1d0 100%);
  --heart-chrome-emerald: linear-gradient(125deg, #176348 0%, #dcfff0 18%, #70d0a5 36%, #ffffff 50%, #237b59 69%, #c4ffe0 100%);
  --heart-chrome-gold: linear-gradient(125deg, #806024 0%, #fff5c9 18%, #d9b65d 36%, #fffef0 50%, #a47b2d 69%, #f8df9b 100%);
  --heart-chrome-sapphire: linear-gradient(125deg, #183d91 0%, #dce8ff 18%, #739be9 36%, #ffffff 50%, #3156b1 69%, #c7d7ff 100%);
  --heart-chrome-rose: linear-gradient(125deg, #9a3e70 0%, #ffe2f1 18%, #df8cba 36%, #fffaff 50%, #ad4f84 69%, #ffd0e8 100%);
}
.product-card__wishlist {
  border: 1px solid transparent;
  background:
    linear-gradient(145deg, rgba(16, 18, 24, .92), rgba(38, 42, 51, .9)) padding-box,
    var(--heart-chrome-silver) border-box;
  color: #f8fbff;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);
}
.product-card__wishlist .wishlist-heart {
  display: block;
  line-height: 1;
  background: var(--heart-chrome-silver);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .45));
}
.product-card__wishlist.heart-chrome--violet { --heart-chrome-current: var(--heart-chrome-violet); }
.product-card__wishlist.heart-chrome--cyan { --heart-chrome-current: var(--heart-chrome-cyan); }
.product-card__wishlist.heart-chrome--ruby { --heart-chrome-current: var(--heart-chrome-ruby); }
.product-card__wishlist.heart-chrome--emerald { --heart-chrome-current: var(--heart-chrome-emerald); }
.product-card__wishlist.heart-chrome--gold { --heart-chrome-current: var(--heart-chrome-gold); }
.product-card__wishlist.heart-chrome--sapphire { --heart-chrome-current: var(--heart-chrome-sapphire); }
.product-card__wishlist.heart-chrome--rose { --heart-chrome-current: var(--heart-chrome-rose); }
.product-card__wishlist[class*="heart-chrome--"] {
  background:
    linear-gradient(145deg, rgba(18, 20, 28, .94), rgba(43, 45, 56, .92)) padding-box,
    var(--heart-chrome-current) border-box;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .22), 0 0 12px rgba(160, 180, 255, .08);
}
.product-card__wishlist[class*="heart-chrome--"] .wishlist-heart {
  background: var(--heart-chrome-current);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.product-card__wishlist:hover,
.product-card__wishlist.is-active,
.product-card__wishlist[aria-pressed="true"] {
  border-color: transparent;
  transform: translateY(-1px);
}
:root[data-theme="light"] .product-card__wishlist {
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .97), rgba(237, 242, 248, .97)) padding-box,
    var(--heart-chrome-silver) border-box;
}
:root[data-theme="light"] .product-card__wishlist[class*="heart-chrome--"] {
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(239, 242, 249, .98)) padding-box,
    var(--heart-chrome-current) border-box;
}
.product-card__add.is-purchased,
.product-card__add.is-purchased:hover,
.product-card__add.is-purchased:focus-visible,
:root[data-theme="light"] .product-card__add.is-purchased,
:root[data-theme="light"] .product-card__add.is-purchased:hover,
:root[data-theme="light"] .product-card__add.is-purchased:focus-visible {
  border: 1px solid transparent;
  background:
    linear-gradient(120deg, #fff4a8 0%, #facc15 48%, #ffe978 100%) padding-box,
    var(--badge-chrome-violet) border-box;
  color: #080808;
  box-shadow: 0 5px 16px rgba(250, 204, 21, .2);
  transform: none;
}
.product-card__add.is-purchased span,
:root[data-theme="light"] .product-card__add.is-purchased span {
  color: #080808;
}
