/* =========================
   GLOBAL THEME SYSTEM 
========================= */

:root {
  /* Common Variables */
  --neon-green: #f97316;
  --neon-emerald: #10b981;
  --transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  --brand-orange: #f97316;
  --brand-orange-hover: #ea580c;
  --brand-orange-dark: #c2410c;
  --brand-orange-glow: rgba(249, 115, 22, 0.35);
}

/* LIGHT THEME (White + Orange) — DEFAULT for all pages */
:root,
[data-theme='light-theme'],
:root:not([data-theme='dark-theme']) {
  --bg: #f8fafc;
  --dark-bg: #f8fafc;
  /* Override hardcoded --dark-bg used in HTML pages */
  --text: #000000;
  --text-muted: #1e293b;
  --card: #fff7ed;
  --card-bg: #ffffff;
  /* Override hardcoded --card-bg used in HTML pages */
  --border: rgba(249, 115, 22, 0.22);
  --input: #fff7ed;
  --primary: var(--brand-orange);
  --primary-glow: rgba(249, 115, 22, 0.18);
  --shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
  --switch-bg: #fed7aa;
  --switch-border: rgba(0, 0, 0, 0.05);
  --knob-bg: #fb923c;
  --knob-shadow: 0 0 15px rgba(251, 146, 60, 0.4);
}

/* DARK THEME (Premium Neon) — Only when explicitly set */
[data-theme='dark-theme'] {
  --bg: #030712;
  --dark-bg: #030712;
  --text: #ffffff;
  --text-muted: #fdba74;
  --card: rgba(17, 24, 39, 0.7);
  --card-bg: rgba(17, 24, 39, 0.7);
  --border: rgba(255, 255, 255, 0.08);
  --input: rgba(255, 255, 255, 0.05);
  --primary: var(--brand-orange);
  --primary-glow: rgba(249, 115, 22, 0.25);
  --neon-green: var(--brand-orange);
  --shadow: 0 20px 50px -12px rgba(0, 0, 0, 0.5);
  --switch-bg: #1e293b;
  --switch-border: rgba(255, 255, 255, 0.1);
  --knob-bg: #f97316;
  --knob-shadow: 0 0 15px rgba(249, 115, 22, 0.45);
}

/* =========================
   BASE STYLES
========================= */
html,
body {
  background-color: var(--bg) !important;
  color: var(--text) !important;
  margin: 0;
  padding: 0;
  min-height: 100vh;
  min-height: calc(var(--vh, 1vh) * 100);
  transition: background-color 0.5s ease, color 0.5s ease;
}

/* iOS Safari compatibility: dynamic viewport + safe-area support */
.ios-safari html,
.ios-safari body {
  min-height: -webkit-fill-available;
}

body {
  padding-left: env(safe-area-inset-left, 0);
  padding-right: env(safe-area-inset-right, 0);
}

/* =========================
   REUSABLE COMPONENTS
========================= */
.glass-card {
  background: var(--card) !important;
  border: 1px solid var(--border) !important;
  box-shadow: var(--shadow) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  transition: var(--transition);
}

/* Fallback when blur is unsupported/unstable (older iOS Safari versions) */
@supports not ((-webkit-backdrop-filter: blur(2px)) or (backdrop-filter: blur(2px))) {
  .glass-card {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(255, 255, 255, 0.98) !important;
  }
}

.neon-button {
  background: var(--primary) !important;
  color: white !important;
  font-weight: 800;
  box-shadow: 0 10px 20px -5px var(--primary-glow) !important;
  transition: var(--transition);
}

/* Brand accent is orange — white label on orange CTAs (replaces lime + black text) */
.bg-\[var\(--neon-green\)\].text-black:not(.membership-plan-btn),
button.bg-\[var\(--neon-green\)\]:not(.membership-plan-btn),
a.bg-\[var\(--neon-green\)\] {
  color: #ffffff !important;
}

body.subscription-page .membership-plan-btn.plan-btn-basic,
body.subscription-page .membership-plan-btn.plan-btn-pro {
  color: #111827 !important;
}

body.subscription-page .membership-plan-btn.plan-btn-elite {
  color: #ffffff !important;
}

[data-theme='dark-theme'] .neon-button {
  color: #ffffff !important;
}

/* =========================
   LIGHT MODE OVERRIDES
   Fixes hardcoded dark Tailwind classes used in HTML pages
========================= */
:root:not([data-theme='dark-theme']) body,
:root:not([data-theme='dark-theme']) main,
:root:not([data-theme='dark-theme']) section,
:root:not([data-theme='dark-theme']) aside {
  color: var(--text) !important;
}

/* Hardcoded white text → dark text in light mode */
:root:not([data-theme='dark-theme']) .text-white {
  color: var(--text) !important;
}

/* Landing hero tagline — stay white on video in light + dark */
:root:not([data-theme='dark-theme']) body.landing-page #hero-subtext,
[data-theme='dark-theme'] body.landing-page #hero-subtext {
  color: #ffffff !important;
}

:root:not([data-theme='dark-theme']) .text-gray-300 {
  color: #000000 !important;
}

:root:not([data-theme='dark-theme']) .text-gray-400 {
  color: #000000 !important;
}

:root:not([data-theme='dark-theme']) .text-gray-500 {
  color: #000000 !important;
}

/* Hardcoded white/transparent borders → theme border */
:root:not([data-theme='dark-theme']) [class*="border-white"] {
  border-color: var(--border) !important;
}

/* Hardcoded dark glass backgrounds → white */
:root:not([data-theme='dark-theme']) [class*="bg-white\/"] {
  background-color: #f1f5f9 !important;
}

/* Neon gradient text → orange in light mode */
:root:not([data-theme='dark-theme']) .neon-text-gradient {
  background: linear-gradient(to right, #f97316, #ea580c) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

/* Solid neon CTAs only — do not match body (selection:bg-[var(--neon-green)]…)
   contains this substring) or Tailwind opacity forms like bg-[var(--neon-green)]/10 */
:root:not([data-theme='dark-theme']) :not(body)[class*="bg-\[var(--neon-green)\]"]:not([class*=")]/"]):not(.slot-btn) {
  background: var(--neon-green) !important;
  color: #000 !important;
}

/* Hardcoded dark hex backgrounds used in bookings.html and similar pages */
:root:not([data-theme='dark-theme']) .bg-\[\#0b1120\],
:root:not([data-theme='dark-theme']) .bg-\[\#0f172a\],
:root:not([data-theme='dark-theme']) .bg-\[\#111c34\],
:root:not([data-theme='dark-theme']) .bg-\[\#111827\],
:root:not([data-theme='dark-theme']) .bg-\[\#1e293b\] {
  background-color: var(--card) !important;
  color: var(--text) !important;
}

/* Nav bar hardcoded dark */
:root:not([data-theme='dark-theme']) nav.bg-\[\#0f172a\] {
  background-color: #ffffff !important;
  border-bottom: 1px solid var(--border) !important;
  color: var(--text) !important;
}

/* Dropdown hardcoded dark */
:root:not([data-theme='dark-theme']) .bg-\[\#111c34\] {
  background-color: #ffffff !important;
  border-color: var(--border) !important;
}

/* Table dividers */
:root:not([data-theme='dark-theme']) .divide-gray-700>*+* {
  border-color: var(--border) !important;
}

:root:not([data-theme='dark-theme']) .border-gray-700 {
  border-color: var(--border) !important;
}

/* Table header text */
:root:not([data-theme='dark-theme']) thead.text-gray-400 {
  color: #000000 !important;
}

/* =========================
   AMAZING THEME SWITCH 
========================= */
.theme-switch-wrapper {
  position: relative;
  width: 64px;
  height: 32px;
  padding: 4px;
  background: var(--switch-bg);
  border: 1px solid var(--switch-border);
  border-radius: 20px;
  cursor: pointer;
  overflow: hidden;
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
}

.theme-switch-wrapper:hover {
  transform: scale(1.05);
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1), 0 0 15px var(--primary-glow);
}

.theme-switch-wrapper:active {
  transform: scale(0.95);
}

.theme-switch-track {
  position: relative;
  width: 100%;
  height: 100%;
}

.theme-switch-decorators {
  position: absolute;
  inset: 0;
  transition: opacity 0.5s ease;
}

/* Light mode clouds */
[data-theme='light-theme'] .theme-switch-decorators::before,
:root:not([data-theme='dark-theme']) .theme-switch-decorators::before {
  content: '☁️';
  position: absolute;
  font-size: 10px;
  left: 8px;
  top: 4px;
  opacity: 0.6;
  animation: float 3s ease-in-out infinite;
}

/* Dark mode stars */
[data-theme='dark-theme'] .theme-switch-decorators::after {
  content: '✨';
  position: absolute;
  font-size: 8px;
  right: 10px;
  top: 5px;
  opacity: 0.8;
  animation: twinkle 2s ease-in-out infinite;
}

.theme-switch-knob {
  position: absolute;
  width: 24px;
  height: 24px;
  background: var(--knob-bg);
  border-radius: 50%;
  transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
  box-shadow: var(--knob-shadow);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

[data-theme='light-theme'] .theme-switch-knob,
:root:not([data-theme='dark-theme']) .theme-switch-knob {
  left: 32px;
}

[data-theme='dark-theme'] .theme-switch-knob {
  left: 0;
}

.theme-switch-icon {
  font-size: 12px;
  transition: transform 0.5s ease;
}

[data-theme='light-theme'] .theme-switch-icon::before,
:root:not([data-theme='dark-theme']) .theme-switch-icon::before {
  content: '☀️';
}

[data-theme='dark-theme'] .theme-switch-icon::before {
  content: '🌙';
  transform: rotate(-20deg);
}

@keyframes float {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-2px);
  }
}

@keyframes twinkle {

  0%,
  100% {
    opacity: 0.4;
    transform: scale(0.8);
  }

  50% {
    opacity: 1;
    transform: scale(1.1);
  }
}

/* Dropdown Animations */
.animate-in {
  animation: fadeInDown 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate(-50%, -10px);
  }

  to {
    opacity: 1;
    transform: translate(-50%, 0);
  }
}

.dropdown-bridge-top::before {
  content: "";
  position: absolute;
  top: -24px;
  left: 0;
  right: 0;
  height: 24px;
}

.dropdown-bridge-right::before {
  content: "";
  position: absolute;
  top: -20px;
  right: 0;
  left: -20px;
  height: calc(100% + 20px);
}

/* Utility Helpers */
.text-theme-main {
  color: var(--text);
}

.text-theme-muted {
  color: var(--text-muted);
}

* {
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
}

/* ONLY for LIGHT THEME */
:root:not([data-theme='dark-theme']) .text-\[var\(--neon-green\)\],
:root:not([data-theme='dark-theme']) .neon-text,
:root:not([data-theme='dark-theme']) .demo-code {
  color: #25324B !important;
  /* Navy Blue */
}

/* STOP yellow hover ONLY in LIGHT theme */
:root:not([data-theme='dark-theme']) .venue-name:hover,
:root:not([data-theme='dark-theme']) .card h3:hover,
:root:not([data-theme='dark-theme']) [class*="hover:text-"] {
  color: #25324B !important;
  /* Navy Blue */
}

/* =========================
   FORCE SOLID SLOT COLORS (LIGHT THEME)
========================= */

/* Remove ANY fading from slots */
:root:not([data-theme='dark-theme']) button,
:root:not([data-theme='dark-theme']) div {
  opacity: 1 !important;
}

/* Kill transparency (rgba → solid look) */
:root:not([data-theme='dark-theme']) [style*="rgba"] {
  background-color: inherit !important;
}

/* =========================
   MEMBERSHIP PAGE BG FIX
========================= */

/* Target this specific page */
body:has(.membership-page),
body:has(.membership-section),
body:has(.membership-container) {
  background: #ffffff !important;
}

/* Keep --neon-green as the brand lime (#dcfc44 from :root) in light mode so
   CTAs like "Get Basic" (bg-[var(--neon-green)]) stay visible on white cards.
   Do not set --neon-green to #fff here — it made membership buttons invisible. */

/* =========================
   BILLING TOGGLE FINAL FIX
========================= */


/* Slider (active tab) */
:root:not([data-theme='dark-theme']) #toggleSlider {
  background: linear-gradient(135deg, #4f46e5, #fb923c) !important;
  box-shadow: 0 4px 12px rgba(249, 115, 22, 0.35);
}

/* Default button text (inactive) */
:root:not([data-theme='dark-theme']) #monthlyBtn,
:root:not([data-theme='dark-theme']) #yearlyBtn {
  color: #023685 !important;
  /* gray */
  font-weight: 600;
}

/* Active states (based on slider position) */
:root:not([data-theme='dark-theme']) #toggleSlider[style*="left: 4px"]~#monthlyBtn,
:root:not([data-theme='dark-theme']) #toggleSlider[style*="left: 4px"]+#monthlyBtn {
  color: #ffffff !important;
}

:root:not([data-theme='dark-theme']) #toggleSlider[style*="left: 50%"]~#yearlyBtn {
  color: #ffffff !important;
}

