/* Glamd Room current overrides
   Extracted from style.css in v13.5 to make the live override layer easier to maintain.
   Loaded after style.css so the visual cascade stays the same. */


/* v13.3 homepage conversion and accessibility polish */
.hero-image,
.about-photo {
  background: none !important;
  overflow: hidden;
}
.hero-image img,
.about-photo img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  display: block;
  object-fit: cover;
}
.hero-image img {
  min-height: 100%;
}
.about-photo img {
  min-height: 420px;
}
.home-booking-steps-card {
  display: grid;
  gap: 24px;
}
.home-booking-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.home-booking-steps article {
  border: 1px solid rgba(88, 16, 36, 0.1);
  border-radius: 26px;
  background: #fffaf7;
  padding: 24px;
  min-height: 210px;
  box-shadow: 0 12px 34px rgba(88, 16, 36, 0.045);
}
.home-booking-steps article span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin-bottom: 18px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  color: #351d12;
  font: 900 12px/1 Montserrat, Arial, sans-serif;
  letter-spacing: 0.08em;
}
.home-booking-steps article h3 {
  margin: 0 0 10px;
  color: #581024;
  font-size: 24px;
}
.home-booking-steps article p {
  margin: 0;
  color: #6f6065;
  line-height: 1.65;
}
.home-booking-steps-actions {
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
}
.home-new-client-list span {
  position: relative;
  padding-left: 42px !important;
}
.home-new-client-list span::before {
  content: "✓";
  position: absolute;
  left: 14px;
  top: 14px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(211, 169, 77, 0.18);
  color: #581024;
  font: 900 13px/1 Montserrat, Arial, sans-serif;
}
.home-reviews-band {
  padding: 76px 30px;
  background: #fffaf7;
}
.home-reviews-band .section-head {
  margin-bottom: 28px;
}
.home-reviews-band .home-review-preview-grid {
  max-width: 1080px;
  margin: 0 auto;
}
.home-review-placeholder {
  max-width: 520px;
  margin: 0 auto;
}
.home-final-cta {
  margin: 0;
  padding: 82px 30px;
  text-align: center;
  background: radial-gradient(circle at top, rgba(211, 169, 77, 0.16), transparent 42%), #2a0715;
  color: #fffaf7;
}
.home-final-cta h2 {
  max-width: 820px;
  margin: 12px auto 18px;
  color: #fff;
  font-size: clamp(48px, 8vw, 84px);
  line-height: 0.92;
}
.home-final-cta p {
  max-width: 650px;
  margin: 0 auto 28px;
  color: rgba(255,255,255,0.78);
  line-height: 1.75;
}
.home-final-cta .actions {
  justify-content: center;
}
@media (max-width: 820px) {
  .home-booking-steps {
    grid-template-columns: 1fr;
  }
  .home-booking-steps article {
    min-height: auto;
  }
  .about-photo img {
    min-height: 360px;
  }
  .home-reviews-band {
    padding: 62px 18px;
  }
  .home-final-cta {
    padding: 72px 20px;
  }
}


/* v13.8 checkout duplicate summary and quick action fallback */
body.woocommerce-checkout .mobile-action-bar,
body.woocommerce-cart .mobile-action-bar,
body.woocommerce-order-received .mobile-action-bar,
body.page-id-checkout .mobile-action-bar,
body.page-id-cart .mobile-action-bar {
  display: none !important;
}
body.woocommerce-checkout .woocommerce-checkout-review-order,
body.woocommerce-checkout #order_review_heading {
  display: none;
}


/* v16.9 local SEO footer wording */
.footer-service-area{
  max-width:520px;
  margin:12px auto 22px;
  color:rgba(255,255,255,.72);
  font-size:14px;
  line-height:1.65;
}


/* v17.12 booking treatment-card mobile layout polish */
#serviceList.service-list,
#serviceList {
  display: grid !important;
  gap: 14px !important;
}

.booking-panel .filter-row {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.booking-panel .filter-row::-webkit-scrollbar {
  display: none;
}

#serviceList .service-item {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-areas:
    "service-name service-price"
    "service-meta service-meta"
    "service-badge service-badge"
    "service-action service-action" !important;
  align-items: start !important;
  column-gap: 16px !important;
  row-gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 20px 22px !important;
  overflow: hidden !important;
  border: 1px solid rgba(88, 16, 36, 0.12) !important;
  border-left: 5px solid rgba(201, 165, 106, 0.9) !important;
  border-radius: 24px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fffdfb 100%) !important;
  box-shadow: 0 10px 30px rgba(88, 16, 36, 0.055) !important;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease !important;
}

