/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */

/* ==========================================================
   1. TAILWIND PROPERTIES & THEME VARIABLES
   ========================================================== */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-translate-x: 0; --tw-translate-y: 0; --tw-translate-z: 0;
      --tw-rotate-x: initial; --tw-rotate-y: initial; --tw-rotate-z: initial;
      --tw-skew-x: initial; --tw-skew-y: initial; --tw-space-y-reverse: 0;
      --tw-border-style: solid; --tw-gradient-position: initial; --tw-gradient-from: #0000;
      --tw-gradient-via: #0000; --tw-gradient-to: #0000; --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial; --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%; --tw-gradient-to-position: 100%;
      --tw-font-weight: initial; --tw-tracking: initial; --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial; --tw-shadow-alpha: 100%; --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial; --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial; --tw-ring-shadow: 0 0 #0000; --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000; --tw-ring-inset: initial; --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000;
      --tw-blur: initial; --tw-brightness: initial; --tw-contrast: initial; --tw-grayscale: initial;
      --tw-hue-rotate: initial; --tw-invert: initial; --tw-opacity: initial; --tw-saturate: initial;
      --tw-sepia: initial; --tw-drop-shadow: initial; --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%; --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial; --tw-backdrop-brightness: initial; --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial; --tw-backdrop-hue-rotate: initial; --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial; --tw-backdrop-saturate: initial; --tw-backdrop-sepia: initial;
      --tw-duration: initial; --tw-ease: initial; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scale-z: 1;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: "Inter", system-ui, sans-serif;
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --color-red-100: oklch(93.6% 0.032 17.717); --color-red-400: oklch(70.4% 0.191 22.216);
    --color-red-500: oklch(63.7% 0.237 25.331); --color-red-700: oklch(50.5% 0.213 27.518);
    --color-red-900: oklch(39.6% 0.141 25.723); --color-amber-100: oklch(96.2% 0.059 95.617);
    --color-amber-400: oklch(82.8% 0.189 84.429); --color-amber-500: oklch(76.9% 0.188 70.08);
    --color-amber-700: oklch(55.5% 0.163 48.998); --color-amber-900: oklch(41.4% 0.112 45.904);
    --color-yellow-400: oklch(85.2% 0.199 91.936); --color-green-100: oklch(96.2% 0.044 156.743);
    --color-green-400: oklch(79.2% 0.209 151.711); --color-green-500: oklch(72.3% 0.219 149.579);
    --color-green-600: oklch(62.7% 0.194 149.214); --color-green-700: oklch(52.7% 0.154 150.069);
    --color-green-900: oklch(39.3% 0.095 152.535); --color-blue-100: oklch(93.2% 0.032 255.585);
    --color-blue-400: oklch(70.7% 0.165 254.624); --color-blue-500: oklch(62.3% 0.214 259.815);
    --color-blue-600: oklch(54.6% 0.245 262.881); --color-blue-900: oklch(37.9% 0.146 265.522);
    --color-gray-50: oklch(98.5% 0.002 247.839); --color-gray-100: oklch(96.7% 0.003 264.542);
    --color-gray-200: oklch(92.8% 0.006 264.531); --color-gray-300: oklch(87.2% 0.01 258.338);
    --color-gray-400: oklch(70.7% 0.022 261.325); --color-gray-500: oklch(55.1% 0.027 264.364);
    --color-gray-600: oklch(44.6% 0.03 256.802); --color-gray-700: oklch(37.3% 0.034 259.733);
    --color-gray-800: oklch(27.8% 0.033 256.848); --color-gray-900: oklch(21% 0.034 264.665);
    --color-gray-950: oklch(13% 0.028 261.692); --color-black: #000; --color-white: #fff;
    --spacing: 0.25rem; --container-md: 28rem; --container-xl: 36rem; --container-2xl: 42rem;
    --container-3xl: 48rem; --container-7xl: 80rem; --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75); --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875); --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1); --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875); --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25); --text-5xl: 3rem;
    --text-5xl--line-height: 1; --text-6xl: 3.75rem; --text-6xl--line-height: 1;
    --text-7xl: 4.5rem; --text-7xl--line-height: 1; --font-weight-medium: 500;
    --font-weight-semibold: 600; --font-weight-bold: 700; --tracking-tight: -0.025em;
    --tracking-wider: 0.05em; --radius-lg: 0.5rem; --radius-xl: 0.75rem; --radius-2xl: 1rem;
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1); --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    --blur-sm: 8px; --blur-md: 12px; --blur-3xl: 64px; --aspect-video: 16 / 9;
    --default-transition-duration: 0.15s; --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans); --default-mono-font-family: var(--font-mono);
    
    /* Custom Colors */
    --color-primary-50: #fdf3ef; --color-primary-100: #fbe4db; --color-primary-200: #f6c4b3;
    --color-primary-300: #f09b80; --color-primary-400: #e8764f; --color-primary-500: #e0532f;
    --color-primary-600: #cc5b05; --color-primary-700: #a83f10; --color-primary-800: #943113;
    --color-primary-900: #7a2a12; --color-primary-950: #431407; --color-accent-200: #fbe4db;
    --color-accent-400: #e8764f; --color-accent-500: #e0532f; --color-accent-900: #7a2a12;
    --gradient-primary: linear-gradient(51deg, rgba(148, 49, 19, 1) 0%, rgba(224, 83, 47, 1) 17%, rgba(204, 91, 5, 1) 67%, rgba(201, 105, 6, 1) 90%);
    --gradient-primary-soft: linear-gradient(51deg, rgba(148, 49, 19, 0.08) 0%, rgba(224, 83, 47, 0.12) 17%, rgba(204, 91, 5, 0.1) 67%, rgba(201, 105, 6, 0.08) 90%);
    --gradient-primary-reverse: linear-gradient(231deg, rgba(148, 49, 19, 1) 0%, rgba(224, 83, 47, 1) 17%, rgba(204, 91, 5, 1) 67%, rgba(201, 105, 6, 1) 90%);
    --font-display: "Outfit", system-ui, sans-serif;
  }
}

/* ==========================================================
   2. SHOP.CSS BASE VARIABLES & BODY STYLES
   ========================================================== */
:root {
  --primary: var(--gradient-primary);
  --primary-dark: var(--gradient-primary-reverse);
  --bg: #f9fafb; --surface: #fff; --text: #111827; --muted: #6b7280; --line: #e5e7eb; --hover: #f3f4f6; --danger: #dc2626;
}
html.dark {
  --bg: #030712; --surface: #111827; --text: #f3f4f6; --muted: #9ca3af; --line: #1f2937; --hover: #1f2937; --danger: #f87171;
}

