:root {
    --bg: #ffffff;
    --surface: #ffffff;
    --surface1: #ffffff;
    --surface-alt: #F2F2F2;
    --text: #2C2C2C;
    --text-muted: #707070;
    --text-muted2: #707070;
    --heading: #23346C;
    --primary: #23346C;
    --primary1: #FFFFFF;
    --primary-text: #ffffff;
    --border: #C7C7EA;
    --divider: #C7C7EA;
    --danger: #DC3545;
    --star: #FF9E0D;
    --chip: #EEEEFF;
    --shadow: 0px 0px 8.6px 0px #00000026;
    --radius: 10px;
    --hero-image: linear-gradient(135deg, #3a3a3a, #111 60%, #555);
    --texts: #222222;
    --footer-bg: #EEEEFF;
    --footer-border: #222222;
}


[data-theme="light"] {
    --bg: #ffffff;
    --surface: #F2F2F2;
    --surface1: #ffffff;
    --surface-alt: #F2F2F2;
    --text: #2C2C2C;
    --text-muted: #707070;
    --text-muted2: #707070;
    --heading: #23346C;
    --primary: #181818;
    --primary1: #FFFFFF;
    --primary-text: #ffffff;
    --border: #D5D5D5;
    --divider: #C7C7EA;
    --danger: #DC3545;
    --star: #FF9E0D;
    --chip: #EEEEFF;
    --shadow: 0px 0px 8.6px 0px #00000026;
    --radius: 10px;
    --hero-image: linear-gradient(135deg, #3a3a3a, #111 60%, #555);
    --texts: #222222;
    --footer-bg: #F2F2F2;
    --footer-border: #222222;
}

[data-theme="dark"] {
    --bg: #1a1a1a;
    --surface: #212020;
    --surface1: #212020;
    --surface-alt: #313131;
    --text: #f2f2f2;
    --text-muted: #FFFFFF;
    --text-muted2: #8D8D8D;
    --heading: #e8e8ee;
    --primary: #D2D2D2;
    --primary1: #181818;
    --primary-text: #1c1a33;
    --border: #3A3A3A;
    --divider: #3a3a3a;
    --danger: #ff5a6e;
    --star: #f5a623;
    --chip: #313131;
    --shadow: 0 2px 10px rgba(0, 0, 0, .45);
    --texts: #FFFFFF;
    --footer-bg: #212020;
    --footer-border: #FFFFFF;
}

/* Global Overrides for Booking Process */
body {
    background-color: var(--bg) !important;
    color: var(--text) !important;
}

/* Professional Page Overrides */
.professional-card {
    background-color: var(--surface) !important;
    border-color: var(--border) !important;
}

.professional-card .professional-name,
.professional-card .professional-name-sele,
.professional-card .professional-status {
    color: var(--text) !important;
}

.professional-card:hover {
    border-color: var(--primary) !important;
}

.selected-card {
    border-color: var(--primary) !important;
}

.selected-card .service-status {
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
    color: var(--primary-text) !important;
}

/* Progress Bar Overrides */
.progress-card {
    background-color: var(--surface) !important;
    border-color: var(--border) !important;
}

.progress-item .progress-label {
    color: var(--text) !important;
}

.progress-item.active .progress-label {
    color: var(--primary) !important;
}

.progress-item.active .progress-icon {
    border-color: var(--primary) !important;
    background-color: var(--primary) !important;
    color: var(--primary-text) !important;
}

/* Sidebar & General Overrides */
.booking-details-card {
    background-color: var(--surface) !important;
    border-color: var(--border) !important;
}

/* .booking-details-card * {
    color: var(--text) !important;
} */

/* Make sure icons are visible in active state */
.progress-item.active .progress-icon svg,
.progress-item.active .progress-icon i,
.selected-card .service-status i,
.selected-card .service-status svg {
    color: var(--primary-text) !important;
    fill: var(--primary-text) !important;
    stroke: var(--primary-text) !important;
}

[data-theme="dark"] svg,
[data-theme="dark"] i,
[data-theme="dark"] [data-icon] {
    color: #ffffff !important;
}

[data-theme="dark"] svg *[stroke]:not([stroke="none"]),
[data-theme="dark"] svg[stroke]:not([stroke="none"]) {
    stroke: #ffffff !important;
}

[data-theme="dark"] svg *[fill]:not([fill="none"]),
[data-theme="dark"] svg[fill]:not([fill="none"]) {
    fill: #ffffff !important;
}

.choose-location-header {
    background-color: var(--primary) !important;
    padding: 42px 0 !important;
}

.choose-location-header .container {
    padding: 0 !important;
}

[data-theme="dark"] .choose-location-header {
    background-color: var(--surface) !important;
}

.choose-location-header .banner-heading {
    color: var(--primary-text) !important;
    font-size: 32px !important;
    font-weight: 600 !important;
}

[data-theme="dark"] .choose-location-header .banner-heading {
    color: var(--heading) !important;
}

.new_back {
    color: var(--text-muted) !important;
}

[data-theme="dark"] .new_back {
    color: var(--text-muted2) !important;
}

.new_back:hover {
    color: var(--primary) !important;
}

.new_back h4 {
    color: var(--primary) !important;
}

/* Fix heading under new_back */
.salon-service-left h4 {
    color: var(--primary) !important;
}

.salon-location-card {
    background-color: var(--surface) !important;
    border-color: var(--border) !important;
}

.salon-location-card h5 {
    color: var(--text) !important;
}

.salon-location-card p {
    color: var(--text-muted) !important;
}

.location-icon-wrap {
    background-color: var(--surface-alt) !important;
    border-color: var(--border) !important;
}

.location-icon-wrap i,
.location-icon-wrap svg {
    color: var(--primary) !important;
    fill: var(--primary) !important;
}

/* Button overrides */
.sb-btn-new.blue,
.sb-btn.blue {
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
    color: var(--primary-text) !important;
}

.sb-btn-new.blue:hover,
.sb-btn.blue:hover {
    background-color: var(--primary) !important;
    opacity: 0.8 !important;
}

/* Right-side Cards (About us, Business hours, etc) */
.card {
    background-color: var(--surface) !important;
    border-color: var(--border) !important;
}

.business-card {
    background-color: var(--surface-alt) !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 8px 16px !important;
}

.card * {
    border-color: var(--border) !important;
}

.salon-inner-heading,
.text-gray-shade-1 {
    color: var(--text) !important;
}

.text-gray-tint-3 {
    color: var(--text-muted) !important;
}

[data-theme="dark"] .text-gray-tint-3 {
    color: var(--text-muted2) !important;
}

.business-hour-list {
    border-bottom: none !important;
    padding: 12px 0 !important;
}

.business-hour-list span {
    color: var(--text-muted) !important;
}

[data-theme="dark"] .business-hour-list span {
    color: var(--text) !important;
}


.hours li {
    border-bottom: 1px solid var(--border) !important;
}

[data-theme="dark"] .hours {
    background-color: var(--surface-alt) !important;
}

[data-theme="dark"] .hours li {
    border-bottom: 1px solid var(--divider) !important;
}

.amenities-grid-wrap .text-blue {
    color: var(--primary) !important;
}

.social-media-wrap {
    gap: 12px !important;
}

.salon-social-media {
    background-color: var(--chip) !important;
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
}

[data-theme="dark"] .salon-social-media {
    background-color: var(--surface-alt) !important;
}

.salon-social-media i,
.salon-social-media svg {
    width: 18px !important;
    height: 18px !important;
    color: var(--primary) !important;
    fill: var(--primary) !important;
}

[data-theme="dark"] .salon-social-media i,
[data-theme="dark"] .salon-social-media svg {
    color: var(--text) !important;
    fill: var(--text) !important;
}

[data-theme="dark"] .salon-social-media svg rect,
[data-theme="dark"] .salon-social-media svg circle {
    fill: none !important;
}


  .panel {
      background: var(--surface1);
      border: 1px solid var(--border);
      border-radius: 12px;
      padding: 24px;
      margin-bottom: 24px;
  }

  .aside_div {
      max-width: 453px;
      width: 100%;
      flex-shrink: 0;
  }

  .panel h2 {
      font-size: 20px;
      font-weight: 500;
      margin-bottom: 11px;
      color: var(--texts);
  }

  .panel p {
      font-size: 16px;
      color: var(--text-muted2);
      line-height: 1.6;
      font-weight: 500;
  }

  .panel h2.plain {
      margin-top: 24px;
  }

  .plain1 {
      margin-top: 33px;
  }

  .hours {
      background: var(--surface-alt);
      border-radius: 18px;
      padding: 5px;
      list-style: none;
  }

  .hours li {
      display: flex;
      flex-direction: row;
      justify-content: space-between;
      padding: 15px;
      font-size: 16px;
      color: var(--text-muted);
      border-bottom: 1px solid var(--divider);
      font-weight: 600;
  }

  .hours li:last-child {
      border-bottom: 0;
  }

  .hours .closed {
      color: var(--danger);
      font-size: 16px;
      font-weight: 600;
  }

  .na {
      font-size: 12px;
      color: var(--text-muted);
  }

  .amenities-list {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 8px;
      margin-top: 8px;
      font-size: 14px;
      color: var(--text-muted);
      font-weight: 600;
  }

  .amenities-list span {
      display: flex;
      align-items: center;
      gap: 6px;
  }

  .amenities-list span [data-icon="checkLight"],
  .amenities-list span svg {
      width: 16px;
      height: 16px;
      flex: none;
      color: var(--primary);
  }

  .social-links-wrap {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-top: 10px;
  }

  .social-link-item {
      width: 46px;
      height: 46px;
      border-radius: 12px;
      background: var(--surface-alt);
      border: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: var(--text);
      text-decoration: none;
      transition: all .2s ease;
  }

  .social-link-item i {
      font-size: 20px;
      color: var(--text);
      line-height: 1;
  }

  .social-link-item svg *[stroke]:not([stroke="none"]),
  .social-link-item svg[stroke]:not([stroke="none"]) {
      stroke: #23346C !important;
  }

  .social-link-item svg *[fill]:not([fill="none"]),
  .social-link-item svg[fill]:not([fill="none"]) {
      fill: #23346C !important;
  }

  [data-theme="dark"] .social-link-item {
      background: #313131;
      color: #FFFFFF;
  }

  [data-theme="dark"] .social-link-item i {
      color: #FFFFFF;
  }

/* Customer Details Page */
.customer-progress-banner {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 150px !important;
    padding: 0 20px;
    background-color: var(--primary) !important;
    margin-bottom: 40px;
}

[data-theme="dark"] .customer-progress-banner {
    background-color: var(--surface) !important;
    border-bottom: 1px solid var(--border);
}

[data-theme="light"] .customer-progress-banner {
    background-color: #1A1A1A !important;
}

.customer-banner-title h2 {
    color: #FFFFFF !important;
    font-size: 32px !important;
    font-weight: 600;
    margin: 0;
    letter-spacing: 0.02em;
}

.customer-input {
    height: 52px;
    border-radius: 10px;
    border: 1px solid var(--border) !important;
    background-color: var(--surface) !important;
    color: var(--text) !important;
    padding: 12px 18px;
    font-size: 16px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.customer-input:focus {
    border-color: var(--primary) !important;
    outline: none;
}

.customer-input::placeholder {
    color: var(--text-muted2) !important;
}

.customer-field-group label {
    font-size: 16px;
    font-weight: 600;
    color: var(--text) !important;
}

