@font-face {
  font-family: "Cormorant Garamond";
  src: url("../fonts/cormorant-garamond-latin-wght-normal.woff2") format("woff2-variations");
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src: url("../fonts/inter-latin-wght-normal.woff2") format("woff2-variations");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  color-scheme: light;
  --business-page: #fdfaf7;
  --business-surface: #fffdfc;
  --business-surface-soft: #f7ede1;
  --business-surface-muted: #f9eded;
  --business-border: #e9d8d2;
  --business-border-strong: #c9b7a7;
  --business-text: #34302f;
  --business-text-secondary: #655a56;
  --business-text-muted: #857873;
  --business-accent: #b77a76;
  --business-accent-strong: #925b58;
  --business-accent-hover: #764542;
  --business-action: #925b58;
  --business-action-hover: #764542;
  --business-on-accent: #fffaf8;
  --business-neutral-action: #34302f;
  --business-neutral-hover: #4a4a4a;
  --business-neutral-muted: #655a56;
  --business-accent-soft: #f9eded;
  --business-accent-border: #e8c9c5;
  --business-input: #fffdfc;
  --business-shadow: 0 14px 34px rgb(62 45 40 / 0.08);
  --business-focus: rgb(183 122 118 / 0.34);
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --business-page: #1c1817;
  --business-surface: #272120;
  --business-surface-soft: #332b29;
  --business-surface-muted: #3b2b2a;
  --business-border: #514441;
  --business-border-strong: #74615c;
  --business-text: #fff8f2;
  --business-text-secondary: #e3d5cd;
  --business-text-muted: #baa9a1;
  --business-accent: #dfa19c;
  --business-accent-strong: #f0bbb5;
  --business-accent-hover: #f5cbc7;
  --business-action: #9f5a56;
  --business-action-hover: #8f4c49;
  --business-on-accent: #fffaf8;
  --business-neutral-action: #5a4945;
  --business-neutral-hover: #6d5752;
  --business-neutral-muted: #725d58;
  --business-accent-soft: #432f2e;
  --business-accent-border: #76514e;
  --business-input: #211c1b;
  --business-shadow: 0 16px 38px rgb(0 0 0 / 0.28);
  --business-focus: rgb(240 187 181 / 0.42);
}

.business-theme {
  background-color: var(--business-page);
  background-image: radial-gradient(rgb(183 122 118 / 0.06) 0.7px, transparent 0.7px);
  background-size: 12px 12px;
  color: var(--business-text);
  font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
  transition: background-color 160ms ease, color 160ms ease;
}

.business-theme * {
  --tw-ring-offset-color: var(--business-page);
}

.business-theme h1,
.business-theme h2 {
  font-family: "Cormorant Garamond", Georgia, serif;
  letter-spacing: -0.012em;
}

.business-theme input,
.business-theme select,
.business-theme textarea {
  background-color: var(--business-input);
  border-color: var(--business-border-strong);
  color: var(--business-text);
}

.business-theme input::placeholder,
.business-theme textarea::placeholder {
  color: var(--business-text-muted);
  opacity: 1;
}

.business-theme input[type="checkbox"],
.business-theme input[type="radio"] {
  accent-color: var(--business-accent-strong);
}

.business-theme .bg-white { background-color: var(--business-surface); }
.business-theme .bg-stone-50 { background-color: var(--business-page); }
.business-theme .bg-stone-100 { background-color: var(--business-surface-soft); }
.business-theme .bg-stone-200 { background-color: var(--business-border); }
.business-theme .bg-stone-300 { background-color: var(--business-border-strong); }
.business-theme .bg-stone-400 { background-color: var(--business-text-muted); }
.business-theme .bg-stone-600 { background-color: var(--business-neutral-muted); }
.business-theme .bg-stone-800,
.business-theme .bg-stone-900 { background-color: var(--business-neutral-action); }

.business-theme .text-stone-900,
.business-theme .text-stone-800 { color: var(--business-text); }
.business-theme .text-stone-700,
.business-theme .text-stone-600 { color: var(--business-text-secondary); }
.business-theme .text-stone-500,
.business-theme .text-stone-400 { color: var(--business-text-muted); }
.business-theme .text-stone-300 { color: var(--business-border-strong); }

.business-theme .border-stone-100,
.business-theme .border-stone-200 { border-color: var(--business-border); }
.business-theme .border-stone-300,
.business-theme .border-stone-400,
.business-theme .border-stone-800 { border-color: var(--business-border-strong); }
.business-theme .divide-stone-200 > :not([hidden]) ~ :not([hidden]) { border-color: var(--business-border); }