@layer base {
  *, :after, :before, ::backdrop { box-sizing: border-box; border: 0 solid; margin: 0; padding: 0; }
  ::file-selector-button { box-sizing: border-box; border: 0 solid; margin: 0; padding: 0; font: inherit; appearance: button; }
  html, :host { -webkit-text-size-adjust: 100%; tab-size: 4; line-height: 1.5; font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); font-feature-settings: normal; font-variation-settings: normal; -webkit-tap-highlight-color: transparent; scroll-behavior: smooth; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
  hr { height: 0; color: inherit; border-top-width: 1px; }
  abbr:where([title]) { text-decoration: underline dotted; }
  h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }
  a { color: inherit; text-decoration: inherit; }
  b, strong { font-weight: bolder; }
  code, kbd, samp, pre { font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); font-size: 1em; }
  small { font-size: 80%; }
  sub, sup { vertical-align: baseline; font-size: 75%; line-height: 0; position: relative; }
  sub { bottom: -0.25em; } sup { top: -0.5em; }
  table { text-indent: 0; border-color: inherit; border-collapse: collapse; }
  :-moz-focusring:where(:not(iframe)) { outline: auto; }
  progress { vertical-align: baseline; } summary { display: list-item; }
  ol, ul, menu { list-style: none; }
  img, svg, video, canvas, audio, iframe, embed, object { vertical-align: middle; display: block; }
  img, video { max-width: 100%; height: auto; }
  button, input, select, optgroup, textarea { font: inherit; color: inherit; opacity: 1; background-color: #0000; border-radius: 0; }
  :where(select:is([multiple], [size])) optgroup { font-weight: bolder; }
  :where(select:is([multiple], [size])) optgroup option { padding-inline-start: 20px; }
  ::placeholder { opacity: 1; color: color-mix(in oklab, currentcolor 50%, transparent); }
  textarea { resize: vertical; }
  ::-webkit-search-decoration { -webkit-appearance: none; }
  ::-webkit-date-and-time-value { min-height: 1lh; text-align: inherit; }
  ::-webkit-calendar-picker-indicator { line-height: 1; }
  :-moz-ui-invalid { box-shadow: none; }
  button, input:where([type="button"], [type="reset"], [type="submit"]) { appearance: button; }
  ::-webkit-inner-spin-button { height: auto; } ::-webkit-outer-spin-button { height: auto; }
  [hidden]:where(:not([hidden="until-found"])) { display: none !important; }

  body { margin: 0; background: var(--bg); color: var(--text); font: 16px/1.5 Inter, system-ui, -apple-system, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
}

/* ==========================================================
   3. TAILWIND UTILITIES (Now natively supporting .dark class)
   ========================================================== */
@layer utilities {
  .absolute { position: absolute; } .fixed { position: fixed; } .relative { position: relative; } .sticky { position: sticky; }
  .inset-0 { inset: 0; } .-top-1 { top: calc(var(--spacing) * -1); } .-top-20 { top: calc(var(--spacing) * -20); } .-top-32 { top: calc(var(--spacing) * -32); } .-top-40 { top: calc(var(--spacing) * -40); }
  .top-0 { top: 0; } .top-1\/2 { top: 50%; } .top-3 { top: calc(var(--spacing) * 3); } .top-4 { top: calc(var(--spacing) * 4); } .top-24 { top: calc(var(--spacing) * 24); }
  .-right-1 { right: calc(var(--spacing) * -1); } .-right-20 { right: calc(var(--spacing) * -20); } .-right-32 { right: calc(var(--spacing) * -32); } .-right-40 { right: calc(var(--spacing) * -40); }
  .right-3 { right: calc(var(--spacing) * 3); } .right-4 { right: calc(var(--spacing) * 4); } .right-8 { right: calc(var(--spacing) * 8); }
  .-bottom-6 { bottom: calc(var(--spacing) * -6); } .-bottom-20 { bottom: calc(var(--spacing) * -20); } .-bottom-32 { bottom: calc(var(--spacing) * -32); } .-bottom-40 { bottom: calc(var(--spacing) * -40); }
  .bottom-3 { bottom: calc(var(--spacing) * 3); } .bottom-4 { bottom: calc(var(--spacing) * 4); } .bottom-8 { bottom: calc(var(--spacing) * 8); } .bottom-12 { bottom: calc(var(--spacing) * 12); }
  .-left-6 { left: calc(var(--spacing) * -6); } .-left-20 { left: calc(var(--spacing) * -20); } .-left-32 { left: calc(var(--spacing) * -32); } .-left-40 { left: calc(var(--spacing) * -40); }
  .left-1\/2 { left: 50%; } .left-3 { left: calc(var(--spacing) * 3); } .left-4 { left: calc(var(--spacing) * 4); }
  .z-40 { z-index: 40; } .z-50 { z-index: 50; }
  .mx-4 { margin-inline: calc(var(--spacing) * 4); } .mx-auto { margin-inline: auto; }
  .mt-1 { margin-top: var(--spacing); } .mt-2 { margin-top: calc(var(--spacing) * 2); } .mt-3 { margin-top: calc(var(--spacing) * 3); }
  .mt-4 { margin-top: calc(var(--spacing) * 4); } .mt-6 { margin-top: calc(var(--spacing) * 6); } .mt-8 { margin-top: calc(var(--spacing) * 8); }
  .mt-10 { margin-top: calc(var(--spacing) * 10); } .mt-12 { margin-top: calc(var(--spacing) * 12); } .mt-16 { margin-top: calc(var(--spacing) * 16); }
  .mt-auto { margin-top: auto; } .mb-4 { margin-bottom: calc(var(--spacing) * 4); } .ml-2 { margin-left: calc(var(--spacing) * 2); } .ml-auto { margin-left: auto; }
  
  .block { display: block; } .flex { display: flex; } .grid { display: grid; } .hidden { display: none; } .inline { display: inline; } .inline-block { display: inline-block; } .inline-flex { display: inline-flex; }
  .aspect-\[3\/4\] { aspect-ratio: 3 / 4; } .aspect-\[4\/3\] { aspect-ratio: 4 / 3; } .aspect-square { aspect-ratio: 1; } .aspect-video { aspect-ratio: var(--aspect-video); }
  
  .h-2 { height: calc(var(--spacing) * 2); } .h-3 { height: calc(var(--spacing) * 3); } .h-4 { height: calc(var(--spacing) * 4); } .h-5 { height: calc(var(--spacing) * 5); }
  .h-6 { height: calc(var(--spacing) * 6); } .h-8 { height: calc(var(--spacing) * 8); } .h-10 { height: calc(var(--spacing) * 10); } .h-12 { height: calc(var(--spacing) * 12); }
  .h-14 { height: calc(var(--spacing) * 14); } .h-16 { height: calc(var(--spacing) * 16); } .h-20 { height: calc(var(--spacing) * 20); } .h-24 { height: calc(var(--spacing) * 24); }
  .h-48 { height: calc(var(--spacing) * 48); } .h-80 { height: calc(var(--spacing) * 80); } .h-96 { height: calc(var(--spacing) * 96); } .h-full { height: 100%; }
  .min-h-\[90vh\] { min-height: 90vh; }
  
  .w-2 { width: calc(var(--spacing) * 2); } .w-3 { width: calc(var(--spacing) * 3); } .w-4 { width: calc(var(--spacing) * 4); } .w-5 { width: calc(var(--spacing) * 5); }
  .w-6 { width: calc(var(--spacing) * 6); } .w-8 { width: calc(var(--spacing) * 8); } .w-10 { width: calc(var(--spacing) * 10); } .w-12 { width: calc(var(--spacing) * 12); }
  .w-14 { width: calc(var(--spacing) * 14); } .w-16 { width: calc(var(--spacing) * 16); } .w-20 { width: calc(var(--spacing) * 20); } .w-24 { width: calc(var(--spacing) * 24); }
  .w-48 { width: calc(var(--spacing) * 48); } .w-80 { width: calc(var(--spacing) * 80); } .w-96 { width: calc(var(--spacing) * 96); } .w-full { width: 100%; } .w-px { width: 1px; }
  
  .max-w-2xl { max-width: var(--container-2xl); } .max-w-3xl { max-width: var(--container-3xl); } .max-w-7xl { max-width: var(--container-7xl); }
  .max-w-md { max-width: var(--container-md); } .max-w-xl { max-width: var(--container-xl); } .min-w-0 { min-width: 0; }
  .flex-1 { flex: 1; } .shrink-0 { flex-shrink: 0; }
  
  .-translate-x-1\/2 { --tw-translate-x: calc(calc(1 / 2 * 100%) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); }
  .translate-x-full { --tw-translate-x: 100%; translate: var(--tw-translate-x) var(--tw-translate-y); }
  .-translate-y-1\/2 { --tw-translate-y: calc(calc(1 / 2 * 100%) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); }
  .transform { transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,); }
  .animate-pulse { animation: var(--animate-pulse); }
  
  .cursor-pointer { cursor: pointer; } .cursor-zoom-in { cursor: zoom-in; }
  .flex-col { flex-direction: column; } .flex-wrap { flex-wrap: wrap; }
  .items-baseline { align-items: baseline; } .items-center { align-items: center; } .items-end { align-items: flex-end; } .items-start { align-items: flex-start; }
  .justify-between { justify-content: space-between; } .justify-center { justify-content: center; } .justify-end { justify-content: flex-end; }
  
  .gap-1 { gap: var(--spacing); } .gap-1\.5 { gap: calc(var(--spacing) * 1.5); } .gap-2 { gap: calc(var(--spacing) * 2); }
  .gap-3 { gap: calc(var(--spacing) * 3); } .gap-4 { gap: calc(var(--spacing) * 4); } .gap-6 { gap: calc(var(--spacing) * 6); }
  .gap-8 { gap: calc(var(--spacing) * 8); } .gap-12 { gap: calc(var(--spacing) * 12); }
  
  :where(.space-y-3 > :not(:last-child)) { margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse))); }
  :where(.space-y-4 > :not(:last-child)) { margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse))); }
  :where(.space-y-6 > :not(:last-child)) { margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse))); }
  :where(.space-y-8 > :not(:last-child)) { margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse))); }
  
  .truncate { text-overflow: ellipsis; white-space: nowrap; overflow: hidden; } .overflow-hidden { overflow: hidden; } .overflow-x-auto { overflow-x: auto; }
  .rounded { border-radius: 0.25rem; } .rounded-2xl { border-radius: var(--radius-2xl); } .rounded-full { border-radius: 2147483647px; } .rounded-lg { border-radius: var(--radius-lg); } .rounded-xl { border-radius: var(--radius-xl); }
  .border { border-style: var(--tw-border-style); border-width: 1px; } .border-2 { border-style: var(--tw-border-style); border-width: 2px; }
  .border-x { border-inline-style: var(--tw-border-style); border-inline-width: 1px; } .border-y { border-block-style: var(--tw-border-style); border-block-width: 1px; }
  .border-t { border-top-style: var(--tw-border-style); border-top-width: 1px; } .border-b { border-bottom-style: var(--tw-border-style); border-bottom-width: 1px; }
  .border-gray-100 { border-color: var(--color-gray-100); } .border-gray-200 { border-color: var(--color-gray-200); } .border-gray-300 { border-color: var(--color-gray-300); } .border-gray-700 { border-color: var(--color-gray-700); }
  .border-primary-500 { border-color: var(--color-primary-500); } .border-transparent { border-color: #0000; }
  .border-white\/20 { border-color: color-mix(in oklab, var(--color-white) 20%, transparent); } .border-white\/30 { border-color: color-mix(in oklab, var(--color-white) 30%, transparent); }
  
  .bg-\[\#1A1F71\] { background-color: #1a1f71; } .bg-\[\#006FCF\] { background-color: #006fcf; } .bg-\[\#003087\] { background-color: #003087; }
  .bg-accent-200 { background-color: var(--color-accent-200); } .bg-accent-500\/20 { background-color: color-mix(in oklab, var(--color-accent-500) 20%, transparent); } .bg-accent-500\/30 { background-color: color-mix(in oklab, var(--color-accent-500) 30%, transparent); }
  .bg-amber-100 { background-color: var(--color-amber-100); } .bg-amber-500 { background-color: var(--color-amber-500); }
  .bg-black\/50 { background-color: color-mix(in oklab, var(--color-black) 50%, transparent); }
  .bg-blue-100 { background-color: var(--color-blue-100); } .bg-blue-500\/20 { background-color: color-mix(in oklab, var(--color-blue-500) 20%, transparent); }
  .bg-gray-50 { background-color: var(--color-gray-50); } .bg-gray-100 { background-color: var(--color-gray-100); } .bg-gray-200 { background-color: var(--color-gray-200); }
  .bg-gray-800\/50 { background-color: color-mix(in oklab, var(--color-gray-800) 50%, transparent); } .bg-gray-900 { background-color: var(--color-gray-900); }
  .bg-green-100 { background-color: var(--color-green-100); } .bg-green-500 { background-color: var(--color-green-500); } .bg-green-500\/20 { background-color: color-mix(in oklab, var(--color-green-500) 20%, transparent); }
  .bg-primary-50 { background-color: var(--color-primary-50); } .bg-primary-100 { background-color: var(--color-primary-100); } .bg-primary-200 { background-color: var(--color-primary-200); }
  .bg-primary-500\/20 { background-color: color-mix(in oklab, var(--color-primary-500) 20%, transparent); } .bg-primary-500\/30 { background-color: color-mix(in oklab, var(--color-primary-500) 30%, transparent); }
  .bg-primary-600 { background-color: var(--color-primary-600); background-image: var(--gradient-primary); } .bg-primary-500 { background-color: var(--color-primary-500); background-image: var(--gradient-primary); }
  .bg-red-100 { background-color: var(--color-red-100); } .bg-red-500 { background-color: var(--color-red-500); } .bg-transparent { background-color: #0000; }
  .bg-white { background-color: var(--color-white); } .bg-white\/5 { background-color: color-mix(in oklab, var(--color-white) 5%, transparent); } .bg-white\/10 { background-color: color-mix(in oklab, var(--color-white) 10%, transparent); }
  .bg-white\/20 { background-color: color-mix(in oklab, var(--color-white) 20%, transparent); } .bg-white\/95 { background-color: color-mix(in oklab, var(--color-white) 95%, transparent); }
  
  .bg-gradient-to-br { --tw-gradient-position: to bottom right in oklab; background-image: linear-gradient(var(--tw-gradient-stops)); }
  .bg-gradient-to-r { --tw-gradient-position: to right in oklab; background-image: linear-gradient(var(--tw-gradient-stops)); }
  .bg-gradient-to-t { --tw-gradient-position: to top in oklab; background-image: linear-gradient(var(--tw-gradient-stops)); }
  
  .from-gray-900\/80 { --tw-gradient-from: color-mix(in oklab, var(--color-gray-900) 80%, transparent); --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }
  .from-gray-900\/90 { --tw-gradient-from: color-mix(in oklab, var(--color-gray-900) 90%, transparent); --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }
  .from-primary-600 { --tw-gradient-from: var(--color-primary-800); --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }
  .from-primary-800 { --tw-gradient-from: var(--color-primary-800); --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }
  .via-gray-900\/20 { --tw-gradient-via: color-mix(in oklab, var(--color-gray-900) 20%, transparent); --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-via-stops); }
  .via-gray-900\/70 { --tw-gradient-via: color-mix(in oklab, var(--color-gray-900) 70%, transparent); --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position); --tw-gradient-stops: var(--tw-gradient-via-stops); }
  .to-gray-900\/40 { --tw-gradient-to: color-mix(in oklab, var(--color-gray-900) 40%, transparent); --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }
  .to-gray-900\/60 { --tw-gradient-to: color-mix(in oklab, var(--color-gray-900) 60%, transparent); --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }
  .to-primary-800 { --tw-gradient-to: var(--color-primary-500); --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }
  .to-primary-600 { --tw-gradient-to: var(--color-primary-600); --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }
  .to-transparent { --tw-gradient-to: transparent; --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position)); }
  
  .object-cover { object-fit: cover; }
  
  .p-2 { padding: calc(var(--spacing) * 2); } .p-4 { padding: calc(var(--spacing) * 4); } .p-6 { padding: calc(var(--spacing) * 6); }
  .px-2 { padding-inline: calc(var(--spacing) * 2); } .px-2\.5 { padding-inline: calc(var(--spacing) * 2.5); } .px-3 { padding-inline: calc(var(--spacing) * 3); }
  .px-4 { padding-inline: calc(var(--spacing) * 4); } .px-5 { padding-inline: calc(var(--spacing) * 5); } .px-6 { padding-inline: calc(var(--spacing) * 6); } .px-8 { padding-inline: calc(var(--spacing) * 8); }
  .py-0\.5 { padding-block: calc(var(--spacing) * 0.5); } .py-1 { padding-block: var(--spacing); } .py-1\.5 { padding-block: calc(var(--spacing) * 1.5); }
  .py-2 { padding-block: calc(var(--spacing) * 2); } .py-2\.5 { padding-block: calc(var(--spacing) * 2.5); } .py-3 { padding-block: calc(var(--spacing) * 3); } .py-4 { padding-block: calc(var(--spacing) * 4); }
  .py-6 { padding-block: calc(var(--spacing) * 6); } .py-12 { padding-block: calc(var(--spacing) * 12); } .py-16 { padding-block: calc(var(--spacing) * 16); } .py-20 { padding-block: calc(var(--spacing) * 20); } .py-24 { padding-block: calc(var(--spacing) * 24); }
  .pt-4 { padding-top: calc(var(--spacing) * 4); } .pt-8 { padding-top: calc(var(--spacing) * 8); } .pt-12 { padding-top: calc(var(--spacing) * 12); } .pt-16 { padding-top: calc(var(--spacing) * 16); } .pt-20 { padding-top: calc(var(--spacing) * 20); }
  .pr-4 { padding-right: calc(var(--spacing) * 4); } .pb-2 { padding-bottom: calc(var(--spacing) * 2); } .pl-12 { padding-left: calc(var(--spacing) * 12); }
  
  .text-center { text-align: center; } .text-right { text-align: right; }
  .font-display { font-family: var(--font-display); } .font-mono { font-family: var(--font-mono); }
  .text-2xl { font-size: var(--text-2xl); line-height: var(--tw-leading, var(--text-2xl--line-height)); } .text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading, var(--text-3xl--line-height)); }
  .text-4xl { font-size: var(--text-4xl); line-height: var(--tw-leading, var(--text-4xl--line-height)); } .text-5xl { font-size: var(--text-5xl); line-height: var(--tw-leading, var(--text-5xl--line-height)); }
  .text-base { font-size: var(--text-base); line-height: var(--tw-leading, var(--text-base--line-height)); } .text-lg { font-size: var(--text-lg); line-height: var(--tw-leading, var(--text-lg--line-height)); }
  .text-sm { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); } .text-xl { font-size: var(--text-xl); line-height: var(--tw-leading, var(--text-xl--line-height)); }
  .text-xs { font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); } .text-\[8px\] { font-size: 8px; } .text-\[10px\] { font-size: 10px; }
  .font-bold { font-weight: var(--font-weight-bold); } .font-medium { font-weight: var(--font-weight-medium); } .font-semibold { font-weight: var(--font-weight-semibold); }
  .tracking-tight { letter-spacing: var(--tracking-tight); } .tracking-wider { letter-spacing: var(--tracking-wider); }
  
  .text-accent-400 { color: var(--color-accent-400); } .text-amber-700 { color: var(--color-amber-700); } .text-blue-400 { color: var(--color-blue-400); } .text-blue-600 { color: var(--color-blue-600); }
  .text-gray-200 { color: var(--color-gray-200); } .text-gray-300 { color: var(--color-gray-300); } .text-gray-400 { color: var(--color-gray-400); } .text-gray-500 { color: var(--color-gray-500); }
  .text-gray-600 { color: var(--color-gray-600); } .text-gray-700 { color: var(--color-gray-700); } .text-gray-900 { color: var(--color-gray-900); }
  .text-green-400 { color: var(--color-green-400); } .text-green-600 { color: var(--color-green-600); } .text-green-700 { color: var(--color-green-700); }
  .text-primary-100 { color: var(--color-primary-100); } .text-primary-400 { color: var(--color-primary-400); } .text-primary-600 { color: var(--color-primary-600); } .text-primary-700 { color: var(--color-primary-700); }
  .text-red-500 { color: var(--color-red-500); } .text-red-700 { color: var(--color-red-700); } .text-white { color: var(--color-white); } .text-white\/50 { color: color-mix(in oklab, var(--color-white) 50%, transparent); } .text-yellow-400 { color: var(--color-yellow-400); }
  
  .uppercase { text-transform: uppercase; } .italic { font-style: italic; } .line-through { text-decoration-line: line-through; } .underline { text-decoration-line: underline; }
  .antialiased { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
  .placeholder-gray-400::placeholder { color: var(--color-gray-400); }
  .opacity-0 { opacity: 0; } .opacity-10 { opacity: 0.1; } .opacity-50 { opacity: 0.5; }
  
  .shadow-2xl { --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, #00000040); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); }
  .shadow-lg { --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); }
  .shadow-xl { --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); }
  
  .blur-3xl { --tw-blur: blur(var(--blur-3xl)); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }
  .filter { filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); }
  .backdrop-blur-md { --tw-backdrop-blur: blur(var(--blur-md)); backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); }
  .backdrop-blur-sm { --tw-backdrop-blur: blur(var(--blur-sm)); backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,); }
  
  .transition-all { transition-property: all; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); }
  .transition-colors { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); }
  .transition-opacity { transition-property: opacity; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); }
  .transition-transform { transition-property: transform, translate, scale, rotate; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); }
  .duration-300 { --tw-duration: 0.3s; transition-duration: 0.3s; } .duration-500 { --tw-duration: 0.5s; transition-duration: 0.5s; } .ease-in-out { --tw-ease: var(--ease-in-out); transition-timing-function: var(--ease-in-out); }
  
  .group-open\:rotate-180:is(:where(.group):is([open], :popover-open, :open) *) { rotate: 180deg; }
  @media (hover: hover) {
    .group-hover\:translate-x-1:is(:where(.group):hover *) { --tw-translate-x: var(--spacing); translate: var(--tw-translate-x) var(--tw-translate-y); }
    .group-hover\:scale-105:is(:where(.group):hover *) { --tw-scale-x: 105%; --tw-scale-y: 105%; --tw-scale-z: 105%; scale: var(--tw-scale-x) var(--tw-scale-y); }
    .group-hover\:scale-110:is(:where(.group):hover *) { --tw-scale-x: 110%; --tw-scale-y: 110%; --tw-scale-z: 110%; scale: var(--tw-scale-x) var(--tw-scale-y); }
    .group-hover\:bg-primary-600:is(:where(.group):hover *) { background-color: var(--color-primary-600); background-image: var(--gradient-primary); }
    .group-hover\:text-white:is(:where(.group):hover *) { color: var(--color-white); }
    .group-hover\:text-white\/80:is(:where(.group):hover *) { color: color-mix(in oklab, var(--color-white) 80%, transparent); }
    .group-hover\:opacity-100:is(:where(.group):hover *) { opacity: 1; }
  }
  
  .placeholder\:text-gray-400::placeholder { color: var(--color-gray-400); }
  
  @media (hover: hover) {
    .hover\:scale-110:hover { --tw-scale-x: 110%; --tw-scale-y: 110%; --tw-scale-z: 110%; scale: var(--tw-scale-x) var(--tw-scale-y); }
    .hover\:border-primary-500:hover { border-color: var(--color-primary-500); }
    .hover\:border-white\/50:hover { border-color: color-mix(in oklab, var(--color-white) 50%, transparent); }
    .hover\:bg-gray-50:hover { background-color: var(--color-gray-50); }
    .hover\:bg-gray-100:hover { background-color: var(--color-gray-100); }
    .hover\:bg-primary-700:hover { background-color: var(--color-primary-700); background-image: var(--gradient-primary-reverse); }
    .hover\:bg-white\/20:hover { background-color: color-mix(in oklab, var(--color-white) 20%, transparent); }
    .hover\:text-gray-700:hover { color: var(--color-gray-700); }
    .hover\:text-gray-900:hover { color: var(--color-gray-900); }
    .hover\:text-primary-600:hover { color: var(--color-primary-600); }
    .hover\:text-primary-700:hover { color: var(--color-primary-700); }
    .hover\:text-red-500:hover { color: var(--color-red-500); }
    .hover\:text-white:hover { color: var(--color-white); }
    .hover\:shadow-lg:hover { --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); }
    .hover\:shadow-primary-500\/25:hover { --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-primary-500) 25%, transparent) var(--tw-shadow-alpha), transparent); }
  }
  
  .focus\:border-primary-500:focus { border-color: var(--color-primary-500); }
  .focus\:ring-2:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); }
  .focus\:ring-primary-500:focus { --tw-ring-color: var(--color-primary-500); } .focus\:ring-primary-500\/20:focus { --tw-ring-color: color-mix(in oklab, var(--color-primary-500) 20%, transparent); }
  .focus\:outline-none:focus { --tw-outline-style: none; outline-style: none; }
  .data-\[active\]\:border-primary-500[data-active] { border-color: var(--color-primary-500); }
  
  @media (width >= 40rem) {
    .sm\:col-span-2 { grid-column: span 2 / span 2; } .sm\:block { display: block; } .sm\:h-32 { height: calc(var(--spacing) * 32); } .sm\:w-32 { width: calc(var(--spacing) * 32); }
    .sm\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .sm\:flex-row { flex-direction: row; } .sm\:items-center { align-items: center; } .sm\:justify-between { justify-content: space-between; } .sm\:gap-6 { gap: calc(var(--spacing) * 6); }
    .sm\:p-6 { padding: calc(var(--spacing) * 6); } .sm\:text-left { text-align: left; } .sm\:text-6xl { font-size: var(--text-6xl); line-height: var(--tw-leading, var(--text-6xl--line-height)); }
  }
  
  @media (width >= 48rem) { .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  
  @media (width >= 64rem) {
    .lg\:col-span-1 { grid-column: span 1 / span 1; } .lg\:col-span-3 { grid-column: span 3 / span 3; } .lg\:col-span-4 { grid-column: span 4 / span 4; } .lg\:col-span-8 { grid-column: span 8 / span 8; }
    .lg\:row-span-2 { grid-row: span 2 / span 2; } .lg\:mt-0 { margin-top: 0; } .lg\:block { display: block; } .lg\:flex { display: flex; } .lg\:grid { display: grid; } .lg\:hidden { display: none; }
    .lg\:aspect-auto { aspect-ratio: auto; } .lg\:h-9 { height: calc(var(--spacing) * 9); } .lg\:h-20 { height: calc(var(--spacing) * 20); } .lg\:h-full { height: 100%; }
    .lg\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .lg\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } .lg\:grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
    .lg\:flex-row { flex-direction: row; } .lg\:gap-8 { gap: calc(var(--spacing) * 8); } .lg\:gap-12 { gap: calc(var(--spacing) * 12); }
    .lg\:px-8 { padding-inline: calc(var(--spacing) * 8); } .lg\:py-16 { padding-block: calc(var(--spacing) * 16); } .lg\:py-24 { padding-block: calc(var(--spacing) * 24); }
    .lg\:py-28 { padding-block: calc(var(--spacing) * 28); } .lg\:py-32 { padding-block: calc(var(--spacing) * 32); } .lg\:text-left { text-align: left; }
    .lg\:text-2xl { font-size: var(--text-2xl); line-height: var(--tw-leading, var(--text-2xl--line-height)); } .lg\:text-3xl { font-size: var(--text-3xl); line-height: var(--tw-leading, var(--text-3xl--line-height)); }
    .lg\:text-4xl { font-size: var(--text-4xl); line-height: var(--tw-leading, var(--text-4xl--line-height)); } .lg\:text-5xl { font-size: var(--text-5xl); line-height: var(--tw-leading, var(--text-5xl--line-height)); }
    .lg\:text-7xl { font-size: var(--text-7xl); line-height: var(--tw-leading, var(--text-7xl--line-height)); } .lg\:text-xl { font-size: var(--text-xl); line-height: var(--tw-leading, var(--text-xl--line-height)); }
  }
  
  @media (width >= 80rem) { .xl\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .xl\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

  /* ==========================================================
     4. NATIVE DARK MODE UTILITIES (Replaced media query)
     ========================================================== */
  .dark .dark\:block { display: block; }
  .dark .dark\:hidden { display: none; }
  .dark .dark\:border-gray-600 { border-color: var(--color-gray-600); }
  .dark .dark\:border-gray-700 { border-color: var(--color-gray-700); }
  .dark .dark\:border-gray-800 { border-color: var(--color-gray-800); }
  .dark .dark\:bg-accent-900\/30 { background-color: color-mix(in oklab, var(--color-accent-900) 30%, transparent); }
  .dark .dark\:bg-amber-900\/30 { background-color: color-mix(in oklab, var(--color-amber-900) 30%, transparent); }
  .dark .dark\:bg-blue-900\/30 { background-color: color-mix(in oklab, var(--color-blue-900) 30%, transparent); }
  .dark .dark\:bg-gray-800 { background-color: var(--color-gray-800); }
  .dark .dark\:bg-gray-900 { background-color: var(--color-gray-900); }
  .dark .dark\:bg-gray-950 { background-color: var(--color-gray-950); }
  .dark .dark\:bg-gray-950\/95 { background-color: color-mix(in oklab, var(--color-gray-950) 95%, transparent); }
  .dark .dark\:bg-green-900\/30 { background-color: color-mix(in oklab, var(--color-green-900) 30%, transparent); }
  .dark .dark\:bg-primary-900\/20 { background-color: color-mix(in oklab, var(--color-primary-900) 20%, transparent); }
  .dark .dark\:bg-primary-900\/30 { background-color: color-mix(in oklab, var(--color-primary-900) 30%, transparent); }
  .dark .dark\:bg-red-900\/30 { background-color: color-mix(in oklab, var(--color-red-900) 30%, transparent); }
  .dark .dark\:bg-white { background-color: var(--color-white); }
  .dark .dark\:text-amber-400 { color: var(--color-amber-400); }
  .dark .dark\:text-blue-400 { color: var(--color-blue-400); }
  .dark .dark\:text-gray-100 { color: var(--color-gray-100); }
  .dark .dark\:text-gray-300 { color: var(--color-gray-300); }
  .dark .dark\:text-gray-400 { color: var(--color-gray-400); }
  .dark .dark\:text-gray-600 { color: var(--color-gray-600); }
  .dark .dark\:text-gray-900 { color: var(--color-gray-900); }
  .dark .dark\:text-green-400 { color: var(--color-green-400); }
  .dark .dark\:text-primary-300 { color: var(--color-primary-300); }
  .dark .dark\:text-primary-400 { color: var(--color-primary-400); }
  .dark .dark\:text-red-400 { color: var(--color-red-400); }
  .dark .dark\:text-white { color: var(--color-white); }
  @media (hover: hover) {
    .dark .dark\:hover\:bg-gray-700:hover { background-color: var(--color-gray-700); }
    .dark .dark\:hover\:bg-gray-800:hover { background-color: var(--color-gray-800); }
    .dark .dark\:hover\:bg-gray-900:hover { background-color: var(--color-gray-900); }
    .dark .dark\:hover\:text-gray-300:hover { color: var(--color-gray-300); }
    .dark .dark\:hover\:text-white:hover { color: var(--color-white); }
  }
}