/* Fix big white circle */
:root:not([data-theme='dark-theme']) .hero-circle,
:root:not([data-theme='dark-theme']) [class*="rounded-full"] {
  background: #f1f5f9 !important;
  /* soft gray instead of white */
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
}

/* Cards contrast fix */
:root:not([data-theme='dark-theme']) .glass-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12) !important;
}

/* Reduce overlay intensity */
:root:not([data-theme='dark-theme']) body::before {
  background: rgba(255, 255, 255, 0.55) !important;
}

:root:not([data-theme='dark-theme']) h1 {
  color: #111827 !important;
}

:root:not([data-theme='dark-theme']) h1 span,
:root:not([data-theme='dark-theme']) .gradient-text {
  background: linear-gradient(135deg, #4f46e5, #7c3aed);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
/* Apply only to specific components instead of ALL elements */
:root:not([data-theme='dark-theme']) .card,
:root:not([data-theme='dark-theme']) .container {
  background: #ffffff !important;
}
:root:not([data-theme='dark-theme']) .addr-card:hover,
:root:not([data-theme='dark-theme']) .menu-item:hover {
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}

/* =========================
   FIX BLACK CARDS (LIGHT THEME)
========================= */

:root:not([data-theme='dark-theme']) .refer-card,
:root:not([data-theme='dark-theme']) .addr-card,
:root:not([data-theme='dark-theme']) .sub-card,
:root:not([data-theme='dark-theme']) .info-card,
:root:not([data-theme='dark-theme']) .menu-item {
  background: #ffffff !important;
  color: #111827 !important;
  border: 1px solid #e5e7eb !important;
}



:root:not([data-theme='dark-theme']) .refer-card *,
:root:not([data-theme='dark-theme']) .addr-card * {
  color: #111827 !important;
}

:root:not([data-theme='dark-theme']) input {
  background: #ffffff !important;
  color: #111827 !important;
  border: 1px solid #d1d5db !important;
}

/* BOOK SLOT BUTTON → ORANGE */
#bookSlotsBtn {
  background: linear-gradient(135deg, #f97316, #ea580c) !important;
  color: #ffffff !important;
  border: none !important;
  box-shadow: 0 8px 28px rgba(249, 115, 22, 0.35) !important;
}

/* Hover */
#bookSlotsBtn:hover {
  background: linear-gradient(135deg, #ea580c, #c2410c) !important;
}

/* SELECTED SLOT → GREEN */
.slot.selected {
  background: #22c55e !important;
  color: #ffffff !important;
  border: none !important;
}

/* Optional hover */
.slot:hover {
  transform: scale(1.03);
}

/* =========================
   CONFIRM BUTTON → ORANGE
========================= */

#addToCartBtn.bg-\[var\(--neon-green\)\],
#bottomBookBtn.bg-\[var\(--neon-green\)\] {
  background: linear-gradient(135deg, #f97316, #ea580c) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 24px rgba(249, 115, 22, 0.35) !important;
  border: none !important;
}

/* =========================
   BOOKED STATUS → LIGHT GREEN
========================= */

span.bg-green-600 {
  background: #dcfce7 !important;
  /* light green */
  color: #05993e !important;
  /* dark green text */
  border: 1px solid #046f2b !important;
}

/* =========================
   BOOKING TABS STYLE
========================= */

/* Base (inactive) */
#btnUpcoming,
#btnPast {
  background: #f0fdf4 !important;
  /* light green */
  color: #166534 !important;
  border: 1px solid #86efac !important;
}

/* Active tab */
#btnUpcoming.bg-green-600,
#btnPast.bg-green-600 {
  background: #22c55e !important;
  /* solid green */
  color: #ffffff !important;
  border: none !important;
}

/* =========================
   MOBILE OVERFLOW SAFETY
========================= */
@media (max-width: 640px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    overflow-y: auto;
  }

  img,
  video,
  iframe {
    max-width: 100%;
    height: auto;
  }
}

/* =========================
   SLOT LEGEND VISIBILITY FIX (LIGHT MODE)
========================= */

:root:not([data-theme='dark-theme']) .slot-legend span {
  color: #111827 !important;
  font-weight: 600 !important;
  opacity: 1 !important;
}

/* Legend indicator circles */
:root:not([data-theme='dark-theme']) .slot-legend .legend-dot {
  width: 12px !important;
  height: 12px !important;
  border-radius: 9999px !important;
  display: inline-block !important;
  box-shadow: 0 0 0 1px rgba(0,0,0,0.15),
              0 2px 4px rgba(0,0,0,0.12) !important;
  opacity: 1 !important;
}

/* Available */
:root:not([data-theme='dark-theme']) .slot-legend .available-dot {
  background: #22C55E !important;
  border: 1px solid #15803D !important;
}

/* Booked */
:root:not([data-theme='dark-theme']) .slot-legend .booked-dot {
  background: #EF4444 !important;
  border: 1px solid #B91C1C !important;
}

/* My Booking (viewer only) */
:root:not([data-theme='dark-theme']) .slot-legend .my-booking-dot {
  background: #3B82F6 !important;
  border: 1px solid #1D4ED8 !important;
}

:root:not([data-theme='dark-theme']) body.pr-booking-flow .slot-btn.slot-my-booking,
:root:not([data-theme='dark-theme']) body.slot-booking-page .slot-btn.slot-my-booking {
  background: rgba(29, 78, 216, 0.12) !important;
  color: #1D4ED8 !important;
  border-color: #3B82F6 !important;
}

:root:not([data-theme='dark-theme']) body.pr-booking-flow .slot-btn.slot-my-booking.slot-selected,
:root:not([data-theme='dark-theme']) body.slot-booking-page .slot-btn.slot-my-booking.slot-selected {
  background: #2563EB !important;
  color: #ffffff !important;
  border-color: #60A5FA !important;
}

/* Filling Fast */
:root:not([data-theme='dark-theme']) .slot-legend .filling-dot {
  background: #F59E0B !important;
  border: 1px solid #B45309 !important;
}

/* Past */
:root:not([data-theme='dark-theme']) .slot-legend .past-dot {
  background: #6B7280 !important;
  border: 1px solid #374151 !important;
}

/* =========================
   SLOT LEGEND — DARK MODE (status dots + labels)
========================= */
[data-theme='dark-theme'] body.pr-booking-flow .slot-legend .legend-dot,
[data-theme='dark-theme'] body.slot-booking-page .slot-legend .legend-dot {
  width: 12px !important;
  height: 12px !important;
  min-width: 12px !important;
  min-height: 12px !important;
  border-radius: 9999px !important;
  display: inline-block !important;
  flex-shrink: 0 !important;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.25),
    0 2px 6px rgba(0, 0, 0, 0.45) !important;
  opacity: 1 !important;
}

