.ak-booking{--bk-red:#c92130;--bk-ink:#17191b;color:var(--bk-ink);background:#fff;border:1px solid #dededb;border-radius:20px;padding:clamp(18px,3vw,32px);box-shadow:0 12px 40px #17191b08;min-width:0;container-type:inline-size}.ak-booking *{box-sizing:border-box}.ak-booking h3{font-size:clamp(23px,2vw,30px);line-height:1.15;margin:8px 0 12px}.ak-booking h4{font-size:17px;line-height:1.4;margin:0}.ak-booking p{line-height:1.55}.ak-booking-eyebrow{text-transform:uppercase;color:var(--bk-red);letter-spacing:.1em;font-size:12px;font-weight:750}.ak-booking-intro>p{color:#555b60;margin:0 0 26px}.ak-booking-layout{display:grid;gap:26px}.ak-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.ak-calendar-header h4{text-transform:capitalize;text-align:center}.ak-booking button{font:inherit;cursor:pointer;touch-action:manipulation;transition:background .15s ease,color .15s ease;border:1px solid #d7d9da;border-radius:10px;min-height:44px;background:#fff;color:var(--bk-ink)}.ak-calendar-header button{width:44px;flex-shrink:0;font-size:21px}.ak-calendar-week,.ak-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}.ak-calendar-week{font-size:13px;color:#656b70;margin-bottom:8px}.ak-calendar-days button{padding:0;font-size:15px;font-weight:700;background:#fbeef0;color:#a41d29;border-color:#f1c9ce}.ak-calendar-days button:disabled{background:#fafafa;color:#747a80;border-color:transparent;cursor:default;font-weight:400}.ak-calendar-days button[aria-pressed=true],.ak-slot-buttons button[aria-pressed=true]{background:var(--bk-red);color:white;border-color:var(--bk-red)}.ak-booking button:not(:disabled):hover{background:#17191b;color:white;border-color:#17191b}.ak-booking :is(button,input,textarea,a):focus-visible{outline:3px solid #1d65bb;outline-offset:3px}.ak-calendar-legend{display:flex;align-items:center;gap:9px;color:#555b60;font-size:13px;margin:14px 0 22px}.ak-calendar-legend span{width:9px;height:9px;flex-shrink:0;background:var(--bk-red);border-radius:50%}.ak-slot-buttons{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}.ak-slot-buttons button{padding:9px 14px;font-weight:650}.ak-selected-slot{background:#f5f5f3;padding:15px 16px;border-radius:12px;font-size:15px;line-height:1.5;margin-bottom:18px;font-weight:650}.ak-booking fieldset{border:0;padding:0;margin:0;min-width:0}.ak-booking legend{font-weight:750;font-size:18px;margin-bottom:16px}.ak-booking-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.ak-booking label{font-size:14px;font-weight:650;display:flex;flex-direction:column;gap:7px;min-width:0}.ak-booking label>span{font-weight:400;color:#555b60}.ak-booking input:not([type=checkbox]),.ak-booking textarea{font:inherit;font-size:16px;color:#17191b;border:1px solid #cdd0d2;border-radius:8px;background:#fff;padding:12px;width:100%;min-width:0;min-height:46px}.ak-booking textarea{resize:vertical}.ak-booking-full{grid-column:1/-1}.ak-booking :disabled{cursor:default}.ak-booking fieldset:disabled{opacity:.65}.ak-booking-consent{flex-direction:row!important;align-items:flex-start;gap:11px!important;margin:20px 0}.ak-booking-consent input{accent-color:var(--bk-red);width:20px;height:20px;margin:2px 0 0;flex-shrink:0}.ak-booking-consent span{font-size:13px;line-height:1.6}.ak-booking-consent a{color:inherit;text-decoration:underline;text-underline-offset:3px}.ak-booking .ak-booking-submit{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 17px;background:var(--bk-red);border-color:var(--bk-red);color:#fff;width:100%;font-weight:750;text-align:left}.ak-booking-note{font-size:13px;color:#555b60;margin:12px 0 0}.ak-booking-status{font-size:15px;margin:20px 0 0;line-height:1.6}.ak-booking-error{color:#a51c30}.ak-booking-success{background:#edf4ed;color:#21582b}.ak-booking-honeypot{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.ak-booking-question{margin-top:24px;padding:18px;border:1px solid #d5d7d8;border-radius:12px}.ak-booking-question summary{font-weight:700;cursor:pointer;min-height:44px;display:flex;align-items:center}.ak-booking-question[open] summary{margin-bottom:18px}.ak-availability-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:16px 0}.ak-availability-range label{display:grid;gap:8px;min-width:0}.ak-availability-range input{width:100%;min-width:0;max-width:100%;min-height:48px;padding:10px;border:1px solid #bbb;border-radius:8px;font:inherit}.ak-slot-admin-actions{display:flex;flex-wrap:wrap;gap:10px}.ak-slot-admin-actions button{flex:1}.ak-booking-status:empty{display:none}@media(max-width:479px){.ak-booking-fields,.ak-availability-range{grid-template-columns:1fr}.ak-booking{padding:18px 14px;border-radius:16px}.ak-calendar-days,.ak-calendar-week{gap:3px}.ak-booking-full{grid-column:auto}}@media(min-width:1600px){.ak-booking-layout{gap:30px}}@media(prefers-reduced-motion:reduce){.ak-booking button{transition:none}}
.ak-booking-phone{font-size:14px;color:#555;margin:18px 0 0}.ak-booking-phone a{display:inline-block;color:#171717;font-weight:650;text-underline-offset:3px;min-height:44px;align-content:center}.ak-booking-phone a:focus-visible{outline:3px solid #c92130;outline-offset:3px}.ak-booking fieldset[hidden]{display:none}
.ak-availability-range{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.ak-availability-range input{font-size:16px}.ak-slot-admin-actions .button,.ak-slot-admin-actions button,.record-card .actions .button{min-height:44px}.ak-booking .record-grid{gap:14px}.ak-booking .optional-tools>summary{min-height:48px;display:flex;align-items:center;font-weight:700;cursor:pointer}@media(max-width:600px){.ak-availability-range{grid-template-columns:1fr}.ak-slot-admin-actions{display:grid;grid-template-columns:1fr}.ak-slot-admin-actions .button{width:100%}}

/* A temporary hold is distinct from both a free time and a confirmed order. */
.ak-calendar-days button:not(:disabled){background:#eaf3ec;color:#245730;border-color:#c0dac6}
.ak-calendar-days button.ak-day-held:not(:disabled),.ak-slot-buttons button.ak-slot-held{background:#fff1d9;color:#754700;border-color:#dfb467}
.ak-calendar-days button[aria-pressed=true]:not(:disabled),.ak-slot-buttons button[aria-pressed=true]{background:var(--bk-ink);color:#fff;border-color:var(--bk-ink)}
.ak-calendar-legend{flex-wrap:wrap;gap:7px;font-size:12px}
.ak-calendar-legend span{background:#358146}.ak-calendar-legend .ak-held-dot{background:#bc7619;margin-left:8px}
.ak-slot-buttons button{display:flex;flex-direction:column;gap:5px;text-align:left;line-height:1.4;max-width:100%}
.ak-slot-buttons button small{font-size:12px;font-weight:400;max-width:30ch}
.ak-slot-buttons button:disabled{cursor:default}
.ak-hold-status{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px;border:1px solid #c0dac6;background:#edf5ef;color:#245730;border-radius:12px;margin-bottom:14px;font-size:14px;line-height:1.5}
.ak-hold-status[hidden]{display:none}
.ak-hold-status strong{font-variant-numeric:tabular-nums;white-space:nowrap}
.ak-hold-status button{font-size:13px;padding:8px 12px;min-height:44px;background:transparent}
.ak-booking .ak-booking-submit:disabled{background:#e1e2e0;border-color:#e1e2e0;color:#656b70;cursor:default}
@container(min-width:800px){.ak-booking-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start}}
