.td-booker{background:#070b10;border:1px solid #263242;border-radius:20px;padding:clamp(1.2rem,3vw,2rem);box-shadow:0 24px 70px #0007}.td-booker-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1.5rem}.td-booker-progress span{border-bottom:2px solid #263242;color:#788592;padding:.65rem 0;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.td-booker-progress span.active{color:#fff;border-color:var(--blue)}.td-book-step{display:none}.td-book-step.active{display:block}.td-booker fieldset{border:0;padding:0;margin:0 0 1.5rem}.td-booker legend,.td-field>span,.td-field{display:block;margin-bottom:.75rem;color:#dce3eb;font-weight:700}.td-service-options{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.td-service-options label,.td-size-options label{cursor:pointer}.td-service-options input,.td-size-options input{position:absolute;opacity:0}.td-service-options span{min-height:132px;padding:1rem;background:#0c1117;border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;gap:.35rem}.td-service-options small{color:var(--muted)}.td-service-options strong{color:var(--blue2);margin-top:auto}.td-service-options input:checked+span,.td-size-options input:checked+span{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue);background:#0d1a26}.td-size-options{display:flex;flex-wrap:wrap;gap:.6rem}.td-size-options span{display:block;padding:.7rem 1rem;border:1px solid var(--line);border-radius:7px;color:#cbd3dc}.td-field input,.td-fields input,.td-fields textarea{width:100%;margin-top:.45rem;background:#090d12;color:#fff;border:1px solid #344151;border-radius:7px;padding:.85rem}.td-field input:focus,.td-fields input:focus,.td-fields textarea:focus{outline:2px solid #0788ff55;border-color:var(--blue)}.td-times{display:flex;flex-wrap:wrap;gap:.55rem;min-height:50px}.td-times p{color:var(--muted)}.td-time{background:#0a0f14;color:#dbe3eb;border:1px solid #344151;border-radius:6px;padding:.65rem .8rem}.td-time:hover,.td-time.active{border-color:var(--blue);background:#0e2437}.td-form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.td-form-actions .button:disabled{opacity:.45;cursor:not-allowed}.td-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.td-fields label{color:#cdd6df;font-size:.8rem;font-weight:700}.td-fields .wide{grid-column:1/-1}.td-consent{display:flex;align-items:flex-start;gap:.7rem;margin-top:1.2rem;color:#aeb8c3;font-size:.78rem}.td-consent input{margin-top:.2rem}.td-honeypot{position:absolute!important;left:-10000px!important}.td-summary{margin-top:1rem;padding:1rem;border:1px solid var(--line);border-radius:8px;color:#cbd5df}.td-message{margin-top:1rem;color:#ff969f}.td-success{text-align:center;padding:2rem}.td-success>span{display:grid;place-items:center;width:56px;height:56px;margin:auto;border-radius:50%;background:var(--blue);font-size:1.5rem}.td-success h3{font:700 2rem Manrope;margin:1rem 0 .5rem}.td-success p{color:var(--muted)}.td-reference{font-weight:800;color:#fff!important;letter-spacing:.08em}.booking-page-main{max-width:1100px;margin:auto;padding:clamp(3rem,8vw,7rem) 24px}.booking-page-head{text-align:center;max-width:760px;margin:0 auto 2.5rem}.booking-page-head h1{font:800 clamp(2.8rem,6vw,5.5rem)/.98 Manrope;margin:.5rem 0 1rem}.booking-page-head>p:last-child{color:var(--muted)}@media(max-width:720px){.td-service-options,.td-fields{grid-template-columns:1fr}.td-fields .wide{grid-column:auto}.td-form-actions{display:grid}.td-size-options{display:grid}.td-size-options label{width:100%}}

/* High-contrast calendar controls and floating price summary */
.td-form-actions .button,.td-book-step>.td-next{border:2px solid #fff;color:#fff;box-shadow:0 8px 24px #0078ed4d}.td-form-actions .button:not(.outline),.td-book-step>.td-next{background:linear-gradient(135deg,#1996ff,#006dcc)}.td-form-actions .button.outline{background:#17212b;border-color:#fff;color:#fff}.td-form-actions .button:hover,.td-book-step>.td-next:hover{filter:brightness(1.2);box-shadow:0 10px 30px #0788ff66}.td-form-actions .button:focus-visible,.td-book-step>.td-next:focus-visible,.td-price-action:focus-visible{outline:3px solid #fff;outline-offset:3px}
.td-field input[type="date"]{color-scheme:dark;border:2px solid #fff;background-color:#142231;color:#fff;box-shadow:0 0 0 3px #ffffff1c;min-height:56px;font-weight:700;padding-right:54px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 11h18'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:25px}.td-field input[type="date"]::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;width:38px;height:38px}.td-field input[type="date"]:focus{outline:3px solid #0788ff99;border-color:#fff}.td-time{color:#fff;border:1.5px solid #edf5fc;font-weight:700}.td-time:hover{border-color:#fff;background:#172839}.td-time.active{border:2px solid #fff;background:var(--blue);color:#fff;box-shadow:0 0 0 3px #0788ff55}.booking-page-main{padding-bottom:150px}.td-price-bar{position:fixed;left:0;right:0;bottom:0;z-index:100;margin:0;padding:1rem max(4vw,24px);background:#f5f9fd;color:#07121c;border:0;border-top:2px solid #fff;border-radius:0;box-shadow:0 -12px 40px #000b;display:flex;align-items:center;justify-content:space-between;gap:1rem}.td-price-bar small{display:block;color:#44596b;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.td-price-bar strong{display:block;font-size:2rem;line-height:1.1}.td-price-bar p{margin:.2rem 0 0;color:#596b7a;font-size:.72rem}.td-price-action{border:2px solid #fff;border-radius:7px;background:linear-gradient(135deg,#1996ff,#006dcc);color:#fff;padding:.95rem 1.4rem;font-weight:800;white-space:nowrap;box-shadow:0 8px 24px #0078ed55}.td-price-action:hover{filter:brightness(1.15)}.td-price-action:disabled{opacity:.45;cursor:not-allowed}@media(max-width:720px){.booking-page-main{padding-bottom:210px}.td-price-bar{align-items:stretch;flex-direction:column}.td-price-action{width:100%}}
