/* ==========================================================================
   Youth Senior High School - 2027 Admission Site
   Live Theme Color Palettes (即時配色方案切換器樣式)
   4 Distinct Visual Identity Schemes:
   - Theme A (Default): 經典深藍與金黃 (Classic Navy & Royal Gold)
   - Theme B: 朝氣璀璨橘與湛藍 (Youth Azure & Vibrant Orange)
   - Theme C: 翡翠森綠與薄荷青 (Emerald Hope & Mint Green)
   - Theme D: 星辰靛紫與玫瑰曜 (Modern Indigo & Rose Violet)
   ========================================================================== */

/* --------------------------------------------------------------------------
   THEME SWITCHER FLOATING WIDGET STYLES
   -------------------------------------------------------------------------- */
#themeSwitcherContainer {
  font-family: 'Inter', 'Noto Sans TC', system-ui, sans-serif;
  user-select: none;
}

.theme-pill-btn {
  box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.25), 0 8px 10px -6px rgba(15, 23, 42, 0.2);
}

.theme-card-option {
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.theme-card-option:hover {
  transform: translateY(-2px);
}

.theme-card-option.is-active {
  border-color: #2563eb;
  background-color: #f8faff;
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.15);
}

[data-theme="theme-b"] .theme-card-option.is-active {
  border-color: #ea580c;
  background-color: #fff7ed;
  box-shadow: 0 4px 12px rgba(234, 88, 12, 0.15);
}

[data-theme="theme-c"] .theme-card-option.is-active {
  border-color: #059669;
  background-color: #ecfdf5;
  box-shadow: 0 4px 12px rgba(5, 150, 105, 0.15);
}

[data-theme="theme-d"] .theme-card-option.is-active {
  border-color: #e11d48;
  background-color: #fff1f2;
  box-shadow: 0 4px 12px rgba(225, 29, 72, 0.15);
}

/* ==========================================================================
   方案 B: 朝氣璀璨橘與湛藍 (Theme B: Youth Azure & Vibrant Orange)
   充滿陽光、朝氣、高親和力，適合年輕學子
   ========================================================================== */
[data-theme="theme-b"] {
  --primary: #0284c7;
  --primary-dark: #075985;
  --primary-deep: #0c4a6e;
  --accent: #f97316;
  --accent-hover: #ea580c;
}

/* Background Gradients */
[data-theme="theme-b"] .hero-gradient {
  background: linear-gradient(135deg, #082f49 0%, #0369a1 50%, #075985 100%) !important;
}

[data-theme="theme-b"] #topAnnouncementBar {
  background: linear-gradient(to right, #075985, #0284c7, #075985) !important;
  border-color: #0369a1 !important;
}

[data-theme="theme-b"] #calculator {
  background: linear-gradient(to bottom, #082f49 0%, #0c4a6e 100%) !important;
}

[data-theme="theme-b"] #contact .bg-blue-900 {
  background-color: #0c4a6e !important;
}

[data-theme="theme-b"] #contact .border-blue-800 {
  border-color: #0369a1 !important;
}

[data-theme="theme-b"] #contact .text-blue-100 {
  color: #e0f2fe !important;
}

[data-theme="theme-b"] #contact .text-blue-200 {
  color: #bae6fd !important;
}

