/* Booking page */
.dc-booking{padding-block:clamp(32px,5vw,64px) var(--dc-section-y)}
.dc-booking__back{display:inline-block;color:var(--dc-text-muted);font-size:.9rem;margin-bottom:20px}
.dc-booking__back:hover{color:var(--dc-accent)}
.dc-booking__head{margin-bottom:clamp(20px,3vw,32px)}
.dc-booking__title{font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:.2em}
.dc-booking__sub{color:var(--dc-text-muted);margin:0}
.dc-booking__form{max-width:820px}

/* Tier picker on booking */
.dc-btiers{display:grid;grid-template-columns:1fr;gap:10px}
.dc-btier{display:block;cursor:pointer}
.dc-btier input{position:absolute;opacity:0;width:0;height:0}
.dc-btier__body{display:flex;flex-direction:column;gap:3px;border:1px solid var(--dc-border);border-radius:var(--dc-radius-md);padding:14px 16px;background:var(--dc-surface);transition:border-color var(--dc-dur) var(--dc-ease),background var(--dc-dur) var(--dc-ease)}
.dc-btier input:checked + .dc-btier__body{border-color:var(--dc-accent);background:var(--dc-accent-soft)}
.dc-btier input:focus-visible + .dc-btier__body{outline:2px solid var(--dc-accent);outline-offset:2px}
.dc-btier__name{font-family:var(--dc-font-head);font-weight:600}
.dc-btier__meta{color:var(--dc-text-muted);font-size:.85rem}
.dc-btier__price{color:var(--dc-accent);font-weight:700;font-family:var(--dc-font-head)}
.dc-btier__desc{color:var(--dc-text-muted);font-size:.85rem;line-height:1.45}
.dc-btier-details{margin-top:14px;border:1px solid var(--dc-border);border-radius:var(--dc-radius-md);background:var(--dc-surface);padding:16px 18px}
.dc-btier-details__pane > :first-child{margin-top:0}
.dc-btier-details__pane:not([hidden]){animation:dc-tier-in .35s var(--dc-ease)}
.dc-btier-details__desc{color:var(--dc-text-muted);font-size:.92rem;margin:0 0 4px}
.dc-btier-details__head{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--dc-text-muted);margin:16px 0 8px}
.dc-btier-details__list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.dc-btier-details__list li{display:flex;gap:9px;align-items:flex-start;font-size:.92rem}
.dc-btier-details__check{color:var(--dc-accent);flex:none;display:inline-flex;margin-top:3px}
@keyframes dc-tier-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.dc-btier-details__pane:not([hidden]){animation:none}}

/* Add-ons on booking */
.dc-baddons{display:grid;grid-template-columns:1fr;gap:10px}
.dc-baddon{display:block;cursor:pointer}
.dc-baddon input{position:absolute;opacity:0;width:0;height:0}
.dc-baddon__body{display:flex;justify-content:space-between;gap:10px;border:1px solid var(--dc-border);border-radius:var(--dc-radius-md);padding:13px 16px;background:var(--dc-surface)}
.dc-baddon input:checked + .dc-baddon__body{border-color:var(--dc-accent);background:var(--dc-accent-soft)}
.dc-baddon input:focus-visible + .dc-baddon__body{outline:2px solid var(--dc-accent);outline-offset:2px}
.dc-baddon__price{color:var(--dc-accent);font-weight:700}

/* Time slots */
.dc-slots{display:flex;flex-wrap:wrap;gap:8px}
.dc-slot{cursor:pointer}
.dc-slot input{position:absolute;opacity:0;width:0;height:0}
.dc-slot span{display:inline-block;border:1px solid var(--dc-border);border-radius:var(--dc-radius-md);padding:9px 14px;font-size:.9rem;background:var(--dc-surface)}
.dc-slot input:checked + span{border-color:var(--dc-accent);background:var(--dc-accent-soft);color:var(--dc-text)}
.dc-slot input:focus-visible + span{outline:2px solid var(--dc-accent);outline-offset:2px}
.dc-slot input:disabled + span{opacity:.4;text-decoration:line-through;cursor:not-allowed}

/* Summary */
.dc-summary{border:1px solid var(--dc-border);border-radius:var(--dc-radius-lg);background:var(--dc-surface);padding:clamp(16px,3vw,24px)}
.dc-summary__row{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--dc-border);font-size:.94rem}
.dc-summary__row:last-child{border-bottom:0;font-weight:700;font-family:var(--dc-font-head);font-size:1.1rem}
.dc-summary__row dt{color:var(--dc-text-muted)}
.dc-summary__row dd{margin:0;text-align:right}

/* Success */
.dc-booking__success{max-width:640px;border:1px solid var(--dc-accent);border-radius:var(--dc-radius-lg);background:var(--dc-surface);padding:clamp(24px,4vw,40px);margin-top:24px}
.dc-booking__success-title{color:var(--dc-accent)}
.dc-booking__ref{font-size:1.1rem}
.dc-booking__ref strong{color:var(--dc-accent);font-family:var(--dc-font-head);letter-spacing:.04em}

@media(min-width:640px){.dc-btiers{grid-template-columns:repeat(3,1fr)}.dc-baddons{grid-template-columns:1fr 1fr}}
