.ddf-booking-app{--ddf-b-orange:var(--ddf-orange, #f47e00);--ddf-b-orange-dark:var(--ddf-orange-dark, #b85a00);--ddf-b-orange-light:var(--ddf-orange-light, #fff1e0);--ddf-b-cream:var(--ddf-cream, #fbf7f1);--ddf-b-charcoal:var(--ddf-charcoal, #2a2a28);--ddf-b-muted:var(--ddf-muted, #888780);--ddf-b-stone:var(--ddf-stone, #eae3d6);--ddf-b-disabled:var(--ddf-disabled, #f1efe8);--ddf-b-success:var(--ddf-success, #639922);--ddf-b-loyalty-gold:var(--ddf-loyalty-gold, #f6c200);--ddf-b-radius:14px;--ddf-b-pill:999px;color:var(--ddf-b-charcoal);box-sizing:border-box;width:100%;margin:0 0 48px;font-family:inherit}.ddf-booking__noscript{padding:14px 16px;background:var(--ddf-b-orange-light);border-radius:12px;border:1px solid var(--ddf-b-orange);font-size:14px}.ddf-booking__flash{padding:14px 18px;border-radius:var(--ddf-b-radius);margin-bottom:16px;font-size:15px;line-height:1.45}.ddf-booking__flash--success{background:#e8f4e0;border:1px solid #b8d9a8;color:#2d4a22}.ddf-booking__flash--warn{background:var(--ddf-b-orange-light);border:1px solid var(--ddf-b-orange);color:var(--ddf-b-charcoal)}.ddf-calendar__day--loading{opacity:.55;cursor:progress}.ddf-calendar__day:focus-visible{outline:2px solid var(--ddf-b-orange);outline-offset:2px}.ddf-booking__countdown{display:flex;justify-content:space-between;align-items:center;background:var(--ddf-b-orange-light);border:1px solid var(--ddf-b-orange);border-radius:12px;padding:10px 14px;margin:0 0 14px;font-size:13px}.ddf-booking__countdown-label{color:var(--ddf-b-charcoal)}.ddf-booking__countdown-value{font-variant-numeric:tabular-nums;font-weight:600;color:var(--ddf-b-orange-dark);font-size:15px}.ddf-booking__details{margin-top:18px;padding-top:18px;border-top:1px solid var(--ddf-b-stone)}.ddf-booking__panel-title{font-size:15px;font-weight:500;margin:0 0 12px}.ddf-booking__form{display:block}.ddf-booking__label{display:block;font-size:12px;font-weight:500;color:var(--ddf-b-body,var(--ddf-b-charcoal));margin:8px 0 4px}.ddf-booking__input{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--ddf-b-stone);border-radius:10px;font:inherit;font-size:14px;background:#fff}.ddf-booking__input:focus{outline:none;border-color:var(--ddf-b-orange);box-shadow:0 0 0 3px rgb(244 126 0 / .15)}.ddf-booking__field-hint{margin:4px 0 0;font-size:12px;color:var(--ddf-b-muted,#6e6c66);line-height:1.4}.ddf-booking__consent{margin:14px 0;padding-top:12px;border-top:1px solid var(--ddf-b-stone)}.ddf-booking__checkbox-label{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.45;cursor:pointer}.ddf-booking__checkbox-label input[type="checkbox"]{margin-top:3px;width:18px;height:18px;accent-color:var(--ddf-b-orange);flex-shrink:0}.ddf-booking__checkbox-text a{color:var(--ddf-b-orange-dark);font-weight:500;text-decoration:underline}.ddf-booking__pay-note{font-size:11px;color:var(--ddf-b-muted);margin:8px 0 0;line-height:1.5}.ddf-booking__msg{font-size:12px;min-height:1.2em;margin:6px 0 0}.ddf-booking__msg--ok{color:var(--ddf-b-success)}.ddf-booking__msg--err{color:#c0392b}.ddf-booking__errors{margin-top:12px;padding:10px 12px;background:#fdecea;border:1px solid #f5c6cb;border-radius:8px;font-size:13px;color:#721c24}.ddf-booking__errors:empty{display:none}.ddf-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:flex-end;justify-content:center}.ddf-modal[hidden]{display:none}.ddf-modal__backdrop{position:absolute;inset:0;background:rgb(20 18 14 / .45);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.ddf-modal__panel{position:relative;background:#fff;width:100%;max-width:560px;max-height:92vh;border-radius:18px 18px 0 0;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 -10px 40px rgb(0 0 0 / .2);animation:ddfModalRise 0.18s ease-out}.ddf-modal__panel:focus{outline:none}@media (min-width:720px){.ddf-modal{align-items:center;padding:24px}.ddf-modal__panel{border-radius:18px;animation:ddfModalFade 0.18s ease-out}}@keyframes ddfModalRise{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes ddfModalFade{from{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.ddf-modal__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 12px;border-bottom:1px solid var(--ddf-b-stone)}.ddf-modal__head h3{margin:0;font-size:16px;font-weight:500}.ddf-modal__sub{margin:4px 0 0;font-size:13px;color:var(--ddf-b-muted)}.ddf-modal__close{background:var(--ddf-b-cream);border:1px solid var(--ddf-b-stone);border-radius:999px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ddf-b-charcoal);flex-shrink:0}.ddf-modal__close:hover{background:var(--ddf-b-orange-light);border-color:var(--ddf-b-orange)}.ddf-modal__body{padding:14px 20px 4px;overflow-y:auto;flex:1}.ddf-modal__hint{font-size:12px;color:var(--ddf-b-muted);margin:0 0 12px}.ddf-modal__loading{text-align:center;padding:28px 0;color:var(--ddf-b-muted);font-size:14px}.ddf-modal__none{text-align:center;padding:28px 12px;color:var(--ddf-b-muted);font-size:14px}.ddf-modal .ddf-slot-grid .ddf-slot-cell{cursor:pointer;border-radius:8px;transition:background 0.12s,border-color 0.12s;padding:11px 4px;font-size:12px}.ddf-modal .ddf-slot-grid .ddf-slot-cell:hover:not(.ddf-slot-cell--booked){border-color:var(--ddf-b-orange)}.ddf-modal .ddf-slot-grid .ddf-slot-cell--booked{cursor:not-allowed}.ddf-modal__foot{padding:14px 20px 18px;border-top:1px solid var(--ddf-b-stone);background:var(--ddf-b-cream);display:flex;flex-direction:column;gap:12px}.ddf-modal__summary{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:13px}.ddf-modal__summary-line{color:var(--ddf-b-charcoal)}.ddf-modal__summary-price{font-size:18px;font-weight:500;color:var(--ddf-b-orange-dark)}.ddf-modal__actions{display:flex;gap:10px;justify-content:flex-end}.ddf-modal__actions .ddf-btn{flex:1;max-width:220px}body.ddf-modal-open{overflow:hidden}.ddf-booking-app .ddf-btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;border-radius:var(--ddf-b-pill);font-weight:500;font-size:13px;font-family:inherit;border:1px solid #fff0;cursor:pointer;text-decoration:none;transition:background 0.15s,border-color 0.15s,opacity 0.15s;line-height:1.2}.ddf-booking-app .ddf-btn:disabled{opacity:.5;cursor:not-allowed}.ddf-booking-app .ddf-btn--primary{background:var(--ddf-b-orange);color:#fff}.ddf-booking-app .ddf-btn--primary:hover:not(:disabled){background:var(--ddf-b-orange-dark)}.ddf-booking-app .ddf-btn--secondary{background:#fff;color:var(--ddf-b-charcoal);border-color:var(--ddf-b-stone)}.ddf-booking-app .ddf-btn--secondary:hover:not(:disabled){border-color:var(--ddf-b-muted)}@media (prefers-reduced-motion:reduce){.ddf-modal__panel{animation:none}.ddf-modal .ddf-slot-grid .ddf-slot-cell{transition:none}}.ddf-preopen{display:flex;gap:14px;align-items:flex-start;margin:0 0 22px;padding:16px 20px;border-radius:14px;background:var(--ddf-orange-light,#fff1e0);border:1px solid color-mix(in srgb,var(--ddf-orange,#f47e00) 35%,transparent);color:var(--ddf-charcoal,#2a2a28)}.ddf-preopen__icon{color:var(--ddf-orange-dark,#b85a00);flex:0 0 auto;margin-top:2px}.ddf-preopen__copy{display:flex;flex-direction:column;gap:2px}.ddf-preopen__title{font-size:16px;font-weight:600;line-height:1.2}.ddf-preopen__date{font-size:14px}.ddf-preopen__note{font-size:13px;color:var(--ddf-muted,#6e6c66)}