/* Accent Gradients & Text */
[data-theme="theme-b"] .gold-gradient-text {
  background: linear-gradient(135deg, #fed7aa 0%, #fb923c 50%, #ea580c 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

/* Buttons and Accents */
[data-theme="theme-b"] .bg-amber-400 {
  background-color: #f97316 !important;
  color: #ffffff !important;
}

[data-theme="theme-b"] .bg-amber-500 {
  background-color: #ea580c !important;
  color: #ffffff !important;
}

[data-theme="theme-b"] .bg-amber-600 {
  background-color: #c2410c !important;
  color: #ffffff !important;
}

[data-theme="theme-b"] .hover\:bg-amber-300:hover {
  background-color: #fb923c !important;
}

[data-theme="theme-b"] .hover\:bg-amber-600:hover {
  background-color: #9a3412 !important;
}

[data-theme="theme-b"] .text-amber-300 {
  color: #fdba74 !important;
}

[data-theme="theme-b"] .text-amber-400 {
  color: #fb923c !important;
}

[data-theme="theme-b"] .text-amber-500 {
  color: #f97316 !important;
}

[data-theme="theme-b"] .text-amber-600 {
  color: #ea580c !important;
}

[data-theme="theme-b"] .text-amber-700 {
  color: #c2410c !important;
}

[data-theme="theme-b"] .bg-amber-50 {
  background-color: #fff7ed !important;
}

[data-theme="theme-b"] .bg-amber-100 {
  background-color: #ffedd5 !important;
}

[data-theme="theme-b"] .border-amber-200 {
  border-color: #fed7aa !important;
}

[data-theme="theme-b"] .border-amber-400\/60 {
  border-color: rgba(249, 115, 22, 0.6) !important;
}

[data-theme="theme-b"] .border-amber-400\/30 {
  border-color: rgba(249, 115, 22, 0.3) !important;
}

[data-theme="theme-b"] .from-amber-500 {
  --tw-gradient-from: #f97316 var(--tw-gradient-from-position) !important;
}

[data-theme="theme-b"] .to-amber-600 {
  --tw-gradient-to: #ea580c var(--tw-gradient-to-position) !important;
}

[data-theme="theme-b"] .from-amber-500\/20 {
  --tw-gradient-from: rgba(249, 115, 22, 0.2) var(--tw-gradient-from-position) !important;
}

[data-theme="theme-b"] .via-amber-400\/30 {
  --tw-gradient-stops: var(--tw-gradient-from), rgba(251, 146, 60, 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to) !important;
}

[data-theme="theme-b"] .to-amber-500\/20 {
  --tw-gradient-to: rgba(249, 115, 22, 0.2) var(--tw-gradient-to-position) !important;
}

/* Primary Navy/Blue Overrides to Ocean Azure */
[data-theme="theme-b"] .bg-blue-900 {
  background-color: #0c4a6e !important;
}

[data-theme="theme-b"] .hover\:bg-blue-800:hover {
  background-color: #075985 !important;
}

[data-theme="theme-b"] .bg-blue-700 {
  background-color: #0284c7 !important;
}

[data-theme="theme-b"] .hover\:bg-blue-700:hover {
  background-color: #0369a1 !important;
}

[data-theme="theme-b"] .bg-blue-600 {
  background-color: #0284c7 !important;
}

[data-theme="theme-b"] .text-blue-950 {
  color: #082f49 !important;
}

[data-theme="theme-b"] .text-blue-900 {
  color: #0c4a6e !important;
}

[data-theme="theme-b"] .text-blue-700 {
  color: #0284c7 !important;
}

[data-theme="theme-b"] .text-blue-600 {
  color: #0284c7 !important;
}

[data-theme="theme-b"] .hover\:text-blue-700:hover {
  color: #0284c7 !important;
}

[data-theme="theme-b"] .bg-blue-50 {
  background-color: #f0f9ff !important;
}

[data-theme="theme-b"] .bg-blue-100 {
  background-color: #e0f2fe !important;
}

[data-theme="theme-b"] .border-blue-200 {
  border-color: #bae6fd !important;
}

[data-theme="theme-b"] .border-blue-300 {
  border-color: #7dd3fc !important;
}

[data-theme="theme-b"] .border-blue-600 {
  border-color: #0284c7 !important;
}

[data-theme="theme-b"] .dept-tab.active {
  background-color: #0284c7 !important;
  border-color: #0284c7 !important;
  box-shadow: 0 4px 14px rgba(2, 132, 199, 0.35) !important;
}

/* Gradients in TOCFL & System Stage */
[data-theme="theme-b"] .from-blue-900 {
  --tw-gradient-from: #0c4a6e var(--tw-gradient-from-position) !important;
}

[data-theme="theme-b"] .to-indigo-900 {
  --tw-gradient-to: #0369a1 var(--tw-gradient-to-position) !important;
}

[data-theme="theme-b"] .from-blue-50 {
  --tw-gradient-from: #f0f9ff var(--tw-gradient-from-position) !important;
}

[data-theme="theme-b"] .to-indigo-50\/50 {
  --tw-gradient-to: rgba(224, 242, 254, 0.5) var(--tw-gradient-to-position) !important;
}

/* Glow animation */
@keyframes pulse-glow-theme-b {
  0%, 100% {
    box-shadow: 0 0 15px rgba(249, 115, 22, 0.45);
  }
  50% {
    box-shadow: 0 0 25px rgba(249, 115, 22, 0.85);
  }
}

[data-theme="theme-b"] .pulse-glow {
  animation: pulse-glow-theme-b 2.5s infinite !important;
}

[data-theme="theme-b"] ::selection {
  background-color: #f97316 !important;
  color: #ffffff !important;
}

/* ==========================================================================
   方案 C: 翡翠森綠與薄荷青 (Theme C: Emerald Hope & Mint Green)
   象徵希望、安心、茁壯、永續培育，營造舒適信任感
   ========================================================================== */
[data-theme="theme-c"] {
  --primary: #059669;
  --primary-dark: #047857;
  --primary-deep: #064e3b;
  --accent: #10b981;
  --accent-hover: #059669;
}

/* Background Gradients */
[data-theme="theme-c"] .hero-gradient {
  background: linear-gradient(135deg, #022c22 0%, #064e3b 50%, #065f46 100%) !important;
}

[data-theme="theme-c"] #topAnnouncementBar {
  background: linear-gradient(to right, #064e3b, #047857, #064e3b) !important;
  border-color: #059669 !important;
}

[data-theme="theme-c"] #calculator {
  background: linear-gradient(to bottom, #022c22 0%, #064e3b 100%) !important;
}

[data-theme="theme-c"] #contact .bg-blue-900 {
  background-color: #064e3b !important;
}

[data-theme="theme-c"] #contact .border-blue-800 {
  border-color: #047857 !important;
}

[data-theme="theme-c"] #contact .text-blue-100 {
  color: #d1fae5 !important;
}

