/* Four portrait service cards on desktop; two on phones, across all designs. */
html .home-catalog .hc-service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 16px}
html .home-catalog .hc-card-body{padding:17px 14px}
html .home-catalog .hc-card h5{font-size:18px;line-height:1.4}
html .home-catalog .hc-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;line-height:1.65}
html .home-catalog .hc-card-actions{flex-direction:column;align-items:stretch;gap:5px}
html .home-catalog .hc-card .primary{justify-content:center;padding:12px 8px;font-size:11px}
html .home-catalog .hc-details{justify-content:center}
@media(max-width:799px){html .home-catalog .hc-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px}html .home-catalog .hc-card-body{padding:12px 10px}html .home-catalog .hc-card h5{font-size:15px}html .home-catalog .hc-description{-webkit-line-clamp:2}html .home-catalog .hc-details{display:none}}
.cms-hours{font-size:14px;line-height:1.6;margin:22px 0}

/* Service pages: readable editorial detail, without an oversized empty column. */
html .detail{align-items:start}
html .detail-photo[data-image-layout]{width:100%;max-width:540px;height:auto;aspect-ratio:3/4;position:sticky;top:24px}
.service-story .detail-description{font-size:15px;line-height:1.85;margin:22px 0}
.service-story-section{border-top:1px solid var(--line,#ded4ca);padding:20px 0 4px}
.service-story-section h2{font-family:inherit;font-size:15px;line-height:1.5;font-weight:600;margin:0 0 10px;color:var(--wine,#631d31)}
.service-story-section p{font-size:13px;line-height:1.9;margin:0 0 14px;max-width:65ch;color:var(--text,#4b4140)}
.service-inline-booking{display:inline-flex;align-items:center;gap:12px;color:var(--wine,#631d31);font-size:13px;font-weight:600;margin-top:13px;padding:5px 0}
.service-inline-booking svg{width:18px;height:18px}
@media(max-width:799px){html .detail-photo[data-image-layout]{position:relative;top:auto;max-width:420px;margin-inline:auto}.service-story .detail-description{font-size:14px;line-height:1.8}.service-story-section{padding-top:18px}.service-story-section p{font-size:13px;line-height:1.85}}

/* The booking menu opens above its trigger and the mobile tabs. */
.salon-actions {
  position: fixed;
  z-index: 31;
  right: max(16px, env(safe-area-inset-right));
  bottom: calc(12px + env(safe-area-inset-bottom));
}
#salon-action-links:not([hidden]) {display: grid; gap: 6px}
#salon-action-links {position: absolute; bottom: calc(100% + 8px); right: 0; width: max-content; max-width: calc(100vw - 20px)}
.salon-actions :is(a,button) {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 46px;
  padding: 7px 14px;
  border: 1px solid #b69598;
  border-radius: 26px;
  box-shadow: 0 2px 10px #35131d24;
  color: #64182d;
  background: #fffbf5;
  text-decoration: none;
  font: 650 14px/1.1 var(--sans);
}
.salon-actions svg {width: 19px; height: 19px}
.salon-actions .salon-actions-toggle {cursor: pointer; background: #64182d; color: white; border-color: #64182d; gap: 12px}
.salon-actions-toggle[aria-expanded="true"] svg {transform: rotate(45deg)}
@media (prefers-reduced-motion:no-preference) {
  .salon-actions-toggle svg {transition: transform .18s ease}
  #salon-action-links:not([hidden]) a {animation: salon-action-in .18s ease-out backwards}
  #salon-action-links:not([hidden]) a:first-child {animation-delay: .04s}
  @keyframes salon-action-in {from {opacity: 0; transform: translateY(7px)}}
}
.salon-actions .floating-booking {background: #64182d; border-color: #64182d; color: white}
.salon-actions :is(a,button):focus-visible {outline: 3px solid #ae663a; outline-offset: 2px}
@media (hover:hover) {.salon-actions a:hover {border-color: #64182d; box-shadow: 0 3px 14px #35131d55}}
html body[data-page=detail] .booking-dock {position: static; transform: none; width: 100%; margin-inline: auto}
html .app-shell .site-note {padding-bottom: calc(75px + env(safe-area-inset-bottom))}
@media (max-width:799px) {
  .salon-actions {right: max(10px, env(safe-area-inset-right))}
  html:not([data-design=editorial]) .salon-actions {bottom: calc(var(--tab) + 8px + env(safe-area-inset-bottom))}
  html:not([data-design=editorial]) .site-note {padding-bottom: calc(var(--tab) + 75px + env(safe-area-inset-bottom))}
}

body,button,input,select,textarea {font-family:Manrope,Arial,sans-serif}
h1,h2,h3,.contact-content h2 {font-family:Prata,Georgia,serif;font-weight:400}
.salon-map {display:block;width:100%;height:clamp(260px,32vw,390px);border:1px solid #d7c7b8;border-radius:16px;margin:20px 0}
@media(min-width:1000px){
 html[data-design=editorial] .website-nav {gap:clamp(14px,1.6vw,28px)}
 html[data-design=editorial] .website-nav a {font:550 clamp(15px,1.12vw,17px)/1.4 Manrope,Arial,sans-serif;color:#382729}
 html[data-design=editorial] .website-header-actions .primary {font-size:14px;line-height:1.4}
 html[data-design=editorial] .website-phone {font-size:15px}
 .sidebar nav a {font-size:16px}
}
@media(min-width:1000px) and (max-width:1220px){html[data-design=editorial] .website-phone{display:none}}

.salon-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;margin:0 0 1rem;font:500 .83rem/1.5 Manrope,Arial,sans-serif;color:#695951}
.salon-breadcrumbs a{color:#762441;text-decoration:underline;text-underline-offset:.18em}
