.booking-card{min-width:0;color:var(--navy,#1b2e4b)}.booking-heading h2{font-size:25px;line-height:1.25;letter-spacing:-.025em;margin:9px 0}.booking-heading>p{font-size:14px;line-height:1.65;color:#596b81;margin:0 0 26px}.booking-kicker{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#0066cc}.booking-fieldset{border:0;padding:0;margin:0 0 26px;min-width:0}.booking-fieldset>legend{font-size:15px;font-weight:750;margin:0 0 17px;display:flex;align-items:center;gap:10px;line-height:1.45}.booking-fieldset>legend>span{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#edf5ff;color:#0066cc;font-size:12px}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px 14px}.booking-field{min-width:0;display:flex;flex-direction:column;gap:7px}.booking-field>label{font-size:12px;font-weight:700;line-height:1.5;color:#30465f}.booking-field>label>span{font-size:11px;font-weight:400;color:#607189;margin-left:4px}.booking-field input,.booking-field textarea{min-width:0;width:100%;padding:12px 13px;border:1px solid #ccd8e5;border-radius:9px;background:#fff;color:#1b2e4b;font:inherit;font-size:15px;line-height:1.5;outline-offset:2px}.booking-field textarea{resize:vertical;min-height:88px}.booking-field input[readonly]{background:#f4f7fa;color:#55657b}.booking-field input:focus,.booking-field textarea:focus{border-color:#0066cc;box-shadow:0 0 0 3px #0066cc13}.booking-span{grid-column:1/-1}.booking-help{font-size:12px;line-height:1.65;color:#62738a;margin:0}.booking-help .text-button{font-size:12px}.booking-calendar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:13px 0}.booking-calendar-actions>.small-btn{font-size:13px}.booking-duration{font-size:12px;color:#53667e}.booking-week-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:16px 0 12px}.booking-week-nav>strong{font-size:13px;text-align:center;line-height:1.5}.booking-nav{border:1px solid #d4e0ed;border-radius:8px;background:#fff;width:36px;height:36px;display:grid;place-items:center;cursor:pointer;color:#0066cc;font-size:18px}.booking-days{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.booking-day,.booking-slot{position:relative;cursor:pointer;display:block;min-width:0}.booking-day>input,.booking-slot>input{position:absolute;opacity:0;width:1px;height:1px}.booking-day>span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:74px;padding:10px 5px;border:1px solid #d7e2ef;border-radius:10px;background:#fff;transition:background .15s,border-color .15s}.booking-day small{font-size:11px;color:#60738c;text-transform:capitalize}.booking-day b{font-size:14px;font-weight:750}.booking-day input:checked+span,.booking-slot input:checked+span{background:#edf5ff;border-color:#0066cc;box-shadow:inset 0 0 0 1px #0066cc;color:#0053a5}.booking-day input:focus-visible+span,.booking-slot input:focus-visible+span{outline:3px solid #8ec4ff;outline-offset:3px}.booking-day input:disabled+span,.booking-slot input:disabled+span{opacity:.5;cursor:default}.booking-slot-group{padding:0;border:0;min-width:0;margin:20px 0 0}.booking-slot-group>legend{font-weight:700;font-size:13px;margin-bottom:10px}.booking-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.booking-slot>span{display:block;text-align:center;border:1px solid #d7e2ef;border-radius:8px;padding:11px 5px;font-size:12px;font-weight:700;white-space:nowrap;background:#fff}.booking-empty{font-size:13px;color:#596b81;line-height:1.7;background:#f5f8fb;border-radius:10px;padding:14px;margin:12px 0 0}.booking-selected{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #e1e8f0;border-bottom:1px solid #e1e8f0;padding:17px 0;margin:18px 0 12px}.booking-selected>div{display:flex;flex-direction:column;gap:5px}.booking-selected>div:last-child{text-align:right;flex-shrink:0}.booking-selected span{font-size:11px;color:#68798e}.booking-selected strong{font-size:14px;line-height:1.6}.booking-selected small{font-size:11px;color:#68798e}.booking-status{font-size:13px;line-height:1.7;margin:12px 0;color:#4d627c;overflow-wrap:anywhere}.booking-status:empty{display:none}.booking-status[data-error=true]{color:#a03131}.booking-submit{margin:3px 0 10px;font-size:14px}.booking-submit-help{text-align:center}.booking-back{display:inline-block;margin-top:24px;font-size:12px}.booking-fallback{background:#f4f8fc;border:1px solid #dce7f1;padding:15px;border-radius:11px;margin-top:15px}.booking-fallback p{font-size:13px;line-height:1.7;color:#4c627b;margin:0 0 10px}.booking-fallback>div{display:flex;gap:13px;flex-wrap:wrap;align-items:center}.booking-fallback a,.booking-fallback button{font-size:12px}.booking-result{padding:22px 18px;border:1px solid #c3d8ed;background:#f4f9ff;border-radius:13px;overflow-wrap:anywhere}.booking-result[data-state=confirmed]{border-color:#a5d5bc;background:#f2faf5}.booking-result[data-state=failed]{border-color:#e6c8b0;background:#fff9f2}.booking-result-icon{display:grid;place-items:center;width:40px;height:40px;background:#e0edfb;border-radius:50%;font-size:22px;color:#0066cc;margin-bottom:15px}.booking-result[data-state=confirmed] .booking-result-icon{background:#dcefe3;color:#167347}.booking-result h2{font-size:21px;line-height:1.4;margin:0 0 9px}.booking-result p{font-size:13px;line-height:1.8;margin:0;color:#4f6279}.booking-result dl{font-size:12px;margin:18px 0 0}.booking-result dl:empty{display:none}.booking-result dl>div{display:grid;grid-template-columns:95px minmax(0,1fr);gap:10px;margin:8px 0}.booking-result dt{color:#62738a}.booking-result dd{margin:0;font-weight:650;overflow-wrap:anywhere}.booking-result-actions{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-top:19px}.booking-result-actions .link,.booking-result-actions .small-btn{font-size:12px}.booking-card [aria-busy=true]{cursor:progress}.booking-fieldset:disabled .booking-field input,.booking-fieldset:disabled .booking-field textarea{opacity:.7}.booking-card [hidden]{display:none!important}@media(min-width:1100px){.booking-days{grid-template-columns:repeat(5,minmax(0,1fr))}.booking-slots{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:600px){.booking-card{padding:21px 17px}.booking-heading h2{font-size:23px}.booking-fields{gap:13px 10px}.booking-field input,.booking-field textarea{font-size:16px;padding:11px 10px}.booking-days{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-selected{flex-direction:column;gap:12px}.booking-selected>div:last-child{text-align:left}.booking-result{padding:19px 15px}.booking-result dl>div{grid-template-columns:80px minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.booking-day>span{transition:none}}
/* Booking windows and product illustrations */
.calendar-dialog,.hourly-dialog{width:min(680px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overflow:auto;border:0;border-radius:24px;padding:30px;color:var(--navy,#1b2e4b);box-shadow:0 24px 90px #13294438}
.calendar-dialog::backdrop,.hourly-dialog::backdrop{background:#12263f70;backdrop-filter:blur(4px)}
.calendar-dialog .cart-head h2{margin:6px 0 0}.calendar-dialog .booking-fieldset{margin:22px 0 0}.calendar-dialog .booking-fieldset>legend{display:none}.calendar-dialog .booking-status{min-height:24px}.booking-slot>span{display:flex;flex-direction:column;gap:6px;min-width:140px;padding:16px}.booking-slot small{display:block;font-size:11px;font-weight:500;line-height:1.4}.booking-slots{display:flex;flex-wrap:wrap;gap:10px}.booking-slot{flex:1}.booking-slot:has(input:checked)>span{box-shadow:0 0 0 2px #0065cf}.hourly-dialog form{display:grid;gap:12px}.hourly-dialog label{font-weight:600;margin-top:10px}.hourly-dialog select,.hourly-dialog textarea{width:100%;padding:14px;border:1px solid #cfdded;border-radius:12px;font:inherit;color:inherit;background:white}
.next-panel h2{font-size:clamp(24px,2.5vw,34px);line-height:1.15;margin:12px 0 18px}.next-panel .eyebrow{font-size:11px}.next-panel p{font-size:14px;line-height:1.6}.next-panel .next-note{font-size:12px;margin-bottom:0}.next-slots{display:grid;gap:10px;margin:18px 0}.next-slot{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;text-align:left;border:1px solid #d6e2ef;background:#f6f9fc;border-radius:12px;padding:17px;color:#1b2e4b;font:inherit;font-size:13px;cursor:pointer}.next-slot:hover{border-color:#0065cf;background:#edf5ff}.next-slot strong{color:#0065cf}.type-art{display:block;width:100%;aspect-ratio:1;background-color:#f3f7fb;background-image:var(--type-sheet);background-size:400% 300%;background-position:var(--type-x) var(--type-y);background-repeat:no-repeat;animation:type-in .35s ease both}.config-image .type-art{width:min(100%,460px)}.product-visual .type-art{width:180px;height:180px}.copyright{display:flex;justify-content:space-between;gap:20px}.copyright nav{display:flex;gap:24px}.copyright a{color:inherit}.booking-selected small{line-height:1.5}
@keyframes type-in{from{opacity:.2;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.type-art{animation:none}}
@media(max-width:600px){.calendar-dialog,.hourly-dialog{padding:22px 18px;border-radius:18px}.booking-slots{display:grid;grid-template-columns:1fr}.booking-slot>span{padding:12px}.copyright{flex-direction:column}.next-slot{gap:10px}.booking-selected{flex-wrap:wrap}}

/* Every reserved work period stays visible before confirmation. */
.hourly-periods{border:0;margin:6px 0 0;padding:0;min-width:0}.hourly-periods legend{font-size:14px;font-weight:700;margin-bottom:10px}.hourly-period-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hourly-dialog .hourly-period{position:relative;margin:0;cursor:pointer}.hourly-period>input{position:absolute;opacity:0;width:1px;height:1px}.hourly-period>span{display:flex;flex-direction:column;gap:6px;padding:18px;border:1px solid #cfdded;border-radius:12px;background:#fff}.hourly-period strong{font-size:15px}.hourly-period small{font-size:13px;color:#5d7089;font-weight:500}.hourly-period input:checked+span{background:#edf5ff;border-color:#0066cc;box-shadow:inset 0 0 0 1px #0066cc}.hourly-period input:focus-visible+span{outline:3px solid #8ec4ff;outline-offset:3px}.hourly-dialog .booking-help{margin:0}.booking-slot>span{white-space:normal;height:100%;justify-content:flex-start}.booking-slot .booking-slot-heading{font-size:14px;line-height:1.5}.booking-segments{list-style:none;margin:8px 0 0;padding:0;text-align:left;display:grid;gap:7px;line-height:1.6;font-size:12px;font-weight:500}.booking-segments li,.booking-segments [role=listitem]{border-left:2px solid #bed5ed;padding-left:10px}.booking-selected .booking-segments{margin:2px 0 3px;color:#30465f}.booking-slots[data-multiday=true]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.booking-slot .booking-periods-note{border-top:1px solid #d7e2ef;padding-top:9px;margin-top:4px;text-align:left;color:#526981}.booking-result dd.booking-result-periods{white-space:pre-line;line-height:1.7}@media(max-width:600px){.booking-slots[data-multiday=true]{grid-template-columns:1fr}.hourly-period>span{padding:15px 12px}.hourly-period strong{font-size:14px}}

.booking-segments,.booking-slot .booking-segments small{font-size:14px;line-height:1.6}
.booking-slots[data-external="true"]{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.booking-slots[data-external="true"] .booking-slot,.booking-slots[data-external="true"] .booking-slot>span{min-width:0}

/* An existing order keeps its own price; the current cart returns after it is closed. */
#checkoutOrderSummary[hidden]{display:none!important}
#checkoutView[data-booking-locked=true] .checkout-grid{grid-template-columns:minmax(0,1fr);max-width:760px}
.booking-result[data-state=cancelled]{border-color:#cbd6e2;background:#f5f7fa}
.booking-result[data-state=cancelled] .booking-result-icon{background:#e5ebf1;color:#456079}

.booking-slot .booking-plan-summary{display:block;margin:10px 0 14px;padding:10px 12px;border:1px solid #91bceb;border-radius:8px;background:#e0efff;color:#124d8b;font-size:16px;font-weight:800;line-height:1.4;text-align:center}