[data-theme="theme-c"] #contact .text-blue-200 {
  color: #a7f3d0 !important;
}

/* Accent Gradients & Text */
[data-theme="theme-c"] .gold-gradient-text {
  background: linear-gradient(135deg, #a7f3d0 0%, #34d399 50%, #10b981 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

/* Buttons and Accents */
[data-theme="theme-c"] .bg-amber-400 {
  background-color: #10b981 !important;
  color: #ffffff !important;
}

[data-theme="theme-c"] .bg-amber-500 {
  background-color: #059669 !important;
  color: #ffffff !important;
}

[data-theme="theme-c"] .bg-amber-600 {
  background-color: #047857 !important;
  color: #ffffff !important;
}

[data-theme="theme-c"] .hover\:bg-amber-300:hover {
  background-color: #34d399 !important;
}

[data-theme="theme-c"] .hover\:bg-amber-600:hover {
  background-color: #065f46 !important;
}

[data-theme="theme-c"] .text-amber-300 {
  color: #6ee7b7 !important;
}

[data-theme="theme-c"] .text-amber-400 {
  color: #34d399 !important;
}

[data-theme="theme-c"] .text-amber-500 {
  color: #10b981 !important;
}

[data-theme="theme-c"] .text-amber-600 {
  color: #059669 !important;
}

[data-theme="theme-c"] .text-amber-700 {
  color: #047857 !important;
}

[data-theme="theme-c"] .bg-amber-50 {
  background-color: #ecfdf5 !important;
}

[data-theme="theme-c"] .bg-amber-100 {
  background-color: #d1fae5 !important;
}

[data-theme="theme-c"] .border-amber-200 {
  border-color: #a7f3d0 !important;
}

[data-theme="theme-c"] .border-amber-400\/60 {
  border-color: rgba(16, 185, 129, 0.6) !important;
}

[data-theme="theme-c"] .border-amber-400\/30 {
  border-color: rgba(16, 185, 129, 0.3) !important;
}

[data-theme="theme-c"] .from-amber-500 {
  --tw-gradient-from: #10b981 var(--tw-gradient-from-position) !important;
}

[data-theme="theme-c"] .to-amber-600 {
  --tw-gradient-to: #059669 var(--tw-gradient-to-position) !important;
}

[data-theme="theme-c"] .from-amber-500\/20 {
  --tw-gradient-from: rgba(16, 185, 129, 0.2) var(--tw-gradient-from-position) !important;
}

[data-theme="theme-c"] .via-amber-400\/30 {
  --tw-gradient-stops: var(--tw-gradient-from), rgba(52, 211, 153, 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to) !important;
}

[data-theme="theme-c"] .to-amber-500\/20 {
  --tw-gradient-to: rgba(16, 185, 129, 0.2) var(--tw-gradient-to-position) !important;
}

/* Primary Overrides to Forest Green */
[data-theme="theme-c"] .bg-blue-900 {
  background-color: #064e3b !important;
}

[data-theme="theme-c"] .hover\:bg-blue-800:hover {
  background-color: #047857 !important;
}

[data-theme="theme-c"] .bg-blue-700 {
  background-color: #059669 !important;
}

[data-theme="theme-c"] .hover\:bg-blue-700:hover {
  background-color: #047857 !important;
}

[data-theme="theme-c"] .bg-blue-600 {
  background-color: #059669 !important;
}

[data-theme="theme-c"] .text-blue-950 {
  color: #022c22 !important;
}

[data-theme="theme-c"] .text-blue-900 {
  color: #064e3b !important;
}

[data-theme="theme-c"] .text-blue-700 {
  color: #059669 !important;
}

[data-theme="theme-c"] .text-blue-600 {
  color: #059669 !important;
}

[data-theme="theme-c"] .hover\:text-blue-700:hover {
  color: #059669 !important;
}

[data-theme="theme-c"] .bg-blue-50 {
  background-color: #ecfdf5 !important;
}

[data-theme="theme-c"] .bg-blue-100 {
  background-color: #d1fae5 !important;
}

[data-theme="theme-c"] .border-blue-200 {
  border-color: #a7f3d0 !important;
}

[data-theme="theme-c"] .border-blue-300 {
  border-color: #6ee7b7 !important;
}

[data-theme="theme-c"] .border-blue-600 {
  border-color: #059669 !important;
}

[data-theme="theme-c"] .dept-tab.active {
  background-color: #047857 !important;
  border-color: #047857 !important;
  box-shadow: 0 4px 14px rgba(4, 120, 87, 0.35) !important;
}

/* Gradients in TOCFL & System Stage */
[data-theme="theme-c"] .from-blue-900 {
  --tw-gradient-from: #064e3b var(--tw-gradient-from-position) !important;
}

[data-theme="theme-c"] .to-indigo-900 {
  --tw-gradient-to: #047857 var(--tw-gradient-to-position) !important;
}

[data-theme="theme-c"] .from-blue-50 {
  --tw-gradient-from: #ecfdf5 var(--tw-gradient-from-position) !important;
}

[data-theme="theme-c"] .to-indigo-50\/50 {
  --tw-gradient-to: rgba(209, 250, 229, 0.5) var(--tw-gradient-to-position) !important;
}

/* Glow animation */
@keyframes pulse-glow-theme-c {
  0%, 100% {
    box-shadow: 0 0 15px rgba(16, 185, 129, 0.45);
  }
  50% {
    box-shadow: 0 0 25px rgba(16, 185, 129, 0.85);
  }
}

[data-theme="theme-c"] .pulse-glow {
  animation: pulse-glow-theme-c 2.5s infinite !important;
}

[data-theme="theme-c"] ::selection {
  background-color: #10b981 !important;
  color: #ffffff !important;
}

/* ==========================================================================
   方案 D: 星辰靛紫與玫瑰曜 (Theme D: Modern Indigo & Rose Violet)
   現代前衛科技、時尚質感、創新俐落
   ========================================================================== */
[data-theme="theme-d"] {
  --primary: #4f46e5;
  --primary-dark: #3730a3;
  --primary-deep: #1e1b4b;
  --accent: #f43f5e;
  --accent-hover: #e11d48;
}

/* Background Gradients */
[data-theme="theme-d"] .hero-gradient {
  background: linear-gradient(135deg, #0f0d24 0%, #1e1b4b 50%, #312e81 100%) !important;
}

[data-theme="theme-d"] #topAnnouncementBar {
  background: linear-gradient(to right, #1e1b4b, #312e81, #1e1b4b) !important;
  border-color: #4338ca !important;
}

[data-theme="theme-d"] #calculator {
  background: linear-gradient(to bottom, #0f0d24 0%, #1e1b4b 100%) !important;
}

[data-theme="theme-d"] #contact .bg-blue-900 {
  background-color: #1e1b4b !important;
}

[data-theme="theme-d"] #contact .border-blue-800 {
  border-color: #312e81 !important;
}

[data-theme="theme-d"] #contact .text-blue-100 {
  color: #e0e7ff !important;
}