[data-theme='dark-theme'] body.pr-booking-flow .slot-legend .available-dot,
[data-theme='dark-theme'] body.slot-booking-page .slot-legend .available-dot {
  background: #22c55e !important;
  border: 1px solid #4ade80 !important;
}

[data-theme='dark-theme'] body.pr-booking-flow .slot-legend .booked-dot,
[data-theme='dark-theme'] body.slot-booking-page .slot-legend .booked-dot {
  background: #ef4444 !important;
  border: 1px solid #fca5a5 !important;
}

[data-theme='dark-theme'] body.pr-booking-flow .slot-legend .my-booking-dot,
[data-theme='dark-theme'] body.slot-booking-page .slot-legend .my-booking-dot {
  background: #3b82f6 !important;
  border: 1px solid #93c5fd !important;
}

[data-theme='dark-theme'] body.pr-booking-flow .slot-btn.slot-my-booking,
[data-theme='dark-theme'] body.slot-booking-page .slot-btn.slot-my-booking {
  background: rgba(37, 99, 235, 0.22) !important;
  color: #93c5fd !important;
  border-color: #3b82f6 !important;
}

[data-theme='dark-theme'] body.pr-booking-flow .slot-btn.slot-my-booking.slot-selected,
[data-theme='dark-theme'] body.slot-booking-page .slot-btn.slot-my-booking.slot-selected {
  background: #2563eb !important;
  color: #ffffff !important;
  border-color: #60a5fa !important;
}

[data-theme='dark-theme'] body.pr-booking-flow .slot-legend .filling-dot,
[data-theme='dark-theme'] body.slot-booking-page .slot-legend .filling-dot {
  background: #f59e0b !important;
  border: 1px solid #fbbf24 !important;
}

[data-theme='dark-theme'] body.pr-booking-flow .slot-legend .past-dot,
[data-theme='dark-theme'] body.slot-booking-page .slot-legend .past-dot {
  background: #6b7280 !important;
  border: 1px solid #9ca3af !important;
}

[data-theme='dark-theme'] body.pr-booking-flow .slot-legend .text-slate-900,
[data-theme='dark-theme'] body.slot-booking-page .slot-legend .text-slate-900 {
  color: #d1d5db !important;
  font-weight: 600 !important;
  opacity: 1 !important;
}

/* =========================
   PICKLEBALL SLOT VISIBILITY (LIGHT MODE ONLY)
========================= */
:root:not([data-theme='dark-theme']) .slot-btn {
  color: #1f2937 !important;
}

:root:not([data-theme='dark-theme']) .slot-btn.slot-available {
  background-color: rgba(34, 197, 94, 0.16) !important;
  border-color: #22C55E !important;
  color: #14532d !important;
}

:root:not([data-theme='dark-theme']) .slot-btn.slot-full {
  background-color: rgba(239, 68, 68, 0.18) !important;
  border-color: #EF4444 !important;
  color: #7f1d1d !important;
}

:root:not([data-theme='dark-theme']) .slot-btn.slot-cutoff,
:root:not([data-theme='dark-theme']) .slot-btn.slot-filling-fast {
  background-color: rgba(245, 158, 11, 0.18) !important;
  border-color: #F59E0B !important;
  color: #92400e !important;
}

:root:not([data-theme='dark-theme']) .slot-btn.slot-cutoff span,
:root:not([data-theme='dark-theme']) .slot-btn.slot-filling-fast span {
  color: #92400e !important;
}

:root:not([data-theme='dark-theme']) .slot-btn.slot-past {
  background-color: #e5e7eb !important;
  border-color: #9CA3AF !important;
  color: #6b7280 !important;
  opacity: 0.9 !important;
}

:root:not([data-theme='dark-theme']) .slot-btn.slot-available.slot-selected,
:root:not([data-theme='dark-theme']) .slot-btn.bg-green-500\/10.slot-selected {
  background: #15803d !important;
  border: 2px solid #166534 !important;
  color: #ffffff !important;
  box-shadow: 0 0 22px rgba(34, 197, 94, 0.4) !important;
}

:root:not([data-theme='dark-theme']) .slot-btn.slot-full.slot-selected,
:root:not([data-theme='dark-theme']) .slot-btn.bg-red-500\/10.slot-selected {
  background: #b91c1c !important;
  border: 2px solid #991b1b !important;
  color: #ffffff !important;
  box-shadow: 0 0 22px rgba(239, 68, 68, 0.4) !important;
}

:root:not([data-theme='dark-theme']) .slot-btn.slot-filling-fast.slot-selected,
:root:not([data-theme='dark-theme']) .slot-btn.slot-cutoff.slot-selected,
:root:not([data-theme='dark-theme']) .slot-btn.bg-amber-500\/10.slot-selected {
  background: #c2410c !important;
  border: 2px solid #b45309 !important;
  color: #ffffff !important;
  box-shadow: 0 0 22px rgba(249, 115, 22, 0.45) !important;
}

:root:not([data-theme='dark-theme']) .slot-btn.slot-filling-fast.slot-selected span,
:root:not([data-theme='dark-theme']) .slot-btn.slot-cutoff.slot-selected span,
:root:not([data-theme='dark-theme']) .slot-btn.slot-full.slot-selected span,
:root:not([data-theme='dark-theme']) .slot-btn.slot-available.slot-selected span {
  color: #ffffff !important;
}

/* =========================
   GAMETRIBE PAGES — LIGHT MODE
   Covers: tribe_dashboard.html & gametribe_booking.html
========================= */

/* 1. Replace dark gradient overlay with a clean light background */
:root:not([data-theme='dark-theme']) .gt-bg-overlay {
  background: linear-gradient(135deg, #f0f4ff 0%, #e8f0fe 50%, #f5f3ff 100%) !important;
  opacity: 1 !important;
}

/* 2. Soften the background sports image in light mode */
:root:not([data-theme='dark-theme']) .gt-bg-overlay + * img,
:root:not([data-theme='dark-theme']) .fixed.inset-0.z-0 img {
  opacity: 0.06 !important;
}

/* 3. Body text — override hardcoded dark defaults */
:root:not([data-theme='dark-theme']) .gt-bg-overlay ~ .relative h1,
:root:not([data-theme='dark-theme']) .gt-bg-overlay ~ .relative h2,
:root:not([data-theme='dark-theme']) .gt-bg-overlay ~ .relative h3 {
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
}

/* 4. "Back to Tribe" link — was hover:text-white which disappears on white */
:root:not([data-theme='dark-theme']) a[href="/customer/tribe"].inline-flex {
  color: #6b7280 !important;
}
:root:not([data-theme='dark-theme']) a[href="/customer/tribe"].inline-flex:hover {
  color: #111827 !important;
}

/* 5. Live dot — neon → indigo */
:root:not([data-theme='dark-theme']) .live-dot span {
  background: #4f46e5 !important;
  box-shadow: 0 0 8px rgba(79, 70, 229, 0.45) !important;
}
:root:not([data-theme='dark-theme']) .live-dot p {
  color: #6b7280 !important;
}

/* 6. Tribe context banner (neon-green tint → indigo tint) */
:root:not([data-theme='dark-theme']) .tribe-banner {
  background: rgba(79, 70, 229, 0.06) !important;
  border-color: rgba(79, 70, 229, 0.2) !important;
}
:root:not([data-theme='dark-theme']) .tribe-banner .neon-text,
:root:not([data-theme='dark-theme']) #ctx-discount,
:root:not([data-theme='dark-theme']) #bar-discount {
  color: #4f46e5 !important;
}

/* 7. Sport selector & date button */
:root:not([data-theme='dark-theme']) #sport-select {
  background: #f1f5f9 !important;
  color: #111827 !important;
  border-color: #d1d5db !important;
}
:root:not([data-theme='dark-theme']) #sport-select option {
  background: #ffffff !important;
  color: #111827 !important;
}
:root:not([data-theme='dark-theme']) #date-btn {
  background: #f1f5f9 !important;
  color: #111827 !important;
  border-color: #d1d5db !important;
}
:root:not([data-theme='dark-theme']) #date-display {
  color: #111827 !important;
}

/* 8. Calendar popup */
:root:not([data-theme='dark-theme']) #calendar {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 10px 40px rgba(0,0,0,0.12) !important;
}
:root:not([data-theme='dark-theme']) #cal-month-label {
  color: #111827 !important;
}
:root:not([data-theme='dark-theme']) #cal-days .cal-cell {
  color: #374151 !important;
}
:root:not([data-theme='dark-theme']) #cal-days .cal-cell.cal-past {
  color: #d1d5db !important;
}
:root:not([data-theme='dark-theme']) #cal-days .cal-cell.cal-today {
  border-color: #4f46e5 !important;
  color: #4f46e5 !important;
}
:root:not([data-theme='dark-theme']) #cal-days .cal-cell.cal-selected {
  background: #4f46e5 !important;
  color: #ffffff !important;
}
:root:not([data-theme='dark-theme']) #cal-days .cal-cell:hover:not(.cal-past):not(.cal-selected) {
  background: rgba(79, 70, 229, 0.1) !important;
  color: #4f46e5 !important;
}

/* 9. Venue cards */
:root:not([data-theme='dark-theme']) .venue-card {
  background: #f8fafc !important;
  border-color: #e2e8f0 !important;
}
:root:not([data-theme='dark-theme']) .venue-card:hover {
  border-color: #4f46e5 !important;
}
:root:not([data-theme='dark-theme']) .venue-card.selected {
  background: rgba(79, 70, 229, 0.05) !important;
  border-color: #4f46e5 !important;
}
:root:not([data-theme='dark-theme']) .venue-card p {
  color: #111827 !important;
}
:root:not([data-theme='dark-theme']) #av-slot-count,
:root:not([data-theme='dark-theme']) [id^="av-"] {
  color: #4f46e5 !important;
}

