/* Shared legal pages and choices, using the salon's original pink and blue. */
.legal-links{border-top:1px solid #2d409440;margin-top:36px;padding-top:24px;font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.legal-links p{margin:0 0 14px}.legal-links nav{display:flex;flex-wrap:wrap;gap:12px 24px}.legal-links a,.legal-links button{text-decoration:underline;text-underline-offset:4px}.legal-links button,.cookie-text-button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.cookie-banner,.cookie-dialog{font-family:inherit;color:#2d4094;background:#fff;border:1px solid #2d40944d;box-shadow:0 12px 60px #122c5526;line-height:1.6}
.cookie-banner[hidden],.cookie-error[hidden],[data-map-placeholder][hidden]{display:none!important}
.cookie-banner{position:fixed;z-index:950;bottom:18px;left:18px;right:18px;max-width:1160px;margin:auto;padding:24px 28px;display:grid;grid-template-columns:1fr auto;gap:16px 32px;max-height:calc(100dvh - 36px);overflow:auto;border-radius:18px}
.cookie-banner h2,.cookie-dialog h2{font-size:25px;line-height:1.15;margin:0 0 12px;font-weight:600;letter-spacing:-.03em}.cookie-banner p{font-size:14px;max-width:72ch;margin:0}.cookie-banner a,.cookie-dialog a{text-decoration:underline;text-underline-offset:3px}
.cookie-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.cookie-banner .cookie-actions{max-width:310px;align-content:center}.privacy-button{font:inherit;font-size:14px;font-weight:600;line-height:1.3;color:#2d4094;background:#fff;border:1.5px solid #2d4094;border-radius:40px;padding:13px 19px;cursor:pointer;min-height:46px}.privacy-button:hover{background:#eef0f9}.privacy-button:disabled{opacity:.6;cursor:wait}.privacy-button:focus-visible,.legal-links button:focus-visible,.cookie-text-button:focus-visible,.cookie-close:focus-visible{outline:3px solid #2d4094;outline-offset:4px}.cookie-text-button{font-size:13px;text-decoration:underline;text-underline-offset:4px}.cookie-error{color:#a2233e;font-size:14px;grid-column:1/-1}
.cookie-dialog{padding:32px;border-radius:20px;max-width:min(620px,calc(100vw - 32px));width:100%;max-height:calc(100dvh - 32px);overflow:auto;margin:auto}.cookie-dialog::backdrop{background:#17275680}.cookie-dialog h2{font-size:40px;clear:both}.cookie-dialog p{font-size:14px;margin:10px 0 18px}.cookie-close{float:right;background:none;border:0;color:inherit;font:inherit;padding:0 0 16px;cursor:pointer}.cookie-option{display:flex;gap:20px;justify-content:space-between;align-items:flex-start;border-top:1px solid #2d409433;padding:20px 0}.cookie-option h3{font-size:18px;margin:0}.cookie-option p{margin:8px 0 0}.cookie-option span{white-space:nowrap;font-size:12px}.cookie-option input{width:24px;height:24px;flex:0 0 24px;accent-color:#2d4094}
.map-placeholder{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:100%;padding:32px;background:#e8ecf6;color:#2d4094}.map-placeholder strong{font-size:28px;line-height:1.2}.map-placeholder p{font-size:14px;line-height:1.6;margin:16px 0;max-width:40ch}.map-placeholder a{text-decoration:underline}.map-placeholder .privacy-button{background:#e8ecf6}
.privacy-contents{display:flex;flex-wrap:wrap;gap:10px 20px;border-block:1px solid #2d409433;padding:20px 0;margin:28px 0 40px;font-size:14px}.privacy-contents a{text-decoration:underline}.privacy section{margin:38px 0}.privacy h1{max-width:15ch}.privacy h2{font-size:clamp(24px,4vw,34px);line-height:1.2;letter-spacing:-.025em}.privacy h3{font-size:20px}.privacy p,.privacy li{max-width:76ch;line-height:1.7}.privacy ul{padding-left:22px}.privacy-table-wrap{overflow-x:auto}.privacy table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.6}.privacy th,.privacy td{text-align:left;vertical-align:top;padding:14px;border-bottom:1px solid #2d409433}.privacy th{font-weight:600}.privacy-note{padding:18px 22px;background:#e8ecf6;border-left:3px solid #2d4094;margin:24px 0}.privacy-contact{font-style:normal}.privacy-version{font-size:13px}.privacy .legal-links{font-size:13px}
@media(max-width:760px){.cookie-banner{grid-template-columns:1fr;padding:20px;left:10px;right:10px;bottom:10px;gap:16px}.cookie-banner h2{font-size:23px}.cookie-banner .cookie-actions{max-width:none}.cookie-banner .cookie-actions>.privacy-button{flex:1}.cookie-dialog{padding:24px}.map-placeholder{padding:24px}.map-placeholder strong{font-size:25px}.privacy th,.privacy td{padding:10px;min-width:130px}.privacy .privacy-contents{gap:12px 18px}}

.legal-footer-wrap{width:min(1160px,calc(100% - 48px));margin:20px auto 40px}.privacy-contents a:focus-visible{outline:3px solid #2d4094;outline-offset:4px}

.contact-map:has(.map-placeholder:not([hidden])){height:auto;min-height:340px}.contact-map:has(.map-placeholder:not([hidden])) .map-placeholder{min-height:340px}
