/* ============================================================
   MINDSTATZ — Global Stylesheet
   Dark Luxury: Obsidian · Gold · Deep Violet
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Montserrat:wght@300;400;500;600&display=swap');

/* ── CSS Variables ──────────────────────────────────────────── */
:root {
  --bg-void:        #080808;
  --bg-deep:        #0e0e0f;
  --bg-card:        #131318;
  --bg-surface:     #1a1a22;
  --bg-elevated:    #22222e;

  --gold:           #c9a84c;
  --gold-light:     #e2c97e;
  --gold-dim:       #7a6230;
  --violet:         #6b3fa0;
  --violet-light:   #9b68d4;
  --violet-dim:     #3a2257;

  --text-primary:   #f0ead8;
  --text-secondary: #998e7a;
  --text-muted:     #4a4540;

  --border:         rgba(201,168,76,0.15);
  --border-hover:   rgba(201,168,76,0.45);
  --glow-gold:      0 0 30px rgba(201,168,76,0.2);
  --glow-violet:    0 0 40px rgba(107,63,160,0.35);

  --radius-sm:      6px;
  --radius-md:      12px;
  --radius-lg:      20px;

  --font-display:   'Cormorant Garamond', serif;
  --font-body:      'Montserrat', sans-serif;

  --transition:     all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-fast:all 0.18s ease;
}

/* ── Reset ──────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  scroll-behavior: smooth;
  font-size: 16px;
}

body {
  font-family: var(--font-body);
  background-color: var(--bg-void);
  color: var(--text-primary);
  min-height: 100vh;
  overflow-x: hidden;
}

/* ── Silver Foot Cursor ─────────────────────────────────── */

/* Hide the OS cursor everywhere */
*, *::before, *::after { cursor: none !important; }

.cursor {
  /* Box that JS moves to follow the mouse (19x48). The foot image, glow and grow effects live on ::before,
     so scaling never shifts the position of the toe-tip hotspot. */
  width: 19px;
  height: 48px;
  position: fixed;
  top: 0; left: 0;
  pointer-events: none;
  z-index: 99999;
  transition: opacity 0.2s;
  will-change: transform;
}

.cursor::before {
  content: '';
  position: absolute;
  inset: 0;
  /* Silver foot image (embedded PNG, stored at 2x for sharp screens) */
  background-image: url("data:image/png;base64,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");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  transform-origin: 4px 1px; /* hotspot = tip of big toe */
  transition: transform 0.15s ease, filter 0.2s ease;
  filter: drop-shadow(0 1px 3px rgba(0,0,0,0.6));
}

/* Gold version of the foot (switched on by the toggle, which adds .foot-gold to <body>) */
body.foot-gold .cursor::before {
  background-image: url("data:image/png;base64,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");
}

/* Hover state — violet glow + grows slightly */
.cursor.is-hovering::before {
  filter: drop-shadow(0 0 8px rgba(155,104,212,0.95)) drop-shadow(0 0 18px rgba(155,104,212,0.55)) drop-shadow(0 1px 3px rgba(0,0,0,0.6));
  transform: scale(1.25);
}

/* Click state — gold glow + presses down */
.cursor.is-clicking::before {
  filter: drop-shadow(0 0 9px rgba(226,201,126,1)) drop-shadow(0 0 20px rgba(226,201,126,0.6)) drop-shadow(0 1px 3px rgba(0,0,0,0.6));
  transform: scale(0.88);
}