/* 10. Slot buttons — high-contrast solid colors in light mode */
:root:not([data-theme='dark-theme']) .slot-btn {
  font-weight: 700 !important;
}
/* Available (green) */
:root:not([data-theme='dark-theme']) .slot-btn.bg-green-500\/10 {
  background: #dcfce7 !important;
  color: #15803d !important;
  border-color: #86efac !important;
  opacity: 1 !important;
}
:root:not([data-theme='dark-theme']) .slot-btn.bg-green-500\/10:hover {
  background: #16a34a !important;
  color: #ffffff !important;
  border-color: #16a34a !important;
}
/* Full (red) */
:root:not([data-theme='dark-theme']) .slot-btn.bg-red-500\/10 {
  background: #fee2e2 !important;
  color: #b91c1c !important;
  border-color: #fca5a5 !important;
  opacity: 1 !important;
}
/* Filling fast (amber) */
:root:not([data-theme='dark-theme']) .slot-btn.bg-amber-500\/10 {
  background: #fef9c3 !important;
  color: #92400e !important;
  border-color: #fde68a !important;
  opacity: 1 !important;
}
/* Past / disabled */
:root:not([data-theme='dark-theme']) .slot-btn.bg-white\/3 {
  background: #f3f4f6 !important;
  color: #9ca3af !important;
  border-color: #e5e7eb !important;
}
/* 11. Tribe size info note box */
:root:not([data-theme='dark-theme']) #tribe-note {
  background: rgba(79, 70, 229, 0.06) !important;
  border-color: rgba(79, 70, 229, 0.2) !important;
  color: #374151 !important;
}
:root:not([data-theme='dark-theme']) #tribe-note .neon-text {
  color: #4f46e5 !important;
}

/* 12. Fixed bottom bar */
:root:not([data-theme='dark-theme']) #bottom-bar {
  background: rgba(255, 255, 255, 0.97) !important;
  border-top-color: #e2e8f0 !important;
  box-shadow: 0 -4px 24px rgba(0,0,0,0.08) !important;
}
:root:not([data-theme='dark-theme']) #bottom-price {
  color: #4f46e5 !important;
}
:root:not([data-theme='dark-theme']) #bottom-label {
  color: #6b7280 !important;
}

/* 13. Disabled confirm button */
:root:not([data-theme='dark-theme']) .btn-disabled {
  background: #f1f5f9 !important;
  color: #9ca3af !important;
}

/* 14. Success modal */
:root:not([data-theme='dark-theme']) #success-modal {
  background: rgba(0, 0, 0, 0.4) !important;
}
:root:not([data-theme='dark-theme']) #success-modal > div > div {
  background: #ffffff !important;
}
:root:not([data-theme='dark-theme']) #success-msg {
  color: #6b7280 !important;
}
:root:not([data-theme='dark-theme']) #success-details {
  color: #111827 !important;
}

/* 15. Tribe dashboard — stat card neon accent → indigo */
:root:not([data-theme='dark-theme']) #stat-discount {
  color: #4f46e5 !important;
}
:root:not([data-theme='dark-theme']) #ctx-discount {
  color: #4f46e5 !important;
}
:root:not([data-theme='dark-theme']) #stat-creator {
  color: #111827 !important;
}

/* 16. Tribe top bar neon green stripe → indigo gradient */
:root:not([data-theme='dark-theme']) .h-1.w-full.bg-\[var\(--neon-green\)\] {
  background: linear-gradient(to right, #4f46e5, #7c3aed) !important;
}

/* 17. Tribe discount pill */
:root:not([data-theme='dark-theme']) .bg-\[rgba\(220\,252\,68\,0\.1\)\] {
  background: rgba(79, 70, 229, 0.1) !important;
}
:root:not([data-theme='dark-theme']) .border-\[rgba\(220\,252\,68\,0\.2\)\] {
  border-color: rgba(79, 70, 229, 0.25) !important;
}

/* 18. Member status badges */
:root:not([data-theme='dark-theme']) .badge-accepted {
  background: rgba(79, 70, 229, 0.1) !important;
  color: #4f46e5 !important;
  border-color: rgba(79, 70, 229, 0.25) !important;
}
:root:not([data-theme='dark-theme']) .badge-invited {
  background: #fef9c3 !important;
  color: #92400e !important;
  border-color: #fde68a !important;
}

/* 19. Creator crown icon */
:root:not([data-theme='dark-theme']) #stat-creator ~ *,
:root:not([data-theme='dark-theme']) .fas.fa-crown {
  color: #4f46e5 !important;
}

/* 20. Toast overrides for light mode readability */
:root:not([data-theme='dark-theme']) #toast.success {
  background: rgba(79, 70, 229, 0.1) !important;
  border-color: rgba(79, 70, 229, 0.3) !important;
  color: #4f46e5 !important;
}
:root:not([data-theme='dark-theme']) #toast.error {
  background: #fee2e2 !important;
  border-color: #fca5a5 !important;
  color: #b91c1c !important;
}

/* =========================
   CUSTOMER BOOKING FLOW
   Light: white + orange · Dark: black + orange type
   Pages: body.pr-booking-flow
========================= */

body.pr-booking-flow {
  --booking-orange: #f97316;
  --booking-orange-hover: #ea580c;
  --booking-orange-soft: #fff7ed;
  --booking-orange-glow: rgba(249, 115, 22, 0.35);
  --neon-green: var(--booking-orange);
  font-family: 'Outfit', sans-serif;
}

/* —— Light mode —— */
:root:not([data-theme='dark-theme']) body.pr-booking-flow {
  --bg: #ffffff;
  --dark-bg: #ffffff;
  --text: #171717;
  --text-muted: #525252;
  --card: #ffffff;
  --card-bg: #ffffff;
  --border: rgba(249, 115, 22, 0.22);
  --input: #fff7ed;
  --primary: var(--booking-orange);
  --primary-glow: rgba(249, 115, 22, 0.2);
  --shadow: 0 12px 32px -8px rgba(249, 115, 22, 0.12);
  background-color: #ffffff !important;
  color: #171717 !important;
}

:root:not([data-theme='dark-theme']) body.pr-booking-flow .pr-booking-bg img {
  opacity: 0.08 !important;
}

:root:not([data-theme='dark-theme']) body.pr-booking-flow .pr-booking-overlay {
  background: linear-gradient(160deg, #ffffff 0%, #fff7ed 45%, #ffedd5 100%) !important;
  opacity: 1 !important;
}

:root:not([data-theme='dark-theme']) body.pr-booking-flow .glass-card {
  background: #ffffff !important;
  border: 1px solid rgba(249, 115, 22, 0.2) !important;
  box-shadow: var(--shadow) !important;
}

:root:not([data-theme='dark-theme']) body.pr-booking-flow .text-white,
:root:not([data-theme='dark-theme']) body.pr-booking-flow h1,
:root:not([data-theme='dark-theme']) body.pr-booking-flow h2,
:root:not([data-theme='dark-theme']) body.pr-booking-flow h3,
:root:not([data-theme='dark-theme']) body.pr-booking-flow label {
  color: #171717 !important;
}

:root:not([data-theme='dark-theme']) body.pr-booking-flow .text-gray-300,
:root:not([data-theme='dark-theme']) body.pr-booking-flow .text-gray-400,
:root:not([data-theme='dark-theme']) body.pr-booking-flow .text-gray-500 {
  color: #525252 !important;
}

:root:not([data-theme='dark-theme']) body.pr-booking-flow .text-slate-900 {
  color: #171717 !important;
}

:root:not([data-theme='dark-theme']) body.pr-booking-flow [class*="border-white"] {
  border-color: rgba(249, 115, 22, 0.2) !important;
}

:root:not([data-theme='dark-theme']) body.pr-booking-flow [class*="bg-white\/"] {
  background-color: #fff7ed !important;
  color: #171717 !important;
}

:root:not([data-theme='dark-theme']) body.pr-booking-flow #sportSelect,
:root:not([data-theme='dark-theme']) body.pr-booking-flow #dateButton,
:root:not([data-theme='dark-theme']) body.pr-booking-flow #sport-select,
:root:not([data-theme='dark-theme']) body.pr-booking-flow #date-btn {
  background: #fff7ed !important;
  color: #171717 !important;
  border-color: rgba(249, 115, 22, 0.28) !important;
}

:root:not([data-theme='dark-theme']) body.pr-booking-flow #sportSelect option,
:root:not([data-theme='dark-theme']) body.pr-booking-flow #sport-select option {
  background: #ffffff !important;
  color: #171717 !important;
}

:root:not([data-theme='dark-theme']) body.pr-booking-flow .fa-calendar,
:root:not([data-theme='dark-theme']) body.pr-booking-flow #totalPriceDisplay,
:root:not([data-theme='dark-theme']) body.pr-booking-flow .text-\[var\(--neon-green\)\] {
  color: var(--booking-orange) !important;
}

:root:not([data-theme='dark-theme']) body.pr-booking-flow #booking-bottom-bar {
  background: rgba(255, 255, 255, 0.97) !important;
  border-top-color: rgba(249, 115, 22, 0.2) !important;
}

:root:not([data-theme='dark-theme']) body.pr-booking-flow :not(body)[class*="bg-\[var(--neon-green)\]"]:not([class*=")]/"]):not(.slot-btn) {
  background: var(--booking-orange) !important;
  color: #ffffff !important;
}

:root:not([data-theme='dark-theme']) body.pr-booking-flow #cal-days button.bg-\[var\(--neon-green\)\],
:root:not([data-theme='dark-theme']) body.pr-booking-flow #calendarDays button.bg-\[var\(--neon-green\)\] {
  background: var(--booking-orange) !important;
  color: #ffffff !important;
}

:root:not([data-theme='dark-theme']) body.pr-booking-flow #calendar {
  background: #ffffff !important;
  border-color: rgba(249, 115, 22, 0.22) !important;
}