.business-theme .bg-pink-50,
.business-theme .bg-pink-100 { background-color: var(--business-accent-soft); }
.business-theme .bg-pink-600,
.business-theme .bg-pink-700 { background-color: var(--business-action); }
.business-theme .bg-pink-800 { background-color: var(--business-action-hover); }
.business-theme .text-pink-600,
.business-theme .text-pink-700,
.business-theme .text-pink-800,
.business-theme .text-pink-900,
.business-theme .text-pink-950 { color: var(--business-accent-strong); }
.business-theme .text-pink-100 { color: var(--business-on-accent); }
.business-theme .border-pink-100,
.business-theme .border-pink-200,
.business-theme .border-pink-300,
.business-theme .border-pink-400 { border-color: var(--business-accent-border); }
.business-theme .border-pink-600,
.business-theme .border-pink-700 { border-color: var(--business-accent-strong); }

.business-theme .hover\:bg-stone-50:hover,
.business-theme .hover\:bg-stone-100:hover { background-color: var(--business-surface-soft); }
.business-theme .hover\:bg-stone-800:hover,
.business-theme .hover\:bg-stone-900:hover { background-color: var(--business-neutral-hover); }
.business-theme .hover\:bg-pink-50:hover,
.business-theme .hover\:bg-pink-100:hover { background-color: var(--business-accent-soft); }
.business-theme .hover\:bg-pink-800:hover { background-color: var(--business-action-hover); }
.business-theme .hover\:text-stone-900:hover { color: var(--business-text); }
.business-theme .hover\:text-pink-700:hover { color: var(--business-accent-strong); }
.business-theme .focus\:border-pink-600:focus,
.business-theme .focus\:border-pink-700:focus { border-color: var(--business-accent-strong); }
.business-theme .focus\:bg-white:focus { background-color: var(--business-input); }
.business-theme .focus\:ring-pink-200:focus,
.business-theme .focus\:ring-pink-300:focus,
.business-theme .focus\:ring-pink-600:focus { --tw-ring-color: var(--business-focus); }

.business-theme .shadow-sm,
.business-theme .shadow,
.business-theme .shadow-lg,
.business-theme .shadow-xl,
.business-theme .shadow-2xl { box-shadow: var(--business-shadow); }

.business-theme .theme-toggle {
  align-items: center;
  background: var(--business-surface-soft);
  border: 1px solid var(--business-border);
  color: var(--business-text-secondary);
  display: inline-flex;
  justify-content: center;
  transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
}

.business-theme .theme-toggle:hover {
  background: var(--business-accent-soft);
  border-color: var(--business-accent-border);
  color: var(--business-accent-strong);
}

.business-theme .theme-toggle:focus-visible {
  outline: 3px solid var(--business-focus);
  outline-offset: 2px;
}

:root[data-theme="dark"] .business-theme .bg-red-50,
:root[data-theme="dark"] .business-theme .bg-red-100 { background-color: #412526; }
:root[data-theme="dark"] .business-theme .border-red-200,
:root[data-theme="dark"] .business-theme .border-red-300,
:root[data-theme="dark"] .business-theme .border-red-400 { border-color: #7f484b; }
:root[data-theme="dark"] .business-theme .text-red-500,
:root[data-theme="dark"] .business-theme .text-red-600,
:root[data-theme="dark"] .business-theme .text-red-700,
:root[data-theme="dark"] .business-theme .text-red-800,
:root[data-theme="dark"] .business-theme .text-red-900 { color: #f9b4b7; }

:root[data-theme="dark"] .business-theme .bg-green-50,
:root[data-theme="dark"] .business-theme .bg-green-100 { background-color: #18362b; }
:root[data-theme="dark"] .business-theme .border-green-200,
:root[data-theme="dark"] .business-theme .border-green-300 { border-color: #3e715d; }
:root[data-theme="dark"] .business-theme .text-green-700,
:root[data-theme="dark"] .business-theme .text-green-800 { color: #a6dfc3; }

:root[data-theme="dark"] .business-theme .bg-blue-50,
:root[data-theme="dark"] .business-theme .bg-blue-100 { background-color: #1d3040; }
:root[data-theme="dark"] .business-theme .border-blue-200,
:root[data-theme="dark"] .business-theme .border-blue-300 { border-color: #456b88; }
:root[data-theme="dark"] .business-theme .text-blue-700,
:root[data-theme="dark"] .business-theme .text-blue-800,
:root[data-theme="dark"] .business-theme .text-blue-900,
:root[data-theme="dark"] .business-theme .text-blue-950 { color: #afd8f5; }

:root[data-theme="dark"] .business-theme .bg-amber-50,
:root[data-theme="dark"] .business-theme .bg-amber-100 { background-color: #3d311e; }
:root[data-theme="dark"] .business-theme .border-amber-200,
:root[data-theme="dark"] .business-theme .border-amber-300 { border-color: #80683b; }
:root[data-theme="dark"] .business-theme .text-amber-700,
:root[data-theme="dark"] .business-theme .text-amber-800,
:root[data-theme="dark"] .business-theme .text-amber-900,
:root[data-theme="dark"] .business-theme .text-amber-950 { color: #f0d294; }

@media (prefers-reduced-motion: reduce) {
  .business-theme,
  .business-theme .theme-toggle { transition: none; }
}