/* ── Cursor colour toggle (silver / gold) ───────────────────── */
.foot-toggle {
  position: fixed;
  left: max(1rem, env(safe-area-inset-left));
  bottom: max(1.5rem, env(safe-area-inset-bottom));
  z-index: 9980;
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.5rem 0.95rem;
  background: rgba(19,19,24,0.88);
  backdrop-filter: blur(10px);
  border: 1px solid var(--border);
  border-radius: 2rem;
  font-family: var(--font-body);
  font-size: 0.58rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--text-secondary);
  box-shadow: 0 6px 24px rgba(0,0,0,0.45);
}
.foot-toggle-value { min-width: 3.4em; color: var(--text-primary); }
.foot-switch {
  position: relative;
  width: 42px; height: 22px;
  padding: 0;
  border-radius: 11px;
  border: 1px solid var(--border-hover);
  background: linear-gradient(135deg, #8c8c94, #dcdce0);
  transition: background 0.3s, border-color 0.3s, box-shadow 0.3s;
}
.foot-switch-knob {
  position: absolute;
  top: 2px; left: 2px;
  width: 16px; height: 16px;
  border-radius: 50%;
  background: var(--bg-void);
  box-shadow: 0 1px 4px rgba(0,0,0,0.5);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.foot-switch[aria-checked="true"] {
  background: linear-gradient(135deg, var(--gold), var(--gold-light));
  border-color: var(--gold);
  box-shadow: 0 0 12px rgba(201,168,76,0.45);
}
.foot-switch[aria-checked="true"] .foot-switch-knob { transform: translateX(20px); }

/* Trail follower — subtle gold ring, no longer a dot */
.cursor-follower {
  width: 48px;
  height: 48px;
  border: 1px solid rgba(201,168,76,0.25);
  border-radius: 50%;
  position: fixed;
  top: 0; left: 0;
  pointer-events: none;
  z-index: 99997;
  transition: transform 0.4s cubic-bezier(0.18, 0.89, 0.32, 1.28),
              border-color 0.3s ease,
              width 0.3s ease,
              height 0.3s ease;
}

/* Follower hover state — violet ring, larger */
.cursor-follower.is-hovering {
  border-color: rgba(155,104,212,0.55);
  width: 58px;
  height: 58px;
}

/* Mobile: restore normal cursor */
@media (hover: none) and (pointer: coarse) {
  .cursor, .cursor-follower, .foot-toggle { display: none; }
  *, *::before, *::after { cursor: auto !important; }
  body { cursor: auto; }
}

/* ── Noise Grain Overlay ────────────────────────────────────── */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 99990;
  opacity: 0.5;
}

/* ── Typography ─────────────────────────────────────────────── */
h1, h2, h3, h4 {
  font-family: var(--font-display);
  font-weight: 300;
  letter-spacing: 0.03em;
  line-height: 1.15;
}

h1 { font-size: clamp(2.8rem, 6vw, 5.5rem); }
h2 { font-size: clamp(2rem, 4vw, 3.5rem); }
h3 { font-size: clamp(1.4rem, 2.5vw, 2rem); }

p { line-height: 1.75; color: var(--text-secondary); font-weight: 300; }

a { color: inherit; text-decoration: none; }

.section-label {
  font-size: 0.65rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--gold);
  font-family: var(--font-body);
  font-weight: 500;
  display: block;
  margin-bottom: 0.75rem;
}

/* ── Gold Divider ───────────────────────────────────────────── */
.gold-line {
  width: 60px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  margin: 1.5rem auto;
}

/* ── Buttons ────────────────────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.85rem 2.2rem;
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  border-radius: var(--radius-sm);
  border: none;
  cursor: none;
  transition: var(--transition);
  position: relative;
  overflow: hidden;
}

.btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.06);
  opacity: 0;
  transition: opacity 0.3s;
}
.btn:hover::before { opacity: 1; }

.btn-gold {
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-light) 50%, var(--gold) 100%);
  color: #080808;
  box-shadow: 0 4px 20px rgba(201,168,76,0.3);
}
.btn-gold:hover {
  box-shadow: 0 6px 35px rgba(201,168,76,0.5);
  transform: translateY(-2px);
}

.btn-outline {
  background: transparent;
  color: var(--gold);
  border: 1px solid var(--border-hover);
}
.btn-outline:hover {
  background: rgba(201,168,76,0.08);
  border-color: var(--gold);
  transform: translateY(-2px);
}

.btn-violet {
  background: linear-gradient(135deg, var(--violet) 0%, var(--violet-light) 100%);
  color: #fff;
  box-shadow: 0 4px 20px rgba(107,63,160,0.4);
}
.btn-violet:hover {
  box-shadow: 0 6px 35px rgba(107,63,160,0.6);
  transform: translateY(-2px);
}

.btn-ghost {
  background: rgba(255,255,255,0.04);
  color: var(--text-secondary);
  border: 1px solid rgba(255,255,255,0.07);
}
.btn-ghost:hover {
  color: var(--text-primary);
  border-color: rgba(255,255,255,0.2);
}

/* ── Navigation ─────────────────────────────────────────────── */
.navbar {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem 4rem;
  background: rgba(8,8,8,0.75);
  backdrop-filter: blur(24px) saturate(1.4);
  border-bottom: 1px solid var(--border);
  transition: var(--transition);
}