:root:not([data-theme='dark-theme']) body.pr-booking-flow .neon-text-gradient {
  background: linear-gradient(to right, #171717, var(--booking-orange)) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

:root:not([data-theme='dark-theme']) body.pr-booking-flow #membershipBanner,
:root:not([data-theme='dark-theme']) body.pr-customer-mobile #membershipBanner {
  background: #fff7ed !important;
  border-color: #ea580c !important;
  color: #7c2d12 !important;
}

:root:not([data-theme='dark-theme']) body.pr-booking-flow #membershipBanner.is-warning,
:root:not([data-theme='dark-theme']) body.pr-customer-mobile #membershipBanner.is-warning {
  background: #fffbeb !important;
  border-color: #d97706 !important;
  color: #92400e !important;
}

:root:not([data-theme='dark-theme']) body.pr-booking-flow #membershipBanner.is-blocked .text-gray-700,
:root:not([data-theme='dark-theme']) body.pr-booking-flow #membershipBanner.is-blocked span {
  color: #7c2d12 !important;
}

/* —— Dark mode —— */
[data-theme='dark-theme'] body.pr-booking-flow {
  --bg: #000000;
  --dark-bg: #000000;
  --text: #f97316;
  --text-muted: #fb923c;
  --card: rgba(10, 10, 10, 0.92);
  --card-bg: rgba(10, 10, 10, 0.92);
  --border: rgba(249, 115, 22, 0.35);
  --input: rgba(249, 115, 22, 0.08);
  --primary: var(--booking-orange);
  --primary-glow: rgba(249, 115, 22, 0.25);
  --shadow: 0 20px 50px -12px rgba(0, 0, 0, 0.85);
  background-color: #000000 !important;
  color: #f97316 !important;
}

[data-theme='dark-theme'] body.pr-booking-flow .pr-booking-bg img {
  opacity: 0.18 !important;
}

[data-theme='dark-theme'] body.pr-booking-flow .pr-booking-overlay {
  background: linear-gradient(165deg, #000000 0%, #0a0a0a 50%, #1a0a00 100%) !important;
  opacity: 1 !important;
}

[data-theme='dark-theme'] body.pr-booking-flow .glass-card {
  background: rgba(8, 8, 8, 0.92) !important;
  border: 1px solid rgba(249, 115, 22, 0.3) !important;
}

/* Default dark booking flow accent (page-specific sections below override for readability) */
[data-theme='dark-theme'] body.pr-booking-flow:not(.venues-page):not(.venue-detail-page):not(.slot-booking-page):not(.bookings-page):not(.subscription-page) .text-white,
[data-theme='dark-theme'] body.pr-booking-flow:not(.venues-page):not(.venue-detail-page):not(.slot-booking-page):not(.bookings-page):not(.subscription-page) h1,
[data-theme='dark-theme'] body.pr-booking-flow:not(.venues-page):not(.venue-detail-page):not(.slot-booking-page):not(.bookings-page):not(.subscription-page) h2,
[data-theme='dark-theme'] body.pr-booking-flow:not(.venues-page):not(.venue-detail-page):not(.slot-booking-page):not(.bookings-page):not(.subscription-page) h3,
[data-theme='dark-theme'] body.pr-booking-flow:not(.venues-page):not(.venue-detail-page):not(.slot-booking-page):not(.bookings-page):not(.subscription-page) label {
  color: #f97316 !important;
}

[data-theme='dark-theme'] body.pr-booking-flow .text-gray-300,
[data-theme='dark-theme'] body.pr-booking-flow .text-gray-400,
[data-theme='dark-theme'] body.pr-booking-flow .text-gray-500,
[data-theme='dark-theme'] body.pr-booking-flow .text-slate-900 {
  color: #fb923c !important;
}

[data-theme='dark-theme'] body.pr-booking-flow [class*="bg-white\/"] {
  background-color: rgba(249, 115, 22, 0.08) !important;
  color: #f97316 !important;
}

[data-theme='dark-theme'] body.pr-booking-flow #sportSelect,
[data-theme='dark-theme'] body.pr-booking-flow #dateButton,
[data-theme='dark-theme'] body.pr-booking-flow #sport-select,
[data-theme='dark-theme'] body.pr-booking-flow #date-btn {
  background: rgba(249, 115, 22, 0.08) !important;
  color: #f97316 !important;
  border-color: rgba(249, 115, 22, 0.35) !important;
}

[data-theme='dark-theme'] body.pr-booking-flow #sportSelect option,
[data-theme='dark-theme'] body.pr-booking-flow #sport-select option {
  background: #0a0a0a !important;
  color: #f97316 !important;
}

[data-theme='dark-theme'] body.pr-booking-flow #booking-bottom-bar {
  background: rgba(0, 0, 0, 0.94) !important;
  border-top-color: rgba(249, 115, 22, 0.35) !important;
}

[data-theme='dark-theme'] body.pr-booking-flow .slot-btn.slot-available.slot-selected,
[data-theme='dark-theme'] body.pr-booking-flow .slot-btn.bg-green-500\/10.slot-selected,
[data-theme='dark-theme'] body.slot-booking-page .slot-btn.slot-available.slot-selected {
  background: #166534 !important;
  border: 2px solid #22c55e !important;
  color: #ffffff !important;
  box-shadow: 0 0 24px rgba(34, 197, 94, 0.35) !important;
}

[data-theme='dark-theme'] body.pr-booking-flow .slot-btn.slot-full.slot-selected,
[data-theme='dark-theme'] body.pr-booking-flow .slot-btn.bg-red-500\/10.slot-selected,
[data-theme='dark-theme'] body.slot-booking-page .slot-btn.slot-full.slot-selected {
  background: #991b1b !important;
  border: 2px solid #ef4444 !important;
  color: #ffffff !important;
  box-shadow: 0 0 24px rgba(239, 68, 68, 0.35) !important;
}

[data-theme='dark-theme'] body.pr-booking-flow .slot-btn.slot-filling-fast.slot-selected,
[data-theme='dark-theme'] body.pr-booking-flow .slot-btn.slot-cutoff.slot-selected,
[data-theme='dark-theme'] body.pr-booking-flow .slot-btn.bg-amber-500\/10.slot-selected,
[data-theme='dark-theme'] body.slot-booking-page .slot-btn.slot-filling-fast.slot-selected,
[data-theme='dark-theme'] body.slot-booking-page .slot-btn.slot-cutoff.slot-selected {
  background: #9a3412 !important;
  border: 2px solid #f97316 !important;
  color: #ffffff !important;
  box-shadow: 0 0 24px rgba(249, 115, 22, 0.35) !important;
}

[data-theme='dark-theme'] body.pr-booking-flow .slot-btn.slot-selected span,
[data-theme='dark-theme'] body.slot-booking-page .slot-btn.slot-selected span {
  color: #ffffff !important;
}

[data-theme='dark-theme'] body.pr-booking-flow :not(body)[class*="bg-\[var(--neon-green)\]"]:not([class*=")]/"]) {
  background: var(--booking-orange) !important;
  color: #000000 !important;
}

[data-theme='dark-theme'] body.pr-booking-flow #calendar {
  background: #0a0a0a !important;
  border-color: rgba(249, 115, 22, 0.35) !important;
}

