/*
 * Custom DaisyUI theme derived from stor.co.
 * Variables follow DaisyUI v5 conventions (see `daisyui@5/themes.css`).
 *
 * Aesthetic: high-end auction-house catalog — restrained luxury, warm neutrals,
 * Inter for UI, Fraunces (variable serif) for display.
 */
[data-theme="stor"] {
  color-scheme: light;

  /* Warm cream neutrals instead of cool gray — gives a paper/catalog feel */
  --color-base-100: oklch(99% 0.003 85);
  --color-base-200: oklch(96% 0.005 85);
  --color-base-300: oklch(91% 0.008 85);
  --color-base-content: oklch(20% 0.025 270);

  /* Stor green, tuned slightly deeper for better contrast on warm backgrounds */
  --color-primary: oklch(62% 0.17 152);
  --color-primary-content: oklch(99% 0.003 85);

  --color-secondary: oklch(20% 0.025 270);
  --color-secondary-content: oklch(99% 0.003 85);

  /* Champagne accent — used for prestige cues (lot numbers, hover hints) */
  --color-accent: oklch(78% 0.10 80);
  --color-accent-content: oklch(20% 0.025 270);

  --color-neutral: oklch(20% 0.025 270);
  --color-neutral-content: oklch(99% 0.003 85);

  --color-info: oklch(60% 0.13 222);
  --color-info-content: oklch(99% 0.003 85);
  --color-success: oklch(62% 0.17 152);
  --color-success-content: oklch(99% 0.003 85);
  --color-warning: oklch(80% 0.18 80);
  --color-warning-content: oklch(20% 0.025 270);
  --color-error: oklch(60% 0.22 25);
  --color-error-content: oklch(99% 0.003 85);

  --radius-selector: 0.5rem;
  --radius-field: 0.5rem;
  --radius-box: 0.875rem;

  --size-selector: 0.25rem;
  --size-field: 0.25rem;

  --border: 1px;
  --depth: 1;
  --noise: 0;
}

/* Input focus: soft primary ring instead of the default 2px black outline */

.input:focus,
.input:focus-within,
.input:focus-visible {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px oklch(62% 0.17 152 / 0.18);
}

/* Typography ---------------------------------------------------------- */

html, body {
  font-family: "Inter", -apple-system, system-ui, "Segoe UI", sans-serif;
  font-feature-settings: "ss01", "cv11";
  letter-spacing: -0.005em;
}

.font-display {
  font-family: "Fraunces", Georgia, serif;
  font-feature-settings: "ss01", "ss03";
  letter-spacing: -0.02em;
}

h1, h2, h3.display {
  font-family: "Fraunces", Georgia, serif;
  letter-spacing: -0.02em;
}

/* Page surface: subtle warm gradient instead of flat gray ------------- */

body {
  background:
    radial-gradient(ellipse at top, oklch(98% 0.01 85) 0%, oklch(96% 0.005 85) 50%, oklch(94% 0.008 85) 100%);
  background-attachment: fixed;
}

/* Navbar: glass + subtle border ------------------------------------- */

.navbar.stor-nav {
  background: oklch(99% 0.003 85 / 0.85);
  backdrop-filter: saturate(140%) blur(12px);
  -webkit-backdrop-filter: saturate(140%) blur(12px);
  border-bottom: 1px solid oklch(89% 0.008 85);
  box-shadow: none;
}

/* Product cards: subtle border, lifted shadow on hover, image zoom --- */

.product-card {
  background: var(--color-base-100);
  border: 1px solid oklch(91% 0.008 85);
  border-radius: var(--radius-box);
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.25s ease, border-color 0.2s ease;
  display: block;
}
.product-card:hover {
  transform: translateY(-2px);
  border-color: oklch(82% 0.012 85);
  box-shadow:
    0 1px 2px oklch(20% 0.025 270 / 0.04),
    0 12px 24px -12px oklch(20% 0.025 270 / 0.18);
}
.product-card .card-figure {
  overflow: hidden;
  background: oklch(96% 0.005 85);
  aspect-ratio: 1 / 1;
}
.product-card .card-figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.product-card:hover .card-figure img {
  transform: scale(1.04);
}

/* Big display numerals — for stat-value and price emphasis ----------- */

.display-numeral {
  font-family: "Fraunces", Georgia, serif;
  font-feature-settings: "ss01", "lnum", "tnum";
  font-weight: 500;
  letter-spacing: -0.03em;
}

/* Detail page main image: subtle frame ------------------------------- */

.detail-hero-image {
  border: 1px solid oklch(89% 0.008 85);
  border-radius: var(--radius-box);
  overflow: hidden;
  background: oklch(96% 0.005 85);
  aspect-ratio: 1 / 1;
}
.detail-hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  cursor: zoom-in;
  transition: transform 0.4s ease;
}
.detail-hero-image:hover img {
  transform: scale(1.02);
}

.detail-thumb {
  border: 1px solid oklch(89% 0.008 85);
  border-radius: 0.5rem;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  background: oklch(96% 0.005 85);
  transition: border-color 0.15s ease;
}
.detail-thumb:hover {
  border-color: var(--color-primary);
}
.detail-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  cursor: zoom-in;
}

/* Description prose --------------------------------------------------- */

.product-description {
  font-size: 0.975rem;
  line-height: 1.65;
  color: oklch(35% 0.02 270);
}
.product-description h3 {
  font-family: "Inter", system-ui, sans-serif;
  font-weight: 600;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: oklch(50% 0.015 270);
  margin-top: 1.25rem;
  margin-bottom: 0.5rem;
}
.product-description h3:first-child { margin-top: 0; }
.product-description p {
  margin-bottom: 0.75rem;
}