#serviceList .service-item:hover {
  transform: translateY(-1px) !important;
  border-color: rgba(88, 16, 36, 0.2) !important;
  border-left-color: #c9a56a !important;
  box-shadow: 0 14px 34px rgba(88, 16, 36, 0.08) !important;
}

#serviceList .service-item.active,
#serviceList .service-item.multi-selected {
  border-color: rgba(88, 16, 36, 0.34) !important;
  border-left-color: #68112c !important;
  background: linear-gradient(180deg, #fff8fb 0%, #fffdfb 100%) !important;
  box-shadow: 0 14px 34px rgba(88, 16, 36, 0.1) !important;
}

/* Let the title, supporting details and patch note use their own clean grid rows. */
#serviceList .service-item > div:first-child {
  display: contents !important;
}

#serviceList .service-item > div:first-child > b,
#serviceList .service-item > div:first-child > strong:first-child {
  grid-area: service-name !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: #581024 !important;
  font-family: Montserrat, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: clamp(18px, 4.6vw, 23px) !important;
  font-weight: 900 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.025em !important;
  overflow-wrap: anywhere !important;
}

#serviceList .service-item > div:first-child > small {
  grid-area: service-meta !important;
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: #76686b !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  overflow-wrap: anywhere !important;
}

#serviceList .service-item .service-rule-note {
  color: #581024 !important;
  font-weight: 800 !important;
}

#serviceList .service-item > strong {
  grid-area: service-price !important;
  align-self: start !important;
  justify-self: end !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  justify-content: flex-end !important;
  gap: 3px 7px !important;
  width: auto !important;
  max-width: 190px !important;
  min-width: max-content !important;
  margin: 0 !important;
  color: #68112c !important;
  text-align: right !important;
  font-size: clamp(21px, 5.6vw, 28px) !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
  white-space: normal !important;
}

#serviceList .service-item > strong del,
#serviceList .service-item > strong s {
  color: #7f7779 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  opacity: 0.9 !important;
}

#serviceList .service-item > strong small,
#serviceList .service-item > strong [class*="offer"],
#serviceList .service-item > strong [class*="discount"] {
  flex: 0 0 100% !important;
  display: block !important;
  margin: 5px 0 0 !important;
  color: #9a7a2d !important;
  text-align: right !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
}

#serviceList .service-item .service-patch-label,
#serviceList .service-item [class*="patch-label"],
#serviceList .service-item [class*="patch-badge"] {
  grid-area: service-badge !important;
  justify-self: start !important;
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  max-width: 100% !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 8px 13px !important;
  border: 1px solid rgba(201, 165, 106, 0.44) !important;
  border-radius: 999px !important;
  background: #fff9ea !important;
  color: #68112c !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  white-space: normal !important;
}

#serviceList .service-item .service-select-pill {
  grid-area: service-action !important;
  justify-self: start !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 150px !important;
  max-width: 100% !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 11px 18px !important;
  border: 1px solid rgba(201, 165, 106, 0.4) !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #fff9eb 0%, #fff4d8 100%) !important;
  color: #581024 !important;
  box-shadow: none !important;
  font: 900 11px/1 Montserrat, Arial, sans-serif !important;
  letter-spacing: 0.11em !important;
  text-align: center !important;
  text-transform: uppercase !important;
}

#serviceList .service-item.active .service-select-pill,
#serviceList .service-item.multi-selected .service-select-pill {
  border-color: #68112c !important;
  background: #68112c !important;
  color: #ffffff !important;
}

@media (max-width: 760px) {
  .booking-panel .filter-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 9px !important;
    margin: 14px -4px 20px !important;
    padding: 4px 4px 9px !important;
    overflow-x: auto !important;
    overscroll-behavior-x: contain !important;
    scroll-snap-type: x proximity !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .booking-panel .filter-row .chip {
    flex: 0 0 auto !important;
    min-height: 44px !important;
    padding: 10px 17px !important;
    border-radius: 999px !important;
    scroll-snap-align: start !important;
    white-space: nowrap !important;
  }

  #serviceList.service-list,
  #serviceList {
    gap: 13px !important;
  }

  #serviceList .service-item {
    column-gap: 12px !important;
    row-gap: 11px !important;
    padding: 18px 17px 17px !important;
    border-left-width: 4px !important;
    border-radius: 22px !important;
  }

  #serviceList .service-item > div:first-child > b,
  #serviceList .service-item > div:first-child > strong:first-child {
    font-size: clamp(18px, 5.3vw, 22px) !important;
  }

  #serviceList .service-item > strong {
    max-width: 145px !important;
    font-size: clamp(20px, 6.2vw, 25px) !important;
  }

  #serviceList .service-item > div:first-child > small {
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  #serviceList .service-item .service-select-pill {
    width: 138px !important;
    min-height: 40px !important;
    padding: 10px 15px !important;
  }
}