[data-theme='dark-theme'] body.pr-booking-flow .neon-text-gradient {
  background: linear-gradient(to right, #fb923c, #f97316) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

[data-theme='dark-theme'] body.pr-booking-flow .slot-btn.slot-available {
  color: #4ade80 !important;
}

[data-theme='dark-theme'] body.pr-booking-flow .slot-btn.slot-full {
  color: #fca5a5 !important;
}

[data-theme='dark-theme'] body.pr-booking-flow .text-black,
[data-theme='dark-theme'] body.pr-booking-flow button.text-black {
  color: #000000 !important;
}

:root:not([data-theme='dark-theme']) body.pr-booking-flow .gt-bg-overlay {
  background: linear-gradient(160deg, #ffffff 0%, #fff7ed 50%, #ffedd5 100%) !important;
  opacity: 1 !important;
}

[data-theme='dark-theme'] body.pr-booking-flow .gt-bg-overlay {
  background: linear-gradient(165deg, #000000 0%, #0a0a0a 55%, #1a0a00 100%) !important;
  opacity: 1 !important;
}

/* =========================
   SUBSCRIPTION / MEMBERSHIP PAGE — DARK MODE
========================= */
[data-theme='dark-theme'] body.subscription-page.pr-booking-flow {
  --neon-green: #f97316;
  background-color: #030712 !important;
  color: #e5e7eb !important;
}

[data-theme='dark-theme'] body.subscription-page .glow-bg {
  background: radial-gradient(circle, rgba(249, 115, 22, 0.12) 0%, transparent 70%) !important;
}

[data-theme='dark-theme'] body.subscription-page .glass-card {
  background: rgba(17, 24, 39, 0.92) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45) !important;
}

[data-theme='dark-theme'] body.subscription-page .glass-card:hover {
  border-color: rgba(249, 115, 22, 0.45) !important;
}

[data-theme='dark-theme'] body.subscription-page .subscription-plan-card--featured {
  background: rgba(17, 24, 39, 0.98) !important;
  border: 2px solid rgba(249, 115, 22, 0.55) !important;
  box-shadow: 0 0 0 1px rgba(249, 115, 22, 0.2), 0 24px 48px rgba(0, 0, 0, 0.5) !important;
}

[data-theme='dark-theme'] body.subscription-page h1 {
  color: #ffffff !important;
}

[data-theme='dark-theme'] body.subscription-page h1 .text-orange-500,
[data-theme='dark-theme'] body.subscription-page .neon-text-glow {
  color: #f97316 !important;
  -webkit-text-fill-color: #f97316 !important;
  background: none !important;
}

[data-theme='dark-theme'] body.subscription-page .hero-subtitle,
[data-theme='dark-theme'] body.subscription-page .billing-label,
[data-theme='dark-theme'] body.subscription-page .text-gray-400,
[data-theme='dark-theme'] body.subscription-page .text-gray-500 {
  color: #9ca3af !important;
}

[data-theme='dark-theme'] body.subscription-page .billing-opt {
  color: #6b7280 !important;
}

[data-theme='dark-theme'] body.subscription-page .billing-opt.active {
  color: #f97316 !important;
}

[data-theme='dark-theme'] body.subscription-page #billingPeriodRange {
  background: linear-gradient(to right, rgba(249, 115, 22, 0.35), rgba(55, 65, 81, 0.8)) !important;
}

[data-theme='dark-theme'] body.subscription-page #billingPeriodRange::-webkit-slider-thumb,
[data-theme='dark-theme'] body.subscription-page #billingPeriodRange::-moz-range-thumb {
  background: #f97316 !important;
  border-color: #ffffff !important;
}

[data-theme='dark-theme'] body.subscription-page .subscription-plan-card h3 {
  color: #ffffff !important;
}

[data-theme='dark-theme'] body.subscription-page .plan-tier-label {
  color: #9ca3af !important;
}

[data-theme='dark-theme'] body.subscription-page .plan-price-amount {
  color: #ffffff !important;
}

[data-theme='dark-theme'] body.subscription-page .plan-price-amount--accent {
  color: #fb923c !important;
}

[data-theme='dark-theme'] body.subscription-page .plan-features li {
  color: #d1d5db !important;
}

[data-theme='dark-theme'] body.subscription-page .plan-features .fa-check {
  color: #f97316 !important;
}

[data-theme='dark-theme'] body.subscription-page .membership-plan-btn.plan-btn-basic {
  background: linear-gradient(135deg, #facc15, #eab308) !important;
  color: #111827 !important;
  border: none !important;
  box-shadow: 0 8px 24px rgba(250, 204, 21, 0.35) !important;
}

[data-theme='dark-theme'] body.subscription-page .membership-plan-btn.plan-btn-pro {
  background: linear-gradient(135deg, #dcfc44, #a3e635) !important;
  color: #111827 !important;
  border: none !important;
  box-shadow: 0 8px 24px rgba(220, 252, 68, 0.4) !important;
}

[data-theme='dark-theme'] body.subscription-page .membership-plan-btn.plan-btn-elite {
  background: linear-gradient(135deg, #f97316, #ea580c) !important;
  color: #ffffff !important;
  border: none !important;
  box-shadow: 0 8px 24px rgba(249, 115, 22, 0.3) !important;
}

[data-theme='dark-theme'] body.subscription-page .membership-plan-btn.current-plan-btn:disabled {
  background: rgba(249, 115, 22, 0.2) !important;
  color: #fdba74 !important;
  box-shadow: none !important;
}

[data-theme='dark-theme'] body.subscription-page .policy-heading {
  color: #ffffff !important;
}

[data-theme='dark-theme'] body.subscription-page .policy-body p {
  color: #d1d5db !important;
}

[data-theme='dark-theme'] body.subscription-page .text-yellow-400 {
  color: #f97316 !important;
}

/* =========================
   VENUES LIST PAGE — DARK MODE
========================= */
[data-theme='dark-theme'] body.venues-page.pr-booking-flow {
  --neon-green: #f97316;
  color: #ffffff !important;
  background-color: transparent !important;
}

[data-theme='dark-theme'] body.venues-page .pr-booking-overlay,
[data-theme='dark-theme'] body.venues-page .fixed.inset-0.z-0.bg-gradient-to-br {
  background: linear-gradient(165deg, #030712 0%, #0b1120 50%, #1c1008 100%) !important;
}

[data-theme='dark-theme'] body.venues-page .pr-booking-bg img,
[data-theme='dark-theme'] body.venues-page .fixed.inset-0.z-0 img {
  opacity: 0.14 !important;
}

[data-theme='dark-theme'] body.venues-page .glass-card {
  background: rgba(17, 24, 39, 0.88) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4) !important;
}

[data-theme='dark-theme'] body.venues-page h1,
[data-theme='dark-theme'] body.venues-page h3,
[data-theme='dark-theme'] body.venues-page .text-2xl.font-bold {
  color: #ffffff !important;
}

[data-theme='dark-theme'] body.venues-page .neon-text-gradient,
[data-theme='dark-theme'] body.venues-page #sportTitle {
  background: linear-gradient(to right, #ffffff, #f97316) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

[data-theme='dark-theme'] body.venues-page p,
[data-theme='dark-theme'] body.venues-page .venues-page-hero-desc {
  color: #d1d5db !important;
}

[data-theme='dark-theme'] body.venues-page .text-gray-300,
[data-theme='dark-theme'] body.venues-page .text-gray-400,
[data-theme='dark-theme'] body.venues-page .text-gray-500,
[data-theme='dark-theme'] body.venues-page .text-gray-600,
[data-theme='dark-theme'] body.venues-page .venues-filter-section-title,
[data-theme='dark-theme'] body.venues-page .venues-filter-count {
  color: #9ca3af !important;
}

[data-theme='dark-theme'] body.venues-page .text-\[color\:var\(--text\)\] {
  color: #e5e7eb !important;
}

[data-theme='dark-theme'] body.venues-page .text-\[var\(--neon-green\)\],
[data-theme='dark-theme'] body.venues-page .text-\[var\(--primary\)\],
[data-theme='dark-theme'] body.venues-page .fa-location-dot,
[data-theme='dark-theme'] body.venues-page .group-hover\:text-\[var\(--primary\)\]:hover,
[data-theme='dark-theme'] body.venues-page h3.group-hover\:text-\[var\(--primary\)\]:hover {
  color: #f97316 !important;
}

[data-theme='dark-theme'] body.venues-page .badge-neon {
  background: rgba(249, 115, 22, 0.12) !important;
  color: #fb923c !important;
  border-color: rgba(249, 115, 22, 0.35) !important;
}

[data-theme='dark-theme'] body.venues-page .search-input {
  background: rgba(15, 23, 42, 0.85) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}

[data-theme='dark-theme'] body.venues-page .venues-search-control,
[data-theme='dark-theme'] body.venues-page #filterTime option {
  color: #ffffff !important;
}

[data-theme='dark-theme'] body.venues-page #findVenuesBtn {
  background: linear-gradient(135deg, #f97316 0%, #ea580c 100%) !important;
  color: #ffffff !important;
}

[data-theme='dark-theme'] body.venues-page button.sport-pill:not(.active) {
  color: #e5e7eb !important;
  background: rgba(255, 255, 255, 0.06) !important;
}

[data-theme='dark-theme'] body.venues-page .venue-card-cta {
  background: rgba(249, 115, 22, 0.15) !important;
  color: #f97316 !important;
  border: 1px solid rgba(249, 115, 22, 0.35) !important;
}

[data-theme='dark-theme'] body.venues-page .venue-card-cta:hover,
[data-theme='dark-theme'] body.venues-page a.group:hover .venue-card-cta {
  background: #f97316 !important;
  color: #ffffff !important;
}

[data-theme='dark-theme'] body.venues-page .venue-rating-new {
  color: #f97316 !important;
}

[data-theme='dark-theme'] body.venues-page .venue-rating-muted {
  color: #9ca3af !important;
}

[data-theme='dark-theme'] body.venues-page .text-amber-500,
[data-theme='dark-theme'] body.venues-page .text-yellow-400,
[data-theme='dark-theme'] body.venues-page .text-yellow-500 {
  color: #f97316 !important;
}

[data-theme='dark-theme'] body.venues-page [class*="bg-white\/"] {
  background-color: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  color: #e5e7eb !important;
}

/* =========================
   VENUE DETAIL PAGE — DARK MODE
   Overrides pr-booking-flow orange-all-text for readability
========================= */
[data-theme='dark-theme'] body.venue-detail-page.pr-booking-flow {
  --neon-green: #f97316;
  color: #ffffff !important;
  background-color: transparent !important;
}

[data-theme='dark-theme'] body.venue-detail-page .pr-booking-overlay {
  background: linear-gradient(165deg, #030712 0%, #0b1120 50%, #111827 100%) !important;
}

[data-theme='dark-theme'] body.venue-detail-page .pr-booking-bg img {
  opacity: 0.14 !important;
}

[data-theme='dark-theme'] body.venue-detail-page .glass-card {
  background: rgba(17, 24, 39, 0.88) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4) !important;
}

[data-theme='dark-theme'] body.venue-detail-page h1,
[data-theme='dark-theme'] body.venue-detail-page h2,
[data-theme='dark-theme'] body.venue-detail-page h3,
[data-theme='dark-theme'] body.venue-detail-page .text-white,
[data-theme='dark-theme'] body.venue-detail-page #venueHours,
[data-theme='dark-theme'] body.venue-detail-page #venueRatingAverage {
  color: #ffffff !important;
}

[data-theme='dark-theme'] body.venue-detail-page main p {
  color: #d1d5db !important;
}

[data-theme='dark-theme'] body.venue-detail-page main > p.text-xs span,
[data-theme='dark-theme'] body.venue-detail-page #breadcrumbAddress {
  color: #9ca3af !important;
}

[data-theme='dark-theme'] body.venue-detail-page #venueName {
  color: #ffffff !important;
}

[data-theme='dark-theme'] body.venue-detail-page button:not(#bookSlotsBtn) {
  color: #ffffff !important;
}

[data-theme='dark-theme'] body.venue-detail-page .text-gray-300,
[data-theme='dark-theme'] body.venue-detail-page .text-gray-400,
[data-theme='dark-theme'] body.venue-detail-page #courtInformationContent {
  color: #d1d5db !important;
}

[data-theme='dark-theme'] body.venue-detail-page .text-gray-500 {
  color: #9ca3af !important;
}

[data-theme='dark-theme'] body.venue-detail-page a.hover\:text-\[var\(--neon-green\)\]:hover,
[data-theme='dark-theme'] body.venue-detail-page #breadcrumbVenue,
[data-theme='dark-theme'] body.venue-detail-page .text-\[var\(--neon-green\)\] {
  color: #f97316 !important;
}

