.dinekit-booking{--dkb-accent:#4f46e5;--dkb-accent-dark:#4338ca;--dkb-accent-rgb:79, 70, 229;--dkb-ink:#0f172a;--dkb-muted:#64748b;--dkb-border:#e2e8f0;--dkb-soft:#f8fafc;--dkb-surface:#fff;--dkb-green:#16a34a;--dkb-red:#dc2626;--dkb-radius:16px;--dkb-font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;max-width:640px;margin:0 auto;padding:24px;background:var(--dkb-surface);border:1px solid var(--dkb-border);border-radius:var(--dkb-radius);box-shadow:0 1px 2px rgb(15 23 42 / .04);font-family:var(--dkb-font);color:var(--dkb-ink);box-sizing:border-box}.dinekit-booking--dark{--dkb-ink:#f1f5f9;--dkb-muted:#94a3b8;--dkb-border:#334155;--dkb-soft:#1e293b;--dkb-surface:#0f172a;--dkb-green:#4ade80;--dkb-red:#f87171}.dinekit-booking--dark .dinekit-booking__field input,.dinekit-booking--dark .dinekit-booking__field select,.dinekit-booking--dark .dinekit-booking__field textarea{background:var(--dkb-soft);color-scheme:dark}.dinekit-booking *,.dinekit-booking *::before,.dinekit-booking *::after{box-sizing:border-box}.dinekit-booking__heading{margin:0 0 4px;font-size:22px;font-weight:800;letter-spacing:-.02em}.dinekit-booking__intro{margin:0 0 16px;color:var(--dkb-muted);font-size:15px}.dinekit-booking__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.dinekit-booking__field{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;color:var(--dkb-ink)}.dinekit-booking__field--full{grid-column:1 / -1}.dinekit-booking__field>span{color:var(--dkb-muted)}.dinekit-booking__field input,.dinekit-booking__field select,.dinekit-booking__field textarea{width:100%;padding:10px 12px;border:1px solid var(--dkb-border);border-radius:calc(var(--dkb-radius) - 6px);font-size:15px;font-family:inherit;color:var(--dkb-ink);background:var(--dkb-surface)}.dinekit-booking__field input:focus,.dinekit-booking__field select:focus,.dinekit-booking__field textarea:focus{outline:none;border-color:var(--dkb-accent);box-shadow:0 0 0 3px rgba(var(--dkb-accent-rgb),.15)}.dinekit-booking__availability{min-height:20px;margin:4px 0 12px;font-size:14px;font-weight:700}.dinekit-booking__availability.is-ok{color:var(--dkb-green)}.dinekit-booking__availability.is-no{color:var(--dkb-red)}.dinekit-booking__availability.is-wait{color:#d97706}.dinekit-booking__suggests{display:inline;font-weight:600;color:var(--dkb-muted)}.dinekit-booking__suggest{appearance:none;margin:0 4px 4px 0;padding:3px 10px;border:1px solid var(--dkb-accent);border-radius:999px;background:rgba(var(--dkb-accent-rgb),.08);color:var(--dkb-accent-dark);font-size:13px;font-weight:700;font-family:inherit;cursor:pointer}.dinekit-booking__suggest:hover{background:rgba(var(--dkb-accent-rgb),.16)}.dinekit-feedback__stars{display:flex;gap:4px;margin:4px 0 16px}.dinekit-feedback__star{cursor:pointer;font-size:30px;line-height:1;color:var(--dkb-border);transition:color 0.1s ease}.dinekit-feedback__star input{position:absolute;opacity:0;width:0;height:0}.dinekit-feedback__star.is-on{color:#f59e0b}.dinekit-feedback__star:focus-within{outline:2px solid var(--dkb-accent);outline-offset:3px;border-radius:4px}.dinekit-feedback__public{margin-top:18px;padding-top:16px;border-top:1px solid var(--dkb-border)}.dinekit-feedback__public-label{font-size:13px;font-weight:600;color:var(--dkb-muted);margin:0 0 8px}.dinekit-feedback__link{display:inline-block;margin:0 8px 8px 0;padding:8px 14px;border:1px solid var(--dkb-accent);border-radius:calc(var(--dkb-radius) - 6px);color:var(--dkb-accent-dark);background:rgba(var(--dkb-accent-rgb),.06);font-size:14px;font-weight:700;text-decoration:none}.dinekit-feedback__link:hover{background:rgba(var(--dkb-accent-rgb),.14)}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.dinekit-booking__note{margin:4px 0 12px;padding:8px 12px;background:var(--dkb-soft);border-radius:8px;font-size:13px;color:var(--dkb-muted)}.dinekit-booking__submit{appearance:none;border:0;width:100%;padding:13px 20px;margin-top:4px;background:var(--dkb-accent);color:#fff;font-size:16px;font-weight:700;font-family:inherit;border-radius:calc(var(--dkb-radius) - 6px);cursor:pointer;transition:background 0.15s ease}.dinekit-booking__submit:hover{background:var(--dkb-accent-dark)}.dinekit-booking__submit:disabled,.dinekit-booking__submit.is-loading{opacity:.7;cursor:default}.dinekit-booking__consent{font-size:.78em;color:var(--dkb-muted,#6b7280);margin:.25rem 0 .75rem}.dinekit-booking__result{margin:12px 0 0;font-size:14px;font-weight:600;text-align:center}.dinekit-booking__result.is-no{color:var(--dkb-red)}.dinekit-booking__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.dinekit-booking__success{text-align:center;padding:24px 12px}.dinekit-booking__success-title{margin:0 0 6px;font-size:20px;font-weight:800;color:var(--dkb-green)}.dinekit-booking--off p{margin:0;color:var(--dkb-muted)}@media (max-width:520px){.dinekit-booking__grid{grid-template-columns:1fr}}.dinekit-event__when{margin:0 0 12px;font-size:14px;font-weight:700;color:var(--dkb-accent-dark)}.dinekit-event__course{border:1px solid var(--dkb-border);border-radius:12px;padding:12px 14px;margin:0 0 12px}.dinekit-event__course legend{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--dkb-muted);padding:0 6px}.dinekit-event__opt{display:flex;align-items:center;gap:10px;padding:7px 4px;font-size:15px;cursor:pointer}.dinekit-event__opt input{width:18px;height:18px;accent-color:var(--dkb-accent)}.dinekit-event__group{margin:0 0 14px}.dinekit-event__group-label{display:block;font-size:13px;font-weight:600;color:var(--dkb-muted);margin-bottom:8px}.dinekit-event__chips{display:flex;flex-wrap:wrap;gap:8px}.dinekit-event__chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--dkb-border);border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;user-select:none}.dinekit-event__chip input{accent-color:var(--dkb-accent)}.dinekit-event__chip:has(input:checked){border-color:var(--dkb-accent);background:rgba(var(--dkb-accent-rgb),.08);color:var(--dkb-accent-dark)}.dinekit-booking__pay-element{margin:16px 0}.dinekit-booking__pay-error{margin:8px 0 0;color:#b91c1c;font-size:14px}@keyframes dinekit-booking-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.dinekit-booking__success,.dinekit-booking__pay{animation:dinekit-booking-in 0.28s cubic-bezier(.22,1,.36,1) both;outline:none}.dinekit-booking__submit,.dinekit-booking__suggest{transition:transform 0.08s ease,background 0.15s ease,color 0.15s ease,opacity 0.15s ease}.dinekit-booking__submit:not(:disabled):active,.dinekit-booking__suggest:active{transform:scale(.98)}.dinekit-booking__pay-skel{margin:14px 0;display:grid;gap:10px}.dinekit-booking__skel-line{height:42px;border-radius:10px;background:linear-gradient(100deg,var(--dkb-soft) 30%,var(--dkb-border) 50%,var(--dkb-soft) 70%);background-size:200% 100%;animation:dinekit-booking-shimmer 1.2s ease-in-out infinite}.dinekit-booking__skel-line:last-child{width:55%}@keyframes dinekit-booking-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}.dinekit-booking :focus-visible{outline:2px solid var(--dkb-accent);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){.dinekit-booking__success,.dinekit-booking__pay,.dinekit-booking__skel-line{animation:none}.dinekit-booking__submit:not(:disabled):active,.dinekit-booking__suggest:active{transform:none}}