/* ═══════════════════════════════════════════════════════════
   STYLE B: CLASSIC GLASSMORPHISM
   Reference: iOS 14-15 Control Center, macOS Big Sur

   Frosted glass plates. Physical weight. Clear hierarchy.
   More opaque, more defined edges. Timeless, readable.
   ═══════════════════════════════════════════════════════════ */

/* ── Design Tokens ─────────────────────────────────────── */

.style-classic {
  /* Glass materials — more opaque, substantial */
  --glass-bg: rgba(255, 255, 255, 0.14);
  --glass-bg-hover: rgba(255, 255, 255, 0.20);
  --glass-bg-active: rgba(255, 255, 255, 0.10);
  --glass-bg-strong: rgba(255, 255, 255, 0.22);
  --glass-border: rgba(255, 255, 255, 0.24);
  --glass-border-strong: rgba(255, 255, 255, 0.32);

  /* Blur — moderate, less dreamy */
  --blur-card: 20px;
  --blur-modal: 30px;
  --blur-nav: 40px;
  --blur-input: 16px;

  /* Saturation — less aggressive */
  --saturation: saturate(150%);

  /* Shine — top-down light, like overhead lamp on glass */
  --shine: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.15) 0%,
    rgba(255, 255, 255, 0.03) 40%,
    transparent 60%
  );

  /* Edge highlight — crisper, more visible */
  --edge-light: inset 0 1px 0 0 rgba(255, 255, 255, 0.18);

  /* Radii — rounded but less extreme */
  --r-card: 22px;
  --r-button: 14px;
  --r-input: 16px;
  --r-chip: 10px;
  --r-modal: 28px;
  --r-small: 10px;

  /* Shadows — more defined, less diffused */
  --shadow-card:
    0 1px 2px rgba(0, 0, 0, 0.06),
    0 6px 20px rgba(0, 0, 0, 0.18);
  --shadow-card-hover:
    0 2px 4px rgba(0, 0, 0, 0.08),
    0 10px 28px rgba(0, 0, 0, 0.22);
  --shadow-modal:
    0 4px 12px rgba(0, 0, 0, 0.10),
    0 16px 48px rgba(0, 0, 0, 0.35);
  --shadow-nav: 0 -4px 20px rgba(0, 0, 0, 0.20);
  --shadow-button: 0 1px 8px rgba(0, 0, 0, 0.12);
  --shadow-glow: 0 0 16px -2px;

  /* Typography — Inter, geometric and clean */
  --font-display: 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', 'SF Mono', 'Menlo', monospace;
}


/* ── Card ──────────────────────────────────────────────── */

.style-classic .card {
  position: relative;
  overflow: hidden;
  background: var(--glass-bg);
  backdrop-filter: blur(var(--blur-card)) var(--saturation);
  -webkit-backdrop-filter: blur(var(--blur-card)) var(--saturation);
  border: 1px solid var(--glass-border);
  border-radius: var(--r-card);
  box-shadow: var(--shadow-card), var(--edge-light);
  transition:
    transform var(--dur-fast) var(--ease-sharp),
    box-shadow var(--dur-normal) ease;
}

/* Top-down shine — light from above */
.style-classic .card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--shine);
  border-radius: inherit;
  pointer-events: none;
  z-index: 1;
}

/* Interactive cards */
.style-classic .card.tappable:active {
  transform: scale(0.98);
}

@media (hover: hover) {
  .style-classic .card.tappable:hover {
    background: var(--glass-bg-hover);
    box-shadow: var(--shadow-card-hover), var(--edge-light);
  }
}


/* ── Buttons ───────────────────────────────────────────── */

/* Primary — solid gradient, rounded rectangle */
.style-classic .btn-primary {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-8);
  padding: var(--sp-12) var(--sp-24);
  border-radius: var(--r-button);
  background: var(--gradient-primary);
  color: #fff;
  font-weight: var(--fw-semibold);
  font-size: var(--text-body);
  box-shadow: var(--shadow-button);
  transition:
    transform var(--dur-fast) var(--ease-sharp),
    box-shadow var(--dur-fast) ease,
    filter var(--dur-fast) ease;
}

.style-classic .btn-primary:active {
  transform: scale(0.97);
  filter: brightness(0.92);
}

@media (hover: hover) {
  .style-classic .btn-primary:hover {
    filter: brightness(1.08);
    box-shadow: var(--shadow-glow) var(--accent-primary);
  }
}

.style-classic .btn-primary:focus-visible {
  outline: 2px solid var(--accent-primary);
  outline-offset: 2px;
}

