/* WeblabsUI — booking widget. Neutral, takes the theme's font and colours;
   adjust with --wui-bk-accent, --wui-bk-radius, --wui-bk-line, --wui-bk-bg. */
.wui-bk {
	--a: var(--wui-bk-accent, var(--wp--preset--color--primary, #1f2937)); --r: var(--wui-bk-radius, 12px);
	--l: var(--wui-bk-line, rgba(0, 0, 0, .12)); --bg: var(--wui-bk-bg, transparent); --mut: var(--wui-bk-muted, rgba(0, 0, 0, .55));
	font-family: var(--wui-bk-font, inherit); color: inherit; background: var(--bg);
}
.wui-bk *, .wui-bk *::before { box-sizing: border-box; }
.wui-bk [hidden] { display: none !important; }
.wui-bk__form { display: grid; gap: 22px; }
.wui-bk__step { margin: 0; padding: 0; border: 0; min-width: 0; display: grid; gap: 12px; transition: opacity .2s; }
.wui-bk__step[disabled] { opacity: .4; }
.wui-bk__h { display: flex; align-items: center; gap: 10px; margin: 0 0 4px; padding: 0; font-size: 1.05em; font-weight: 700; }
.wui-bk__h span { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--a); color: #fff; font-size: .8em; }
.wui-bk__h.is-sm { font-size: .95em; margin-top: 6px; }
.wui-bk__dates { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 8px; }
.wui-bk__date { position: relative; display: grid; gap: 2px; padding: 12px 14px; border: 1.5px solid var(--l); border-radius: var(--r); cursor: pointer; transition: border-color .15s, background .15s; }
.wui-bk__date input { position: absolute; opacity: 0; pointer-events: none; }
.wui-bk__date:hover { border-color: var(--a); }
.wui-bk__date:has(input:checked) { border-color: var(--a); box-shadow: inset 0 0 0 1px var(--a); }
.wui-bk__date:has(input:focus-visible) { outline: 2px solid var(--a); outline-offset: 2px; }
.wui-bk__date.is-full { opacity: .65; }
.wui-bk__date:has(input:disabled) { cursor: not-allowed; }
.wui-bk__date-day { font-weight: 700; }
.wui-bk__date-time, .wui-bk__date-note { font-size: .9em; color: var(--mut); }
.wui-bk__date-free { font-size: .8em; font-weight: 600; color: var(--a); }
.wui-bk__date.is-full .wui-bk__date-free { color: var(--mut); }
.wui-bk__more { justify-self: start; padding: 6px 0; border: 0; background: none; color: var(--a); font: inherit; font-weight: 600; cursor: pointer; }
.wui-bk__tickets { display: grid; gap: 6px; }
.wui-bk__ticket { display: flex; align-items: center; gap: 12px; padding: 10px 14px; border: 1px solid var(--l); border-radius: var(--r); }
.wui-bk__ticket-label { flex: 1; font-weight: 600; }
.wui-bk__ticket-label small { font-weight: 400; color: var(--mut); }
.wui-bk__ticket-price { color: var(--mut); white-space: nowrap; }
.wui-bk__qty { display: inline-flex; align-items: center; border: 1px solid var(--l); border-radius: 999px; overflow: hidden; }
.wui-bk__qty button { width: 34px; height: 34px; border: 0; background: transparent; font-size: 1.1em; cursor: pointer; color: inherit; }
.wui-bk__qty button:hover { background: rgba(0, 0, 0, .05); }
.wui-bk__qty input { width: 42px; height: 34px; border: 0; text-align: center; font: inherit; background: transparent; -moz-appearance: textfield; }
.wui-bk__qty input::-webkit-inner-spin-button { -webkit-appearance: none; }
.wui-bk__total { margin: 4px 0 0; text-align: right; }
.wui-bk__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px 12px; }
.wui-bk__f { grid-column: span 6; display: grid; gap: 4px; }
.wui-bk__f.is-half { grid-column: span 3; }
.wui-bk__f.is-third { grid-column: span 2; }
.wui-bk__f label { font-size: .85em; font-weight: 600; }
.wui-bk__f input, .wui-bk__f select, .wui-bk__f textarea { width: 100%; min-height: 42px; padding: 8px 12px; border: 1px solid var(--l); border-radius: calc(var(--r) * .75); font: inherit; background: #fff; color: inherit; }
.wui-bk__f textarea { min-height: 0; }
.wui-bk__f.is-check label { display: flex; gap: 8px; font-weight: 400; font-size: .95em; }
.wui-bk .is-invalid { border-color: #b91c1c !important; box-shadow: 0 0 0 2px rgba(185, 28, 28, .15); }
.wui-bk__part { padding: 12px 14px; border: 1px dashed var(--l); border-radius: var(--r); }
.wui-bk__notice { padding: 12px 14px; border-radius: var(--r); background: rgba(0, 0, 0, .04); font-size: .9em; }
.wui-bk__notice > :first-child { margin-top: 0; } .wui-bk__notice > :last-child { margin-bottom: 0; }
.wui-bk__consent { display: flex; gap: 10px; align-items: flex-start; font-size: .9em; line-height: 1.45; }
.wui-bk__consent input { margin-top: .2em; flex: none; }
.wui-bk__pay { display: grid; gap: 6px; }
.wui-bk__radio { display: flex; gap: 8px; align-items: center; }
.wui-bk__btn { justify-self: start; min-height: 46px; padding: 0 26px; border: 0; border-radius: 999px; background: var(--a); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.wui-bk__btn:disabled { opacity: .45; cursor: not-allowed; }
.wui-bk__msg { margin: 0; padding: 10px 14px; border-radius: var(--r); }
.wui-bk__msg.is-bad { background: rgba(185, 28, 28, .08); color: #b91c1c; }
.wui-bk__done { display: flex; gap: 14px; align-items: center; padding: 18px 20px; border-radius: var(--r); background: rgba(21, 128, 61, .08); }
.wui-bk__done strong { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: 50%; background: #15803d; color: #fff; }
.wui-bk__done p { margin: 0; }
.wui-bk__empty, .wui-bk__loading, .wui-bk--paused p { color: var(--mut); }
@media (max-width: 600px) { .wui-bk__f.is-half, .wui-bk__f.is-third { grid-column: span 6; } }