[data-theme='dark-theme'] body.venue-detail-page .neon-text-gradient {
  background: linear-gradient(to right, #ffffff, #f97316) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

[data-theme='dark-theme'] body.venue-detail-page .text-green-400 {
  color: #4ade80 !important;
}

[data-theme='dark-theme'] body.venue-detail-page [class*="bg-white\/"] {
  background-color: rgba(255, 255, 255, 0.06) !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}

[data-theme='dark-theme'] body.venue-detail-page #bookSlotsBtn {
  background: linear-gradient(135deg, #f97316 0%, #ea580c 100%) !important;
  color: #ffffff !important;
  border: none !important;
  box-shadow: 0 8px 28px rgba(249, 115, 22, 0.3) !important;
}

[data-theme='dark-theme'] body.venue-detail-page .glass-card.border-\[var\(--neon-green\)\]\/30 {
  border-color: rgba(249, 115, 22, 0.28) !important;
  box-shadow: 0 0 40px rgba(249, 115, 22, 0.08) !important;
}

[data-theme='dark-theme'] body.venue-detail-page #sportsGrid .glass-card p,
[data-theme='dark-theme'] body.venue-detail-page #amenitiesGrid .glass-card p {
  color: #9ca3af !important;
}

[data-theme='dark-theme'] body.venue-detail-page .h-4.w-px.bg-white\/10 {
  background-color: rgba(255, 255, 255, 0.12) !important;
}

[data-theme='dark-theme'] body.venue-detail-page .absolute span.bg-\[var\(--neon-green\)\] {
  background: #f97316 !important;
  color: #ffffff !important;
}

/* =========================
   MY BOOKINGS PAGE — DARK MODE
========================= */
[data-theme='dark-theme'] body.bookings-page.pr-booking-flow {
  --neon-green: #f97316;
  color: #ffffff !important;
  background-color: transparent !important;
}

[data-theme='dark-theme'] body.bookings-page .pr-booking-overlay,
[data-theme='dark-theme'] body.bookings-page .fixed.inset-0.z-0.bg-gradient-to-br {
  background: linear-gradient(165deg, #030712 0%, #0b1120 50%, #1c1008 100%) !important;
}

[data-theme='dark-theme'] body.bookings-page h1,
[data-theme='dark-theme'] body.bookings-page h2,
[data-theme='dark-theme'] body.bookings-page h3 {
  color: #ffffff !important;
}

[data-theme='dark-theme'] body.bookings-page .text-gray-300,
[data-theme='dark-theme'] body.bookings-page .text-gray-400,
[data-theme='dark-theme'] body.bookings-page .text-gray-500 {
  color: #9ca3af !important;
}

[data-theme='dark-theme'] body.bookings-page .text-yellow-400,
[data-theme='dark-theme'] body.bookings-page .text-yellow-500,
[data-theme='dark-theme'] body.bookings-page .text-amber-500,
[data-theme='dark-theme'] body.bookings-page .bg-yellow-500 {
  color: #f97316 !important;
}

[data-theme='dark-theme'] body.bookings-page .bg-yellow-500 {
  background-color: #f97316 !important;
  color: #ffffff !important;
}

[data-theme='dark-theme'] body.bookings-page .text-\[var\(--neon-green\)\],
[data-theme='dark-theme'] body.bookings-page .text-\[var\(--primary\)\] {
  color: #f97316 !important;
}

body.bookings-page .bookings-action-reschedule,
[data-theme='dark-theme'] body.bookings-page .bookings-action-reschedule {
  color: #60a5fa !important;
}

body.bookings-page .bookings-action-cancel,
[data-theme='dark-theme'] body.bookings-page .bookings-action-cancel {
  color: #f87171 !important;
}

body.bookings-page .bookings-action-muted,
[data-theme='dark-theme'] body.bookings-page .bookings-action-muted {
  color: #9ca3af !important;
}

/* =========================
   SLOT BOOKING PAGE — DARK MODE
========================= */
[data-theme='dark-theme'] body.slot-booking-page.pr-booking-flow {
  --neon-green: #22c55e;
  color: #ffffff !important;
  background-color: transparent !important;
}

[data-theme='dark-theme'] body.slot-booking-page .pr-booking-overlay {
  background: linear-gradient(165deg, #030712 0%, #0b1120 50%, #111827 100%) !important;
}

[data-theme='dark-theme'] body.slot-booking-page .pr-booking-bg img {
  opacity: 0.14 !important;
}

[data-theme='dark-theme'] body.slot-booking-page .glass-card {
  background: rgba(17, 24, 39, 0.9) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4) !important;
}

[data-theme='dark-theme'] body.slot-booking-page h2,
[data-theme='dark-theme'] body.slot-booking-page h3,
[data-theme='dark-theme'] body.slot-booking-page .text-white,
[data-theme='dark-theme'] body.slot-booking-page #selectedDate {
  color: #ffffff !important;
}

[data-theme='dark-theme'] body.slot-booking-page label {
  color: #9ca3af !important;
}

[data-theme='dark-theme'] body.slot-booking-page .text-gray-400,
[data-theme='dark-theme'] body.slot-booking-page #venueAddressText {
  color: #d1d5db !important;
}

[data-theme='dark-theme'] body.slot-booking-page .text-gray-500,
[data-theme='dark-theme'] body.slot-booking-page .text-gray-600 {
  color: #9ca3af !important;
}

[data-theme='dark-theme'] body.slot-booking-page .slot-legend .text-slate-900 {
  color: #d1d5db !important;
}

[data-theme='dark-theme'] body.slot-booking-page #totalPriceDisplay,
[data-theme='dark-theme'] body.slot-booking-page .fa-calendar.text-\[var\(--neon-green\)\] {
  color: #f97316 !important;
}

[data-theme='dark-theme'] body.slot-booking-page #priceBreakdown {
  color: #9ca3af !important;
}

[data-theme='dark-theme'] body.slot-booking-page [class*="bg-white\/"] {
  background-color: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}

[data-theme='dark-theme'] body.slot-booking-page #sportSelect,
[data-theme='dark-theme'] body.slot-booking-page #dateButton {
  background: rgba(15, 23, 42, 0.9) !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}

[data-theme='dark-theme'] body.slot-booking-page #sportSelect option {
  background: #0f172a !important;
  color: #ffffff !important;
}

[data-theme='dark-theme'] body.slot-booking-page #calendar {
  background: rgba(17, 24, 39, 0.98) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.45) !important;
}

[data-theme='dark-theme'] body.slot-booking-page #calendar #monthYear,
[data-theme='dark-theme'] body.slot-booking-page #calendar button {
  color: #e5e7eb !important;
}

[data-theme='dark-theme'] body.slot-booking-page #calendarDays button:not(.bg-\[var\(--neon-green\)\]) {
  color: #d1d5db !important;
}

[data-theme='dark-theme'] body.slot-booking-page #calendarDays button.bg-\[var\(--neon-green\)\] {
  background: #f97316 !important;
  color: #ffffff !important;
}

[data-theme='dark-theme'] body.slot-booking-page #booking-bottom-bar {
  background: rgba(15, 23, 42, 0.95) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

/* CTA buttons = orange gradient (both themes) */
body.slot-booking-page #addToCartBtn.bg-\[var\(--neon-green\)\],
body.slot-booking-page #bottomBookBtn.bg-\[var\(--neon-green\)\] {
  background: linear-gradient(135deg, #f97316 0%, #ea580c 100%) !important;
  border: none !important;
  color: #ffffff !important;
  box-shadow: 0 8px 24px rgba(249, 115, 22, 0.35) !important;
}

[data-theme='dark-theme'] body.slot-booking-page #addToCartBtn:disabled,
[data-theme='dark-theme'] body.slot-booking-page #bottomBookBtn:disabled {
  background: rgba(255, 255, 255, 0.06) !important;
  color: #6b7280 !important;
  box-shadow: none !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
}

[data-theme='dark-theme'] body.pr-booking-flow #membershipBanner,
[data-theme='dark-theme'] body.slot-booking-page #membershipBanner,
[data-theme='dark-theme'] body.pr-customer-mobile #membershipBanner {
  background: rgba(249, 115, 22, 0.18) !important;
  border-color: rgba(249, 115, 22, 0.55) !important;
  color: #ffedd5 !important;
}

[data-theme='dark-theme'] body.pr-booking-flow #membershipBanner.is-warning,
[data-theme='dark-theme'] body.pr-customer-mobile #membershipBanner.is-warning {
  background: rgba(245, 158, 11, 0.15) !important;
  border-color: rgba(251, 191, 36, 0.45) !important;
  color: #fde68a !important;
}

[data-theme='dark-theme'] body.pr-booking-flow #membershipBanner.is-blocked span,
[data-theme='dark-theme'] body.pr-booking-flow #membershipBanner.is-blocked .text-gray-700 {
  color: #ffedd5 !important;
}

/* Slot status colours */
[data-theme='dark-theme'] body.slot-booking-page .slot-btn.slot-available {
  background-color: rgba(34, 197, 94, 0.12) !important;
  border-color: #22c55e !important;
  color: #86efac !important;
}

[data-theme='dark-theme'] body.slot-booking-page .slot-btn.slot-filling-fast,
[data-theme='dark-theme'] body.slot-booking-page .slot-btn.slot-cutoff {
  background-color: rgba(249, 115, 22, 0.12) !important;
  border-color: #f97316 !important;
  color: #fdba74 !important;
}

[data-theme='dark-theme'] body.slot-booking-page .slot-btn.slot-full {
  background-color: rgba(239, 68, 68, 0.12) !important;
  border-color: #ef4444 !important;
  color: #fca5a5 !important;
}

