/* ============================================================
   四季户外主题 — CSS 变量体系
   新组件请使用 tailwind.config.js 中的 th-* 颜色类
   旧组件兼容层逐步迁移后可删除
   ============================================================ */

:root,
[data-theme="winter"] {
  --bg-primary: #020617;
  --bg-card: #0f172a;
  --bg-card-alt: #1e293b;
  --bg-nav: hsl(150 60% 12%);
  --border-card: #1e293b;
  --border-subtle: #334155;
  --text-primary: #ffffff;
  --text-secondary: #e2e8f0;
  --text-muted: #94a3b8;
  --text-dim: #64748b;
  --accent: #f59e0b;
  --accent-light: #fbbf24;
  --accent-bg: rgba(245, 158, 11, 0.1);
  --accent-border: rgba(245, 158, 11, 0.3);
  --success: #10b981;
  --danger: #ef4444;
  --info: #3b82f6;
  --divider: #1e293b;
  --nav-active: #f59e0b;
  --nav-inactive: rgba(255,255,255,0.6);
  --nav-border: rgba(255,255,255,0.1);
}

[data-theme="spring"] {
  --bg-primary: #fff0f5;
  --bg-card: #ffe4ee;
  --bg-card-alt: #ffd6e7;
  --bg-nav: hsl(340 60% 93%);
  --border-card: #f8bbd0;
  --border-subtle: #f48fb1;
  --text-primary: #2d2d2d;
  --text-secondary: #555555;
  --text-muted: #888888;
  --text-dim: #bbbbbb;
  --accent: #e91e73;
  --accent-light: #f06292;
  --accent-bg: rgba(233, 30, 115, 0.08);
  --accent-border: rgba(233, 30, 115, 0.2);
  --success: #66bb6a;
  --danger: #ef5350;
  --info: #42a5f5;
  --divider: #f8bbd0;
  --nav-active: #e91e73;
  --nav-inactive: #c48a9f;
  --nav-border: rgba(233, 30, 115, 0.15);
}

[data-theme="summer"] {
  --bg-primary: #ffffff;
  --bg-card: #f0fdf4;
  --bg-card-alt: #dcfce7;
  --bg-nav: hsl(140 50% 94%);
  --border-card: #bbf7d0;
  --border-subtle: #86efac;
  --text-primary: #2d2d2d;
  --text-secondary: #555555;
  --text-muted: #888888;
  --text-dim: #bbbbbb;
  --accent: #16a34a;
  --accent-light: #22c55e;
  --accent-bg: rgba(22, 163, 74, 0.08);
  --accent-border: rgba(22, 163, 74, 0.2);
  --success: #66bb6a;
  --danger: #ef5350;
  --info: #42a5f5;
  --divider: #bbf7d0;
  --nav-active: #16a34a;
  --nav-inactive: rgba(30,80,50,0.55);
  --nav-border: rgba(22,163,74,0.15);
}

[data-theme="autumn"] {
  --bg-primary: #ffffff;
  --bg-card: #fff5f5;
  --bg-card-alt: #ffe0e0;
  --bg-nav: hsl(0 60% 95%);
  --border-card: #fecaca;
  --border-subtle: #f87171;
  --text-primary: #2d2d2d;
  --text-secondary: #555555;
  --text-muted: #888888;
  --text-dim: #bbbbbb;
  --accent: #dc2626;
  --accent-light: #ef4444;
  --accent-bg: rgba(220, 38, 38, 0.08);
  --accent-border: rgba(220, 38, 38, 0.2);
  --success: #66bb6a;
  --danger: #ef5350;
  --info: #42a5f5;
  --divider: #fecaca;
  --nav-active: #dc2626;
  --nav-inactive: rgba(80,30,30,0.55);
  --nav-border: rgba(220,38,38,0.15);
}

/* ============================================================
   全局基础样式
   ============================================================ */

[data-theme] body {
  background: var(--bg-primary);
  color: var(--text-primary);
}

/* ============================================================
   旧组件兼容层（逐步迁移到 th-* 类后删除此段）
   ============================================================ */

[data-theme] .bg-slate-950 { background-color: var(--bg-primary); }
[data-theme] .bg-slate-900 { background-color: var(--bg-card); }
[data-theme] .bg-slate-800 { background-color: var(--bg-card-alt); }
[data-theme] .bg-slate-700 { background-color: var(--border-subtle); }
[data-theme] .bg-slate-600 { background-color: var(--border-subtle); }

