.booking-native{max-width:950px;margin:auto;padding:36px 22px 50px}.booking-native .intro{text-align:center;margin-bottom:28px}.booking-native h1{font-size:clamp(38px,7vw,64px);line-height:1.1;margin:18px 0}.booking-native h2{font-size:25px;margin:0 0 18px}.booking-native .preview-notice{border:1px solid #74603b;border-radius:12px;background:#211a10;color:#ddcba4;padding:16px 20px;font-size:14px;line-height:1.6;margin-bottom:28px}.booking-native .preview-notice a{color:#dfbb71}.booking-native .booking-step{border:1px solid #655536;background:#0e0d09;border-radius:18px;padding:25px;margin:18px 0}.booking-native .city-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.booking-native button{min-height:48px;border:1px solid #78623e;border-radius:10px;padding:12px;background:#16140f;color:#f5eee1;cursor:pointer;font:inherit}.booking-native button[aria-pressed=true]{background:#dfbb71;color:#171207;border-color:#dfbb71}.booking-native button:disabled{opacity:.45;cursor:not-allowed}.booking-native button:focus-visible,.booking-native input:focus-visible{outline:2px solid #dfbb71;outline-offset:3px}.booking-native .date-field{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.booking-native input,.booking-native select{min-height:48px;background:#17150f;color:#f8f1e5;border:1px solid #776444;border-radius:8px;padding:12px;width:100%;font:inherit;color-scheme:dark}.booking-native input[type=date]{max-width:240px}.booking-native .slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.booking-native .slot-grid button{font-size:15px}.booking-native .slot-grid small{display:block;margin-top:4px}.booking-native .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.booking-native label{display:block;font-size:14px;line-height:1.5;color:#d7c8ac}.booking-native label input,.booking-native label select{margin-top:8px}.booking-native .full{grid-column:1/-1}.booking-native .checkbox{display:flex;gap:10px;align-items:flex-start;margin:20px 0}.booking-native input[type=checkbox]{width:20px;min-height:20px;flex:0 0 20px;margin:1px 0}.booking-native .submit{background:#b39453;color:#100e08;min-width:210px}.booking-native #booking-status{margin:18px 0;line-height:1.6}.booking-native .note{font-size:14px;color:#b9b1a2;line-height:1.6}.booking-native .trap{display:none}.booking-native [hidden]{display:none!important}.booking-native .mail-frame{width:100%;height:950px;border:1px solid #645434;border-radius:14px;background:#090908}.booking-native .mail-meta{font-size:14px;line-height:1.7;overflow-wrap:anywhere}.booking-native .email-switch{display:flex;gap:10px;margin:24px 0}.booking-native .admin-card{border-bottom:1px solid #625137;padding:20px 0;line-height:1.7;overflow-wrap:anywhere}
@media(max-width:600px){.booking-native{padding:26px 16px 30px}.booking-native .booking-step{padding:20px 16px}.booking-native .city-grid{grid-template-columns:1fr 1fr}.booking-native .slot-grid{grid-template-columns:1fr 1fr}.booking-native .form-grid{grid-template-columns:1fr}.booking-native .mail-frame{height:1050px}.booking-native .email-switch{flex-direction:column}}
/* Use our own calendar, with no native OS date dialog or default button painting. */
html{color-scheme:only dark}.booking-native button{-webkit-appearance:none;appearance:none;background-image:none;box-shadow:none}.booking-native .date-field{display:block}.booking-native #date-label{display:block;color:#c8b995;font-size:13px;margin-bottom:9px}.booking-native #date-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;padding:16px 18px;background:#16120b;border-color:#b39355;color:#f7edd8;min-height:58px}.booking-native .date-chevron{color:#dfbb71;font-size:24px;line-height:1}.booking-native #date-toggle[aria-expanded=true] .date-chevron{transform:rotate(180deg)}.booking-native #first-available-note{font-size:12px;color:#c4aa76;margin:10px 0 0}.booking-native .booking-calendar{max-width:460px;margin:14px 0 22px;padding:18px;border:1px solid #80663b;border-radius:14px;background:#0b0a07;box-shadow:0 14px 32px #0006}.booking-native .calendar-toolbar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;margin-bottom:20px}.booking-native .calendar-toolbar h3{margin:0;text-align:center;font:500 19px/1.3 Arial,sans-serif;color:#ead7ad;text-transform:capitalize}.booking-native .calendar-toolbar button{padding:0;min-height:44px;font-size:29px;line-height:1;background:#18140d;color:#dfbb71}.booking-native .calendar-weekdays,.booking-native .calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.booking-native .calendar-weekdays{margin-bottom:9px;text-align:center;color:#a99570;font-size:12px}.booking-native .calendar-day{width:100%;min-width:0;min-height:44px;padding:0;border:1px solid #745a2d;border-radius:8px;background:#211a0e;color:#e5c480;font-size:15px;font-weight:500}.booking-native .calendar-day[aria-pressed=true]{background:#dfbb71;color:#161007;border-color:#f0d59a;font-weight:700}.booking-native .calendar-day:disabled{background:#0e0d0a;border-color:#25221b;color:#635e51;opacity:1}.booking-native .calendar-day[aria-current=date]{box-shadow:inset 0 -2px #a48952}.booking-native .calendar-day:not(:disabled):hover{background:#392b14;color:#ffe1a4}.booking-native .calendar-day[aria-pressed=true]:hover{background:#e9cb8e;color:#161007}.booking-native #calendar-message{font-size:11px;line-height:1.6;margin:16px 0 0;color:#a99570}.booking-native .slot-heading{margin-top:25px;color:#decba7}.booking-native #native-slots button{background:#17130c;color:#ead6ad;border-color:#7b6133;min-height:50px}.booking-native #native-slots button[aria-pressed=true]{background:#dfbb71;color:#171207}.booking-native #native-slots button:disabled{background:#100f0c;color:#777064;border-color:#383126}.booking-native .city-grid button{background:#17140e;color:#e8dfcc}.booking-native .city-grid button[aria-pressed=true]{background:#dfbb71;color:#171207}
@media(max-width:600px){.booking-native .booking-calendar{padding:12px 9px}.booking-native .calendar-weekdays,.booking-native .calendar-days{gap:4px}.booking-native .calendar-toolbar{gap:6px}.booking-native .calendar-toolbar h3{font-size:17px}.booking-native #date-toggle{font-size:15px;padding:14px}.booking-native .calendar-day{font-size:14px}}

/* Closed or full future dates remain inspectable, without offering a time slot. */
.booking-native .calendar-day[data-state="closed"],.booking-native .calendar-day[data-state="full"],.booking-native .calendar-day[data-state="elapsed"]{background:#15130f;border-color:#484032;color:#a79b82}
.booking-native .calendar-day[data-state="closed"][aria-pressed="true"],.booking-native .calendar-day[data-state="full"][aria-pressed="true"],.booking-native .calendar-day[data-state="elapsed"][aria-pressed="true"]{background:#252016;border-color:#dfbb71;color:#ead7ad;box-shadow:inset 0 0 0 1px #dfbb71}

/* Decorative iris photos belong only to the appointment page. */
.booking-page .booking-native{position:relative;isolation:isolate}
.booking-page .booking-backdrop{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;user-select:none}
.booking-page .booking-backdrop img{position:absolute;display:block;height:auto;max-width:none;border-radius:50%;opacity:.22;mask-image:radial-gradient(circle,#000 48%,transparent 72%);-webkit-mask-image:radial-gradient(circle,#000 48%,transparent 72%)}
.booking-page .booking-backdrop .iris-blue-gold{width:580px;left:-270px;top:-30px;opacity:.19;transform:rotate(-18deg)}
.booking-page .booking-backdrop .iris-blue{width:720px;right:-290px;top:470px;opacity:.28;transform:rotate(12deg)}
.booking-page .booking-backdrop .iris-amber{width:540px;left:-300px;bottom:-190px;opacity:.10}
.booking-page .booking-native .intro{position:relative;padding:10px 0 18px;text-shadow:0 2px 22px #000}
.booking-page .booking-native .booking-step{box-shadow:0 16px 44px #0005}
.booking-page .booking-native #date-step{background-color:#0b0d10;background-image:linear-gradient(100deg,rgba(9,10,12,.96) 8%,rgba(9,10,12,.76) 100%),url('/assets/booking-iris-blue.jpg');background-repeat:no-repeat;background-size:100% 100%,680px 680px;background-position:center,right -160px top 115px}
.booking-page .booking-native .booking-calendar{background-color:#0b0d10;background-image:linear-gradient(rgba(7,9,12,.91),rgba(7,9,12,.93)),url('/assets/booking-iris-blue-gold.jpg');background-repeat:no-repeat;background-position:center;background-size:cover;box-shadow:0 16px 36px #0008}
.booking-page .booking-native #booking-form-step{background-image:linear-gradient(110deg,rgba(11,12,13,.97),rgba(11,12,13,.91)),url('/assets/booking-iris-blue-copper.jpg');background-size:cover,520px 520px;background-position:center,right -180px center;background-repeat:no-repeat}
@media(max-width:600px){
 .booking-page .booking-backdrop .iris-blue-gold{width:420px;left:-230px;top:0;opacity:.18}
 .booking-page .booking-backdrop .iris-blue{width:480px;right:-275px;top:550px;opacity:.24}
 .booking-page .booking-backdrop .iris-amber{width:400px;left:-270px;bottom:-130px;opacity:.08}
 .booking-page .booking-native .intro{padding:4px 0 12px}
 .booking-page .booking-native #date-step{background-size:100% 100%,470px 470px;background-position:center,right -210px top 135px}
 .booking-page .booking-native .booking-calendar{background-size:100% 100%,430px 430px;background-position:center,right -115px top 30px}
 .booking-page .booking-native #booking-form-step{background-size:cover,400px 400px;background-position:center,right -200px top 40px}
}
@media(forced-colors:active){.booking-page .booking-backdrop{display:none}.booking-page .booking-native #date-step,.booking-page .booking-native .booking-calendar,.booking-page .booking-native #booking-form-step{background-image:none}}

/* Links with button semantics avoid browser-native form-control painting on mobile. */
.booking-native .city-grid .studio-choice{
 display:flex;align-items:center;justify-content:center;box-sizing:border-box;
 min-height:58px;padding:12px;border:1px solid #78623e;border-radius:10px;
 background:#0b0b09;color:#f5eee1;-webkit-text-fill-color:#f5eee1;
 font:inherit;text-align:center;text-decoration:none;cursor:pointer;
 -webkit-tap-highlight-color:transparent;
}
.booking-native .city-grid .studio-choice[aria-pressed="true"]{
 background:linear-gradient(115deg,#513006,#331b03);color:#ffe7ac;
 -webkit-text-fill-color:#ffe7ac;border-color:#dfbb71;box-shadow:0 0 0 2px #dfbb7126;
}
.booking-native .city-grid .studio-choice:focus-visible{outline:2px solid #dfbb71;outline-offset:3px}

.booking-native .group-booking{margin-top:20px;padding:18px;border:1px solid #8c7346;border-radius:12px;background:#171208;color:#f5eee1;font-size:16px;line-height:1.6}.booking-native .group-booking strong{color:#dfbb71;font-size:18px}.booking-native .group-booking p{margin:6px 0 12px}.booking-native .group-booking a{display:block;padding:10px 0;color:#dfbb71;text-decoration:underline;text-underline-offset:4px}
.booking-native #date-step{scroll-margin-top:96px}.booking-native .calendar-day[data-state="checking"]{background:#17140f;color:#b9ae98;border-color:#514630}.booking-native .calendar-days[aria-busy="true"]{opacity:.75}


.booking-native .booking-success{text-align:center;max-width:650px;margin:24px auto;scroll-margin-top:110px;background:#0b0b09}.booking-native .success-mark{display:inline-flex;align-items:center;justify-content:center;width:66px;height:66px;border:1px solid #dfbb71;border-radius:50%;color:#dfbb71;font-size:38px;margin:8px 0 20px}.booking-native .booking-success h2{font:400 clamp(30px,6vw,44px)/1.2 Georgia,serif;color:#dfbb71;margin:12px 0 22px}.booking-native .booking-success p{line-height:1.7;overflow-wrap:anywhere}.booking-native .success-details{text-align:left;margin:28px 0}.booking-native .success-details div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid #4f422b}.booking-native .success-details dt{color:#dfbb71}.booking-native .success-details dd{margin:0;overflow-wrap:anywhere}.booking-native .success-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.booking-native .success-actions a{display:block;padding:14px 20px;border:1px solid #dfbb71;border-radius:10px;min-height:48px;color:#f5eee1;text-decoration:none}.booking-native .success-actions a:first-child{background:#dfbb71;color:#171207}.booking-native .success-actions a:focus-visible{outline:2px solid #dfbb71;outline-offset:4px}.booking-native .booking-success>p>a{color:#dfbb71}@media(max-width:600px){.booking-native .success-actions{flex-direction:column}.booking-native .success-details div{grid-template-columns:95px minmax(0,1fr)}}