.navbar.scrolled {
  padding: 0.85rem 4rem;
  background: rgba(8,8,8,0.92);
}

.nav-logo {
  font-family: var(--font-display);
  font-size: 1.7rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  background: linear-gradient(135deg, var(--gold), var(--gold-light));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.nav-links {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 2.5rem;
}

.nav-links a {
  font-size: 0.68rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--text-secondary);
  font-weight: 500;
  position: relative;
  transition: var(--transition-fast);
}

.nav-links a::after {
  content: '';
  position: absolute;
  bottom: -4px; left: 0;
  width: 0; height: 1px;
  background: var(--gold);
  transition: width 0.3s ease;
}

.nav-links a:hover {
  color: var(--gold);
}
.nav-links a:hover::after { width: 100%; }

.nav-links .btn { padding: 0.5rem 1.4rem; font-size: 0.65rem; }

/* Burger */
.burger {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: none;
  padding: 4px;
}
.burger span {
  display: block;
  width: 24px; height: 1px;
  background: var(--gold);
  transition: var(--transition-fast);
}

/* ── Hero Section ───────────────────────────────────────────── */
.hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  overflow: hidden;
  padding: 8rem 2rem 4rem;
}

.hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.hero-bg video {
  width: 100%; height: 100%;
  object-fit: cover;
  opacity: 0.2;
  filter: saturate(0.4);
}

.hero-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 60% 40%, rgba(107,63,160,0.25) 0%, transparent 60%),
              radial-gradient(ellipse at 20% 80%, rgba(201,168,76,0.1) 0%, transparent 50%),
              linear-gradient(to bottom, rgba(8,8,8,0.3) 0%, rgba(8,8,8,0.7) 60%, var(--bg-void) 100%);
}

.hero-content {
  position: relative;
  z-index: 1;
  max-width: 860px;
}

.hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.65rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 1.5rem;
  opacity: 0;
  animation: fadeUp 0.9s 0.3s forwards;
}
.hero-eyebrow::before,
.hero-eyebrow::after {
  content: '';
  width: 30px; height: 1px;
  background: var(--gold-dim);
}

.hero h1 {
  opacity: 0;
  animation: fadeUp 1s 0.5s forwards;
  margin-bottom: 1.5rem;
}

.hero h1 em {
  font-style: italic;
  color: var(--gold-light);
}

.hero p {
  font-size: 1rem;
  max-width: 560px;
  margin: 0 auto 2.5rem;
  opacity: 0;
  animation: fadeUp 1s 0.7s forwards;
}

.hero-actions {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
  opacity: 0;
  animation: fadeUp 1s 0.9s forwards;
}

/* Scroll indicator */
.scroll-hint {
  position: absolute;
  bottom: 2.5rem; left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.6rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--text-muted);
  opacity: 0;
  animation: fadeIn 1s 1.5s forwards;
}
.scroll-hint-line {
  width: 1px; height: 40px;
  background: linear-gradient(to bottom, var(--gold-dim), transparent);
  animation: scrollPulse 2s 2s infinite;
}

/* ── Section Base ───────────────────────────────────────────── */
.section {
  padding: 7rem 4rem;
  position: relative;
}