[data-theme] .border-slate-800 { border-color: var(--border-card); }
[data-theme] .border-slate-700 { border-color: var(--border-subtle); }

[data-theme] .text-white { color: var(--text-primary); }
[data-theme] .text-slate-300 { color: var(--text-secondary); }
[data-theme] .text-slate-400 { color: var(--text-muted); }
[data-theme] .text-slate-500 { color: var(--text-dim); }

[data-theme] .text-amber-400,
[data-theme] .text-amber-500 { color: var(--accent); }
[data-theme] .bg-amber-400,
[data-theme] .bg-amber-500 { background-color: var(--accent); }
[data-theme] .bg-amber-500\/10,
[data-theme] .bg-amber-900\/20 { background-color: var(--accent-bg); }
[data-theme] .border-amber-500 { border-color: var(--accent); }
[data-theme] .border-amber-500\/30 { border-color: var(--accent-border); }
[data-theme] .border-l-4 { border-left-color: var(--accent); }

[data-theme] .text-emerald-400,
[data-theme] .text-emerald-500 { color: var(--success); }
[data-theme] .bg-emerald-500,
[data-theme] .bg-emerald-600 { background-color: var(--success); }
[data-theme] .text-red-400,
[data-theme] .text-red-500 { color: var(--danger); }
[data-theme] .text-blue-400,
[data-theme] .text-blue-600 { color: var(--info); }
[data-theme] .bg-blue-600 { background-color: var(--info); }
[data-theme] .bg-pink-500 { background-color: var(--danger); }

[data-theme] nav.fixed { background: var(--bg-nav); border-color: var(--nav-border); }
[data-theme] nav .text-white\/60 { color: var(--nav-inactive); }
[data-theme] nav .text-white\/80 { color: var(--nav-inactive); }
[data-theme] nav .text-white\/90 { color: var(--nav-inactive); }

[data-theme] .bg-black\/80 { background-color: color-mix(in srgb, var(--bg-primary) 80%, transparent); }
[data-theme] .bg-black\/50 { background-color: color-mix(in srgb, var(--bg-primary) 50%, transparent); }

[data-theme] .text-slate-900 { color: var(--bg-primary); }

[data-theme] .from-transparent { --tw-gradient-from: transparent var(--tw-gradient-from-position); }
[data-theme] .via-slate-950\/30 { --tw-gradient-to: rgb(2 6 23 / 0) var(--tw-gradient-to-position); }
[data-theme] .to-slate-950 { --tw-gradient-to: var(--bg-primary) var(--tw-gradient-to-position); }

[data-theme] .placeholder\:text-slate-500::placeholder { color: var(--text-dim); }

/* ============================================================
   主题特有样式
   ============================================================ */

[data-theme="spring"] .search-input-box { background-color: #fef1f7; }
[data-theme="spring"] .search-pink-btn { background-color: #f48fb1; }
[data-theme="spring"] .card-tag-pink { background-color: #f48fb1; color: #333333; }
[data-theme="autumn"] .card-tag-pink { background-color: #f9a8d4; color: #333333; }

/* Schedule page double frame */
.schedule-frame { position: relative; }
.schedule-frame::before,
.schedule-frame::after {
  content: '';
  position: fixed;
  left: 0; right: 0;
  pointer-events: none;
  z-index: 0;
}
.schedule-frame::before {
  top: 0; bottom: 64px;
  border: 3px solid var(--border-card, #f8bbd0);
}
.schedule-frame::after {
  top: 5px; bottom: 69px; left: 5px; right: 5px;
  border: 1.5px solid var(--border-subtle, #f48fb1);
  border-radius: 12px;
}

/* Booking page double frame */
.booking-frame { position: relative; }
.booking-frame::before,
.booking-frame::after {
  content: '';
  position: fixed;
  left: 0; right: 0;
  pointer-events: none;
  z-index: 0;
}
.booking-frame::before {
  top: 0; bottom: 64px;
  border: 3px solid var(--border-card, #f8bbd0);
}
.booking-frame::after {
  top: 5px; bottom: 69px; left: 5px; right: 5px;
  border: 1.5px solid var(--border-subtle, #f48fb1);
  border-radius: 12px;
}