/* ==========================================================
   5. SHOP & CUSTOM COMPONENTS
   ========================================================== */
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }
.wrap { max-width: 80rem; margin: 0 auto; padding: 0 1rem; }
@media (min-width: 1024px) { .wrap { padding: 0 2rem; } }
.muted { color: var(--muted); } .small { font-size: .875rem; margin: 0; }

/* Header */
/* ---------- Floating glass nav (selectors/IDs unchanged) ---------- */
header.site {
  position: sticky; top: .75rem; z-index: 40;
  width: calc(100% - 1.5rem); max-width: 76rem; margin: .75rem auto 0;
  border-radius: 1.5rem; overflow: hidden;
  background: color-mix(in srgb, var(--surface) 72%, transparent);
  -webkit-backdrop-filter: blur(18px) saturate(160%); backdrop-filter: blur(18px) saturate(160%);
  border: 1px solid color-mix(in srgb, var(--text) 9%, transparent);
  box-shadow: 0 8px 30px -8px rgba(17,24,39,.18), 0 2px 6px rgba(17,24,39,.05), inset 0 1px 0 rgba(255,255,255,.35);
  transition: box-shadow .3s, background .3s;
}
header.site::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 2px; background: var(--gradient-primary); opacity: .9; pointer-events: none; }
html.dark header.site { box-shadow: 0 10px 34px -8px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.06); }
@media (min-width: 1024px) { header.site { top: 1rem; margin-top: 1rem; border-radius: 999px; } }
header.site .wrap { padding: 0 .5rem 0 1rem; }
@media (min-width: 1024px) { header.site .wrap { padding: 0 1rem 0 1.5rem; } }
.bar { height: 3.75rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
@media (min-width: 1024px) { .bar { height: 4.5rem; } }
.logo img { width: 100px; height: 56px; object-fit: contain; display: block; transition: transform .25s; }
.logo:hover img { transform: scale(1.04); }
.desk-nav { display: none; gap: .25rem; padding: .3rem; border-radius: 999px; background: color-mix(in srgb, var(--text) 5%, transparent); }
.desk-nav a, .mobile-nav a { font-size: .875rem; font-weight: 500; color: var(--muted); transition: color .2s, background .2s, box-shadow .2s; }
.desk-nav a { padding: .5rem 1.1rem; border-radius: 999px; }
.desk-nav a:hover { color: var(--text); background: color-mix(in srgb, var(--text) 8%, transparent); }
.desk-nav a[aria-current="page"] { color: #fff; background: var(--gradient-primary); box-shadow: 0 4px 14px -4px rgba(224,83,47,.6); }
.desk-nav a[aria-current="page"]:hover { color: #fff; }
.actions { display: flex; gap: .25rem; align-items: center; }
.icon-btn { position: relative; display: grid; place-items: center; padding: .5rem; border: 0; border-radius: .5rem; background: none; color: var(--muted); }
.icon-btn { border-radius: 999px !important; transition: background .2s, color .2s, transform .2s; }
.icon-btn:hover { background: var(--hover); color: var(--text); transform: translateY(-1px); }
.icon-btn svg { width: 1.25rem; height: 1.25rem; }
.icon-btn .badge { position: absolute; top: -.25rem; right: -.25rem; min-width: 1.25rem; height: 1.25rem; padding: 0 .25rem; border-radius: 999px; background: var(--primary); color: #fff; font-size: .75rem; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.menu-btn { display: grid; }
.mobile-nav { border-top: 1px solid var(--line); background: transparent; padding: .5rem 0 .75rem; }
.mobile-nav a { display: block; padding: .75rem 1rem; font-size: 1rem; border-radius: .9rem; }
.mobile-nav a:hover { background: var(--hover); }
.mobile-nav a[aria-current="page"] { color: var(--text); background: var(--hover); }
.dark-only { display: none; } html.dark .dark-only { display: block; } html.dark .light-only { display: none; }
@media (min-width: 1024px) { .desk-nav { display: flex; } .menu-btn, .mobile-nav { display: none !important; } }

/* Breadcrumb + heading */
.crumbs { padding: 1.5rem 0 .5rem; font-size: .875rem; color: var(--muted); }
.crumbs a:hover { color: var(--primary); }
h1 { margin: 0 0 1.5rem; font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 700; letter-spacing: -.02em; }
h1 small { font-size: 1rem; font-weight: 500; color: var(--muted); margin-left: .5rem; letter-spacing: 0; }

/* Layout */
main { padding-bottom: 5rem; min-height: 60vh; }
.layout { display: grid; gap: 1.5rem; align-items: start; }
@media (min-width: 960px) { .layout { grid-template-columns: 1fr 22rem; } }
.panel { background: var(--surface); border: 1px solid var(--line); border-radius: 1rem; }
.list-head { display: flex; justify-content: space-between; align-items: center; padding: 1rem 1.25rem; border-bottom: 1px solid var(--line); }
.list-head h2 { margin: 0; font-size: 1.05rem; }
ul#cart-items { list-style: none; margin: 0; padding: 0 1.25rem; }

/* Line items */
.line { display: grid; grid-template-columns: 96px 1fr; gap: 1rem; padding: 1.25rem 0; border-bottom: 1px solid var(--line); }
.line:last-child { border-bottom: 0; }
.line-name { margin: .1rem 0 .35rem; font-size: 1.05rem; font-weight: 600; }
.line-info { display: flex; flex-direction: column; align-items: flex-start; }
.line .qty, .line .line-sub { grid-column: 2; }
.line-sub { display: flex; flex-direction: column; }
.line-sub strong { font-size: 1.1rem; }
.qty { display: inline-flex; align-items: center; width: max-content; border: 1px solid var(--line); border-radius: .6rem; overflow: hidden; background: var(--surface); }
.qty button { width: 2.5rem; height: 2.5rem; border: 0; background: none; font-size: 1.15rem; }
.qty button:hover:not(:disabled) { background: var(--hover); }
.qty button:disabled { opacity: .35; cursor: not-allowed; }
.qty input { width: 3.25rem; height: 2.5rem; text-align: center; border: 0; border-inline: 1px solid var(--line); background: transparent; font-weight: 600; -moz-appearance: textfield; }
.qty input::-webkit-outer-spin-button, .qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
@media (min-width: 640px) {
  .line { grid-template-columns: 96px 1fr auto 7rem; align-items: center; }
  .line .qty, .line .line-sub { grid-column: auto; }
  .line-sub { text-align: right; align-items: flex-end; }
}
.link-btn { border: 0; background: none; padding: 0; margin-top: .25rem; font-size: .875rem; color: var(--danger); text-decoration: underline; text-underline-offset: 3px; }
.link-btn.plain { color: var(--muted); }
.link-btn.plain:hover { color: var(--text); }

/* Summary */
.summary { padding: 1.5rem; position: sticky; top: 6.5rem; }
.summary h2 { margin: 0 0 1rem; font-size: 1.15rem; }
.row { display: flex; justify-content: space-between; padding: .4rem 0; }
.row.total { border-top: 1px solid var(--line); margin-top: .6rem; padding-top: 1rem; font-size: 1.25rem; font-weight: 700; }
.btn { display: inline-flex; justify-content: center; align-items: center; gap: .5rem; width: 100%; padding: .85rem 1.25rem; border-radius: .6rem; border: 1px solid transparent; font-weight: 600; background: var(--primary); color: #fff; transition: background .15s; }
.btn:hover:not(:disabled) { background: var(--primary-dark); }
.btn:disabled { opacity: .6; cursor: wait; }
.btn.ghost { background: transparent; color: var(--text); border-color: var(--line); }
.btn.ghost:hover { background: var(--hover); }
.summary .btn { margin-top: 1rem; }
.note { margin: .9rem 0 0; font-size: .8rem; color: var(--muted); }

/* Empty + success states */
.state { text-align: center; padding: 4rem 1.5rem; max-width: 30rem; margin: 2rem auto; }
.state .ring { width: 4.5rem; height: 4.5rem; margin: 0 auto 1.25rem; border-radius: 50%; display: grid; place-items: center; background: color-mix(in srgb, var(--primary) 12%, transparent); color: var(--primary); }
.state .ring svg { width: 2rem; height: 2rem; }
.state h2 { margin: 0 0 .5rem; font-size: 1.5rem; }
.state p { margin: 0 0 1.5rem; color: var(--muted); }
.state .btn { width: auto; }
.ref { display: inline-block; padding: .35rem .8rem; border-radius: .5rem; background: var(--hover); font-weight: 700; letter-spacing: .04em; }

footer { border-top: 1px solid var(--line); padding: 1.5rem 0; text-align: center; font-size: .875rem; color: var(--muted); }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }

/* Shared additions */
.tag { display:inline-block; padding:.3rem .7rem; border-radius:999px; font-size:.8rem; font-weight:600; background:color-mix(in srgb,var(--primary) 12%,transparent); color:var(--primary); }
.ph { display:grid; place-items:center; background:var(--hover); font-size:2.2rem; border-radius:.75rem; }
.line-img.ph { width:96px; height:120px; } .ph.big { font-size:6rem; aspect-ratio:4/5; border-radius:1.25rem; }
.lead { margin:-.75rem 0 1.5rem; color:var(--muted); max-width:42rem; }
.stack { display:grid; gap:1.5rem; } .pad { padding:1.5rem; }
.panel h2 .num { display:inline-grid; place-items:center; width:1.8rem; height:1.8rem; margin-right:.6rem; border-radius:50%; background:var(--primary); color:#fff; font-size:.9rem; }
.panel > h2, .pad > h2 { margin:0 0 .35rem; font-size:1.2rem; } .sub { margin:0 0 1.1rem; color:var(--muted); font-size:.92rem; }

/* forms */
.grid2 { display:grid; gap:1rem; } @media (min-width:600px){ .grid2 { grid-template-columns:1fr 1fr; } } .span2 { grid-column:1/-1; }
.field { display:grid; gap:.3rem; font-size:.875rem; font-weight:500; align-content:start; }
.field input, .field select, .field textarea { width:100%; padding:.7rem .85rem; border:1px solid var(--line); border-radius:.55rem; background:var(--bg); color:var(--text); font-weight:400; }
.field input:focus, .field select:focus, .field textarea:focus { outline:2px solid var(--primary); border-color:transparent; }
.field.bad input, .field.bad select, .field.bad textarea { border-color:var(--danger); }
.err { margin:0; color:var(--danger); font-size:.82rem; font-weight:500; } .hint { color:var(--muted); font-size:.8rem; font-weight:400; }
.check { display:flex; gap:.5rem; align-items:center; font-size:.85rem; color:var(--muted); font-weight:400; }
.errsum { padding:1rem 1.25rem; border:1px solid var(--danger); border-radius:.75rem; background:color-mix(in srgb,var(--danger) 8%,transparent); margin-bottom:1.25rem; }
.errsum strong { color:var(--danger); } .errsum ul { margin:.4rem 0 0; padding-left:1.2rem; } .errsum a { text-decoration:underline; }
.alert { padding:.9rem 1.1rem; border-radius:.7rem; background:var(--hover); font-size:.92rem; }
.alert.warn { border:1px solid #d97706; background:color-mix(in srgb,#f59e0b 12%,transparent); }

/* steps */
.steps { display:flex; gap:.5rem; list-style:none; padding:0; margin:0 0 1.5rem; flex-wrap:wrap; }
.steps li { display:flex; align-items:center; gap:.5rem; font-size:.9rem; color:var(--muted); font-weight:500; }
.steps li span { display:grid; place-items:center; width:1.7rem; height:1.7rem; border-radius:50%; border:1.5px solid var(--line); font-size:.8rem; }
.steps li.on { color:var(--text); } .steps li.on span { background:var(--primary); border-color:var(--primary); color:#fff; }
.steps li + li::before { content:""; width:2rem; height:1px; background:var(--line); }

/* booking cards */
.cards { display:grid; gap:1rem; } @media (min-width:640px){ .cards { grid-template-columns:1fr 1fr; } }
.svc { display:flex; flex-direction:column; gap:.4rem; text-align:left; padding:1.1rem; border:2px solid var(--line); border-radius:1rem; background:var(--surface); }
.svc[aria-pressed="true"] { border-color:var(--primary); background:color-mix(in srgb,var(--primary) 6%,var(--surface)); }
.svc .ico { font-size:1.8rem; } .svc h3 { margin:0; font-size:1.05rem; } .svc p { margin:0; font-size:.88rem; color:var(--muted); }
.svc ul { margin:.2rem 0 0; padding-left:1.1rem; font-size:.85rem; color:var(--muted); }
.svc .foot { margin-top:auto; padding-top:.6rem; display:flex; justify-content:space-between; align-items:center; gap:.5rem; }
.svc .pick { font-size:.85rem; font-weight:700; color:var(--primary); }
.chips { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1rem; }
.chip { border:1.5px solid var(--line); background:var(--surface); border-radius:999px; padding:.35rem .9rem; font-size:.875rem; }
.chip[aria-pressed="true"] { background:var(--primary); border-color:var(--primary); color:#fff; }
.pgrid { display:grid; gap:1rem; grid-template-columns:repeat(2,1fr); } @media (min-width:700px){ .pgrid { grid-template-columns:repeat(3,1fr); } }
.pc { display:flex; flex-direction:column; border:1px solid var(--line); border-radius:.9rem; overflow:hidden; background:var(--surface); }
.pc img, .pc .ph { width:100%; aspect-ratio:1; object-fit:cover; border-radius:0; } .pc .b { padding:.7rem; display:flex; flex-direction:column; gap:.2rem; flex:1; }
.pc .b strong { font-size:.92rem; line-height:1.3; } .pc .btn, .pc .qty { margin-top:auto; } .pc .btn { padding:.5rem; font-size:.875rem; }
.pc .qty { align-self:stretch; justify-content:space-between; } .pc .qty button { width:2.4rem; height:2.2rem; }
.pc.off { opacity:.55; }
.sumline { display:flex; justify-content:space-between; gap:.75rem; padding:.5rem 0; border-bottom:1px solid var(--line); font-size:.9rem; }
.sumline small { display:block; color:var(--muted); } .sumline .x { border:0; background:none; color:var(--muted); font-size:1.1rem; padding:0 .3rem; }
.sumhead { margin:.9rem 0 .2rem; font-size:.75rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
.mbar { display:none; }
@media (max-width:959px){ .mbar { position:fixed; inset:auto 0 0 0; z-index:30; display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom,0px)); background:var(--surface); border-top:1px solid var(--line); } .mbar .btn { width:auto; } body.has-mbar main { padding-bottom:7rem; } }

/* product page variants */
.variants { margin-bottom:1rem; } .vgroup { border:0; padding:0; margin:0 0 .75rem; } .vgroup legend { font-weight:600; font-size:.9rem; padding:0; margin-bottom:.4rem; }
.vlist { display:grid; gap:.5rem; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); }
.vopt { display:flex; flex-direction:column; gap:.1rem; text-align:left; padding:.6rem .75rem; border:1.5px solid var(--line); border-radius:.65rem; background:var(--surface); }
.vopt span { font-size:.78rem; color:var(--muted); } .vopt[aria-pressed="true"] { border-color:var(--primary); background:color-mix(in srgb,var(--primary) 8%,var(--surface)); }
.chosen { margin:.25rem 0 1rem; font-size:.92rem; color:var(--muted); } .status.off { color:var(--danger); background:color-mix(in srgb,var(--danger) 12%,transparent); }

/* review + receipt */
.kv { display:grid; gap:.25rem .75rem; grid-template-columns:8.5rem 1fr; font-size:.93rem; margin:0; } .kv dt { color:var(--muted); } .kv dd { margin:0; font-weight:500; word-break:break-word; }
.rtable { width:100%; border-collapse:collapse; font-size:.92rem; } .rtable th { text-align:left; font-size:.75rem; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); padding:.5rem .4rem; border-bottom:2px solid var(--line); }
.rtable td { padding:.65rem .4rem; border-bottom:1px solid var(--line); vertical-align:top; } .rtable .n { text-align:right; white-space:nowrap; } .rtable tfoot td { font-weight:700; font-size:1.05rem; border:0; }
.btns { display:flex; flex-wrap:wrap; gap:.75rem; } .btns .btn { width:auto; }
.btn.wa { background:#17783a; color:#06361b; } .btn.wa:hover:not(:disabled) { background:#1fb857; }
.msg { margin:0; padding:1rem; border-radius:.75rem; background:var(--bg); border:1px solid var(--line); white-space:pre-wrap; font:13px/1.55 ui-monospace,Menlo,Consolas,monospace; overflow-x:auto; }
.receipt { background:#fff; color:#111; border:1px solid var(--line); border-radius:.9rem; padding:1.75rem; } .receipt .rh { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; border-bottom:2px solid #111; padding-bottom:1rem; margin-bottom:1rem; }
.receipt img { max-height:64px; } .receipt h3 { margin:0; font-size:1.3rem; letter-spacing:.04em; } .receipt .rtable th, .receipt .rtable td { border-color:#ddd; color:#111; } .receipt .kv dt { color:#555; }
@media print { header.site, footer, .noprint, .crumbs, h1 { display:none !important; } body { background:#fff; } .receipt { border:0; padding:0; } .panel { border:0; } }
.pc .pc-link { display: block; color: inherit; text-decoration: none; }
.pc .b strong a { color: inherit; }
.pc .b strong a:hover { color: var(--primary, #e0532f); }

/* Paystack specific panels */
.pay-success { margin-top: 1rem; padding: 1.25rem; border-radius: 1rem; border: 1px solid color-mix(in srgb, #22c55e 40%, transparent); background: color-mix(in srgb, #22c55e 8%, transparent); text-align: center; }
.pay-success-icon { width: 3rem; height: 3rem; margin: 0 auto .75rem; display: grid; place-items: center; border-radius: 50%; background: #22c55e; color: #fff; }
.pay-success-icon svg { width: 1.5rem; height: 1.5rem; }
.pay-success h3 { margin: 0 0 .35rem; font-size: 1.05rem; }
.pay-success p { margin: 0 0 .85rem; font-size: .9rem; color: var(--muted); }
.pay-success .btn { width: 100%; }

/* ==========================================================
   6. HOME SPECIFIC CUSTOM CLASSES (Animations, etc.)
   ========================================================== */
::selection { background-color: var(--color-primary-200); color: var(--color-primary-900); }
.dark ::selection { background-color: var(--color-primary-800); color: var(--color-primary-100); }
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
.hide-scrollbar::-webkit-scrollbar { display: none; }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: #f3f4f6; }
::-webkit-scrollbar-thumb { background: var(--gradient-primary); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--gradient-primary); }
.dark ::-webkit-scrollbar-track { background: #1f2937; }
.dark ::-webkit-scrollbar-thumb { background: var(--gradient-primary); opacity: 0.8; }
.dark ::-webkit-scrollbar-thumb:hover { background: var(--gradient-primary); opacity: 1; }

.bg-gradient-primary { background-image: var(--gradient-primary); }
.bg-gradient-primary-soft { background-image: var(--gradient-primary-soft); }
.bg-gradient-primary-reverse { background-image: var(--gradient-primary-reverse); }
.text-gradient-primary { background-image: var(--gradient-primary); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.border-gradient-primary { border: 1px solid transparent; background-image: var(--gradient-primary); background-origin: border-box; -webkit-background-clip: padding-box, border-box; background-clip: padding-box, border-box; }
.ring-gradient-primary { box-shadow: 0 0 0 2px #e0532f33; }

.product-card:hover .product-image-hover { opacity: 1; }
@keyframes price-highlight { 0%, to { transform: scale(1); } 50% { transform: scale(1.05); } }
.price-highlight { animation: 0.3s ease-in-out price-highlight; }
@keyframes add-to-cart { 0% { transform: scale(1); } 50% { transform: scale(0.95); } to { transform: scale(1); } }
.add-to-cart-animation { animation: 0.2s ease-in-out add-to-cart; }
.skeleton { background: linear-gradient(90deg, #e5e7eb 25%, #f3f4f6 50%, #e5e7eb 75%) 0 0 / 200% 100%; animation: 1.5s infinite skeleton-loading; }
.dark .skeleton { background: linear-gradient(90deg, #1f2937 25%, #374151 50%, #1f2937 75%) 0 0 / 200% 100%; }
@keyframes skeleton-loading { 0% { background-position: 200% 0; } to { background-position: -200% 0; } }

.toast { opacity: 0; transition: all 0.3s ease-out; transform: translateY(100%); }
.toast.show { opacity: 1; transform: translateY(0); }
.modal-backdrop { background-color: #0000; transition: background-color 0.3s; }
.modal-backdrop.active { background-color: #00000080; }
.search-modal { opacity: 0; transition: all 0.2s ease-out; transform: translateY(-20px); }
.search-modal.active { opacity: 1; transform: translateY(0); }
.product-thumbnail[data-active="true"] { border-color: var(--color-primary-500); }
@keyframes sale-pulse { 0%, to { opacity: 1; } 50% { opacity: 0.7; } }
.sale-badge { animation: 2s ease-in-out infinite sale-pulse; }
.card-hover { transition: transform 0.3s, box-shadow 0.3s; }
.card-hover:hover { transform: translateY(-4px); box-shadow: 0 12px 24px -8px #00000026; }
.dark .card-hover:hover { box-shadow: 0 12px 24px -8px #0006; }
.ripple { position: relative; overflow: hidden; }
.ripple:after { content: ""; opacity: 0; background: radial-gradient(circle, #ffffff4d 0%, #0000 70%); transition: transform 0.5s, opacity 0.3s; position: absolute; inset: 0; transform: scale(0); }
.ripple:active:after { opacity: 1; transition: transform, opacity; transform: scale(2); }
details > summary { list-style: none; } details > summary::-webkit-details-marker { display: none; }
.line-clamp-1 { -webkit-line-clamp: 1; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }
.line-clamp-2 { -webkit-line-clamp: 2; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }
.line-clamp-3 { -webkit-line-clamp: 3; -webkit-box-orient: vertical; display: -webkit-box; overflow: hidden; }
@supports not (aspect-ratio: 1) { .aspect-square:before { content: ""; float: left; padding-top: 100%; } .aspect-square:after { content: ""; clear: both; display: block; } }

/* Tailwind Properties for Animations */
@property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-translate-z { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-rotate-x { syntax: "*"; inherits: false; }
@property --tw-rotate-y { syntax: "*"; inherits: false; }
@property --tw-rotate-z { syntax: "*"; inherits: false; }
@property --tw-skew-x { syntax: "*"; inherits: false; }
@property --tw-skew-y { syntax: "*"; inherits: false; }
@property --tw-space-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; }
@property --tw-gradient-position { syntax: "*"; inherits: false; }
@property --tw-gradient-from { syntax: "<color>"; inherits: false; initial-value: #0000; }
@property --tw-gradient-via { syntax: "<color>"; inherits: false; initial-value: #0000; }
@property --tw-gradient-to { syntax: "<color>"; inherits: false; initial-value: #0000; }
@property --tw-gradient-stops { syntax: "*"; inherits: false; }
@property --tw-gradient-via-stops { syntax: "*"; inherits: false; }
@property --tw-gradient-from-position { syntax: "<length-percentage>"; inherits: false; initial-value: 0%; }
@property --tw-gradient-via-position { syntax: "<length-percentage>"; inherits: false; initial-value: 50%; }
@property --tw-gradient-to-position { syntax: "<length-percentage>"; inherits: false; initial-value: 100%; }
@property --tw-font-weight { syntax: "*"; inherits: false; }
@property --tw-tracking { syntax: "*"; inherits: false; }
@property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-shadow-color { syntax: "*"; inherits: false; }
@property --tw-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }
@property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-inset-shadow-color { syntax: "*"; inherits: false; }
@property --tw-inset-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }
@property --tw-ring-color { syntax: "*"; inherits: false; }
@property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-inset-ring-color { syntax: "*"; inherits: false; }
@property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-ring-inset { syntax: "*"; inherits: false; }
@property --tw-ring-offset-width { syntax: "<length>"; inherits: false; initial-value: 0; }
@property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }
@property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }
@property --tw-blur { syntax: "*"; inherits: false; }
@property --tw-brightness { syntax: "*"; inherits: false; }
@property --tw-contrast { syntax: "*"; inherits: false; }
@property --tw-grayscale { syntax: "*"; inherits: false; }
@property --tw-hue-rotate { syntax: "*"; inherits: false; }
@property --tw-invert { syntax: "*"; inherits: false; }
@property --tw-opacity { syntax: "*"; inherits: false; }
@property --tw-saturate { syntax: "*"; inherits: false; }
@property --tw-sepia { syntax: "*"; inherits: false; }
@property --tw-drop-shadow { syntax: "*"; inherits: false; }
@property --tw-drop-shadow-color { syntax: "*"; inherits: false; }
@property --tw-drop-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }
@property --tw-drop-shadow-size { syntax: "*"; inherits: false; }
@property --tw-backdrop-blur { syntax: "*"; inherits: false; }
@property --tw-backdrop-brightness { syntax: "*"; inherits: false; }
@property --tw-backdrop-contrast { syntax: "*"; inherits: false; }
@property --tw-backdrop-grayscale { syntax: "*"; inherits: false; }
@property --tw-backdrop-hue-rotate { syntax: "*"; inherits: false; }
@property --tw-backdrop-invert { syntax: "*"; inherits: false; }
@property --tw-backdrop-opacity { syntax: "*"; inherits: false; }
@property --tw-backdrop-saturate { syntax: "*"; inherits: false; }
@property --tw-backdrop-sepia { syntax: "*"; inherits: false; }
@property --tw-duration { syntax: "*"; inherits: false; }
@property --tw-ease { syntax: "*"; inherits: false; }
@property --tw-scale-x { syntax: "*"; inherits: false; initial-value: 1; }
@property --tw-scale-y { syntax: "*"; inherits: false; initial-value: 1; }
@property --tw-scale-z { syntax: "*"; inherits: false; initial-value: 1; }
@keyframes pulse { 50% { opacity: 0.5; } }