
/* v17.19 — account choice panel is no longer needed because booking is account-first. */
body.glamdroom-booking-authenticated .booking-entry-choice,
body.glamdroom-modern-booking .booking-entry-choice{
  display:none!important;
}

/*
 * Glamd Room v17.18
 * Modern, account-first booking experience.
 */
:root{
  --gr-booking-wine:#4b1125;
  --gr-booking-burgundy:#68112c;
  --gr-booking-ink:#2d2227;
  --gr-booking-muted:#786a70;
  --gr-booking-gold:#caa766;
  --gr-booking-gold-soft:#f3e2bd;
  --gr-booking-cream:#fbf7f2;
  --gr-booking-card:#fffdfb;
  --gr-booking-line:rgba(75,17,37,.11);
  --gr-booking-shadow:0 20px 55px rgba(62,22,37,.08);
}

body.glamdroom-modern-booking{
  background:
    radial-gradient(circle at 8% 10%,rgba(202,167,102,.13),transparent 29rem),
    linear-gradient(180deg,#fcf8f4 0%,#f7eee8 100%)!important;
  color:var(--gr-booking-ink);
}

/* ---------- Account gate ---------- */
body.glamdroom-booking-access-page{
  margin:0;
  background:#f8f0ea;
  color:var(--gr-booking-ink);
  font-family:Montserrat,Arial,sans-serif;
}
.booking-access-main{min-height:70vh;overflow:hidden;}
.booking-access-hero{
  position:relative;
  width:min(1180px,calc(100% - 40px));
  min-height:360px;
  margin:36px auto 0;
  padding:58px clamp(28px,6vw,76px);
  border-radius:42px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  background:
    radial-gradient(circle at 88% 18%,rgba(237,207,144,.22),transparent 25rem),
    linear-gradient(135deg,#35101d 0%,#68112c 65%,#7a1738 100%);
  box-shadow:0 34px 90px rgba(53,16,29,.22);
}
.booking-access-hero::after{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(243,226,189,.18);
  border-radius:30px;
  pointer-events:none;
}
.booking-access-hero-copy{position:relative;z-index:2;max-width:720px;}
.booking-access-kicker{
  display:block;
  margin-bottom:14px;
  color:#ebcd8e;
  font-size:11px;
  font-weight:900;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.booking-access-hero h1{
  margin:0;
  color:#fffaf7;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(58px,8vw,100px);
  font-weight:600;
  line-height:.84;
  letter-spacing:-.04em;
}
.booking-access-hero p{
  max-width:680px;
  margin:24px 0 0;
  color:rgba(255,255,255,.73);
  font-size:clamp(15px,2vw,18px);
  line-height:1.7;
}
.booking-access-benefits{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px;
}
.booking-access-benefits span{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:42px;
  padding:8px 14px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(255,255,255,.075);
  color:#fff;
  font-size:12px;
  font-weight:700;
}
.booking-access-benefits b{color:#ebcd8e;font-size:10px;letter-spacing:.08em;}
.booking-access-mark{
  position:relative;
  z-index:2;
  flex:0 0 155px;
  width:155px;
  height:155px;
  display:grid;
  place-items:center;
  border:1px solid rgba(243,226,189,.35);
  border-radius:50%;
  background:rgba(255,255,255,.07);
  color:#efd7a5;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:62px;
  font-weight:600;
  box-shadow:inset 0 0 0 12px rgba(255,255,255,.025);
}
.booking-access-shell{
  position:relative;
  width:min(830px,calc(100% - 40px));
  margin:-42px auto 80px;
  z-index:5;
}
.booking-access-card{
  padding:clamp(22px,5vw,46px);
  border:1px solid var(--gr-booking-line);
  border-radius:36px;
  background:rgba(255,253,251,.98);
  box-shadow:0 30px 90px rgba(62,22,37,.14);
  backdrop-filter:blur(18px);
}
.booking-access-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  max-width:500px;
  margin:0 auto 32px;
  padding:7px;
  border:1px solid rgba(104,17,44,.1);
  border-radius:999px;
  background:#f7eee8;
}
.booking-access-tabs button{
  min-height:48px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#715d65;
  cursor:pointer;
  font:800 11px/1 Montserrat,Arial,sans-serif;
  letter-spacing:.11em;
  text-transform:uppercase;
  transition:.2s ease;
}
.booking-access-tabs button.active{
  background:var(--gr-booking-burgundy);
  color:#fff;
  box-shadow:0 12px 28px rgba(104,17,44,.2);
}
.booking-access-alert{
  max-width:560px;
  margin:-10px auto 24px;
  padding:13px 16px;
  border:1px solid rgba(154,26,59,.18);
  border-radius:16px;
  background:#fff1f3;
  color:#8a1735;
  font-size:13px;
  font-weight:700;
  line-height:1.5;
}
.booking-access-panel{max-width:560px;margin:0 auto;}
.booking-access-panel[hidden]{display:none!important;}
.booking-access-panel-head{text-align:center;margin-bottom:25px;}
.booking-access-panel-head>span{
  display:block;
  color:#aa8545;
  font-size:10px;
  font-weight:900;
  letter-spacing:.19em;
  text-transform:uppercase;
}
.booking-access-panel-head h2{
  margin:8px 0 10px;
  color:var(--gr-booking-wine);
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(39px,6vw,55px);
  font-weight:600;
  line-height:.95;
  letter-spacing:-.035em;
}
.booking-access-panel-head p{margin:0;color:var(--gr-booking-muted);font-size:14px;line-height:1.65;}
.booking-access-form{display:grid;gap:15px;}
.booking-access-form>label,.booking-access-name-grid label{
  display:grid;
  gap:7px;
  color:var(--gr-booking-wine);
  font-size:10px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.booking-access-form input[type="text"],
.booking-access-form input[type="email"],
.booking-access-form input[type="tel"],
.booking-access-form input[type="password"]{
  width:100%;
  min-height:55px;
  box-sizing:border-box;
  padding:14px 16px;
  border:1px solid rgba(75,17,37,.13);
  border-radius:16px;
  outline:0;
  background:#fff;
  color:var(--gr-booking-ink);
  font:600 15px/1.3 Montserrat,Arial,sans-serif;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.booking-access-form input:focus{
  border-color:rgba(104,17,44,.52);
  background:#fffdfb;
  box-shadow:0 0 0 4px rgba(104,17,44,.075);
}
.booking-access-form label>small{color:#95878c;font-size:11px;font-weight:600;letter-spacing:0;text-transform:none;}
.booking-access-name-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;}
.booking-password-field{position:relative;display:block;}
.booking-password-field input{padding-right:70px!important;}
.booking-password-field button{
  position:absolute;
  right:8px;
  top:8px;
  height:39px;
  padding:0 11px;
  border:0;
  border-radius:11px;
  background:#f7eee8;
  color:var(--gr-booking-burgundy);
  cursor:pointer;
  font:800 10px/1 Montserrat,Arial,sans-serif;
  text-transform:uppercase;
}
.booking-access-form-row{display:flex;align-items:center;justify-content:space-between;gap:14px;}
.booking-access-form-row a{color:var(--gr-booking-burgundy);font-size:12px;font-weight:800;text-underline-offset:3px;}
.booking-access-remember,.booking-access-consent{
  display:flex!important;
  grid-template-columns:none!important;
  align-items:flex-start!important;
  gap:10px!important;
  color:#76686d!important;
  font-size:12px!important;
  font-weight:650!important;
  line-height:1.5!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.booking-access-remember input,.booking-access-consent input{
  flex:0 0 18px;
  width:18px!important;
  height:18px!important;
  min-height:18px!important;
  margin:1px 0 0!important;
  accent-color:var(--gr-booking-burgundy);
}
.booking-access-consent a{color:var(--gr-booking-burgundy);font-weight:850;}
.booking-access-submit{
  width:100%;
  min-height:59px;
  margin-top:3px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  border:0;
  border-radius:17px;
  background:linear-gradient(135deg,#68112c 0%,#4a1023 100%);
  color:#fff;
  cursor:pointer;
  box-shadow:0 18px 34px rgba(75,17,37,.22);
  font:850 12px/1 Montserrat,Arial,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
  transition:transform .18s ease,box-shadow .18s ease;
}
.booking-access-submit:hover{transform:translateY(-1px);box-shadow:0 22px 40px rgba(75,17,37,.27);}
.booking-access-submit span{color:#e9ca89;font-size:20px;line-height:0;}
.booking-access-security{margin:25px 0 0;text-align:center;color:#8c7e83;font-size:11px;font-weight:650;line-height:1.5;}
.booking-access-security span{color:#a9833e;font-weight:900;}

/* ---------- Authenticated booking page ---------- */
body.glamdroom-booking-authenticated .section,
body.glamdroom-booking-authenticated main{
  background:transparent!important;
}
body.glamdroom-booking-authenticated .section-head{
  width:min(1180px,calc(100% - 40px));
  max-width:none!important;
  margin:32px auto 18px!important;
  padding:0!important;
  text-align:left!important;
}
body.glamdroom-booking-authenticated .section-head .kicker{
  color:#a9823e!important;
  font-size:10px!important;
  letter-spacing:.2em!important;
}
body.glamdroom-booking-authenticated .section-head h1,
body.glamdroom-booking-authenticated .section-head h2{
  max-width:820px;
  margin:7px 0 10px!important;
  color:var(--gr-booking-wine)!important;
  font-family:"Cormorant Garamond",Georgia,serif!important;
  font-size:clamp(52px,7vw,86px)!important;
  font-weight:600!important;
  line-height:.88!important;
  letter-spacing:-.04em!important;
  text-align:left!important;
}
body.glamdroom-booking-authenticated .section-head p{max-width:700px;margin:0!important;color:var(--gr-booking-muted)!important;line-height:1.7!important;text-align:left!important;}

.gr-booking-intro{
  position:relative;
  width:min(1180px,calc(100% - 40px));
  margin:30px auto 20px;
  padding:clamp(24px,4vw,42px);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
  border-radius:34px;
  overflow:hidden;
  background:
    radial-gradient(circle at 92% 8%,rgba(238,207,143,.2),transparent 22rem),
    linear-gradient(135deg,#35101d,#64122d 70%,#771637);
  color:#fff;
  box-shadow:0 28px 72px rgba(53,16,29,.2);
}
.gr-booking-intro::after{content:"";position:absolute;inset:12px;border:1px solid rgba(255,255,255,.11);border-radius:25px;pointer-events:none;}
.gr-booking-intro-copy{position:relative;z-index:1;}
.gr-booking-intro-eyebrow{display:block;color:#e8c77e;font-size:10px;font-weight:900;letter-spacing:.2em;text-transform:uppercase;}
.gr-booking-intro h1{margin:8px 0 10px;color:#fff!important;font-family:"Cormorant Garamond",Georgia,serif!important;font-size:clamp(48px,6vw,75px)!important;font-weight:600!important;line-height:.9!important;letter-spacing:-.04em!important;}
.gr-booking-intro p{max-width:720px;margin:0;color:rgba(255,255,255,.72);font-size:14px;line-height:1.65;}
.gr-booking-account-chip{position:relative;z-index:1;min-width:230px;padding:14px 16px;border:1px solid rgba(255,255,255,.13);border-radius:19px;background:rgba(255,255,255,.075);}
.gr-booking-account-chip small{display:block;color:#e8c77e;font-size:9px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;}
.gr-booking-account-chip strong{display:block;margin-top:5px;color:#fff;font-size:15px;line-height:1.25;}
.gr-booking-account-chip a{display:inline-block;margin-top:7px;color:rgba(255,255,255,.68);font-size:11px;font-weight:700;text-underline-offset:3px;}
.gr-booking-progress{
  width:min(1180px,calc(100% - 40px));
  margin:0 auto 24px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  padding:8px;
  border:1px solid var(--gr-booking-line);
  border-radius:20px;
  background:rgba(255,253,251,.82);
  box-shadow:0 12px 35px rgba(62,22,37,.05);
}
.gr-booking-progress span{min-height:48px;display:flex;align-items:center;justify-content:center;gap:9px;padding:9px;border-radius:14px;color:#8b7c82;font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;}
.gr-booking-progress b{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#f1e6df;color:#7d6670;font-size:10px;}
.gr-booking-progress span.active{background:#f6e9ed;color:var(--gr-booking-burgundy);}
.gr-booking-progress span.active b,.gr-booking-progress span.complete b{background:var(--gr-booking-burgundy);color:#fff;}
.gr-booking-progress span.complete{color:#6d515c;}

body.glamdroom-booking-authenticated .booking-app{
  width:min(1180px,calc(100% - 40px))!important;
  max-width:none!important;
  margin:0 auto 90px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.48fr) minmax(320px,.72fr)!important;
  gap:22px!important;
  align-items:start!important;
}
body.glamdroom-booking-authenticated .booking-panel{
  margin:0 0 18px!important;
  padding:clamp(20px,3vw,30px)!important;
  border:1px solid var(--gr-booking-line)!important;
  border-radius:27px!important;
  background:rgba(255,253,251,.96)!important;
  box-shadow:var(--gr-booking-shadow)!important;
  overflow:visible!important;
  transform:none!important;
}
body.glamdroom-booking-authenticated .booking-panel:hover{transform:none!important;box-shadow:var(--gr-booking-shadow)!important;}
body.glamdroom-booking-authenticated .booking-panel h2,
body.glamdroom-booking-authenticated .booking-panel h3{
  margin:0 0 8px!important;
  color:var(--gr-booking-wine)!important;
  font-family:"Cormorant Garamond",Georgia,serif!important;
  font-size:clamp(31px,4vw,43px)!important;
  font-weight:650!important;
  line-height:1!important;
  letter-spacing:-.025em!important;
}
body.glamdroom-booking-authenticated .booking-panel>p{color:var(--gr-booking-muted)!important;line-height:1.6!important;}
body.glamdroom-booking-authenticated .booking-step-services{grid-column:1;}
body.glamdroom-booking-authenticated .booking-step-summary{grid-column:2;grid-row:1 / span 5;position:sticky;top:124px;}
body.glamdroom-booking-authenticated .booking-step-summary .booking-panel,
body.glamdroom-booking-authenticated .booking-step-summary{position:sticky;top:124px;}

/* The signed-in identity is intentionally shown once in the booking hero. */
.gr-booking-account-banner{display:none!important;}

.gr-treatment-search{
  width:100%;
  margin:18px 0 10px;
}
.gr-treatment-search-field{
  position:relative;
  display:block!important;
  width:100%;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:inherit!important;
  font:inherit!important;
  letter-spacing:normal!important;
  text-transform:none!important;
}
.gr-treatment-search-field svg{
  position:absolute;
  z-index:2;
  left:16px;
  top:50%;
  width:19px;
  height:19px;
  transform:translateY(-50%);
  fill:none;
  stroke:#806c74;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
}
.gr-treatment-search input[type="search"]{
  display:block!important;
  width:100%!important;
  height:54px!important;
  min-height:54px!important;
  margin:0!important;
  box-sizing:border-box!important;
  padding:0 48px 0 48px!important;
  border:1px solid rgba(75,17,37,.14)!important;
  border-radius:17px!important;
  outline:0!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  background:#fbf7f4!important;
  color:var(--gr-booking-ink)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important;
  font:650 14px/1 Montserrat,Arial,sans-serif!important;
  letter-spacing:0!important;
  text-align:left!important;
  text-transform:none!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.gr-treatment-search input[type="search"]::placeholder{
  color:#8a7d82!important;
  opacity:1!important;
  text-align:left!important;
}
.gr-treatment-search input[type="search"]::-webkit-search-cancel-button,
.gr-treatment-search input[type="search"]::-webkit-search-decoration{
  -webkit-appearance:none;
  appearance:none;
}
.gr-treatment-search input[type="search"]:focus{
  border-color:rgba(104,17,44,.48)!important;
  background:#fff!important;
  box-shadow:0 0 0 4px rgba(104,17,44,.07),0 12px 24px rgba(62,22,37,.05)!important;
}
.gr-treatment-search-clear{
  position:absolute;
  z-index:3;
  top:50%;
  right:10px;
  width:34px;
  height:34px;
  min-width:34px!important;
  min-height:34px!important;
  margin:0!important;
  padding:0!important;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  border:0!important;
  border-radius:50%!important;
  background:#f0e5e6!important;
  color:var(--gr-booking-burgundy)!important;
  box-shadow:none!important;
  cursor:pointer;
  font:700 22px/1 Arial,sans-serif!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.gr-treatment-search-clear[hidden]{display:none!important;}
.gr-treatment-search-count{
  display:block;
  min-height:16px;
  margin:8px 3px 0;
  color:#8b7d82;
  font-size:10px;
  font-weight:780;
  line-height:1.4;
  letter-spacing:.045em;
  text-align:left;
}

body.glamdroom-booking-authenticated .booking-panel .filter-row{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
  margin:15px 0 18px!important;
  padding:2px 0 8px!important;
  overflow-x:auto!important;
  scrollbar-width:none!important;
  scroll-snap-type:none!important;
}
body.glamdroom-booking-authenticated .booking-panel .filter-row::-webkit-scrollbar{display:none!important;}
body.glamdroom-booking-authenticated .booking-panel .filter-row .chip{
  flex:0 0 auto!important;
  min-height:39px!important;
  padding:9px 14px!important;
  border:1px solid rgba(75,17,37,.1)!important;
  border-radius:13px!important;
  background:#f8f2ee!important;
  color:#705d65!important;
  box-shadow:none!important;
  font:800 10px/1 Montserrat,Arial,sans-serif!important;
  letter-spacing:.03em!important;
  text-transform:none!important;
  white-space:nowrap!important;
}
body.glamdroom-booking-authenticated .booking-panel .filter-row .chip.active{
  border-color:var(--gr-booking-burgundy)!important;
  background:var(--gr-booking-burgundy)!important;
  color:#fff!important;
}

body.glamdroom-booking-authenticated #serviceList{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
body.glamdroom-booking-authenticated #serviceList .service-item{
  position:relative!important;
  z-index:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-areas:"content price" "content action"!important;
  column-gap:12px!important;
  row-gap:10px!important;
  align-items:start!important;
  min-height:142px!important;
  padding:18px!important;
  border:1px solid rgba(75,17,37,.095)!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 10px 28px rgba(62,22,37,.045)!important;
  cursor:pointer!important;
  overflow:hidden!important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}
body.glamdroom-booking-authenticated #serviceList .service-item::before{
  content:""!important;
  position:absolute!important;
  inset:0 auto 0 0!important;
  width:3px!important;
  height:auto!important;
  border:0!important;
  border-radius:0!important;
  background:linear-gradient(180deg,#d8b86e,#aa7f35)!important;
  box-shadow:none!important;
}
body.glamdroom-booking-authenticated #serviceList .service-item::after{content:none!important;display:none!important;}
body.glamdroom-booking-authenticated #serviceList .service-item:hover{transform:translateY(-2px)!important;border-color:rgba(104,17,44,.2)!important;box-shadow:0 15px 34px rgba(62,22,37,.08)!important;}
body.glamdroom-booking-authenticated #serviceList .service-item>div:first-child{grid-area:content!important;display:block!important;min-width:0!important;}
body.glamdroom-booking-authenticated #serviceList .service-item>div:first-child>b,
body.glamdroom-booking-authenticated #serviceList .service-item>div:first-child>strong:first-child{
  display:block!important;
  margin:0!important;
  color:#351d27!important;
  font:800 16px/1.28 Montserrat,Arial,sans-serif!important;
  letter-spacing:-.025em!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
body.glamdroom-booking-authenticated #serviceList .service-item>div:first-child>small{
  display:block!important;
  margin:8px 0 0!important;
  color:#897c81!important;
  font:550 11.5px/1.5 Montserrat,Arial,sans-serif!important;
}
body.glamdroom-booking-authenticated #serviceList .service-item .service-rule-note{color:#63414e!important;font-weight:750!important;}
body.glamdroom-booking-authenticated #serviceList .service-item .service-patch-label,
body.glamdroom-booking-authenticated #serviceList .service-item [class*="patch-label"],
body.glamdroom-booking-authenticated #serviceList .service-item [class*="patch-badge"]{
  display:inline-flex!important;
  align-items:center!important;
  margin:9px 0 0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#a47e35!important;
  font:850 8px/1.35 Montserrat,Arial,sans-serif!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
}
body.glamdroom-booking-authenticated #serviceList .service-item .service-patch-label::before,
body.glamdroom-booking-authenticated #serviceList .service-item [class*="patch-label"]::before,
body.glamdroom-booking-authenticated #serviceList .service-item [class*="patch-badge"]::before{content:""!important;width:5px!important;height:5px!important;margin-right:6px!important;border-radius:50%!important;background:#caa766!important;box-shadow:none!important;}
body.glamdroom-booking-authenticated #serviceList .service-item>strong{
  grid-area:price!important;
  align-self:start!important;
  justify-self:end!important;
  display:block!important;
  min-width:75px!important;
  max-width:105px!important;
  margin:0!important;
  color:var(--gr-booking-burgundy)!important;
  text-align:right!important;
  font:900 19px/1.12 Montserrat,Arial,sans-serif!important;
  letter-spacing:-.04em!important;
}
body.glamdroom-booking-authenticated #serviceList .service-item>strong del,
body.glamdroom-booking-authenticated #serviceList .service-item>strong s{color:#a09599!important;font-size:10px!important;font-weight:700!important;letter-spacing:0!important;}
body.glamdroom-booking-authenticated #serviceList .service-item>strong small,
body.glamdroom-booking-authenticated #serviceList .service-item>strong [class*="offer"],
body.glamdroom-booking-authenticated #serviceList .service-item>strong [class*="discount"]{display:block!important;margin:5px 0 0!important;padding:0!important;background:transparent!important;color:#a27d35!important;font-size:7px!important;line-height:1.2!important;letter-spacing:.06em!important;white-space:normal!important;}
body.glamdroom-booking-authenticated #serviceList .service-item .service-select-pill{
  grid-area:action!important;
  align-self:end!important;
  justify-self:end!important;
  width:auto!important;
  min-width:75px!important;
  max-width:none!important;
  min-height:34px!important;
  margin:0!important;
  padding:9px 12px!important;
  border:1px solid rgba(104,17,44,.16)!important;
  border-radius:11px!important;
  background:#faf5f2!important;
  color:var(--gr-booking-burgundy)!important;
  box-shadow:none!important;
  font:850 9px/1 Montserrat,Arial,sans-serif!important;
  letter-spacing:.08em!important;
}
body.glamdroom-booking-authenticated #serviceList .service-item .service-select-pill::after{content:" +"!important;font-size:12px!important;}
body.glamdroom-booking-authenticated #serviceList .service-item.active,
body.glamdroom-booking-authenticated #serviceList .service-item.multi-selected{border-color:rgba(104,17,44,.42)!important;background:linear-gradient(145deg,#fff7fa,#fff)!important;box-shadow:0 14px 34px rgba(104,17,44,.1)!important;}
body.glamdroom-booking-authenticated #serviceList .service-item.active::before,
body.glamdroom-booking-authenticated #serviceList .service-item.multi-selected::before{background:var(--gr-booking-burgundy)!important;}
body.glamdroom-booking-authenticated #serviceList .service-item.active .service-select-pill,
body.glamdroom-booking-authenticated #serviceList .service-item.multi-selected .service-select-pill{border-color:var(--gr-booking-burgundy)!important;background:var(--gr-booking-burgundy)!important;color:#fff!important;}
body.glamdroom-booking-authenticated #serviceList .service-item.active .service-select-pill::after,
body.glamdroom-booking-authenticated #serviceList .service-item.multi-selected .service-select-pill::after{content:" ✓"!important;}
body.glamdroom-booking-authenticated #serviceList .service-item.gr-search-hidden{display:none!important;}

body.glamdroom-booking-authenticated .booking-selected-treatments{
  margin:16px 0 0!important;
  padding:16px!important;
  border:1px solid rgba(104,17,44,.095)!important;
  border-radius:19px!important;
  background:#faf5f2!important;
}
body.glamdroom-booking-authenticated .booking-selected-treatments h4{margin:0 0 10px!important;color:var(--gr-booking-wine)!important;font-size:14px!important;}
body.glamdroom-booking-authenticated .booking-selected-treatments li{padding:10px 12px!important;border-radius:13px!important;box-shadow:none!important;}
body.glamdroom-booking-authenticated .booking-selected-treatments button{background:#f3e5e9!important;color:var(--gr-booking-burgundy)!important;}

body.glamdroom-booking-authenticated .times{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:9px!important;
  margin-top:14px!important;
}
body.glamdroom-booking-authenticated .times .time,
body.glamdroom-booking-authenticated .time{
  min-height:45px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:9px!important;
  border:1px solid rgba(75,17,37,.1)!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#5d4650!important;
  box-shadow:none!important;
  font:800 11px/1 Montserrat,Arial,sans-serif!important;
}
body.glamdroom-booking-authenticated .times .time:hover{border-color:rgba(104,17,44,.34)!important;background:#fbf4f6!important;}
body.glamdroom-booking-authenticated .times .time.active,
body.glamdroom-booking-authenticated .time.active{border-color:var(--gr-booking-burgundy)!important;background:var(--gr-booking-burgundy)!important;color:#fff!important;box-shadow:0 8px 18px rgba(104,17,44,.18)!important;}

body.glamdroom-booking-authenticated input[type="date"],
body.glamdroom-booking-authenticated .booking-field input,
body.glamdroom-booking-authenticated .booking-field textarea,
body.glamdroom-booking-authenticated .booking-panel input[type="text"],
body.glamdroom-booking-authenticated .booking-panel input[type="email"],
body.glamdroom-booking-authenticated .booking-panel input[type="tel"],
body.glamdroom-booking-authenticated .booking-panel textarea{
  width:100%!important;
  min-height:51px!important;
  box-sizing:border-box!important;
  padding:13px 15px!important;
  border:1px solid rgba(75,17,37,.12)!important;
  border-radius:14px!important;
  outline:0!important;
  background:#fff!important;
  color:var(--gr-booking-ink)!important;
  box-shadow:none!important;
  font:600 14px/1.35 Montserrat,Arial,sans-serif!important;
}
body.glamdroom-booking-authenticated .booking-panel textarea{min-height:105px!important;resize:vertical!important;}
body.glamdroom-booking-authenticated .booking-panel input:focus,
body.glamdroom-booking-authenticated .booking-panel textarea:focus{border-color:rgba(104,17,44,.45)!important;box-shadow:0 0 0 4px rgba(104,17,44,.055)!important;}
body.glamdroom-booking-authenticated .booking-field>span{margin-bottom:2px!important;color:#6b4a58!important;font-size:10px!important;letter-spacing:.08em!important;}

body.glamdroom-booking-authenticated .payment-choice-box{margin:18px 0 0!important;padding:14px!important;border:1px solid rgba(75,17,37,.09)!important;border-radius:19px!important;background:#faf5f2!important;}
body.glamdroom-booking-authenticated .payment-choice-box h4{font-family:Montserrat,Arial,sans-serif!important;font-size:13px!important;font-weight:850!important;}
body.glamdroom-booking-authenticated .payment-option{margin:8px 0!important;padding:13px!important;border-radius:14px!important;box-shadow:none!important;}
body.glamdroom-booking-authenticated .payment-option.active{border-color:rgba(104,17,44,.37)!important;background:#fff7fa!important;box-shadow:0 8px 18px rgba(104,17,44,.055)!important;}

body.glamdroom-booking-authenticated .summary-line{gap:18px!important;padding:12px 0!important;border-color:rgba(75,17,37,.08)!important;color:#817278!important;font-size:12px!important;}
body.glamdroom-booking-authenticated .summary-line b{max-width:62%;color:var(--gr-booking-wine)!important;text-align:right!important;font-size:12px!important;line-height:1.45!important;}
body.glamdroom-booking-authenticated .terms-check{padding:11px 0!important;border-bottom:1px solid rgba(75,17,37,.07)!important;color:#716268!important;font-size:11.5px!important;line-height:1.5!important;}
body.glamdroom-booking-authenticated .terms-check input{width:18px!important;height:18px!important;accent-color:var(--gr-booking-burgundy)!important;}
body.glamdroom-booking-authenticated #reserveBooking,
body.glamdroom-booking-authenticated #reserveAppointments{
  width:100%!important;
  min-height:57px!important;
  margin-top:17px!important;
  border:0!important;
  border-radius:15px!important;
  background:linear-gradient(135deg,#68112c,#42101f)!important;
  color:#fff!important;
  box-shadow:0 18px 35px rgba(75,17,37,.22)!important;
  font:850 11px/1 Montserrat,Arial,sans-serif!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
body.glamdroom-booking-authenticated .booking-confidence-note,
body.glamdroom-booking-authenticated .booking-availability-note{padding:12px 14px!important;border-radius:14px!important;background:#fbf3e3!important;border:1px solid rgba(202,167,102,.25)!important;color:#755f39!important;font-size:11.5px!important;line-height:1.5!important;}

@media(max-width:980px){
  .booking-access-mark{display:none;}
  body.glamdroom-booking-authenticated .booking-app{grid-template-columns:1fr!important;}
  body.glamdroom-booking-authenticated .booking-step-summary{grid-column:1!important;grid-row:auto!important;position:static!important;}
  body.glamdroom-booking-authenticated #serviceList{grid-template-columns:1fr!important;}
  .gr-booking-intro{grid-template-columns:1fr;}
  .gr-booking-account-chip{min-width:0;}
}

@media(max-width:700px){
  .booking-access-hero{width:calc(100% - 24px);min-height:310px;margin-top:12px;padding:36px 25px 72px;border-radius:29px;}
  .booking-access-hero::after{inset:10px;border-radius:22px;}
  .booking-access-hero h1{font-size:58px;}
  .booking-access-hero p{font-size:14px;line-height:1.6;}
  .booking-access-benefits{display:grid;grid-template-columns:1fr;gap:7px;}
  .booking-access-benefits span{min-height:37px;}
  .booking-access-shell{width:calc(100% - 24px);margin:-50px auto 55px;}
  .booking-access-card{padding:20px 17px 24px;border-radius:26px;}
  .booking-access-tabs{margin-bottom:25px;}
  .booking-access-name-grid{grid-template-columns:1fr;}
  .booking-access-form-row{align-items:flex-start;flex-direction:column;gap:8px;}

  .gr-booking-intro{width:calc(100% - 24px);margin:14px auto 12px;padding:28px 22px;border-radius:27px;}
  .gr-booking-intro h1{font-size:49px!important;}
  .gr-booking-progress{width:calc(100% - 24px);margin-bottom:13px;gap:5px;padding:6px;border-radius:16px;overflow-x:auto;}
  .gr-booking-progress span{min-width:126px;min-height:42px;font-size:8.5px;}
  body.glamdroom-booking-authenticated .booking-app{width:100%!important;margin-bottom:75px!important;gap:12px!important;}
  body.glamdroom-booking-authenticated .booking-panel{margin:0 12px 12px!important;padding:19px 15px!important;border-radius:22px!important;box-shadow:0 12px 32px rgba(62,22,37,.065)!important;}
  body.glamdroom-booking-authenticated .booking-panel h2,
  body.glamdroom-booking-authenticated .booking-panel h3{font-size:34px!important;}
  body.glamdroom-booking-authenticated .booking-panel .filter-row{margin:14px -15px 16px!important;padding:2px 15px 8px!important;}
  body.glamdroom-booking-authenticated #serviceList{gap:9px!important;}
  body.glamdroom-booking-authenticated #serviceList .service-item{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"content price" "content action"!important;
    min-height:124px!important;
    padding:15px 14px 14px!important;
    border-radius:17px!important;
  }
  body.glamdroom-booking-authenticated #serviceList .service-item>div:first-child>b,
  body.glamdroom-booking-authenticated #serviceList .service-item>div:first-child>strong:first-child{font-size:15px!important;}
  body.glamdroom-booking-authenticated #serviceList .service-item>strong{font-size:18px!important;}
  body.glamdroom-booking-authenticated .times{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}

@media(max-width:390px){
  .booking-access-hero h1{font-size:51px;}
  .booking-access-panel-head h2{font-size:38px;}
  body.glamdroom-booking-authenticated #serviceList .service-item{grid-template-columns:minmax(0,1fr) 78px!important;column-gap:9px!important;padding:14px 12px!important;}
  body.glamdroom-booking-authenticated #serviceList .service-item>strong{min-width:70px!important;max-width:78px!important;font-size:17px!important;}
  body.glamdroom-booking-authenticated #serviceList .service-item .service-select-pill{min-width:70px!important;padding:8px!important;}
}

/* Hide the older page heading once the enhanced booking introduction is ready. */
body.glamdroom-booking-enhanced .section-head{display:none!important;}
@media(max-width:700px){
  body.glamdroom-booking-authenticated .booking-app{margin-bottom:135px!important;}
}

/* v17.36 — quieter, more refined booking typography.
   Keeps the treatment cards easy to scan without every line competing for attention. */
body.glamdroom-booking-authenticated .booking-panel .filter-row .chip{
  font-weight:650!important;
  letter-spacing:.005em!important;
}

body.glamdroom-booking-authenticated #serviceList .service-item>div:first-child>b,
body.glamdroom-booking-authenticated #serviceList .service-item>div:first-child>strong:first-child{
  color:#4b2935!important;
  font-size:15.5px!important;
  font-weight:650!important;
  line-height:1.32!important;
  letter-spacing:-.012em!important;
}

body.glamdroom-booking-authenticated #serviceList .service-item>div:first-child>small{
  margin-top:7px!important;
  color:#81747a!important;
  font-size:11.5px!important;
  font-weight:450!important;
  line-height:1.48!important;
}

body.glamdroom-booking-authenticated #serviceList .service-item .service-rule-note,
body.glamdroom-booking-authenticated #serviceList .service-item>div:first-child>small b,
body.glamdroom-booking-authenticated #serviceList .service-item>div:first-child>small strong{
  color:#674553!important;
  font-weight:620!important;
}

body.glamdroom-booking-authenticated #serviceList .service-item>strong{
  color:#5e1830!important;
  font-size:18px!important;
  font-weight:740!important;
  line-height:1.16!important;
  letter-spacing:-.022em!important;
}

body.glamdroom-booking-authenticated #serviceList .booking-sale-price{
  gap:4px!important;
  line-height:1.15!important;
}
body.glamdroom-booking-authenticated #serviceList .booking-sale-price del{
  color:#948b8e!important;
  font-size:10px!important;
  font-weight:550!important;
  opacity:.9!important;
}
body.glamdroom-booking-authenticated #serviceList .booking-sale-price ins{
  color:#6a1732!important;
  font-size:inherit!important;
  font-weight:740!important;
  letter-spacing:-.022em!important;
}
body.glamdroom-booking-authenticated #serviceList .booking-sale-price em,
body.glamdroom-booking-authenticated #serviceList .service-item>strong small,
body.glamdroom-booking-authenticated #serviceList .service-item>strong [class*="offer"],
body.glamdroom-booking-authenticated #serviceList .service-item>strong [class*="discount"]{
  margin-top:5px!important;
  color:#9a7938!important;
  font-size:7.5px!important;
  font-weight:650!important;
  line-height:1.3!important;
  letter-spacing:.035em!important;
}

body.glamdroom-booking-authenticated #serviceList .service-item .service-patch-label,
body.glamdroom-booking-authenticated #serviceList .service-item [class*="patch-label"],
body.glamdroom-booking-authenticated #serviceList .service-item [class*="patch-badge"]{
  color:#967536!important;
  font-size:7.5px!important;
  font-weight:650!important;
  letter-spacing:.035em!important;
}

body.glamdroom-booking-authenticated #serviceList .service-item .service-select-pill{
  min-height:35px!important;
  color:#68112c!important;
  font-size:9px!important;
  font-weight:700!important;
  letter-spacing:.045em!important;
}

body.glamdroom-booking-authenticated .gr-treatment-search-count{
  font-weight:600!important;
  letter-spacing:.015em!important;
}

body.glamdroom-booking-authenticated .booking-selected-treatments h4,
body.glamdroom-booking-authenticated .summary-line b{
  font-weight:650!important;
}

@media(max-width:700px){
  body.glamdroom-booking-authenticated #serviceList .service-item>div:first-child>b,
  body.glamdroom-booking-authenticated #serviceList .service-item>div:first-child>strong:first-child{
    font-size:15px!important;
    font-weight:650!important;
  }
  body.glamdroom-booking-authenticated #serviceList .service-item>div:first-child>small{
    font-size:11.5px!important;
  }
  body.glamdroom-booking-authenticated #serviceList .service-item>strong{
    font-size:17.5px!important;
    font-weight:740!important;
  }
}


/* v17.38 — definitive quieter treatment-card typography. */
#serviceList .service-item > div:first-child > b,
#serviceList .service-item > div:first-child > strong:first-child{
  color:#49313a!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{
  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{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{font-size:7.5px!important;font-weight:600!important;letter-spacing:.025em!important;}
#serviceList .service-item .service-patch-label,
#serviceList .service-item [class*="patch-label"],
#serviceList .service-item [class*="patch-badge"]{font-size:8px!important;font-weight:600!important;letter-spacing:.025em!important;}
#serviceList .service-item .service-select-pill{font-size:9px!important;font-weight:650!important;letter-spacing:.045em!important;}
body.glamdroom-booking-authenticated .booking-panel .filter-row .chip{font-weight:600!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;}
}