.section-header {
  text-align: center;
  margin-bottom: 4rem;
}

.container {
  max-width: 1280px;
  margin: 0 auto;
}

/* ── Gallery / Clips ────────────────────────────────────────── */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.5rem;
}

.clip-card {
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--bg-card);
  border: 1px solid var(--border);
  aspect-ratio: 16/10;
  cursor: none;
  transition: var(--transition);
  group: true;
}

.clip-card:hover {
  border-color: var(--border-hover);
  box-shadow: var(--glow-gold);
  transform: translateY(-4px);
}

.clip-card video {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: opacity 0.4s, transform 0.6s;
}

.clip-card:hover video {
  transform: scale(1.04);
}

.clip-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(8,8,8,0.92) 0%, rgba(8,8,8,0.2) 50%, transparent 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1.25rem;
  transition: var(--transition);
}

.clip-badge {
  position: absolute;
  top: 0.75rem; right: 0.75rem;
  font-size: 0.55rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 0.3rem 0.75rem;
  border-radius: 2rem;
  font-weight: 600;
}

.clip-badge.preview {
  background: rgba(201,168,76,0.15);
  border: 1px solid var(--gold-dim);
  color: var(--gold);
}

.clip-badge.locked {
  background: rgba(107,63,160,0.2);
  border: 1px solid rgba(107,63,160,0.5);
  color: var(--violet-light);
}

.clip-badge.vr {
  background: rgba(155,104,212,0.15);
  border: 1px solid rgba(155,104,212,0.5);
  color: var(--violet-light);
  top: 0.75rem; left: 0.75rem; right: auto;
}

.clip-title {
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 400;
  color: var(--text-primary);
  margin-bottom: 0.25rem;
}

.clip-meta {
  font-size: 0.65rem;
  letter-spacing: 0.1em;
  color: var(--text-muted);
  text-transform: uppercase;
}

.clip-actions {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.75rem;
  opacity: 0;
  transform: translateY(8px);
  transition: var(--transition);
}
.clip-card:hover .clip-actions {
  opacity: 1;
  transform: translateY(0);
}

/* Play button overlay */
.play-btn-overlay {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%) scale(0.8);
  width: 52px; height: 52px;
  background: rgba(201,168,76,0.15);
  border: 1px solid rgba(201,168,76,0.5);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: var(--transition);
  backdrop-filter: blur(8px);
}
.play-btn-overlay svg { fill: var(--gold); width: 18px; }

.clip-card:hover .play-btn-overlay {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

/* Lock overlay for premium */
.lock-overlay {
  position: absolute;
  inset: 0;
  background: rgba(8,8,8,0.55);
  backdrop-filter: blur(3px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  opacity: 0;
  transition: var(--transition);
}
.lock-overlay svg { width: 28px; fill: var(--violet-light); }
.lock-overlay span {
  font-size: 0.65rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--violet-light);
}
.clip-card.locked:hover .lock-overlay { opacity: 1; }

/* ── VR Section ─────────────────────────────────────────────── */
.vr-section {
  background: radial-gradient(ellipse at center, rgba(107,63,160,0.12) 0%, transparent 70%);
}

.vr-wrapper {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid rgba(107,63,160,0.3);
  box-shadow: var(--glow-violet), inset 0 0 60px rgba(107,63,160,0.05);
  aspect-ratio: 16/9;
  max-height: 70vh;
}

.vr-wrapper a-scene {
  width: 100% !important;
  height: 100% !important;
}

/* ── Paywall Overlay ────────────────────────────────────────── */
#paywall-overlay {
  position: absolute;
  inset: 0;
  background: rgba(8,8,8,0.92);
  backdrop-filter: blur(12px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 100;
  border-radius: var(--radius-lg);
}

.paywall-box {
  text-align: center;
  padding: 3rem 2.5rem;
  max-width: 420px;
}

.paywall-icon {
  width: 64px; height: 64px;
  background: rgba(107,63,160,0.15);
  border: 1px solid rgba(107,63,160,0.4);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.5rem;
}
.paywall-icon svg { width: 28px; fill: var(--violet-light); }

.paywall-box h3 {
  font-size: 2rem;
  margin-bottom: 0.5rem;
}
.paywall-box p { margin-bottom: 2rem; }
.paywall-box .btn { width: 100%; justify-content: center; margin-bottom: 0.75rem; }

.paywall-note {
  font-size: 0.65rem;
  color: var(--text-muted);
  letter-spacing: 0.08em;
}

/* ── Standard Video Player ──────────────────────────────────── */
.player-wrap {
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--bg-void);
  border: 1px solid var(--border);
  box-shadow: var(--glow-gold);
}

