:root {
  --primary: #6d1f60;
  --primary-dark: #58184d;
  --secondary: #fa9a1d;
  --background: #faf9fb;
  --stone-50: #fafaf9;
  --stone-100: #f5f5f4;
  --stone-200: #e7e5e4;
  --stone-300: #d6d3d1;
  --stone-400: #a8a29e;
  --stone-500: #78716c;
  --stone-600: #57534e;
  --red-50: #fef2f2;
  --red-100: #fee2e2;
  --red-700: #b91c1c;
  --amber-50: #fffbeb;
  --amber-100: #fef3c7;
  --amber-800: #92400e;
  --emerald-50: #ecfdf5;
  --emerald-100: #d1fae5;
  --emerald-800: #065f46;
  --font-sans: "Inter", ui-sans-serif, system-ui, sans-serif;
  --font-display: "Manrope", var(--font-sans);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--background);
  color: #1c1a1e;
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
button, input { font: inherit; }
button {
  cursor: pointer;
  padding: 0;
  border: 0;
  background: transparent;
}
button:disabled { cursor: not-allowed; }
img, svg { display: block; }
img { max-width: 100%; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, p { margin: 0; }
h1, h2, h3, .font-display { font-family: var(--font-display); letter-spacing: 0; }

.step-enter { animation: step-enter 0.3s ease both; }
.scrollbar-hide { scrollbar-width: none; }
.scrollbar-hide::-webkit-scrollbar { display: none; }
.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@keyframes step-enter {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

[class~="hidden"] { display: none !important; }
[class~="block"] { display: block; }
[class~="flex"] { display: flex; }
[class~="inline-flex"] { display: inline-flex; }
[class~="grid"] { display: grid; }
[class~="min-h-screen"] { min-height: 100vh; }
[class~="flex-col"] { flex-direction: column; }
[class~="flex-col-reverse"] { flex-direction: column-reverse; }
[class~="flex-wrap"] { flex-wrap: wrap; }
[class~="items-center"] { align-items: center; }
[class~="items-start"] { align-items: flex-start; }
[class~="justify-center"] { justify-content: center; }
[class~="justify-between"] { justify-content: space-between; }
[class~="place-items-center"] { place-items: center; }
[class~="flex-grow"] { flex-grow: 1; }
[class~="shrink-0"] { flex-shrink: 0; }
[class~="self-start"] { align-self: flex-start; }
[class~="sticky"] { position: sticky; }
[class~="relative"] { position: relative; }
[class~="absolute"] { position: absolute; }
[class~="inset-y-0"] { top: 0; bottom: 0; }
[class~="left-0"] { left: 0; }
[class~="right-3"] { right: 0.75rem; }
[class~="right-4"] { right: 1rem; }
[class~="top-0"] { top: 0; }
[class~="top-3"] { top: 0.75rem; }
[class~="top-28"] { top: 7rem; }
[class~="top-1/2"] { top: 50%; }
[class~="-translate-y-1/2"] { transform: translateY(-50%); }
[class~="z-50"] { z-index: 50; }
[class~="overflow-hidden"] { overflow: hidden; }
[class~="overflow-x-auto"] { overflow-x: auto; }
[class~="w-full"] { width: 100%; }
[class~="w-auto"] { width: auto; }
[class~="w-4"] { width: 1rem; }
[class~="w-5"] { width: 1.25rem; }
[class~="w-6"] { width: 1.5rem; }
[class~="w-9"] { width: 2.25rem; }
[class~="h-2"] { height: 0.5rem; }
[class~="h-4"] { height: 1rem; }
[class~="h-5"] { height: 1.25rem; }
[class~="h-6"] { height: 1.5rem; }
[class~="h-9"] { height: 2.25rem; }
[class~="h-12"] { height: 3rem; }
[class~="h-32"] { height: 8rem; }
[class~="h-36"] { height: 9rem; }
[class~="max-w-7xl"] { max-width: 80rem; }
[class~="mx-auto"] { margin-left: auto; margin-right: auto; }
[class~="-mx-4"] { margin-left: -1rem; margin-right: -1rem; }
[class~="mt-2"] { margin-top: 0.5rem; }
[class~="mt-3"] { margin-top: 0.75rem; }
[class~="mt-4"] { margin-top: 1rem; }
[class~="mt-5"] { margin-top: 1.25rem; }
[class~="mt-6"] { margin-top: 1.5rem; }
[class~="mt-8"] { margin-top: 2rem; }
[class~="mb-2"] { margin-bottom: 0.5rem; }
[class~="mb-4"] { margin-bottom: 1rem; }
[class~="mb-5"] { margin-bottom: 1.25rem; }
[class~="mb-8"] { margin-bottom: 2rem; }
[class~="p-1"] { padding: 0.25rem; }
[class~="p-4"] { padding: 1rem; }
[class~="p-5"] { padding: 1.25rem; }
[class~="p-6"] { padding: 1.5rem; }
[class~="px-3"] { padding-left: 0.75rem; padding-right: 0.75rem; }
[class~="px-4"] { padding-left: 1rem; padding-right: 1rem; }
[class~="px-5"] { padding-left: 1.25rem; padding-right: 1.25rem; }
[class~="px-6"] { padding-left: 1.5rem; padding-right: 1.5rem; }
[class~="px-7"] { padding-left: 1.75rem; padding-right: 1.75rem; }
[class~="px-8"] { padding-left: 2rem; padding-right: 2rem; }
[class~="py-1.5"] { padding-top: 0.375rem; padding-bottom: 0.375rem; }
[class~="py-3"] { padding-top: 0.75rem; padding-bottom: 0.75rem; }
[class~="py-4"] { padding-top: 1rem; padding-bottom: 1rem; }
[class~="py-5"] { padding-top: 1.25rem; padding-bottom: 1.25rem; }
[class~="py-8"] { padding-top: 2rem; padding-bottom: 2rem; }
[class~="py-12"] { padding-top: 3rem; padding-bottom: 3rem; }
[class~="py-20"] { padding-top: 5rem; padding-bottom: 5rem; }
[class~="pb-1"] { padding-bottom: 0.25rem; }
[class~="pb-2"] { padding-bottom: 0.5rem; }
[class~="pr-20"] { padding-right: 5rem; }
[class~="gap-1"] { gap: 0.25rem; }
[class~="gap-2"] { gap: 0.5rem; }
[class~="gap-3"] { gap: 0.75rem; }
[class~="gap-4"] { gap: 1rem; }
[class~="gap-5"] { gap: 1.25rem; }
[class~="gap-6"] { gap: 1.5rem; }
[class~="gap-8"] { gap: 2rem; }
[class~="space-y-3"] > * + * { margin-top: 0.75rem; }

[class~="grid-cols-1"] { grid-template-columns: repeat(1, minmax(0, 1fr)); }
[class~="rounded-full"] { border-radius: 9999px; }
[class~="rounded-xl"] { border-radius: 0.75rem; }
[class~="rounded-2xl"] { border-radius: 1rem; }
[class~="rounded-3xl"] { border-radius: 1.5rem; }
[class~="border"] { border-width: 1px; border-style: solid; }
[class~="border-t"] { border-top-width: 1px; border-top-style: solid; }
[class~="border-b"] { border-bottom-width: 1px; border-bottom-style: solid; }
[class~="border-stone-100"] { border-color: var(--stone-100); }
[class~="border-stone-200"] { border-color: var(--stone-200); }
[class~="border-white/80"] { border-color: rgba(255, 255, 255, 0.8); }
[class~="border-red-100"] { border-color: var(--red-100); }
[class~="border-amber-100"] { border-color: var(--amber-100); }
[class~="border-emerald-100"] { border-color: var(--emerald-100); }
[class~="border-primary"] { border-color: var(--primary); }
[class~="bg-background"] { background: var(--background); }
[class~="bg-white"] { background: #fff; }
[class~="bg-white/70"] { background: rgba(255, 255, 255, 0.7); }
[class~="bg-white/80"] { background: rgba(255, 255, 255, 0.8); }
[class~="bg-white/85"] { background: rgba(255, 255, 255, 0.85); }
[class~="bg-white/90"] { background: rgba(255, 255, 255, 0.9); }
[class~="bg-stone-50"] { background: var(--stone-50); }
[class~="bg-stone-100"] { background: var(--stone-100); }
[class~="bg-primary"] { background: var(--primary); }
[class~="bg-secondary"] { background: var(--secondary); }
[class~="bg-secondary/15"] { background: rgba(250, 154, 29, 0.15); }
[class~="bg-red-50"] { background: var(--red-50); }
[class~="bg-amber-50"] { background: var(--amber-50); }
[class~="bg-emerald-50"] { background: var(--emerald-50); }
[class~="bg-[#FDFCFB]"] { background: #fdfcfb; }
[class~="bg-[#f8f1f7]"] { background: #f8f1f7; }
[class~="bg-gradient-to-r"] { background-image: linear-gradient(to right, var(--primary), var(--secondary)); }

[class~="object-cover"] { object-fit: cover; }
[class~="object-contain"] { object-fit: contain; }
[class~="text-left"] { text-align: left; }
[class~="text-center"] { text-align: center; }
[class~="text-right"] { text-align: right; }
[class~="uppercase"] { text-transform: uppercase; }
[class~="tracking-tight"] { letter-spacing: -0.025em; }
[class~="tracking-widest"] { letter-spacing: 0.1em; }
[class~="tracking-[0.2em]"] { letter-spacing: 0.2em; }
[class~="tracking-[0.22em]"] { letter-spacing: 0.22em; }
[class~="leading-tight"] { line-height: 1.25; }
[class~="leading-relaxed"] { line-height: 1.625; }
[class~="text-[10px]"] { font-size: 10px; }
[class~="text-xs"] { font-size: 0.75rem; line-height: 1rem; }
[class~="text-sm"] { font-size: 0.875rem; line-height: 1.25rem; }
[class~="text-lg"] { font-size: 1.125rem; line-height: 1.75rem; }
[class~="text-xl"] { font-size: 1.25rem; line-height: 1.75rem; }
[class~="text-2xl"] { font-size: 1.5rem; line-height: 2rem; }
[class~="text-3xl"] { font-size: 1.875rem; line-height: 2.25rem; }
[class~="text-4xl"] { font-size: 2.25rem; line-height: 2.5rem; }
[class~="text-5xl"] { font-size: 3rem; line-height: 1; }
[class~="font-medium"] { font-weight: 500; }
[class~="font-semibold"] { font-weight: 600; }
[class~="font-bold"] { font-weight: 700; }
[class~="font-black"] { font-weight: 900; }
[class~="text-white"] { color: #fff; }
[class~="text-white/60"] { color: rgba(255,255,255,0.6); }
[class~="text-white/75"] { color: rgba(255,255,255,0.75); }
[class~="text-primary"] { color: var(--primary); }
[class~="text-secondary"] { color: var(--secondary); }
[class~="text-stone-300"] { color: var(--stone-300); }
[class~="text-stone-400"] { color: var(--stone-400); }
[class~="text-stone-500"] { color: var(--stone-500); }
[class~="text-stone-600"] { color: var(--stone-600); }
[class~="text-red-700"] { color: var(--red-700); }
[class~="text-amber-800"] { color: var(--amber-800); }
[class~="text-emerald-800"] { color: var(--emerald-800); }
[class~="text-[#5E2777]"] { color: #5e2777; }
[class~="text-[#FA9A1D]"] { color: #fa9a1d; }
[class~="outline-none"] { outline: 2px solid transparent; outline-offset: 2px; }
[class~="shadow-sm"] { box-shadow: 0 1px 2px rgba(0,0,0,0.05); }
[class~="shadow-lg"] { box-shadow: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1); }
[class~="shadow-xl"] { box-shadow: 0 20px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.1); }
[class~="shadow-2xl"] { box-shadow: 0 25px 50px -12px rgba(0,0,0,.25); }
[class*="shadow-purple-950"] { box-shadow: 0 18px 45px -28px rgba(109,31,96,.45); }
[class~="ring-4"] { box-shadow: 0 0 0 4px rgba(109, 31, 96, 0.1), 0 18px 45px -28px rgba(109,31,96,.45); }
[class~="backdrop-blur"] { backdrop-filter: blur(8px); }
[class~="transition"] { transition: all 0.2s ease; }
[class~="transition-all"] { transition: all 0.3s ease; }
[class~="transition-transform"] { transition: transform 0.7s ease; }
[class~="duration-300"] { transition-duration: 0.3s; }
[class~="duration-700"] { transition-duration: 0.7s; }
[class~="ease-out"] { transition-timing-function: ease-out; }
[class~="scale-90"] { transform: scale(.9); }
[class~="scale-100"] { transform: scale(1); }
[class~="cursor-not-allowed"] { cursor: not-allowed; }
[class~="disabled:opacity-45"]:disabled { opacity: .45; }
[class~="disabled:opacity-60"]:disabled { opacity: .6; }
[class~="hover:bg-[#58184d]"]:hover { background: var(--primary-dark); }
[class~="hover:border-primary"]:hover { border-color: var(--primary); }
[class~="hover:text-primary"]:hover { color: var(--primary); }
[class~="hover:-translate-y-0.5"]:hover { transform: translateY(-2px); }
[class~="hover:-translate-y-1"]:hover { transform: translateY(-4px); }
[class~="active:scale-[0.98]"]:active { transform: scale(.98); }
[class~="active:scale-95"]:active { transform: scale(.95); }
[class~="focus:border-secondary"]:focus { border-color: var(--secondary); }
[class~="focus:ring-4"]:focus { box-shadow: 0 0 0 4px rgba(250,154,29,.15); }
[class~="group"]:hover [class~="group-hover:scale-105"],
[class~="hover:scale-105"]:hover { transform: scale(1.05); }

input {
  appearance: textfield;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.option-card,
.accessory-card {
  border-color: #111111;
}

.option-card.border-primary,
.accessory-card.border-primary {
  border-color: var(--primary);
}

@media (min-width: 640px) {
  [class~="sm:flex-row"] { flex-direction: row; }
  [class~="sm:items-center"] { align-items: center; }
  [class~="sm:justify-between"] { justify-content: space-between; }
  [class~="sm:grid-cols-2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 768px) {
  [class~="md:hidden"] { display: none !important; }
  [class~="md:flex"] { display: flex; }
  [class~="md:flex-row"] { flex-direction: row; }
  [class~="md:items-start"] { align-items: flex-start; }
  [class~="md:text-right"] { text-align: right; }
  [class~="md:grid-cols-2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [class~="md:h-40"] { height: 10rem; }
  [class~="md:p-8"] { padding: 2rem; }
  [class~="md:py-12"] { padding-top: 3rem; padding-bottom: 3rem; }
  [class~="md:text-4xl"] { font-size: 2.25rem; line-height: 2.5rem; }
}

@media (min-width: 1024px) {
  [class~="lg:flex-row"] { flex-direction: row; }
  [class~="lg:items-end"] { align-items: flex-end; }
  [class~="lg:justify-between"] { justify-content: space-between; }
  [class~="lg:sticky"] { position: sticky; }
  [class~="lg:top-28"] { top: 7rem; }
  [class~="lg:grid-cols-4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  [class~="lg:grid-cols-[1fr_420px]"] { grid-template-columns: 1fr 420px; }
  [class~="lg:gap-8"] { gap: 2rem; }
}

@media (min-width: 1280px) {
  [class~="xl:grid-cols-3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