@media (max-width: 390px) {
  #serviceList .service-item {
    grid-template-columns: minmax(0, 1fr) auto !important;
    padding: 17px 15px 16px !important;
  }

  #serviceList .service-item > strong {
    max-width: 124px !important;
    font-size: 21px !important;
  }

  #serviceList .service-item > strong del,
  #serviceList .service-item > strong s {
    font-size: 12px !important;
  }
}

/* v17.13 clean professional booking treatment cards */
#serviceList .service-item > div:first-child > b,
#serviceList .service-item > div:first-child > strong:first-child {
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

#serviceList .service-item:focus-visible {
  outline: 3px solid rgba(201, 165, 106, 0.42) !important;
  outline-offset: 3px !important;
}

@media (max-width: 760px) {
  /* Use the full mobile width instead of nesting narrow cards inside heavy padding. */
  .booking-panel {
    padding: 18px 14px !important;
  }

  .booking-panel .filter-row {
    gap: 8px !important;
    margin: 10px -2px 18px !important;
    padding: 2px 2px 8px !important;
  }

  .booking-panel .filter-row .chip {
    min-height: 40px !important;
    padding: 9px 14px !important;
    font-size: 11px !important;
    letter-spacing: 0.01em !important;
    box-shadow: none !important;
  }

  #serviceList.service-list,
  #serviceList {
    gap: 12px !important;
  }

  #serviceList .service-item {
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "service-name service-name"
      "service-meta service-meta"
      "service-badge service-badge"
      "service-price service-action" !important;
    align-items: end !important;
    column-gap: 12px !important;
    row-gap: 9px !important;
    min-height: 0 !important;
    padding: 17px 16px 16px !important;
    border: 1px solid rgba(88, 16, 36, 0.1) !important;
    border-left: 4px solid rgba(201, 165, 106, 0.9) !important;
    border-radius: 20px !important;
    background: #ffffff !important;
    box-shadow: 0 8px 24px rgba(88, 16, 36, 0.05) !important;
  }

  #serviceList .service-item:hover {
    transform: none !important;
  }

  #serviceList .service-item > div:first-child > b,
  #serviceList .service-item > div:first-child > strong:first-child {
    width: 100% !important;
    max-width: none !important;
    font-size: 20px !important;
    line-height: 1.22 !important;
    letter-spacing: -0.02em !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  #serviceList .service-item > div:first-child > small {
    width: 100% !important;
    max-width: none !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    color: #786b6e !important;
  }

  #serviceList .service-item > strong {
    align-self: center !important;
    justify-self: start !important;
    justify-content: flex-start !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    color: #68112c !important;
    text-align: left !important;
    font-size: 22px !important;
    line-height: 1.05 !important;
    white-space: normal !important;
  }

  #serviceList .service-item > strong del,
  #serviceList .service-item > strong s {
    font-size: 12px !important;
  }

  #serviceList .service-item > strong small,
  #serviceList .service-item > strong [class*="offer"],
  #serviceList .service-item > strong [class*="discount"] {
    margin-top: 4px !important;
    text-align: left !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
    letter-spacing: 0.07em !important;
  }

  #serviceList .service-item .service-patch-label,
  #serviceList .service-item [class*="patch-label"],
  #serviceList .service-item [class*="patch-badge"] {
    min-height: 32px !important;
    padding: 7px 11px !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
    letter-spacing: 0.065em !important;
  }

  #serviceList .service-item .service-select-pill {
    align-self: center !important;
    justify-self: end !important;
    width: 116px !important;
    min-height: 40px !important;
    padding: 10px 14px !important;
    border-radius: 999px !important;
    font-size: 10px !important;
    letter-spacing: 0.1em !important;
  }

  #serviceList .service-item.active,
  #serviceList .service-item.multi-selected {
    border-color: rgba(88, 16, 36, 0.24) !important;
    border-left-color: #68112c !important;
    background: linear-gradient(180deg, #fffafb 0%, #ffffff 100%) !important;
    box-shadow: 0 10px 28px rgba(88, 16, 36, 0.08) !important;
  }
}