.player-wrap video {
  width: 100%;
  display: block;
  max-height: 70vh;
  background: #000;
}

.custom-controls {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 1.5rem 1.5rem 1rem;
  background: linear-gradient(to top, rgba(8,8,8,0.95) 0%, transparent 100%);
  transform: translateY(100%);
  transition: transform 0.35s ease;
}

.player-wrap:hover .custom-controls {
  transform: translateY(0);
}

.progress-bar {
  width: 100%;
  height: 3px;
  background: rgba(255,255,255,0.1);
  border-radius: 2px;
  margin-bottom: 1rem;
  cursor: none;
  position: relative;
}
.progress-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--gold), var(--gold-light));
  border-radius: 2px;
  width: 0%;
  transition: width 0.1s linear;
}
.progress-bar:hover .progress-fill::after {
  content: '';
  position: absolute;
  right: -4px; top: 50%;
  transform: translateY(-50%);
  width: 10px; height: 10px;
  background: var(--gold);
  border-radius: 50%;
}

.controls-row {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.ctrl-btn {
  background: none;
  border: none;
  color: var(--text-secondary);
  cursor: none;
  padding: 0.25rem;
  transition: color 0.2s;
  display: flex;
  align-items: center;
}
.ctrl-btn:hover { color: var(--gold); }
.ctrl-btn svg { width: 18px; fill: currentColor; }

.volume-slider {
  -webkit-appearance: none;
  width: 80px; height: 3px;
  background: rgba(255,255,255,0.15);
  border-radius: 2px;
  outline: none;
}
.volume-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 12px; height: 12px;
  background: var(--gold);
  border-radius: 50%;
  cursor: none;
}

.time-display {
  font-size: 0.7rem;
  color: var(--text-muted);
  letter-spacing: 0.05em;
  margin-left: auto;
}

/* ── Contact Section ────────────────────────────────────────── */
.contact-form {
  max-width: 580px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.form-group {
  position: relative;
}

.form-group input,
.form-group textarea {
  width: 100%;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 1rem 1.25rem;
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: 0.85rem;
  font-weight: 300;
  letter-spacing: 0.03em;
  transition: var(--transition-fast);
  outline: none;
}

.form-group input::placeholder,
.form-group textarea::placeholder { color: var(--text-muted); }

.form-group input:focus,
.form-group textarea:focus {
  border-color: var(--gold-dim);
  background: var(--bg-surface);
  box-shadow: 0 0 0 3px rgba(201,168,76,0.08);
}

.form-group textarea {
  min-height: 140px;
  resize: vertical;
}

/* ── Admin Page ─────────────────────────────────────────────── */
.admin-layout {
  display: grid;
  grid-template-columns: 260px 1fr;
  min-height: 100vh;
}

.admin-sidebar {
  background: var(--bg-deep);
  border-right: 1px solid var(--border);
  padding: 2rem 0;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
}

.admin-sidebar-logo {
  padding: 0 1.75rem 2rem;
  border-bottom: 1px solid var(--border);
  margin-bottom: 1.5rem;
}

.admin-nav-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem 1.75rem;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-muted);
  cursor: none;
  transition: var(--transition-fast);
  border-left: 2px solid transparent;
}

.admin-nav-item:hover,
.admin-nav-item.active {
  color: var(--gold);
  border-left-color: var(--gold);
  background: rgba(201,168,76,0.05);
}
.admin-nav-item svg { width: 16px; fill: currentColor; }

