[data-theme="dark"] {
  /* Dark Theme — conventional dark grey palette */

  /* Greens stay as brand accent colors, slightly brightened for dark bg */
  --green-primary: #1a1a1a;
  --green-secondary: #00a85a;
  --green-tertiary: #00cc6e;
  --green-tertiary-hover: #33dd88;
  --green-darker: #151515;
  --green-lighter: #3a3a3a;
  --green-light: #2a2a2a;
  --grass-green-primary: #88cc22;
  --grass-green-secondary: #aaee44;

  /* Whites/greys become dark tones */
  --white: #1a1a1a;
  --grey-white: #222222;
  --grey-tetradic: #1e1e1e;
  --grey-tertiary: #404040;
  --grey-pentadic: #4a4a4a;
  --grey-secondary: #8a9aaa;
  --grey-primary: #d0d0d0;
  --grey-dark: #b0b0b0;
  --grey-green: #3a3a3a;
  --grey-orange: #5a6460;
  --grey-purple: #8a88a5;
  --grey-footer: #121212;
  --grey-footer-text: #8a9aaa;
  --grey-footer-border: #404040;

  --black: #e0e0e0;

  /* Orange stays visible on dark */
  --orange-primary: #e6ad00;
  --orange-secondary: #ffcc44;
  --orange-tertiary: #ffb833;
  --orange-tetradic: #3a2e14;

  /* Red stays recognizable */
  --red-primary: #ff4444;
  --red-secondary: #ff6b68;

  /* Yellow stays bright */
  --yellow: #ffdd33;
  --yellow-secondary: #ffc222;
  --yellow-tertiary: #e6c43a;

  /* Blue tones adjusted for dark bg */
  --blue-badge: #5ea3e2;
  --blue-border: #4a8ed4;
  --blue-dark: #6b8fad;

  /* Gender colors — slightly brighter for dark bg */
  --gender-female: #f06bac;
  --gender-male: #6dc4f0;
  --gender-non-binary: #b47ae0;
  --gender-unknown: #9dc49d;

  /* POS colors */
  --pos-purple: #b87dd4;
  --pos-teal: #3dd4b4;

  /* Error colors — keep recognizable */
  --error-border: #e05555;
  --error-bg: #2a1515;
  --error-text: #ff7777;
  --error-focus-glow: rgba(255, 50, 50, 0.6);

  /* Alpha variants — adjusted for dark base */
  --black-5: rgba(224, 224, 224, 0.05);
  --black-6: rgba(224, 224, 224, 0.06);
  --black-7: rgba(224, 224, 224, 0.07);
  --black-8: rgba(224, 224, 224, 0.075);
  --black-10: rgba(224, 224, 224, 0.1);
  --black-12: rgba(224, 224, 224, 0.125);
  --black-15: rgba(224, 224, 224, 0.15);
  --black-20: rgba(224, 224, 224, 0.2);
  --black-23: rgba(224, 224, 224, 0.23);
  --black-25: rgba(224, 224, 224, 0.25);
  --black-30: rgba(224, 224, 224, 0.3);
  --black-35: rgba(224, 224, 224, 0.35);
  --black-40: rgba(224, 224, 224, 0.4);
  --black-50: rgba(224, 224, 224, 0.5);
  --black-75: rgba(224, 224, 224, 0.75);

  --white-6: rgba(26, 26, 26, 0.06);
  --white-7: rgba(26, 26, 26, 0.07);
  --white-13: rgba(26, 26, 26, 0.13);
  --white-15: rgba(26, 26, 26, 0.15);
  --white-20: rgba(26, 26, 26, 0.2);
  --white-26: rgba(26, 26, 26, 0.26);
  --white-50: rgba(26, 26, 26, 0.5);
  --white-80: rgba(26, 26, 26, 0.8);

  --green-primary-25: rgba(26, 26, 26, 0.25);
  --green-primary-50: rgba(26, 26, 26, 0.5);
  --green-primary-80: rgba(26, 26, 26, 0.8);

  --grey-tetradic-60: rgba(30, 30, 30, 0.6);
  --yellow-50: rgba(255, 221, 51, 0.5);

  --pos-teal-30: rgba(61, 212, 180, 0.3);
  --pos-teal-85: rgba(61, 212, 180, 0.85);

  --grey-light-border-80: rgba(64, 64, 64, 0.8);
  --blue-focus-60: rgba(94, 163, 226, 0.6);

  /* Social media — keep recognizable */
  --facebook-blue: #5577bb;
  --facebook-blue-dark: #4a6aa8;
  --facebook-blue-darker: #45629d;
  --facebook-blue-darkest: #3a5488;
  --twitter-blue: #33ccff;
  --twitter-blue-dark: #22bbee;
  --twitter-blue-darker: #11aadd;
  --twitter-blue-darkest: #0099cc;

  /* BS3 legacy — adjusted for dark bg */
  --bs3-success: #6ccf6c;
  --bs3-success-dark: #55b855;
  --bs3-danger-dark: #ee4433;
  --bs3-danger-border: #dd4444;
  --bs3-danger-darker: #dd3322;
  --bs3-info-blue: #55cce8;
  --bs3-info-text: #66bbdd;
  --bs3-warning: #ffb866;
  --bs3-warning-text: #ddaa55;
  --bs3-primary-blue: #4488bb;
  --bs3-info-bg: #77ddee;

  /* UI / status */
  --google-blue: #6aabff;
  --light-red: #ff6666;
  --grey-medium: #999999;
  --grey-6f: #a0a0a0;
  --light-blue-bg: #2a3344;
  --light-green: #aadd77;
  --light-pink: #553333;
  --mint-green: #1a4d1a;
  --pure-yellow: #ffff44;
  --bright-green: #55cc77;
  --pink: #ff88cc;
  --grey-slider: #4a4a4a;

  --light-green-0: rgba(162, 234, 158, 0.0);
}

