.bkwz-booking{--bkwz-accent:#2563eb;--bkwz-text:#1f2937;--bkwz-muted:#4b5563;--bkwz-border:#d1d5db;--bkwz-bg:#fff;--bkwz-soft:#f3f4f6;box-sizing:border-box;max-width:760px;margin:1.5em auto;color:var(--bkwz-text);font-size:1rem;line-height:1.5}
.bkwz-booking *,.bkwz-booking *::before,.bkwz-booking *::after{box-sizing:border-box}
.bkwz-booking .bkwz-app{background:var(--bkwz-bg);border:1px solid var(--bkwz-border);border-radius:12px;padding:20px}
.bkwz-booking .bkwz-heading{margin:0 0 .5em;font-size:1.35rem;line-height:1.3;outline:none}
.bkwz-booking .bkwz-heading:focus-visible,.bkwz-booking .bkwz-slots-wrap:focus-visible,.bkwz-booking .bkwz-cal-wrap:focus-visible{outline:2px solid var(--bkwz-accent);outline-offset:3px}
.bkwz-booking .bkwz-subheading{margin:.25em 0 .5em;font-size:1.05rem}
.bkwz-booking .bkwz-meta,.bkwz-booking .bkwz-hint{color:var(--bkwz-muted);margin:.25em 0 1em}
.bkwz-booking .bkwz-steps{display:flex;flex-wrap:wrap;gap:8px 16px;list-style:none;margin:0 0 18px;padding:0;font-size:.875rem;color:var(--bkwz-muted)}
.bkwz-booking .bkwz-step{display:flex;align-items:center;gap:6px;margin:0}
.bkwz-booking .bkwz-step-n{display:inline-flex;width:22px;height:22px;border-radius:50%;border:1px solid var(--bkwz-border);align-items:center;justify-content:center;font-size:.75rem}
.bkwz-booking .bkwz-step.is-current{color:var(--bkwz-text);font-weight:600}
.bkwz-booking .bkwz-step.is-current .bkwz-step-n{background:var(--bkwz-accent);border-color:var(--bkwz-accent);color:#fff}
.bkwz-booking .bkwz-step.is-done .bkwz-step-n{background:var(--bkwz-soft)}
.bkwz-booking .bkwz-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.bkwz-booking .bkwz-list li{margin:0}
.bkwz-booking .bkwz-card{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;background:var(--bkwz-bg);color:inherit;border:1px solid var(--bkwz-border);border-left:6px solid var(--bkwz-accent);border-radius:8px;padding:12px 14px;font:inherit;cursor:pointer}
.bkwz-booking .bkwz-card:hover{background:var(--bkwz-soft)}
.bkwz-booking .bkwz-card:focus-visible,.bkwz-booking .bkwz-btn:focus-visible,.bkwz-booking .bkwz-slot:focus-visible,.bkwz-booking .bkwz-day:focus-visible,.bkwz-booking input:focus-visible,.bkwz-booking select:focus-visible,.bkwz-booking textarea:focus-visible{outline:2px solid var(--bkwz-accent);outline-offset:2px}
.bkwz-booking .bkwz-card-title{font-weight:600}
.bkwz-booking .bkwz-card-meta,.bkwz-booking .bkwz-card-desc{color:var(--bkwz-muted);font-size:.9rem}
.bkwz-booking .bkwz-tz{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px;font-size:.9rem}
.bkwz-booking .bkwz-select,.bkwz-booking .bkwz-form input[type=text],.bkwz-booking .bkwz-form input[type=email],.bkwz-booking .bkwz-form input[type=tel],.bkwz-booking .bkwz-form textarea{border:1px solid var(--bkwz-border);border-radius:6px;padding:8px 10px;font:inherit;background:#fff;color:var(--bkwz-text);max-width:100%}
.bkwz-booking .bkwz-timegrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.bkwz-booking .bkwz-cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.bkwz-booking .bkwz-cal{width:100%;border-collapse:collapse;table-layout:fixed;margin:0;border:0}
.bkwz-booking .bkwz-cal th{font-size:.75rem;font-weight:600;color:var(--bkwz-muted);padding:4px 0;text-align:center;border:0;background:none}
.bkwz-booking .bkwz-cal td{padding:2px;text-align:center;border:0}
.bkwz-booking .bkwz-day{width:100%;aspect-ratio:1/1;min-height:40px;border:1px solid transparent;border-radius:50%;background:none;color:#6b7280;font:inherit;cursor:default;padding:0}
.bkwz-booking .bkwz-day.is-available{background:#e8f0fe;color:#1e3a8a;font-weight:600;cursor:pointer}
.bkwz-booking .bkwz-day.is-available:hover{border-color:var(--bkwz-accent)}
.bkwz-booking .bkwz-day.is-selected{background:var(--bkwz-accent);color:#fff}
.bkwz-booking .bkwz-day.is-today{text-decoration:underline}
.bkwz-booking .bkwz-day:disabled{opacity:.55}
.bkwz-booking .bkwz-slots{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;max-height:360px;overflow:auto}
.bkwz-booking .bkwz-slots li{margin:0}
.bkwz-booking .bkwz-slot{width:100%;min-height:44px;border:1px solid var(--bkwz-accent);border-radius:6px;background:#fff;color:var(--bkwz-accent);font:inherit;font-weight:600;cursor:pointer}
.bkwz-booking .bkwz-slot:hover{background:var(--bkwz-accent);color:#fff}
.bkwz-booking .bkwz-btn{min-height:44px;padding:8px 16px;border:1px solid var(--bkwz-border);border-radius:6px;background:#fff;color:var(--bkwz-text);font:inherit;cursor:pointer}
.bkwz-booking .bkwz-btn:disabled{opacity:.5;cursor:not-allowed}
.bkwz-booking .bkwz-icon-btn{min-width:44px;padding:4px 10px;font-size:1.25rem;line-height:1}
.bkwz-booking .bkwz-btn-primary{background:var(--bkwz-accent);border-color:var(--bkwz-accent);color:#fff;font-weight:600}
.bkwz-booking .bkwz-btn-link{border-color:transparent;background:none;text-decoration:underline;padding-left:0}
.bkwz-booking .bkwz-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-top:18px}
.bkwz-booking .bkwz-field{margin:0 0 14px}
.bkwz-booking .bkwz-field label{display:block;font-weight:600;margin-bottom:4px}
.bkwz-booking .bkwz-field input[type=text],.bkwz-booking .bkwz-field input[type=email],.bkwz-booking .bkwz-field input[type=tel],.bkwz-booking .bkwz-field textarea{width:100%}
.bkwz-booking .bkwz-field input[aria-invalid=true]{border-color:#b91c1c}
.bkwz-booking .bkwz-check{display:flex;gap:8px;align-items:flex-start}
.bkwz-booking .bkwz-check label{font-weight:400;margin:0}
.bkwz-booking .bkwz-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.bkwz-booking .bkwz-error:not(:empty){background:#fef2f2;border:1px solid #b91c1c;color:#7f1d1d;border-radius:6px;padding:10px 12px;margin:0 0 14px}
.bkwz-booking .bkwz-summary{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;margin:0 0 16px;padding:12px 14px;background:var(--bkwz-soft);border-radius:8px}
.bkwz-booking .bkwz-summary dt{font-weight:600;margin:0}
.bkwz-booking .bkwz-summary dd{margin:0;overflow-wrap:anywhere}
@media (max-width:600px){
	.bkwz-booking .bkwz-app{padding:14px;border-radius:8px}
	.bkwz-booking .bkwz-timegrid{grid-template-columns:minmax(0,1fr)}
	.bkwz-booking .bkwz-steps .bkwz-step-l{display:none}
	.bkwz-booking .bkwz-steps .bkwz-step.is-current .bkwz-step-l{display:inline}
	.bkwz-booking .bkwz-actions .bkwz-btn-primary{width:100%}
	.bkwz-booking .bkwz-summary{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.bkwz-booking *{transition:none!important;animation:none!important}}
