/* Public salon details: quiet house typography, inherited theme colours. */
.salon-info{font-size:.875rem;line-height:1.6}
.salon-address{display:flex;align-items:flex-start;gap:.85rem;margin:1.25rem 0;font-style:normal;letter-spacing:.015em}
.salon-address svg{flex:none;margin-top:.2rem;opacity:.6}
.salon-address-street{display:block;font-weight:500}
.salon-address-locality{display:block;font-size:.8rem;opacity:.7;margin-top:.15rem}
.salon-address.booking-address-inline{align-items:flex-start;gap:.7rem;margin:1.15rem 0;padding-left:calc(1rem + 1px);font-size:.9rem;line-height:1.65;font-weight:400;letter-spacing:.005em}
.salon-address.booking-address-inline svg{margin-top:.12rem;opacity:.85}
.booking-address-inline>span{min-width:0;overflow-wrap:break-word}
.salon-hours{border-top:1px solid color-mix(in srgb,currentColor 16%,transparent);border-bottom:1px solid color-mix(in srgb,currentColor 16%,transparent);padding:0!important}
.salon-hours>summary{display:flex;align-items:center;gap:.8rem;min-height:64px;padding:1rem 0;cursor:pointer;list-style:none;font-size:.875rem!important;font-weight:500!important}
.salon-hours>summary::-webkit-details-marker{display:none}
.salon-hours>summary:focus-visible{outline:2px solid currentColor;outline-offset:5px;border-radius:2px}
.salon-hours>summary:after,.mini-site .salon-hours>summary:after{display:none}
.salon-hours-copy{flex:1;min-width:0}
[data-testid="booking-opening-hours"].salon-hours{border:1px solid color-mix(in srgb,currentColor 13%,transparent);border-radius:14px;background:color-mix(in srgb,currentColor 3%,transparent);box-shadow:0 2px 6px rgb(0 0 0 / .025)}
[data-testid="booking-opening-hours"]>summary{min-height:58px;padding:.95rem 1rem;gap:.7rem;letter-spacing:.01em;border-radius:14px}
[data-testid="booking-opening-hours"]>summary:hover{background:color-mix(in srgb,currentColor 3%,transparent)}
[data-testid="booking-opening-hours"]>summary:focus-visible{border-radius:14px;outline-offset:3px}
.booking-hours-clock{flex:none;width:20px;height:20px;opacity:.7}
[data-testid="booking-opening-hours"]>.salon-hours-status{padding:.2rem 1rem 1rem}
[data-testid="booking-opening-hours"]>.salon-hours-days{padding:0 1rem 1rem}
.salon-hours-status{display:flex;align-items:center;gap:.8rem;padding:0 0 1rem;font-size:.8rem}
.salon-hours [data-calendar-status]{display:block;line-height:1.55}
.salon-hours-hint{display:block;margin-top:.2rem;font-size:.72rem;font-weight:400;letter-spacing:.015em;opacity:.65}
.salon-hours-hide{display:none}
.salon-hours[open] .salon-hours-show{display:none}
.salon-hours[open] .salon-hours-hide{display:inline}
.salon-hours-chevron{flex:none;opacity:.55;transition:transform .18s ease}
.salon-hours[open] .salon-hours-chevron{transform:rotate(180deg)}
.salon-status-dot{width:6px;height:6px;border-radius:50%;flex:none;background:currentColor;opacity:.4}
[data-calendar-state="open"] .salon-status-dot{background:#548264;opacity:1}
[data-calendar-state="closing-soon"] .salon-status-dot{background:#c18a42;opacity:1}
[data-calendar-state="closed"] .salon-status-dot{background:#b56660;opacity:1}
.salon-hours-days{padding:0 0 .9rem}
.salon-hours-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:.2rem 1rem;padding:.65rem 0;border-top:1px solid color-mix(in srgb,currentColor 9%,transparent);font-size:.8rem;line-height:1.5}
.salon-hours-row:first-child{border-top:0}
.salon-hours-date{font-size:.7rem;opacity:.6;margin-left:.45rem;white-space:nowrap}
.salon-hours-value{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.salon-hours-note{grid-column:1/-1;font-size:.72rem;opacity:.65;overflow-wrap:anywhere}
.salon-hours-footnote{font-size:.7rem!important;opacity:.6;margin:.8rem 0 0!important;line-height:1.6!important}
/* Booking timetable: regular week first, dated exceptions kept separate. */
[data-calendar-weekly] [data-calendar-days]{border:1px solid color-mix(in srgb,currentColor 9%,transparent);border-radius:10px;overflow:hidden}
[data-calendar-weekly] [data-calendar-days]>.salon-hours-row{padding:.65rem .8rem;gap:.25rem .65rem}
[data-calendar-weekly] .salon-hours-day{display:flex;align-items:baseline;flex-wrap:wrap;gap:.3rem .5rem;min-width:0}
[data-calendar-weekly] [data-calendar-today="true"]{background:color-mix(in srgb,currentColor 6%,transparent);font-weight:600}
.salon-hours-today{font-size:.62rem;font-weight:500;letter-spacing:.035em;opacity:.7}
.salon-hours-today[hidden],.salon-hours-exceptions[hidden]{display:none}
[data-calendar-weekly] .salon-hours-footnote{padding:0 .15rem;opacity:.7}
.salon-hours-exceptions{margin-top:1.15rem;padding-top:.95rem;border-top:1px solid color-mix(in srgb,currentColor 12%,transparent)}
.salon-hours-exceptions-title{margin:0 0 .5rem!important;font-size:.72rem!important;line-height:1.5!important;font-weight:600!important;letter-spacing:.035em}
[data-calendar-weekly] .salon-hours-exceptions .salon-hours-row{padding:.7rem .15rem}
[data-calendar-weekly] .salon-hours-exceptions .salon-hours-date{display:block;margin:.15rem 0 0;opacity:.75}
[data-calendar-weekly] .salon-hours-note{opacity:.8}
@media(prefers-reduced-motion:reduce){.salon-hours-chevron{transition:none}}