.admin-main {
  padding: 2.5rem 3rem;
  overflow-y: auto;
}

.admin-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 2.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--border);
}

.admin-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 1.75rem;
  margin-bottom: 1.5rem;
}

.admin-card h3 {
  font-size: 1.2rem;
  margin-bottom: 1.25rem;
  color: var(--text-primary);
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.admin-card h3 svg { width: 18px; fill: var(--gold); }

/* Upload Zone */
.upload-zone {
  border: 2px dashed var(--border);
  border-radius: var(--radius-md);
  padding: 3rem;
  text-align: center;
  cursor: none;
  transition: var(--transition);
}
.upload-zone:hover,
.upload-zone.dragover {
  border-color: var(--gold);
  background: rgba(201,168,76,0.04);
}
.upload-zone svg { width: 40px; fill: var(--text-muted); margin-bottom: 1rem; }
.upload-zone p { margin-bottom: 1rem; }

/* Admin form elements */
.admin-input {
  width: 100%;
  background: var(--bg-surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 0.75rem 1rem;
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: 0.82rem;
  outline: none;
  transition: var(--transition-fast);
  margin-bottom: 0.75rem;
}
.admin-input:focus {
  border-color: var(--gold-dim);
  box-shadow: 0 0 0 3px rgba(201,168,76,0.08);
}

.admin-label {
  display: block;
  font-size: 0.65rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 0.35rem;
}

.admin-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

/* Color swatch picker */
.color-swatch-grid {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-top: 0.5rem;
}
.color-swatch {
  width: 36px; height: 36px;
  border-radius: 50%;
  cursor: none;
  border: 2px solid transparent;
  transition: var(--transition-fast);
}
.color-swatch.active,
.color-swatch:hover {
  border-color: var(--text-primary);
  transform: scale(1.15);
}

/* Toggle switch */
.toggle-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--border);
}
.toggle-row:last-child { border-bottom: none; }
.toggle-label { font-size: 0.8rem; color: var(--text-secondary); }

.toggle {
  position: relative;
  width: 44px; height: 24px;
}
.toggle input { display: none; }
.toggle-slider {
  position: absolute;
  inset: 0;
  background: var(--bg-elevated);
  border-radius: 12px;
  cursor: none;
  transition: background 0.3s;
  border: 1px solid var(--border);
}
.toggle-slider::before {
  content: '';
  position: absolute;
  width: 16px; height: 16px;
  background: var(--text-muted);
  border-radius: 50%;
  top: 3px; left: 3px;
  transition: transform 0.3s, background 0.3s;
}
.toggle input:checked + .toggle-slider { background: rgba(201,168,76,0.2); border-color: var(--gold-dim); }
.toggle input:checked + .toggle-slider::before {
  transform: translateX(20px);
  background: var(--gold);
}

/* Stats row */
.stats-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-bottom: 2rem;
}
.stat-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 1.25rem 1.5rem;
}
.stat-val {
  font-family: var(--font-display);
  font-size: 2.2rem;
  font-weight: 300;
  color: var(--gold);
  line-height: 1;
  margin-bottom: 0.25rem;
}
.stat-label {
  font-size: 0.65rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-muted);
}

/* Video list table */
.video-table {
  width: 100%;
  border-collapse: collapse;
}
.video-table th {
  font-size: 0.62rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--text-muted);
  padding: 0.75rem 1rem;
  text-align: left;
  border-bottom: 1px solid var(--border);
}
.video-table td {
  padding: 0.9rem 1rem;
  font-size: 0.82rem;
  color: var(--text-secondary);
  border-bottom: 1px solid rgba(255,255,255,0.03);
  vertical-align: middle;
}
.video-table tr:hover td { background: rgba(255,255,255,0.02); }
.video-table .thumb {
  width: 48px; height: 34px;
  object-fit: cover;
  border-radius: 4px;
  background: var(--bg-elevated);
}

