/* Shared document and privacy controls, using both palettes. */
.milo-legal-links {display:flex;gap:12px 24px;flex-wrap:wrap;padding:24px 0;border-top:1px solid var(--border);font-size:14px;line-height:1.5}
.milo-cookie-settings {font:inherit;color:var(--muted);background:none;border:0;text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:0}
.milo-float-theme {cursor:pointer}
.milo-cookie-banner[hidden] {display:none!important}
.milo-cookie-banner {position:fixed;left:24px;right:24px;bottom:82px;z-index:10020;max-width:1060px;margin:auto;display:flex;align-items:center;gap:28px;padding:24px 28px;background:var(--bg3);color:var(--text);border:1px solid var(--border);box-shadow:0 12px 60px #0003}
.milo-cookie-banner h2 {font:500 24px/1.3 'Playfair Display',serif;margin:0 0 8px}
.milo-cookie-banner p {font-size:14px;line-height:1.65;letter-spacing:0;margin:0;color:var(--muted)}
.milo-cookie-banner a {text-decoration:underline;text-underline-offset:3px}
.milo-cookie-actions {display:flex;flex-direction:column;gap:10px;flex:0 0 220px}
.milo-cookie-actions button {padding:12px 16px;font-size:14px;letter-spacing:0;min-height:44px;width:100%;white-space:normal;text-transform:none}
.milo-cookie-actions .btn-outline {background:transparent;border:1px solid var(--border);font-family:'Onest',sans-serif}
.milo-booking-form {gap:16px}
.milo-booking-form .milo-form-fields {display:flex;flex-direction:column;gap:16px;margin:0;padding:0;border:0;min-width:0;width:100%}
.milo-booking-form input:focus-visible {outline:2px solid var(--gold2);outline-offset:3px}
.milo-booking-form input[type=checkbox] {width:18px;height:18px;accent-color:var(--gold);flex:none;margin-top:3px}
.milo-booking-form .milo-consent {display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--muted);text-transform:none;letter-spacing:0;line-height:1.7;margin:0}
.milo-booking-form .milo-consent a {text-decoration:underline}
.milo-cf7-privacy {font-size:14px;line-height:1.7;color:var(--muted)}
.milo-cf7-privacy .wpcf7-list-item {margin:0}
.milo-cf7-privacy label {display:flex;align-items:flex-start;gap:10px;font:inherit;color:inherit;text-transform:none;letter-spacing:0;margin:0}
.milo-cf7-privacy input[type=checkbox] {width:18px;height:18px;flex:none;accent-color:var(--gold);margin-top:3px}
.milo-cf7-privacy a {text-decoration:underline;text-underline-offset:3px}
.milo-cf7-privacy p {font:inherit;color:inherit;letter-spacing:0;margin-top:8px}
.milo-booking-form [data-milo-form-status] {font-size:14px;line-height:1.5;letter-spacing:0}
.milo-booking-form [data-state=error] {color:#b94036}
.milo-booking-form [data-state=success] {color:#42815c}
.milo-booking-form button:disabled {opacity:.65;cursor:wait}
.milo-booking-form[aria-disabled="true"] button:disabled {cursor:not-allowed}
.milo-booking-form .milo-form-privacy {font-size:14px;line-height:1.7;letter-spacing:0}
.milo-form-notice:empty {display:none}
.milo-form-notice:not(:empty) {padding:12px 14px;border:1px solid var(--border)}
.milo-form-unavailable {display:grid;gap:20px;justify-items:start}
.milo-legal-page {padding:150px var(--pad) 90px;min-height:65vh;max-width:1050px}
.milo-legal-page .milo-container {max-width:1050px}
.milo-legal-page h1 {font-size:clamp(32px,5vw,56px);margin:22px 0 36px}
.milo-legal-content h2 {font-size:26px;margin:36px 0 16px}
.milo-legal-content h3 {font-size:21px;margin:28px 0 12px}
.milo-legal-content p,.milo-legal-content li {font-size:16px;line-height:1.8;letter-spacing:0;color:var(--text)}
.milo-legal-content p {margin:0 0 16px}
.milo-legal-content ul,.milo-legal-content ol {padding-left:24px;margin:0 0 20px}
.milo-legal-content a {text-decoration:underline;overflow-wrap:anywhere}
.milo-legal-content table {border-collapse:collapse;width:100%;margin:20px 0}
.milo-legal-content td,.milo-legal-content th {border:1px solid var(--border);padding:12px;text-align:left;overflow-wrap:anywhere}
@media(max-width:700px){.milo-cookie-banner{left:12px;right:12px;bottom:76px;padding:18px;gap:14px;flex-direction:column;align-items:stretch;max-height:calc(100dvh - 96px);overflow-y:auto}.milo-cookie-actions{flex:initial;flex-direction:row}.milo-cookie-actions button{flex:1}.milo-cookie-banner p{font-size:14px}.milo-legal-page{padding-top:115px}.milo-floating-actions{bottom:16px}.milo-legal-content table{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;animation-iteration-count:1!important}}


/* Functional repairs retain the original page layout, typography and colours. */
html[data-milo-theme='dark'] { color-scheme: dark; }
html[data-milo-theme='light'] { color-scheme: light; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--gold2); outline-offset: 4px; }
.milo-skip-link { position: fixed; left: 20px; top: -100px; z-index: 20000; padding: 12px 18px; color: var(--text); background: var(--bg3); border: 1px solid var(--gold); }
.milo-skip-link:focus { top: 12px; }
body.admin-bar #milo-nav { top: 32px; }
.milo-custom-logo { width: auto; max-width: 200px; max-height: 60px; }
.milo-rv { opacity: 1; transform: none; }
.milo-faq-a, .milo-faq-item.open .milo-faq-a { max-height: none; }
.milo-js .milo-faq-a { display: none; }
.milo-js .milo-faq-item.open .milo-faq-a { display: block; }
.milo-booking-dialog { width: 100%; overflow-y: auto; overscroll-behavior: contain; max-height: calc(100dvh - 56px); }
.milo-price-dialog { overscroll-behavior: contain; max-height: calc(100dvh - 56px); }
.milo-serv-price { font-family: 'Playfair Display', serif; font-size: 28px; font-weight: 500; color: var(--text); margin-bottom: 20px; }
.milo-why-title, .milo-master-name { line-height: 1.6; }
.milo-rev-text p { font: inherit; color: inherit; line-height: inherit; letter-spacing: inherit; }
.milo-reviews-invitation { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.milo-contact-inner > *, .milo-ft-top > * { min-width: 0; }
.milo-contact-item, .milo-ft-info { overflow-wrap: anywhere; }
.milo-ft-bot, .milo-ft-soc { flex-wrap: wrap; gap: 20px; }
.milo-legal-links a { color: var(--muted); text-decoration: underline; text-underline-offset: 4px; }
.milo-legal-links a:hover, .milo-cookie-settings:hover { color: var(--gold2); }
.milo-legal-content { min-width: 0; overflow-wrap: anywhere; }
.milo-page-back { font-size: 14px; letter-spacing: .12em; }
.milo-legal-content table { table-layout: fixed; }
@media (max-width: 782px) { body.admin-bar #milo-nav { top: 46px; } }
@media (max-width: 600px) {
  .milo-booking-modal, .milo-price-modal { padding: 12px; }
  .milo-booking-dialog, .milo-price-dialog { max-height: calc(100dvh - 24px); }
  .milo-reviews-invitation { flex-direction: column; align-items: flex-start; }
}
@media print {
  #milo-nav, .milo-mobile-menu, .milo-floating-actions, .milo-cookie-banner, .milo-price-modal, .milo-booking-modal, .milo-cta { display: none !important; }
  .milo-legal-page { padding-top: 0; }
  .milo-js .milo-faq-a { display: block; }
}
