/* Small, functional additions to the archive's cream/gold/charcoal palette. */
.salon-live[hidden],.return-greeting[hidden]{display:none!important}
.hero-content .salon-live,.banner-header .salon-live{display:block;color:#f6f4f1;font:300 13px/1.7 Outfit,sans-serif;letter-spacing:.15px;max-width:100%;margin:22px 0 0;text-transform:none}
.salon-live::before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:#c5a643;margin-right:9px;vertical-align:2px}
.salon-live[data-state=closed]::before{background:#b8b0a3}
.hero-content .return-greeting{color:#f6f4f1;font:300 14px/1.7 Outfit,sans-serif;letter-spacing:.2px;margin:0 0 12px;text-transform:none}
.hours .hours-today{position:relative;padding-left:16px;border-bottom-color:#c5a643}
.hours .hours-today::before{content:'';position:absolute;left:0;top:18px;bottom:18px;width:2px;background:#c5a643}
.hours .hours-today dt,.hours .hours-today dd{font-weight:500;color:#171719}
.hours-note{font:300 12px/1.7 Outfit,sans-serif;color:#777068;margin:12px 0 0}
html[data-theme=dark] .hours .hours-today dt,html[data-theme=dark] .hours .hours-today dd{color:#f6f4f1}
html[data-theme=dark] .hours-note{color:#b8b0a3}
@media(prefers-color-scheme:dark){html:not([data-theme]) .hours .hours-today dt,html:not([data-theme]) .hours .hours-today dd{color:#f6f4f1}html:not([data-theme]) .hours-note{color:#b8b0a3}}
@media(max-width:600px){.hours .hours-today{padding-left:12px}.hours div{gap:12px}.hero-content .salon-live,.banner-header .salon-live{font-size:12px}.hero-content .salon-live{margin-top:18px}}
/* A quiet, non-blocking consent panel; both choices have equal prominence. */
.privacy-banner[hidden],.hours-summary[hidden]{display:none!important}
.privacy-banner{position:fixed;z-index:10020;bottom:20px;left:50%;transform:translateX(-50%);width:calc(100% - 40px);max-width:940px;display:flex;align-items:center;gap:32px;background:#1b1b1d;color:#f6f4f1;border:1px solid #62573b;border-radius:18px;padding:23px 28px;box-shadow:0 8px 36px #0002;font:300 13px/1.65 Outfit,sans-serif}
.privacy-copy{flex:1;min-width:0}.privacy-banner p{color:#d2ceca;font:inherit;margin:0}.privacy-banner .privacy-title{font-weight:400;color:#f6f4f1;margin-bottom:4px}.privacy-banner summary{display:list-item;color:#c5a643;cursor:pointer;margin-top:6px;font-size:12px}.privacy-banner details p{margin-top:8px;font-size:12px}.privacy-actions{display:flex;gap:10px;flex-shrink:0}.privacy-actions button{appearance:none;background:transparent;border:1px solid #ad9450;color:#f6f4f1;border-radius:24px;padding:10px 20px;font:400 12px/1.3 Outfit,sans-serif;cursor:pointer;min-width:96px;transition:background .2s}.privacy-actions button:hover{background:#ffffff0d}.privacy-actions button:focus-visible,.privacy-footer button:focus-visible{outline:2px solid #c5a643;outline-offset:4px}.privacy-footer{text-align:center;padding:0 20px 24px}.privacy-footer button{background:none;border:0;color:inherit;opacity:.7;text-decoration:underline;text-underline-offset:4px;font:300 12px/1.6 Outfit,sans-serif;cursor:pointer}
.hours-summary{font:400 14px/1.7 Outfit,sans-serif;margin:14px 0 8px;color:#171719}.hours-summary::before{vertical-align:2px}html[data-theme=dark] .hours-summary{color:#f6f4f1}
@media(max-width:600px){.privacy-banner{bottom:max(12px,env(safe-area-inset-bottom));width:calc(100% - 24px);padding:20px;gap:14px;display:block;border-radius:16px;max-height:80dvh;overflow:auto}.privacy-actions{margin-top:16px}.privacy-actions button{flex:1}.hours-summary{font-size:13px}}
@media(prefers-reduced-motion:reduce){.privacy-actions button{transition:none}}
.privacy-banner details:not([open])>p{display:none}
.booking-hours-hint{font:300 12px/1.7 Outfit,sans-serif;color:#777068;margin:8px 0 12px}html[data-theme=dark] .booking-hours-hint{color:#b8b0a3}
.salon-announcements[hidden]{display:none!important}.banner-header .salon-announcements{margin-top:14px;max-width:640px;padding-left:14px;border-left:1px solid #c5a643}.banner-header .salon-announcements p{font:300 17px/1.7 Outfit,sans-serif;color:#f6f4f1;text-transform:none;letter-spacing:.15px;margin:0 0 5px}.banner-header .salon-announcements strong{font-size:inherit;font-weight:500}.banner-header .salon-announcements p:last-child{margin-bottom:0}

/* Match the contact banner status and exception announcements at every width. */
.banner-header .caption .salon-live,.banner-header .salon-announcements p{font-size:17px}

/* Keep usual weekly hours and show dated exceptions on their own line. */
.hours .hours-usual,.hours .hours-exception{display:block;font-size:inherit;line-height:inherit}
.hours .hours-exception{margin-top:6px;font-weight:500}
.hours dt{flex-shrink:0}.hours dd{min-width:0}