/* Admin Login Screen */
.admin-login-screen {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(ellipse at 40% 40%, rgba(107,63,160,0.15) 0%, transparent 60%),
              radial-gradient(ellipse at 70% 70%, rgba(201,168,76,0.06) 0%, transparent 50%),
              var(--bg-void);
}

.admin-login-box {
  width: 100%;
  max-width: 400px;
  padding: 3rem;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--glow-violet);
}

/* ── Footer ─────────────────────────────────────────────────── */
footer {
  border-top: 1px solid var(--border);
  padding: 3rem 4rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}
.footer-logo {
  font-family: var(--font-display);
  font-size: 1.4rem;
  background: linear-gradient(135deg, var(--gold), var(--gold-light));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
footer p {
  font-size: 0.7rem;
  color: var(--text-muted);
  letter-spacing: 0.08em;
}
.footer-links {
  display: flex;
  gap: 1.5rem;
  list-style: none;
}
.footer-links a {
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
  transition: color 0.2s;
}
.footer-links a:hover { color: var(--gold); }

/* Age Gate */
.age-gate {
  position: fixed;
  inset: 0;
  z-index: 99995;
  background: var(--bg-void);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 0;
}
.age-gate-box {
  text-align: center;
  max-width: 460px;
  padding: 3.5rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--bg-card);
}
.age-gate-box h2 { margin-bottom: 0.5rem; }
.age-gate-box p { margin-bottom: 2rem; }
.age-gate-actions { display: flex; gap: 1rem; justify-content: center; }

/* ── Animations ─────────────────────────────────────────────── */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes scrollPulse {
  0%, 100% { opacity: 0.3; transform: scaleY(1); }
  50%       { opacity: 1;   transform: scaleY(1.15); }
}
@keyframes shimmer {
  from { background-position: -400px 0; }
  to   { background-position: 400px 0; }
}
@keyframes spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Skeleton loader */
.skeleton {
  background: linear-gradient(90deg, var(--bg-card) 25%, var(--bg-surface) 50%, var(--bg-card) 75%);
  background-size: 400px 100%;
  animation: shimmer 1.5s infinite;
}

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .section { padding: 5rem 2.5rem; }
  .navbar { padding: 1.25rem 2.5rem; }
  footer { padding: 2rem 2.5rem; }
  .admin-layout { grid-template-columns: 220px 1fr; }
  .stats-row { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  .navbar { padding: 1rem 1.5rem; }
  .navbar.scrolled { padding: 0.75rem 1.5rem; }

  .nav-links {
    position: fixed;
    top: 0; right: -100%;
    height: 100vh;
    width: 260px;
    background: var(--bg-deep);
    border-left: 1px solid var(--border);
    flex-direction: column;
    justify-content: center;
    gap: 2rem;
    padding: 2rem;
    transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 999;
  }
  .nav-links.open { right: 0; }
  .nav-links a { font-size: 0.85rem; }
  .burger { display: flex; }

  .section { padding: 4rem 1.5rem; }
  .gallery-grid { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1rem; }

  .admin-layout { grid-template-columns: 1fr; }
  .admin-sidebar { display: none; }
  .admin-main { padding: 1.5rem; }
  .stats-row { grid-template-columns: repeat(2, 1fr); }
  .admin-grid-2 { grid-template-columns: 1fr; }

  footer { flex-direction: column; text-align: center; }
  .footer-links { justify-content: center; }
}

@media (max-width: 480px) {
  .gallery-grid { grid-template-columns: 1fr 1fr; }
  .stats-row { grid-template-columns: 1fr 1fr; }
  .hero-actions { flex-direction: column; align-items: center; }
}

/* ── Scrollbar ──────────────────────────────────────────────── */
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: var(--bg-void); }
::-webkit-scrollbar-thumb { background: var(--gold-dim); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--gold); }

/* ── Selection ──────────────────────────────────────────────── */
::selection {
  background: rgba(201,168,76,0.25);
  color: var(--text-primary);
}