/* Secondary — glass plate, defined border */
.style-classic .btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-8);
  padding: var(--sp-12) var(--sp-24);
  border-radius: var(--r-button);
  background: var(--glass-bg);
  backdrop-filter: blur(var(--blur-input)) var(--saturation);
  -webkit-backdrop-filter: blur(var(--blur-input)) var(--saturation);
  border: 1.5px solid var(--glass-border-strong);
  color: var(--accent-primary);
  font-weight: var(--fw-medium);
  font-size: var(--text-body);
  transition:
    transform var(--dur-fast) var(--ease-sharp),
    background var(--dur-fast) ease,
    border-color var(--dur-fast) ease;
}

.style-classic .btn-secondary:active {
  transform: scale(0.97);
  background: var(--glass-bg-active);
}

@media (hover: hover) {
  .style-classic .btn-secondary:hover {
    background: var(--glass-bg-hover);
    border-color: var(--accent-primary);
  }
}

.style-classic .btn-secondary:focus-visible {
  outline: 2px solid var(--accent-primary);
  outline-offset: 2px;
}

/* Ghost — minimal */
.style-classic .btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-8);
  padding: var(--sp-10) var(--sp-16);
  border-radius: var(--r-button);
  color: var(--text-secondary);
  font-weight: var(--fw-medium);
  font-size: var(--text-body);
  transition:
    transform var(--dur-fast) var(--ease-sharp),
    color var(--dur-fast) ease,
    background var(--dur-fast) ease;
}

.style-classic .btn-ghost:active {
  transform: scale(0.97);
}

@media (hover: hover) {
  .style-classic .btn-ghost:hover {
    color: var(--text-primary);
    background: var(--glass-bg);
  }
}

.style-classic .btn-ghost:focus-visible {
  outline: 2px solid var(--accent-primary);
  outline-offset: 2px;
}


/* ── Input ─────────────────────────────────────────────── */

.style-classic .input {
  display: block;
  width: 100%;
  padding: var(--sp-12) var(--sp-16);
  border-radius: var(--r-input);
  background: var(--glass-bg);
  backdrop-filter: blur(var(--blur-input)) var(--saturation);
  -webkit-backdrop-filter: blur(var(--blur-input)) var(--saturation);
  border: 1.5px solid var(--glass-border);
  color: var(--text-primary);
  font-size: var(--text-body);
  box-shadow: var(--edge-light);
  transition:
    border-color var(--dur-fast) ease,
    box-shadow var(--dur-fast) ease;
}

.style-classic .input::placeholder {
  color: var(--text-muted);
}

.style-classic .input:focus {
  border-color: var(--accent-primary);
  box-shadow:
    0 0 0 3px rgba(var(--accent-primary-rgb), 0.12),
    var(--edge-light);
}


/* ── Chips ─────────────────────────────────────────────── */

.style-classic .chip {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-6);
  padding: var(--sp-6) var(--sp-12);
  border-radius: var(--r-chip);
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  font-size: var(--text-caption);
  font-weight: var(--fw-medium);
  color: var(--text-secondary);
  transition: transform var(--dur-fast) var(--ease-sharp);
}

.style-classic .chip:active {
  transform: scale(0.96);
}

.style-classic .chip.success {
  color: var(--success);
  background: var(--success-bg);
  border-color: rgba(var(--accent-primary-rgb, 34, 197, 94), 0.15);
}
.style-classic .chip.warning {
  color: var(--warning);
  background: var(--warning-bg);
  border-color: rgba(245, 158, 11, 0.15);
}
.style-classic .chip.danger {
  color: var(--danger);
  background: var(--danger-bg);
  border-color: rgba(239, 68, 68, 0.15);
}
.style-classic .chip.info {
  color: var(--info);
  background: var(--info-bg);
  border-color: rgba(59, 130, 246, 0.15);
}


/* ── Glass Utility ─────────────────────────────────────── */

.style-classic .glass {
  background: var(--glass-bg);
  backdrop-filter: blur(var(--blur-card)) var(--saturation);
  -webkit-backdrop-filter: blur(var(--blur-card)) var(--saturation);
  border: 1.5px solid var(--glass-border);
  border-radius: var(--r-card);
}


/* ── Backdrop-filter Fallback ──────────────────────────── */

@supports not (backdrop-filter: blur(1px)) {
  .style-classic .card,
  .style-classic .glass {
    background: var(--bg-elevated);
    border-color: var(--glass-border-strong);
  }

  .style-classic .btn-secondary,
  .style-classic .input,
  .style-classic .chip {
    background: var(--bg-elevated);
  }
}