[data-theme='dark-theme'] body.slot-booking-page .slot-btn.slot-past,
[data-theme='dark-theme'] body.slot-booking-page .slot-btn.slot-cancelled,
[data-theme='dark-theme'] body.slot-booking-page .slot-btn.slot-unavailable,
[data-theme='dark-theme'] body.slot-booking-page .slot-btn.slot-maintenance,
[data-theme='dark-theme'] body.slot-booking-page .slot-btn.slot-disabled {
  background-color: rgba(107, 114, 128, 0.15) !important;
  border-color: #6b7280 !important;
  color: #9ca3af !important;
}

[data-theme='dark-theme'] body.slot-booking-page #tribeBookBtn.bg-orange-600 {
  background: #ea580c !important;
  color: #ffffff !important;
}

/* =========================
   GLOBAL: BLUE / INDIGO BUTTONS → ORANGE
   Catches Tailwind utility classes across customer pages
========================= */

.neon-button,
button.bg-blue-500,
button.bg-blue-600,
button.bg-blue-700,
button.bg-indigo-500,
button.bg-indigo-600,
button.bg-indigo-700,
a.bg-blue-500,
a.bg-blue-600,
a.bg-blue-700,
a.bg-indigo-500,
a.bg-indigo-600,
a.bg-indigo-700,
.bg-blue-500:not([class*="bg-blue-500/"]),
.bg-blue-600,
.bg-blue-700,
.bg-indigo-500,
.bg-indigo-600,
.bg-indigo-700 {
  background-color: var(--brand-orange) !important;
  border-color: var(--brand-orange) !important;
}

button.bg-blue-500.text-black,
button.bg-blue-600.text-black,
.bg-blue-500.text-black {
  color: #000000 !important;
}

button.bg-blue-600.text-white,
button.bg-blue-700.text-white,
button.bg-indigo-600.text-white,
button.bg-indigo-700.text-white,
.bg-blue-600.text-white,
.bg-indigo-600.text-white {
  color: #ffffff !important;
}

.hover\:bg-blue-400:hover,
.hover\:bg-blue-500:hover,
.hover\:bg-blue-600:hover,
.hover\:bg-blue-700:hover,
.hover\:bg-indigo-500:hover,
.hover\:bg-indigo-600:hover,
.hover\:bg-indigo-700:hover,
button.hover\:bg-blue-500:hover,
button.hover\:bg-blue-600:hover,
button.hover\:bg-indigo-600:hover,
button.hover\:bg-indigo-700:hover {
  background-color: var(--brand-orange-hover) !important;
}

.active\:bg-blue-700:active,
.active\:bg-indigo-700:active {
  background-color: var(--brand-orange-dark) !important;
}

/* Payment method / primary CTAs using blue gradients */
.payment-method-btn.active,
button[class*="from-blue"],
button[class*="to-blue"],
button[class*="from-indigo"],
button[class*="to-indigo"] {
  background: linear-gradient(135deg, var(--brand-orange), var(--brand-orange-hover)) !important;
  border-color: var(--brand-orange) !important;
  color: #ffffff !important;
}

/* Link-style button / CTA actions that were blue */
button.text-blue-600,
a.text-blue-600,
a.text-blue-500,
a.text-blue-400,
a.hover\:text-blue-600,
.hover\:text-blue-600:hover:is(button, a) {
  color: var(--brand-orange) !important;
}

/* Outlined / secondary blue buttons */
.border-blue-500,
.border-blue-600,
.border-indigo-500,
.border-indigo-600 {
  border-color: var(--brand-orange) !important;
}

.bg-white.text-blue-600,
button.bg-white.text-blue-600 {
  color: var(--brand-orange) !important;
}

.hover\:bg-blue-50:hover {
  background-color: #fff7ed !important;
}

/* Tribe / booking indigo panels → orange tint */
.border-indigo-500\/30,
.border-indigo-500\/20 {
  border-color: rgba(249, 115, 22, 0.35) !important;
}

.bg-indigo-950\/40,
.bg-indigo-900\/30,
.bg-indigo-500\/10,
.bg-indigo-500\/20 {
  background-color: rgba(249, 115, 22, 0.12) !important;
}

button.text-indigo-200,
button.text-indigo-400,
button.text-indigo-500,
a.text-indigo-400,
a.text-indigo-500 {
  color: #fb923c !important;
}

/* Slot booking — selected slot keeps status color (darker shade) */
body.slot-booking-page.pr-booking-flow .slot-btn.slot-available.slot-selected {
  background: #15803d !important;
  border: 2px solid #166534 !important;
  color: #ffffff !important;
  box-shadow: 0 0 22px rgba(34, 197, 94, 0.45) !important;
}

body.slot-booking-page.pr-booking-flow .slot-btn.slot-full.slot-selected {
  background: #b91c1c !important;
  border: 2px solid #991b1b !important;
  color: #ffffff !important;
  box-shadow: 0 0 22px rgba(239, 68, 68, 0.45) !important;
}

body.slot-booking-page.pr-booking-flow .slot-btn.slot-filling-fast.slot-selected,
body.slot-booking-page.pr-booking-flow .slot-btn.slot-cutoff.slot-selected {
  background: #c2410c !important;
  border: 2px solid #b45309 !important;
  color: #ffffff !important;
  box-shadow: 0 0 22px rgba(249, 115, 22, 0.45) !important;
}

body.slot-booking-page.pr-booking-flow .slot-btn.slot-selected span {
  color: #ffffff !important;
}

[data-theme='dark-theme'] body.slot-booking-page.pr-booking-flow .slot-btn.slot-available.slot-selected {
  background: #166534 !important;
  border: 2px solid #22c55e !important;
  color: #ffffff !important;
  box-shadow: 0 0 24px rgba(34, 197, 94, 0.35) !important;
}

[data-theme='dark-theme'] body.slot-booking-page.pr-booking-flow .slot-btn.slot-full.slot-selected {
  background: #991b1b !important;
  border: 2px solid #ef4444 !important;
  color: #ffffff !important;
  box-shadow: 0 0 24px rgba(239, 68, 68, 0.35) !important;
}

[data-theme='dark-theme'] body.slot-booking-page.pr-booking-flow .slot-btn.slot-filling-fast.slot-selected,
[data-theme='dark-theme'] body.slot-booking-page.pr-booking-flow .slot-btn.slot-cutoff.slot-selected {
  background: #9a3412 !important;
  border: 2px solid #f97316 !important;
  color: #ffffff !important;
  box-shadow: 0 0 24px rgba(249, 115, 22, 0.35) !important;
}

/* Selected slots — keep status color on hover/focus (both themes) */
body.pr-booking-flow .slot-btn.slot-available.slot-selected,
body.pr-booking-flow .slot-btn.slot-available.slot-selected:hover,
body.pr-booking-flow .slot-btn.slot-available.slot-selected:focus {
  opacity: 1 !important;
}

body.pr-booking-flow .slot-btn.slot-full.slot-selected,
body.pr-booking-flow .slot-btn.slot-full.slot-selected:hover,
body.pr-booking-flow .slot-btn.slot-full.slot-selected:focus {
  opacity: 1 !important;
}

body.slot-booking-page.pr-booking-flow .slot-btn.slot-available.slot-selected,
body.slot-booking-page.pr-booking-flow .slot-btn.slot-available.slot-selected:hover,
body.slot-booking-page.pr-booking-flow .slot-btn.slot-available.slot-selected:focus {
  background: #15803d !important;
  border-color: #166534 !important;
  color: #ffffff !important;
}

body.slot-booking-page.pr-booking-flow .slot-btn.slot-full.slot-selected,
body.slot-booking-page.pr-booking-flow .slot-btn.slot-full.slot-selected:hover,
body.slot-booking-page.pr-booking-flow .slot-btn.slot-full.slot-selected:focus {
  background: #b91c1c !important;
  border-color: #991b1b !important;
  color: #ffffff !important;
}

body.slot-booking-page.pr-booking-flow .slot-btn.slot-filling-fast.slot-selected,
body.slot-booking-page.pr-booking-flow .slot-btn.slot-cutoff.slot-selected,
body.slot-booking-page.pr-booking-flow .slot-btn.slot-filling-fast.slot-selected:hover,
body.slot-booking-page.pr-booking-flow .slot-btn.slot-cutoff.slot-selected:hover,
body.slot-booking-page.pr-booking-flow .slot-btn.slot-filling-fast.slot-selected:focus,
body.slot-booking-page.pr-booking-flow .slot-btn.slot-cutoff.slot-selected:focus {
  background: #c2410c !important;
  border-color: #b45309 !important;
  color: #ffffff !important;
}

[data-theme='dark-theme'] body.slot-booking-page.pr-booking-flow .slot-btn.slot-available.slot-selected:hover,
[data-theme='dark-theme'] body.slot-booking-page.pr-booking-flow .slot-btn.slot-available.slot-selected:focus {
  background: #166534 !important;
  border-color: #22c55e !important;
  color: #ffffff !important;
}

[data-theme='dark-theme'] body.slot-booking-page.pr-booking-flow .slot-btn.slot-full.slot-selected:hover,
[data-theme='dark-theme'] body.slot-booking-page.pr-booking-flow .slot-btn.slot-full.slot-selected:focus {
  background: #991b1b !important;
  border-color: #ef4444 !important;
  color: #ffffff !important;
}

[data-theme='dark-theme'] body.slot-booking-page.pr-booking-flow .slot-btn.slot-filling-fast.slot-selected:hover,
[data-theme='dark-theme'] body.slot-booking-page.pr-booking-flow .slot-btn.slot-cutoff.slot-selected:hover,
[data-theme='dark-theme'] body.slot-booking-page.pr-booking-flow .slot-btn.slot-filling-fast.slot-selected:focus,
[data-theme='dark-theme'] body.slot-booking-page.pr-booking-flow .slot-btn.slot-cutoff.slot-selected:focus {
  background: #9a3412 !important;
  border-color: #f97316 !important;
  color: #ffffff !important;
}