[data-theme="theme-d"] #contact .text-blue-200 {
  color: #c7d2fe !important;
}

/* Accent Gradients & Text */
[data-theme="theme-d"] .gold-gradient-text {
  background: linear-gradient(135deg, #fbcfe8 0%, #f43f5e 50%, #e11d48 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

/* Buttons and Accents */
[data-theme="theme-d"] .bg-amber-400 {
  background-color: #f43f5e !important;
  color: #ffffff !important;
}

[data-theme="theme-d"] .bg-amber-500 {
  background-color: #e11d48 !important;
  color: #ffffff !important;
}

[data-theme="theme-d"] .bg-amber-600 {
  background-color: #be123c !important;
  color: #ffffff !important;
}

[data-theme="theme-d"] .hover\:bg-amber-300:hover {
  background-color: #fb7185 !important;
}

[data-theme="theme-d"] .hover\:bg-amber-600:hover {
  background-color: #9f1239 !important;
}

[data-theme="theme-d"] .text-amber-300 {
  color: #fecdd3 !important;
}

[data-theme="theme-d"] .text-amber-400 {
  color: #fb7185 !important;
}

[data-theme="theme-d"] .text-amber-500 {
  color: #f43f5e !important;
}

[data-theme="theme-d"] .text-amber-600 {
  color: #e11d48 !important;
}

[data-theme="theme-d"] .text-amber-700 {
  color: #be123c !important;
}

[data-theme="theme-d"] .bg-amber-50 {
  background-color: #fff1f2 !important;
}

[data-theme="theme-d"] .bg-amber-100 {
  background-color: #ffe4e6 !important;
}

[data-theme="theme-d"] .border-amber-200 {
  border-color: #fecdd3 !important;
}

[data-theme="theme-d"] .border-amber-400\/60 {
  border-color: rgba(244, 63, 94, 0.6) !important;
}

[data-theme="theme-d"] .border-amber-400\/30 {
  border-color: rgba(244, 63, 94, 0.3) !important;
}

[data-theme="theme-d"] .from-amber-500 {
  --tw-gradient-from: #f43f5e var(--tw-gradient-from-position) !important;
}

[data-theme="theme-d"] .to-amber-600 {
  --tw-gradient-to: #e11d48 var(--tw-gradient-to-position) !important;
}

[data-theme="theme-d"] .from-amber-500\/20 {
  --tw-gradient-from: rgba(244, 63, 94, 0.2) var(--tw-gradient-from-position) !important;
}

[data-theme="theme-d"] .via-amber-400\/30 {
  --tw-gradient-stops: var(--tw-gradient-from), rgba(251, 113, 133, 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to) !important;
}

[data-theme="theme-d"] .to-amber-500\/20 {
  --tw-gradient-to: rgba(244, 63, 94, 0.2) var(--tw-gradient-to-position) !important;
}

/* Primary Overrides to Deep Indigo */
[data-theme="theme-d"] .bg-blue-900 {
  background-color: #1e1b4b !important;
}

[data-theme="theme-d"] .hover\:bg-blue-800:hover {
  background-color: #312e81 !important;
}

[data-theme="theme-d"] .bg-blue-700 {
  background-color: #4338ca !important;
}

[data-theme="theme-d"] .hover\:bg-blue-700:hover {
  background-color: #3730a3 !important;
}

[data-theme="theme-d"] .bg-blue-600 {
  background-color: #4f46e5 !important;
}

[data-theme="theme-d"] .text-blue-950 {
  color: #0f0d24 !important;
}

[data-theme="theme-d"] .text-blue-900 {
  color: #1e1b4b !important;
}

[data-theme="theme-d"] .text-blue-700 {
  color: #4338ca !important;
}

[data-theme="theme-d"] .text-blue-600 {
  color: #4f46e5 !important;
}

[data-theme="theme-d"] .hover\:text-blue-700:hover {
  color: #4338ca !important;
}

[data-theme="theme-d"] .bg-blue-50 {
  background-color: #eef2ff !important;
}

[data-theme="theme-d"] .bg-blue-100 {
  background-color: #e0e7ff !important;
}

[data-theme="theme-d"] .border-blue-200 {
  border-color: #c7d2fe !important;
}

[data-theme="theme-d"] .border-blue-300 {
  border-color: #a5b4fc !important;
}

[data-theme="theme-d"] .border-blue-600 {
  border-color: #4f46e5 !important;
}

[data-theme="theme-d"] .dept-tab.active {
  background-color: #312e81 !important;
  border-color: #312e81 !important;
  box-shadow: 0 4px 14px rgba(49, 46, 129, 0.35) !important;
}

/* Gradients in TOCFL & System Stage */
[data-theme="theme-d"] .from-blue-900 {
  --tw-gradient-from: #1e1b4b var(--tw-gradient-from-position) !important;
}

[data-theme="theme-d"] .to-indigo-900 {
  --tw-gradient-to: #312e81 var(--tw-gradient-to-position) !important;
}

[data-theme="theme-d"] .from-blue-50 {
  --tw-gradient-from: #eef2ff var(--tw-gradient-from-position) !important;
}

[data-theme="theme-d"] .to-indigo-50\/50 {
  --tw-gradient-to: rgba(224, 231, 255, 0.5) var(--tw-gradient-to-position) !important;
}

/* Glow animation */
@keyframes pulse-glow-theme-d {
  0%, 100% {
    box-shadow: 0 0 15px rgba(244, 63, 94, 0.45);
  }
  50% {
    box-shadow: 0 0 25px rgba(244, 63, 94, 0.85);
  }
}

[data-theme="theme-d"] .pulse-glow {
  animation: pulse-glow-theme-d 2.5s infinite !important;
}

[data-theme="theme-d"] ::selection {
  background-color: #f43f5e !important;
  color: #ffffff !important;
}