/* ============================================================
   Dark Mode — Structural overrides
   These supplement the variable swaps above for elements that
   use hardcoded colors or Bootstrap utility classes.
   ============================================================ */

/* --- Base elements --- */
[data-theme="dark"] body,
[data-theme="dark"] {
  background-color: #1a1a1a !important;
  color: #e0e0e0 !important;
}

/* --- Navbar --- */
[data-theme="dark"] .navbar,
[data-theme="dark"] #navigation {
  background-color: #121212 !important;
}

[data-theme="dark"] .navbar a,
[data-theme="dark"] .navbar .nav-link,
[data-theme="dark"] .navbar .navbar-brand {
  color: #e0e0e0 !important;
}

[data-theme="dark"] .navbar a:hover,
[data-theme="dark"] .navbar .nav-link:hover {
  color: #ffffff !important;
}

/* --- Dropdowns --- */
[data-theme="dark"] .dropdown-menu {
  background-color: #2a2a2a !important;
  border-color: #4a4a4a !important;
}

[data-theme="dark"] .dropdown-item {
  color: #e0e0e0 !important;
}

[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item:focus {
  background-color: #3a3a3a !important;
  color: #ffffff !important;
}

/* --- Cards and panels --- */
[data-theme="dark"] .card,
[data-theme="dark"] .panel,
[data-theme="dark"] .well,
[data-theme="dark"] .list-group-item {
  background-color: #222222 !important;
  color: #e0e0e0 !important;
  border-color: #404040 !important;
}

[data-theme="dark"] .card-header,
[data-theme="dark"] .panel-heading {
  background-color: #2e2e2e !important;
  color: #e0e0e0 !important;
  border-color: #404040 !important;
}

[data-theme="dark"] .card-body,
[data-theme="dark"] .panel-body {
  background-color: #222222 !important;
  color: #e0e0e0 !important;
}

[data-theme="dark"] .card-footer,
[data-theme="dark"] .panel-footer {
  background-color: #2e2e2e !important;
  border-color: #404040 !important;
}

/* --- Event cards (Ticketscene-specific) --- */
[data-theme="dark"] .event-card,
[data-theme="dark"] .event-listing,
[data-theme="dark"] .event-item {
  background-color: #222222 !important;
  color: #e0e0e0 !important;
}

/* --- Text and headings --- */
[data-theme="dark"] h1, [data-theme="dark"] h2,
[data-theme="dark"] h3, [data-theme="dark"] h4,
[data-theme="dark"] h5, [data-theme="dark"] h6 {
  color: #f0f0f0 !important;
}

[data-theme="dark"] p,
[data-theme="dark"] span,
[data-theme="dark"] label,
[data-theme="dark"] td,
[data-theme="dark"] th,
[data-theme="dark"] li {
  color: #d0d0d0 !important;
}

[data-theme="dark"] a {
  color: #8dd4a5 !important;
}

[data-theme="dark"] a:hover {
  color: #a8e0ba !important;
}

[data-theme="dark"] .text-muted {
  color: #8a9aaa !important;
}

[data-theme="dark"] .text-dark {
  color: #e0e0e0 !important;
}

[data-theme="dark"] .text-success {
  color: #8dd4a5 !important;
}

/* --- Tables --- */
[data-theme="dark"] table,
[data-theme="dark"] .table {
  color: #e0e0e0 !important;
}

[data-theme="dark"] .table > thead > tr > th,
[data-theme="dark"] .table > tbody > tr > td {
  border-color: #404040 !important;
  color: #e0e0e0 !important;
}

[data-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) {
  background-color: #2e2e2e !important;
}

[data-theme="dark"] .table-hover > tbody > tr:hover {
  background-color: #333333 !important;
}

/* --- Forms --- */
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select,
[data-theme="dark"] input[type="text"],
[data-theme="dark"] input[type="email"],
[data-theme="dark"] input[type="password"],
[data-theme="dark"] input[type="number"],
[data-theme="dark"] input[type="search"],
[data-theme="dark"] textarea,
[data-theme="dark"] select {
  background-color: #2a2a2a !important;
  color: #e0e0e0 !important;
  border-color: #4a4a4a !important;
}

[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus {
  background-color: #333333 !important;
  border-color: #6a9fd8 !important;
  color: #ffffff !important;
}

[data-theme="dark"] .form-control::placeholder {
  color: #7a8a9a !important;
}

/* --- Buttons --- */
[data-theme="dark"] .btn-outline-success,
[data-theme="dark"] .btn-outline-primary {
  color: #8dd4a5 !important;
  border-color: #8dd4a5 !important;
}

[data-theme="dark"] .btn-outline-success:hover,
[data-theme="dark"] .btn-outline-primary:hover {
  background-color: #8dd4a5 !important;
  color: #121212 !important;
}

[data-theme="dark"] .btn-success {
  background-color: #007642 !important;
  border-color: #007642 !important;
  color: #ffffff !important;
}

[data-theme="dark"] .btn_ticketscene {
  background-color: #2a2a2a !important;
  border-color: #3a5a4a !important;
  color: #8dd4a5 !important;
}

[data-theme="dark"] .btn_ticketscene:hover {
  background-color: #3a3a3a !important;
  color: #a8e0ba !important;
}

/* --- Calendar --- */
[data-theme="dark"] .calendar-widget,
[data-theme="dark"] .ui-datepicker {
  background-color: #222222 !important;
  color: #e0e0e0 !important;
}

[data-theme="dark"] .ui-datepicker td a,
[data-theme="dark"] .ui-datepicker td span {
  color: #e0e0e0 !important;
}

/* --- Sidebar / well areas --- */
[data-theme="dark"] .sidebar,
[data-theme="dark"] aside {
  background-color: #222222 !important;
  color: #e0e0e0 !important;
}

/* --- Footer --- */
[data-theme="dark"] footer,
[data-theme="dark"] .footer {
  background-color: #121212 !important;
  color: #8a9aaa !important;
}

[data-theme="dark"] footer a {
  color: #8dd4a5 !important;
}

/* --- Backgrounds that need overriding --- */
[data-theme="dark"] .bg-white,
[data-theme="dark"] .bg-light {
  background-color: #222222 !important;
}

[data-theme="dark"] .bg-success {
  background-color: #007642 !important;
}

[data-theme="dark"] .border {
  border-color: #404040 !important;
}

[data-theme="dark"] hr {
  border-color: #404040 !important;
  color: #404040 !important;
}

/* --- Badges and alerts --- */
[data-theme="dark"] .badge {
  color: #ffffff !important;
}

[data-theme="dark"] .alert {
  border-color: #404040 !important;
}

[data-theme="dark"] .alert-success {
  background-color: #1a2a1a !important;
  color: #8dd4a5 !important;
}

[data-theme="dark"] .alert-danger {
  background-color: #2a1515 !important;
  color: #ff7777 !important;
}

[data-theme="dark"] .alert-warning {
  background-color: #2a2210 !important;
  color: #ffb866 !important;
}

[data-theme="dark"] .alert-info {
  background-color: #1a1a2a !important;
  color: #55cce8 !important;
}

/* --- Modal --- */
[data-theme="dark"] .modal-content {
  background-color: #222222 !important;
  color: #e0e0e0 !important;
  border-color: #404040 !important;
}

[data-theme="dark"] .modal-header,
[data-theme="dark"] .modal-footer {
  border-color: #404040 !important;
}

/* --- Breadcrumbs --- */
[data-theme="dark"] .breadcrumb {
  background-color: #2e2e2e !important;
}

[data-theme="dark"] .breadcrumb-item a {
  color: #8dd4a5 !important;
}

[data-theme="dark"] .breadcrumb-item.active {
  color: #8a9aaa !important;
}

/* --- Pagination --- */
[data-theme="dark"] .page-link {
  background-color: #2a2a2a !important;
  color: #8dd4a5 !important;
  border-color: #404040 !important;
}

[data-theme="dark"] .page-item.active .page-link {
  background-color: #007642 !important;
  border-color: #007642 !important;
  color: #ffffff !important;
}

/* --- Scrollbar (Webkit) --- */
[data-theme="dark"] ::-webkit-scrollbar {
  background-color: #1a1a1a;
}

[data-theme="dark"] ::-webkit-scrollbar-thumb {
  background-color: #4a4a4a;
  border-radius: 4px;
}

[data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
  background-color: #555555;
}

/* --- Calendar widget --- */
[data-theme="dark"] table.Calendar {
  background-color: #222222 !important;
  border-color: #404040 !important;
}

[data-theme="dark"] table.Calendar td,
[data-theme="dark"] table.Calendar th {
  background-color: #222222 !important;
  color: #d0d0d0 !important;
  border-color: #404040 !important;
}

[data-theme="dark"] .CalendarMonth {
  background-color: #2e2e2e !important;
  color: #e0e0e0 !important;
}

[data-theme="dark"] .CalendarDay {
  color: #d0d0d0 !important;
  background-color: #2e2e2e !important;
}

[data-theme="dark"] td.CalendarHasEvents {
  background-color: #2a2a2a !important;
  border-color: #404040 !important;
}

[data-theme="dark"] .CalendarHasEvents a {
  color: #8dd4a5 !important;
}

[data-theme="dark"] .CalendarNoEvents {
  color: #666666 !important;
  background-color: #1a1a1a !important;
}

[data-theme="dark"] .CalendarDateHasPassed {
  background-color: #1e1e1e !important;
}

/* --- Event detail page --- */
[data-theme="dark"] .wbox {
  background-color: #222222 !important;
  color: #d0d0d0 !important;
  box-shadow: 0 1px 15px rgba(0, 0, 0, 0.3) !important;
}

[data-theme="dark"] .wbox-header {
  background-color: #2e2e2e !important;
  color: #e0e0e0 !important;
}

[data-theme="dark"] .wbox-footer {
  background-color: #2e2e2e !important;
  color: #d0d0d0 !important;
}

[data-theme="dark"] .container.page-content {
  color: #d0d0d0 !important;
}

[data-theme="dark"] .big-cover-box {
  background-color: #1a1a1a !important;
}

[data-theme="dark"] .big-cover-bg {
  background-color: #1a1a1a !important;
}

[data-theme="dark"] .event-offset {
  background-color: transparent !important;
}

/* Event info bar (date, venue, times) */
[data-theme="dark"] .event-info,
[data-theme="dark"] .event-details,
[data-theme="dark"] .event-header {
  background-color: #222222 !important;
  color: #d0d0d0 !important;
}

/* Ticket options area */
[data-theme="dark"] .ticket-options,
[data-theme="dark"] .pricing-table,
[data-theme="dark"] .pricing-level {
  background-color: #222222 !important;
  color: #d0d0d0 !important;
  border-color: #404040 !important;
}

/* Tab navigation (Details, Location, Accommodations) */
[data-theme="dark"] .nav-tabs {
  border-color: #404040 !important;
}

[data-theme="dark"] .nav-tabs .nav-link {
  color: #8a9aaa !important;
}

[data-theme="dark"] .nav-tabs .nav-link.active {
  background-color: #222222 !important;
  color: #e0e0e0 !important;
  border-color: #404040 #404040 #222222 !important;
}

[data-theme="dark"] .tab-content {
  background-color: #222222 !important;
  color: #d0d0d0 !important;
}

/* Event map area */
[data-theme="dark"] .map-container,
[data-theme="dark"] #map {
  border-color: #404040 !important;
}

/* Promoter bio section (has inline bg #333333 in template) */
[data-theme="dark"] .promoter-bio,
[data-theme="dark"] [style*="background-color:#333333"] {
  background-color: #2a2a2a !important;
}

/* More dates button */
[data-theme="dark"] .btn-warning,
[data-theme="dark"] .btn-more-dates {
  background-color: #cc9900 !important;
  border-color: #cc9900 !important;
  color: #000000 !important;
}

/* Event ended / sold out notices */
[data-theme="dark"] .alert-warning {
  background-color: #2a2210 !important;
  color: #ffb866 !important;
  border-color: #554400 !important;
}

/* Social share buttons area */
[data-theme="dark"] .social-share,
[data-theme="dark"] .jssocials-share {
  background-color: transparent !important;
}

/* Sidebar on event pages */
[data-theme="dark"] .sidebar-widget {
  background-color: #222222 !important;
  color: #d0d0d0 !important;
  border-color: #404040 !important;
}

/* Payment icons row */
[data-theme="dark"] .payment-icons img {
  background-color: transparent !important;
}

/* Seating/section selectors */
[data-theme="dark"] .seating-section,
[data-theme="dark"] .section-selector {
  background-color: #2a2a2a !important;
  color: #d0d0d0 !important;
  border-color: #404040 !important;
}
