/**
 * ═══════════════════════════════════════════════════════════════════════════════
 * ANHAD CLAYMORPHISM DESIGN SYSTEM v1.0
 * Ultimate 3D molded UI components with multi-layer shadows
 * Import after anhad-core.css, before page-specific styles
 * ═══════════════════════════════════════════════════════════════════════════════
 */

/* ─── Design Tokens ─── */
:root {
  /* Claymorphism Base Colors */
  --clay-bg-primary: #F0F0F5;
  --clay-bg-secondary: #E8E8EC;
  --clay-white: #FFFFFF;
  --clay-cream: #FAF8F5;

  /* Shadow Opacity Scales */
  --clay-shadow-deep: 0.45;
  --clay-shadow-mid: 0.35;
  --clay-shadow-soft: 0.25;
  --clay-highlight: 0.0;
  --clay-border-glow: 0.0;
  --clay-inset-shadow: 0.08;

  /* Color Palette for Themed Shadows */
  --clay-gold: 212, 148, 58;
  --clay-orange: 255, 149, 0;
  --clay-blue: 0, 122, 255;
  --clay-green: 48, 209, 88;
  --clay-purple: 88, 86, 214;
  --clay-rose: 255, 107, 107;
  --clay-red: 255, 45, 85;
  --clay-teal: 48, 176, 199;

  /* Border Radius Scale */
  --clay-radius-sm: 20px;
  --clay-radius-md: 28px;
  --clay-radius-lg: 32px;
  --clay-radius-xl: 36px;
  --clay-radius-full: 9999px;

  /* Transitions */
  --clay-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --clay-smooth: cubic-bezier(0.4, 0, 0.2, 1);
  --clay-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* Dark Mode Clay Tokens */
html.dark-mode {
  --clay-bg-primary: #1C1C1E;
  --clay-bg-secondary: #2C2C2E;
  --clay-cream: #2D2D30;
  --clay-shadow-deep: 0.6;
  --clay-shadow-mid: 0.45;
  --clay-shadow-soft: 0.35;
  --clay-highlight: 0.0;
  --clay-border-glow: 0.0;
  --clay-inset-shadow: 0.25;
}

/* ─── Base Clay Card ─── */
.clay-card,
.clay {
  border-radius: var(--clay-radius-lg);
  background: linear-gradient(155deg, #FFFFFF 0%, #F5F5F7 60%, #EDEDF0 100%);
  box-shadow: none;
  border: 1.5px solid rgba(255, 255, 255, 0.70);
  transition: box-shadow 0.3s var(--clay-spring), transform 0.3s var(--clay-spring);
  transform: translateY(0);
}

html.dark-mode .clay-card,
html.dark-mode .clay {
  background: linear-gradient(155deg, #2E2E30 0%, #222224 60%, #1A1A1C 100%);
  border-color: rgba(255, 255, 255, 0.10);
  box-shadow: none;
}

.clay-card:hover,
.clay:hover {
  transform: translateY(-2px);
  box-shadow: none;
}

.clay-card:active,
.clay:active {
  transform: scale(0.97) translateY(2px);
  box-shadow: none;
}

/* ─── Colored Clay Variants ─── */

/* Gold Clay - Spiritual/Golden theme */
.clay-gold {
  background: linear-gradient(155deg, #FFF9F0 0%, #FFEFD6 55%, #FFE4C0 100%);
  box-shadow: none;
  border: 1.5px solid rgba(var(--clay-gold), 0.35);
}

html.dark-mode .clay-gold {
  background: linear-gradient(155deg, #3D3020 0%, #2D2010 55%, #1D1808 100%);
  box-shadow: none;
  border-color: rgba(var(--clay-gold), 0.20);
}

/* Orange Clay - Warm/Energy theme */
.clay-orange {
  background: linear-gradient(155deg, #FFF8F0 0%, #FFEEE2 55%, #FFE0CC 100%);
  box-shadow: none;
  border: 1.5px solid rgba(var(--clay-orange), 0.30);
}

html.dark-mode .clay-orange {
  background: linear-gradient(155deg, #3D2818 0%, #2D2010 55%, #1D1808 100%);
  box-shadow: none;
  border-color: rgba(var(--clay-orange), 0.18);
}

/* Blue Clay - Calm/Trust theme */
.clay-blue {
  background: linear-gradient(155deg, #F0F8FF 0%, #E4F0FF 55%, #D8EAFF 100%);
  box-shadow: none;
  border: 1.5px solid rgba(var(--clay-blue), 0.25);
}

html.dark-mode .clay-blue {
  background: linear-gradient(155deg, #1A2840 0%, #102040 55%, #0A1830 100%);
  box-shadow: none;
  border-color: rgba(var(--clay-blue), 0.16);
}

/* Green Clay - Growth/Nature theme */
.clay-green {
  background: linear-gradient(155deg, #F0FFF5 0%, #E4F9EC 55%, #D8F4E2 100%);
  box-shadow: none;
  border: 1.5px solid rgba(var(--clay-green), 0.25);
}

html.dark-mode .clay-green {
  background: linear-gradient(155deg, #183020 0%, #102818 55%, #082010 100%);
  box-shadow: none;
  border-color: rgba(var(--clay-green), 0.16);
}

/* Purple Clay - Wisdom/Spiritual theme */
.clay-purple {
  background: linear-gradient(155deg, #F8F5FF 0%, #EDE8FF 55%, #E2DBFF 100%);
  box-shadow: none;
  border: 1.5px solid rgba(var(--clay-purple), 0.25);
}

html.dark-mode .clay-purple {
  background: linear-gradient(155deg, #281830 0%, #201028 55%, #180820 100%);
  box-shadow: none;
  border-color: rgba(var(--clay-purple), 0.16);
}

/* Rose Clay - Devotion/Love theme */
.clay-rose {
  background: linear-gradient(155deg, #FFF5F5 0%, #FFE8E8 55%, #FFDADA 100%);
  box-shadow: none;
  border: 1.5px solid rgba(var(--clay-rose), 0.22);
}

html.dark-mode .clay-rose {
  background: linear-gradient(155deg, #301818 0%, #281010 55%, #200808 100%);
  box-shadow: none;
  border-color: rgba(var(--clay-rose), 0.12);
}

/* Red Clay - Alert/Important theme */
.clay-red {
  background: linear-gradient(155deg, #FFF0F0 0%, #FFE4E4 55%, #FFD8D8 100%);
  box-shadow: none;
  border: 1.5px solid rgba(var(--clay-red), 0.22);
}

html.dark-mode .clay-red {
  background: linear-gradient(155deg, #301818 0%, #281010 55%, #200808 100%);
  box-shadow: none;
  border-color: rgba(var(--clay-red), 0.12);
}

/* ─── Clay Button Variants ─── */
.clay-btn {
  border-radius: var(--clay-radius-full);
  background: linear-gradient(145deg, #FFFFFF 0%, #F2F2F5 100%);
  box-shadow: none;
  border: 1.5px solid rgba(255, 255, 255, 0.65);
  transition: box-shadow 0.25s var(--clay-spring), transform 0.25s var(--clay-spring);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 24px;
  font-weight: 600;
}

.clay-btn:hover {
  box-shadow: none;
  transform: translateY(-1px);
}

.clay-btn:active {
  transform: scale(0.95) translateY(1px);
  box-shadow: none;
}

/* Small circular button */
.clay-btn--circle {
  width: 52px;
  height: 52px;
  min-height: 52px;
  padding: 0;
  border-radius: 50%;
}

/* ─── Clay Progress Bar ─── */
.clay-progress {
  border-radius: var(--clay-radius-full);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.9), rgba(245, 245, 247, 0.9));
  box-shadow:
    10px 10px 30px rgba(0, 0, 0, 0.15),
    5px 5px 15px rgba(0, 0, 0, 0.08),
    inset 0 1px 3px rgba(0, 0, 0, 0.08);
  border: 2px solid rgba(255, 255, 255, 0.35);
  padding: 12px 16px;
  overflow: hidden;
}

.clay-progress__fill {
  height: 100%;
  border-radius: var(--clay-radius-full);
  box-shadow: inset 2px 2px 5px rgba(0, 0, 0, 0.15), inset 0 1px 2px rgba(255, 255, 255, 0.5);
  transition: width 0.8s var(--clay-spring);
}

/* ─── Clay Bottom Navigation ─── */
.clay-nav {
  border-radius: var(--clay-radius-xl);
  background: linear-gradient(170deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 248, 250, 0.96) 100%);
  box-shadow:
    0 -2px 4px rgba(0, 0, 0, 0.08),
    0 -8px 24px rgba(0, 0, 0, 0.14),
    0 -20px 48px rgba(0, 0, 0, 0.10),
    inset 0 2px 0 rgba(255, 255, 255, 0.90),
    inset 0 -1px 0 rgba(0, 0, 0, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.60);
  border-bottom: none;
}

html.dark-mode .clay-nav {
  background: linear-gradient(170deg, rgba(40, 40, 42, 0.96) 0%, rgba(28, 28, 30, 0.96) 100%);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow:
    0 -2px 4px rgba(0, 0, 0, 0.28),
    0 -8px 28px rgba(0, 0, 0, 0.38),
    0 -20px 56px rgba(0, 0, 0, 0.32),
    inset 0 2px 0 rgba(255, 255, 255, 0.10),
    inset 0 -1px 0 rgba(0, 0, 0, 0.20);
}

/* ─── Clay Section Header ─── */
.clay-section {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.80), rgba(248, 248, 250, 0.80));
  border-radius: var(--clay-radius-md);
  padding: 12px 20px;
  margin: 20px 0 16px;
  box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.08),
    0 4px 14px rgba(0, 0, 0, 0.10),
    inset 0 1px 0 rgba(255, 255, 255, 0.90);
  border: 1px solid rgba(255, 255, 255, 0.50);
  display: inline-block;
}

html.dark-mode .clay-section {
  background: linear-gradient(145deg, rgba(50, 50, 52, 0.80), rgba(40, 40, 42, 0.80));
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.28),
    0 4px 16px rgba(0, 0, 0, 0.30),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

/* ─── Clay Sheet/Modal ─── */
.clay-sheet {
  border-radius: var(--clay-radius-lg) var(--clay-radius-lg) 0 0;
  background: linear-gradient(180deg, #FAFAFA 0%, #F5F5F7 100%);
  box-shadow:
    0 -2px 6px rgba(0, 0, 0, 0.10),
    0 -12px 40px rgba(0, 0, 0, 0.18),
    0 -30px 80px rgba(0, 0, 0, 0.14),
    inset 0 2px 0 rgba(255, 255, 255, 0.90);
}

.clay-sheet__option {
  border-radius: var(--clay-radius-md);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.95) 0%, rgba(248, 248, 250, 0.95) 100%);
  box-shadow:
    0 1px 2px rgba(0, 0, 0, 0.08),
    0 3px 10px rgba(0, 0, 0, 0.10),
    inset 0 1px 0 rgba(255, 255, 255, 0.90);
  border: 1px solid rgba(255, 255, 255, 0.55);
  margin-bottom: 12px;
  transition: box-shadow 0.25s var(--clay-spring), transform 0.25s var(--clay-spring);
}

.clay-sheet__option:active {
  transform: scale(0.98);
  box-shadow:
    inset 0 3px 10px rgba(0, 0, 0, 0.18),
    inset 0 1px 4px rgba(0, 0, 0, 0.10);
}

/* ─── Clay Mini Player ─── */
.clay-player {
  border-radius: var(--clay-radius-lg);
  background: linear-gradient(145deg, #FFFFFF 0%, #F5F5F7 100%);
  box-shadow:
    0 2px 4px rgba(0, 0, 0, 0.12),
    0 8px 24px rgba(0, 0, 0, 0.18),
    0 24px 60px rgba(0, 0, 0, 0.16),
    inset 0 2px 0 rgba(255, 255, 255, 0.90),
    inset 0 -1px 2px rgba(0, 0, 0, 0.05);
  border: 1.5px solid rgba(255, 255, 255, 0.65);
}

/* ─── Clay Input/Form Elements ─── */
.clay-input {
  border-radius: var(--clay-radius-md);
  background: linear-gradient(145deg, #F5F5F7, #FFFFFF);
  box-shadow:
    inset 4px 4px 12px rgba(0, 0, 0, 0.08),
    inset -2px -2px 8px rgba(255, 255, 255, 1),
    0 2px 4px rgba(255, 255, 255, 0.8);
  border: 2px solid rgba(255, 255, 255, 0.6);
  padding: 14px 18px;
  font-size: 16px;
  transition: box-shadow 0.3s var(--clay-spring), border-color 0.3s var(--clay-spring);
}

.clay-input:focus {
  box-shadow:
    inset 4px 4px 12px rgba(0, 0, 0, 0.1),
    inset -2px -2px 8px rgba(255, 255, 255, 1),
    0 0 0 3px rgba(212, 148, 58, 0.3);
  border-color: rgba(212, 148, 58, 0.4);
  outline: none;
}

/* ─── Clay Badge/Pill ─── */
.clay-badge {
  border-radius: var(--clay-radius-full);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.9), rgba(240, 240, 245, 0.9));
  box-shadow:
    4px 4px 15px rgba(0, 0, 0, 0.15),
    inset 0 1px 2px rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.4);
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 700;
}

/* ─── Clay Hero Card ─── */
.clay-hero {
  border-radius: var(--clay-radius-xl);
  background: linear-gradient(145deg, #FFFFFF 0%, #F8F8FA 100%);
  box-shadow: none !important;
  border: 3px solid rgba(255, 255, 255, 0.6);
  overflow: hidden;
}

/* ─── Clay Avatar/Circle Image ─── */
.clay-avatar {
  border-radius: 50%;
  box-shadow:
    0 2px 4px rgba(0, 0, 0, 0.12),
    0 6px 18px rgba(0, 0, 0, 0.16),
    0 0 0 3px rgba(255, 255, 255, 0.80),
    inset 0 2px 0 rgba(255, 255, 255, 0.65),
    inset 0 -1px 2px rgba(0, 0, 0, 0.08);
  border: 2px solid rgba(255, 255, 255, 0.60);
}

/* ─── Clay Icon Wrapper ─── */
.clay-icon {
  border-radius: var(--clay-radius-sm);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.88) 0%, rgba(242, 242, 246, 0.88) 100%);
  box-shadow:
    0 1px 2px rgba(0, 0, 0, 0.10),
    0 3px 8px rgba(0, 0, 0, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.90);
  border: 1px solid rgba(255, 255, 255, 0.50);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ─── Animation Utilities ─── */
@keyframes clay-pop-in {
  from {
    opacity: 0;
    /* PERF FIX: Removed filter:blur(4px) — forced 6 simultaneous GPU blur layers
       during page load, competing with LCP. Extra translateY provides
       equivalent "coming from a distance" feel using only compositor-safe props. */
    transform: scale(0.9) translateY(28px);
  }

  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.clay-animate-in {
  animation: clay-pop-in 0.6s var(--clay-spring) backwards;
}

.clay-animate-in:nth-child(1) {
  animation-delay: 0.05s;
}

.clay-animate-in:nth-child(2) {
  animation-delay: 0.1s;
}

.clay-animate-in:nth-child(3) {
  animation-delay: 0.15s;
}

.clay-animate-in:nth-child(4) {
  animation-delay: 0.2s;
}

.clay-animate-in:nth-child(5) {
  animation-delay: 0.25s;
}

.clay-animate-in:nth-child(6) {
  animation-delay: 0.3s;
}

/* ─── Glow Effect for Active States ─── */
.clay-glow {
  position: relative;
}

.clay-glow::before {
  content: '';
  position: absolute;
  inset: -4px;
  border-radius: inherit;
  background: radial-gradient(circle at center, rgba(212, 148, 58, 0.4) 0%, transparent 70%);
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: -1;
  filter: blur(20px);
}

.clay-glow:hover::before,
.clay-glow.active::before {
  opacity: 1;
}

/* ─── Clay Divider ─── */
.clay-divider {
  height: 2px;
  background: linear-gradient(90deg,
      transparent 0%,
      rgba(0, 0, 0, 0.05) 20%,
      rgba(0, 0, 0, 0.08) 50%,
      rgba(0, 0, 0, 0.05) 80%,
      transparent 100%);
  box-shadow: 0 1px 2px rgba(255, 255, 255, 0.8);
  margin: 16px 0;
  border: none;
}

html.dark-mode .clay-divider {
  background: linear-gradient(90deg,
      transparent 0%,
      rgba(255, 255, 255, 0.05) 20%,
      rgba(255, 255, 255, 0.08) 50%,
      rgba(255, 255, 255, 0.05) 80%,
      transparent 100%);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

/* ─── Size Variants ─── */
.clay--sm {
  border-radius: var(--clay-radius-sm);
  box-shadow:
    20px 20px 50px rgba(0, 0, 0, var(--clay-shadow-deep)),
    10px 10px 30px rgba(0, 0, 0, var(--clay-shadow-mid)),
    inset 0 2px 4px rgba(255, 255, 255, 1),
    inset 0 -1px 2px rgba(0, 0, 0, var(--clay-inset-shadow));
  border-width: 2px;
}

.clay--lg {
  border-radius: var(--clay-radius-xl);
  box-shadow:
    50px 50px 120px rgba(0, 0, 0, var(--clay-shadow-deep)),
    25px 25px 70px rgba(0, 0, 0, var(--clay-shadow-mid)),
    inset 0 4px 8px rgba(255, 255, 255, 1),
    inset 0 -3px 6px rgba(0, 0, 0, var(--clay-inset-shadow));
  border-width: 4px;
}

/* ─── Clay Toggle/Switch ─── */
.clay-toggle {
  width: 56px;
  height: 32px;
  border-radius: var(--clay-radius-full);
  background: linear-gradient(145deg, #E5E5EA, #D1D1D6);
  box-shadow:
    inset 4px 4px 10px rgba(0, 0, 0, 0.2),
    inset -2px -2px 6px rgba(255, 255, 255, 0.8),
    0 2px 4px rgba(255, 255, 255, 0.9);
  position: relative;
  cursor: pointer;
  transition: transform 0.3s var(--clay-spring), background-color 0.3s var(--clay-spring);
}

.clay-toggle::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(145deg, #FFFFFF, #F0F0F5);
  box-shadow:
    4px 4px 12px rgba(0, 0, 0, 0.2),
    -2px -2px 8px rgba(255, 255, 255, 0.9),
    inset 0 1px 2px rgba(255, 255, 255, 1);
  transition: transform 0.3s var(--clay-spring);
}

.clay-toggle.active {
  background: linear-gradient(145deg, #34C759, #28A745);
}

.clay-toggle.active::after {
  transform: translateX(24px);
}

/* ─── Print Styles ─── */
@media print {

  .clay-card,
  .clay-btn,
  .clay-nav,
  .clay-hero {
    box-shadow: none !important;
    border: 1px solid #ddd !important;
  }
}