@media (max-width: 360px) {
  .booking-panel {
    padding-left: 11px !important;
    padding-right: 11px !important;
  }

  #serviceList .service-item {
    padding: 16px 14px 15px !important;
  }

  #serviceList .service-item > div:first-child > b,
  #serviceList .service-item > div:first-child > strong:first-child {
    font-size: 19px !important;
  }

  #serviceList .service-item > strong {
    font-size: 21px !important;
  }

  #serviceList .service-item .service-select-pill {
    width: 108px !important;
  }
}

/* v17.14 premium booking service selector
   Replaces the oversized document-style cards with a compact app-like layout. */
.booking-panel:has(#serviceList){
  background:linear-gradient(180deg,#fbf8f5 0%,#f8f2ed 100%)!important;
}

.booking-panel:has(#serviceList) .filter-row{
  margin-bottom:18px!important;
}

.booking-panel:has(#serviceList) .filter-row .chip{
  border:1px solid rgba(88,16,36,.12)!important;
  background:rgba(255,255,255,.82)!important;
  color:#68112c!important;
  box-shadow:0 4px 14px rgba(63,25,37,.035)!important;
  font-weight:800!important;
}

.booking-panel:has(#serviceList) .filter-row .chip.active{
  border-color:#68112c!important;
  background:#68112c!important;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(88,16,36,.16)!important;
}

#serviceList.service-list,
#serviceList{
  gap:10px!important;
}

#serviceList .service-item{
  position:relative!important;
  isolation:isolate!important;
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr) auto!important;
  grid-template-areas:
    "service-icon service-content service-price"
    "service-icon service-content service-action"!important;
  align-items:start!important;
  column-gap:13px!important;
  row-gap:7px!important;
  min-height:116px!important;
  padding:15px 15px 15px 14px!important;
  border:1px solid rgba(88,16,36,.085)!important;
  border-left:1px solid rgba(88,16,36,.085)!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,#fff 0%,#fffdfa 100%)!important;
  box-shadow:0 8px 24px rgba(67,31,42,.055)!important;
  overflow:hidden!important;
  transform:none!important;
}

#serviceList .service-item::before{
  content:"✦"!important;
  grid-area:service-icon!important;
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  margin:1px 0 0!important;
  border:1px solid rgba(201,165,106,.34)!important;
  border-radius:14px!important;
  background:linear-gradient(145deg,#fff9ec 0%,#f8edda 100%)!important;
  color:#b78a3e!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:18px!important;
  line-height:1!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;
}

#serviceList .service-item::after{
  content:""!important;
  position:absolute!important;
  z-index:-1!important;
  top:0!important;
  left:0!important;
  width:3px!important;
  height:100%!important;
  background:linear-gradient(180deg,rgba(201,165,106,.95),rgba(201,165,106,.35))!important;
  opacity:.8!important;
}

#serviceList .service-item:hover{
  transform:translateY(-1px)!important;
  border-color:rgba(88,16,36,.14)!important;
  box-shadow:0 12px 30px rgba(67,31,42,.075)!important;
}

#serviceList .service-item > div:first-child{
  grid-area:service-content!important;
  display:block!important;
  min-width:0!important;
  align-self:start!important;
}

#serviceList .service-item > div:first-child > b,
#serviceList .service-item > div:first-child > strong:first-child{
  display:block!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  color:#401420!important;
  font-family:Montserrat,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:17px!important;
  font-weight:800!important;
  line-height:1.25!important;
  letter-spacing:-.018em!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

#serviceList .service-item > div:first-child > small{
  display:block!important;
  width:auto!important;
  margin:6px 0 0!important;
  color:#817579!important;
  font-size:12px!important;
  font-weight:500!important;
  line-height:1.45!important;
  letter-spacing:0!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

#serviceList .service-item .service-rule-note{
  color:#5d2335!important;
  font-weight:750!important;
}

#serviceList .service-item .service-patch-label,
#serviceList .service-item [class*="patch-label"],
#serviceList .service-item [class*="patch-badge"]{
  display:inline-flex!important;
  align-items:center!important;
  width:auto!important;
  max-width:100%!important;
  min-height:0!important;
  margin:9px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#9a742f!important;
  font-size:9px!important;
  font-weight:850!important;
  line-height:1.25!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
  white-space:normal!important;
}

