/* DJFD booking widget */
.bk__head p{color:var(--muted);margin-top:8px}
.bk__steps{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:24px}
.bk__step{border-top:1px solid var(--line);padding-top:22px;min-width:0}
.bk__step:first-child{border-top:0;padding-top:0}
.bk__label{display:flex;align-items:center;gap:10px;font-weight:600;font-size:1.02rem;margin-bottom:14px;flex-wrap:wrap}
.bk__num{width:28px;height:28px;border-radius:50%;background:var(--tint);color:var(--accent);display:grid;place-items:center;font-size:.85rem;font-weight:700;flex:none}
.bk__datelabel{font-weight:400;color:var(--muted);font-size:.95rem}
.bk__datelabel:not(:empty)::before{content:"\00B7";margin-right:8px}
.bk__dates-wrap{display:flex;align-items:center;gap:8px;min-width:0}
.bk__dates{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding:4px 2px;flex:1;min-width:0;scroll-behavior:smooth}
.bk__dates::-webkit-scrollbar{display:none}
.bk__nav{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer;color:var(--ink);transition:border-color .15s}
.bk__nav:hover{border-color:var(--ink)}
.bk__date{scroll-snap-align:start;flex:none;width:74px;padding:10px 4px 9px;border-radius:14px;border:1px solid var(--line);background:#fff;display:grid;justify-items:center;gap:1px;cursor:pointer;font:inherit;color:var(--ink);transition:border-color .15s,background .15s,color .15s}
.bk__date .dow{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}
.bk__date strong{font-family:var(--font-display);font-size:1.45rem;line-height:1.15}
.bk__date .mon{font-size:.78rem;color:var(--muted)}
.bk__date em{font-style:normal;font-size:.68rem;margin-top:5px;padding:2px 7px;border-radius:999px;background:#E6F4EC;color:#17643A;font-weight:600;white-space:nowrap}
.bk__date:hover:not(:disabled){border-color:var(--accent)}
.bk__date[aria-checked="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
.bk__date[aria-checked="true"] .dow,.bk__date[aria-checked="true"] .mon{color:#F7DADD}
.bk__date[aria-checked="true"] em{background:rgba(255,255,255,.2);color:#fff}
.bk__date:disabled{cursor:not-allowed;background:#F7F4F4;color:#AC9FA1}
.bk__date:disabled em{background:#EEE6E7;color:#857779}
.bk__date:focus-visible,.bk__slot:focus-visible,.bk__nav:focus-visible{outline:3px solid rgba(179,32,47,.35);outline-offset:2px}
.bk__legend{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:.85rem;color:var(--muted);margin:-4px 0 14px}
.bk__legend span{display:inline-flex;align-items:center;gap:7px}
.lg{width:14px;height:14px;border-radius:4px;border:1px solid #CDBFC1;background:#fff;display:inline-block}
.lg--sel{background:var(--accent);border-color:var(--accent)}
.lg--booked{background:repeating-linear-gradient(135deg,#EFE8E9 0 3px,#DDD2D3 3px 6px);border-color:#DDD2D3}
.bk__group+.bk__group{margin-top:18px}
.bk__group h4{font-family:var(--font-body);font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 9px;font-weight:600}
.bk__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:8px}
.bk__slot{position:relative;min-height:50px;border-radius:12px;border:1px solid #DCCBCD;background:#fff;font:inherit;font-weight:600;font-size:.95rem;color:var(--ink);cursor:pointer;display:grid;place-items:center;align-content:center;gap:1px;padding:6px 4px;line-height:1.15;transition:border-color .15s,background .15s,color .15s}
.bk__slot:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
.bk__slot[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
.bk__slot small{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.bk__slot.is-booked{background:repeating-linear-gradient(135deg,#F6F1F1 0 6px,#EEE6E7 6px 12px);border-color:#E7DDDE;color:#9C8E90;cursor:not-allowed}
.bk__slot.is-booked span{text-decoration:line-through;text-decoration-thickness:1px}
.bk__slot.is-booked small{color:var(--accent-deep)}
.bk__slot.is-blocked{background:#F7F4F4;color:#AC9FA1;border-style:dashed;cursor:not-allowed}
.bk__hint{color:var(--muted);background:var(--bg);border:1px dashed #E2D6D7;border-radius:12px;padding:18px;text-align:center;margin:0}
.bk__hint a{font-weight:600}
.bk__step .err{color:#A3141F;font-size:.88rem;display:none;margin-top:10px}
.bk__step.has-error .err{display:block}
.bk__step.has-error .bk__slots{border-radius:14px;box-shadow:0 0 0 2px rgba(163,20,31,.25);padding:6px}
.bk__step .form-grid{margin-top:0}
.bk__summary{margin-top:26px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-radius:16px;background:var(--tint)}
.bk__summary small{display:block;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-bottom:2px}
.bk__summary strong{font-size:1.05rem}
.bk__summary.is-ready{background:#F3E2E4}
.bk__alt{margin-top:14px;font-size:.92rem}
.bk__skel{flex:none;width:74px;height:96px;border-radius:14px;background:linear-gradient(90deg,#F3EEEE 25%,#FAF7F7 50%,#F3EEEE 75%);background-size:200% 100%;animation:bkSk 1.2s linear infinite}
@keyframes bkSk{to{background-position:-200% 0}}
.form-msg.is-info{display:block;background:#FFF6E0;color:#6B4A00}
@media (prefers-reduced-motion:reduce){.bk__skel{animation:none}.bk__dates{scroll-behavior:auto}}
@media (max-width:560px){.bk__nav{display:none}.bk__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bk__summary .btn{width:100%;justify-content:center}.bk__date{width:66px}.bk__datelabel{flex-basis:100%;padding-left:38px;margin-top:-6px}.bk__datelabel:not(:empty)::before{display:none}}
/* Ticket on thank-you page */
.bk-done h1{font-size:clamp(2rem,4.6vw,3.2rem)}
.bk-ticket{max-width:560px;margin:30px auto 0;text-align:left;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow)}
.bk-ticket__top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 24px;background:var(--dark);color:#fff}
.bk-ticket__top small{display:block;color:#D8BEC2;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.bk-ticket__top strong{font-family:var(--font-display);font-size:1.7rem;letter-spacing:.03em}
.bk-badge{display:inline-block;font-size:.78rem;font-weight:600;padding:5px 11px;border-radius:999px;background:#FFF2D6;color:#6B4A00;white-space:nowrap}
.bk-badge--confirmed{background:#E2EEFB;color:#0D4A80}
.bk-badge--completed{background:#E6F4EC;color:#17643A}
.bk-badge--cancelled,.bk-badge--noshow{background:#F5E6E7;color:#8C1724}
.bk-ticket dl{margin:0;padding:6px 24px 10px;display:grid;grid-template-columns:auto 1fr;column-gap:0}
.bk-ticket dt,.bk-ticket dd{padding:12px 0;border-bottom:1px solid var(--line);margin:0}
.bk-ticket dt{color:var(--muted);font-size:.92rem}
.bk-ticket dd{font-weight:600;text-align:right;padding-left:18px}
.bk-ticket dl>:nth-last-child(-n+2){border-bottom:0}
.bk-ticket__note{margin:0;padding:16px 24px;background:var(--bg);border-top:1px solid var(--line);font-size:.92rem;color:var(--muted)}
.bk-done .btn-row{justify-content:center;margin-top:28px}
.bk-done__home{margin-top:22px}
@media (max-width:560px){.bk-ticket dl{grid-template-columns:1fr;padding:6px 18px 10px}.bk-ticket dt{border-bottom:0;padding-bottom:0;font-size:.82rem}.bk-ticket dd{text-align:left;padding-top:2px;padding-left:0}.bk-ticket__top{padding:16px 18px}.bk-ticket__note{padding:14px 18px}.bk-done .btn{width:100%;justify-content:center}}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