#serviceList .service-item .service-patch-label::before,
#serviceList .service-item [class*="patch-label"]::before,
#serviceList .service-item [class*="patch-badge"]::before{
  content:""!important;
  width:6px!important;
  height:6px!important;
  flex:0 0 6px!important;
  margin-right:6px!important;
  border-radius:50%!important;
  background:#c9a56a!important;
  box-shadow:0 0 0 3px rgba(201,165,106,.13)!important;
}

#serviceList .service-item > strong{
  grid-area:service-price!important;
  align-self:start!important;
  justify-self:end!important;
  display:block!important;
  width:auto!important;
  min-width:92px!important;
  max-width:124px!important;
  margin:0!important;
  color:#68112c!important;
  text-align:right!important;
  font-family:Montserrat,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:20px!important;
  font-weight:900!important;
  line-height:1.12!important;
  letter-spacing:-.035em!important;
  white-space:normal!important;
}

#serviceList .service-item > strong del,
#serviceList .service-item > strong s{
  display:inline!important;
  margin-right:4px!important;
  color:#9a9193!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:0!important;
  opacity:1!important;
}

#serviceList .service-item > strong small,
#serviceList .service-item > strong [class*="offer"],
#serviceList .service-item > strong [class*="discount"]{
  display:block!important;
  width:max-content!important;
  max-width:124px!important;
  margin:6px 0 0 auto!important;
  padding:4px 6px!important;
  border-radius:999px!important;
  background:rgba(201,165,106,.13)!important;
  color:#8b6729!important;
  text-align:right!important;
  font-size:7.5px!important;
  font-weight:900!important;
  line-height:1.1!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}

#serviceList .service-item .service-select-pill{
  grid-area:service-action!important;
  align-self:end!important;
  justify-self:end!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:92px!important;
  min-width:92px!important;
  max-width:92px!important;
  min-height:36px!important;
  margin:0!important;
  padding:9px 12px!important;
  border:1px solid rgba(88,16,36,.19)!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#68112c!important;
  box-shadow:0 4px 12px rgba(88,16,36,.045)!important;
  font:850 9.5px/1 Montserrat,Arial,sans-serif!important;
  letter-spacing:.105em!important;
  text-transform:uppercase!important;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease!important;
}

#serviceList .service-item .service-select-pill::after{
  content:" +"!important;
  font-size:13px!important;
  line-height:.8!important;
  font-weight:500!important;
  letter-spacing:0!important;
}

#serviceList .service-item.active,
#serviceList .service-item.multi-selected{
  border-color:rgba(104,17,44,.24)!important;
  background:linear-gradient(145deg,#fff9fb 0%,#fff 100%)!important;
  box-shadow:0 10px 28px rgba(88,16,36,.09)!important;
}

#serviceList .service-item.active::after,
#serviceList .service-item.multi-selected::after{
  background:#68112c!important;
  opacity:1!important;
}

#serviceList .service-item.active .service-select-pill,
#serviceList .service-item.multi-selected .service-select-pill{
  border-color:#68112c!important;
  background:#68112c!important;
  color:#fff!important;
  box-shadow:0 7px 16px rgba(88,16,36,.18)!important;
}

#serviceList .service-item.active .service-select-pill::after,
#serviceList .service-item.multi-selected .service-select-pill::after{
  content:" ✓"!important;
  font-size:11px!important;
  font-weight:800!important;
}

#serviceList .service-item:focus-visible{
  outline:3px solid rgba(201,165,106,.36)!important;
  outline-offset:3px!important;
}

@media(max-width:760px){
  .booking-panel:has(#serviceList){
    padding:15px 13px 20px!important;
    border-radius:0!important;
    box-shadow:none!important;
  }

  .booking-panel:has(#serviceList) .filter-row{
    gap:7px!important;
    margin:6px -13px 15px!important;
    padding:3px 13px 8px!important;
  }

  .booking-panel:has(#serviceList) .filter-row .chip{
    min-height:38px!important;
    padding:9px 13px!important;
    border-radius:12px!important;
    font-size:10.5px!important;
    letter-spacing:0!important;
  }

  #serviceList.service-list,
  #serviceList{
    gap:9px!important;
  }

  #serviceList .service-item{
    grid-template-columns:40px minmax(0,1fr) auto!important;
    column-gap:11px!important;
    row-gap:6px!important;
    min-height:108px!important;
    padding:13px 13px 13px 12px!important;
    border-radius:17px!important;
  }

  #serviceList .service-item::before{
    width:38px!important;
    height:38px!important;
    border-radius:12px!important;
    font-size:16px!important;
  }

  #serviceList .service-item > div:first-child > b,
  #serviceList .service-item > div:first-child > strong:first-child{
    font-size:16px!important;
    line-height:1.24!important;
  }

  #serviceList .service-item > div:first-child > small{
    margin-top:5px!important;
    font-size:11.5px!important;
    line-height:1.42!important;
  }

  #serviceList .service-item > strong{
    min-width:84px!important;
    max-width:112px!important;
    font-size:19px!important;
  }

  #serviceList .service-item > strong small,
  #serviceList .service-item > strong [class*="offer"],
  #serviceList .service-item > strong [class*="discount"]{
    max-width:112px!important;
    font-size:7px!important;
  }

  #serviceList .service-item .service-select-pill{
    width:84px!important;
    min-width:84px!important;
    max-width:84px!important;
    min-height:34px!important;
    padding:8px 9px!important;
    border-radius:11px!important;
    font-size:9px!important;
  }
}

@media(max-width:380px){
  #serviceList .service-item{
    grid-template-columns:36px minmax(0,1fr) 80px!important;
    column-gap:9px!important;
    padding:12px 11px!important;
  }

  #serviceList .service-item::before{
    width:34px!important;
    height:34px!important;
    border-radius:11px!important;
  }

  #serviceList .service-item > div:first-child > b,
  #serviceList .service-item > div:first-child > strong:first-child{
    font-size:15px!important;
  }

  #serviceList .service-item > strong{
    min-width:80px!important;
    max-width:80px!important;
    font-size:18px!important;
  }

  #serviceList .service-item .service-select-pill{
    width:80px!important;
    min-width:80px!important;
    max-width:80px!important;
  }
}

/* v17.38 — booking treatment typography reset.
   This final block deliberately targets the Booking Suite service list without
   relying on a page body class, so it also applies when the suite renders the
   /booking/ page through its own template. */
#serviceList .service-item > div:first-child > b,
#serviceList .service-item > div:first-child > strong:first-child{
  color:#49313a!important;
  font-family:Montserrat,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:16px!important;
  font-weight:600!important;
  line-height:1.34!important;
  letter-spacing:-.008em!important;
}

#serviceList .service-item > div:first-child > small{
  margin-top:6px!important;
  color:#85787d!important;
  font-size:12px!important;
  font-weight:400!important;
  line-height:1.5!important;
}

#serviceList .service-item .service-rule-note,
#serviceList .service-item > div:first-child > small b,
#serviceList .service-item > div:first-child > small strong{
  color:#60404c!important;
  font-weight:600!important;
}

#serviceList .service-item > strong{
  color:#641a32!important;
  font-size:19px!important;
  font-weight:700!important;
  line-height:1.16!important;
  letter-spacing:-.018em!important;
}

#serviceList .service-item > strong del,
#serviceList .service-item > strong s{
  color:#9a9295!important;
  font-size:10px!important;
  font-weight:500!important;
}

#serviceList .service-item > strong small,
#serviceList .service-item > strong [class*="offer"],
#serviceList .service-item > strong [class*="discount"],
#serviceList .booking-sale-price em{
  color:#98783d!important;
  font-size:7.5px!important;
  font-weight:600!important;
  line-height:1.28!important;
  letter-spacing:.025em!important;
}

#serviceList .service-item .service-patch-label,
#serviceList .service-item [class*="patch-label"],
#serviceList .service-item [class*="patch-badge"]{
  color:#96773c!important;
  font-size:8px!important;
  font-weight:600!important;
  line-height:1.3!important;
  letter-spacing:.025em!important;
}

#serviceList .service-item .service-select-pill{
  color:#65152f!important;
  font-size:9px!important;
  font-weight:650!important;
  letter-spacing:.045em!important;
}

.booking-panel .filter-row .chip,
body.glamdroom-booking-authenticated .booking-panel .filter-row .chip{
  font-weight:600!important;
  letter-spacing:0!important;
}

.gr-treatment-search-count,
body.glamdroom-booking-authenticated .gr-treatment-search-count{
  font-weight:500!important;
  letter-spacing:0!important;
}

@media(max-width:760px){
  #serviceList .service-item > div:first-child > b,
  #serviceList .service-item > div:first-child > strong:first-child{
    font-size:15.5px!important;
    font-weight:600!important;
  }

  #serviceList .service-item > div:first-child > small{
    font-size:11.5px!important;
  }

  #serviceList .service-item > strong{
    font-size:18px!important;
    font-weight:700!important;
  }
}
