/* UD Bookings Bridge
 * Inherits the theme's fonts. Colors come from Settings > Bookings Bridge.
 * Theme and page-builder button/input styles are reset inside .udbb so sizes stay consistent on any site.
 */
.udbb{--udbb-accent:#0684C7;--udbb-accent-strong:#0573B3;--udbb-ink:#12305F;--udbb-soft:#EAF4FB;--udbb-radius:10px;
	--udbb-line:#e3e9f1;--udbb-field-bg:#f9fbfe;--udbb-field-line:#dfe7f1;--udbb-field-radius:8px;--udbb-ph:#6b7890;--udbb-text:#2b3445;
	--udbb-label:#12305F;--udbb-req:#0A66FF;--udbb-btn:#0A66FF;--udbb-btn-radius:6px;
	font-family:inherit;font-size:16px;line-height:1.5;color:var(--udbb-text);background:#fff;border:1px solid var(--udbb-line);
	border-radius:16px;padding:clamp(20px,4vw,40px);max-width:960px;margin:0 auto;box-sizing:border-box;text-align:left;box-shadow:0 10px 30px rgba(18,48,95,.06)}
.udbb *,.udbb *::before,.udbb *::after{box-sizing:border-box}
.udbb p{margin:0}

/* ---- Hard reset for every button inside the widget (themes love to restyle buttons) ---- */
.udbb button{font-family:inherit!important;font-size:inherit;font-weight:inherit;line-height:1.2!important;letter-spacing:normal!important;
	text-transform:none!important;text-decoration:none!important;text-shadow:none!important;box-shadow:none!important;
	min-width:0!important;min-height:0!important;width:auto;height:auto;margin:0!important;padding:0;border:0;border-radius:0;
	background:none;color:inherit;cursor:pointer;-webkit-appearance:none;appearance:none;transform:none!important;transition:background-color .15s,color .15s,border-color .15s}
.udbb button:disabled{cursor:default}
.udbb button:focus-visible,.udbb .udbb__input:focus-visible,.udbb input[type=checkbox]:focus-visible{outline:3px solid var(--udbb-accent)!important;outline-offset:2px}

.udbb__title{color:var(--udbb-ink);margin:0 0 14px!important}
.udbb__step{font-weight:600;color:var(--udbb-ink);margin:0 0 10px!important}
.udbb__muted{color:#605e5c}
.udbb__error{background:#fdecec;color:#8a1c1c;border-radius:var(--udbb-radius);padding:10px 14px;margin:0 0 14px!important}

/* ---- Services ---- */
.udbb__services{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.udbb .udbb__service{display:flex!important;flex-direction:column;gap:4px;text-align:left;background:#fff!important;border:1px solid var(--udbb-field-line)!important;
	border-radius:var(--udbb-field-radius)!important;padding:16px!important;color:inherit!important;width:100%}
.udbb .udbb__service:hover{border-color:var(--udbb-accent)!important}
.udbb__service-name{font-weight:700;color:var(--udbb-ink)}
.udbb__service-meta{font-size:.9em;color:var(--udbb-accent-strong)}
.udbb__service-desc{font-size:.9em;color:#605e5c}

/* ---- Summary + staff ---- */
.udbb__summary{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;background:var(--udbb-soft);border-radius:var(--udbb-radius);padding:10px 14px;margin-bottom:16px}
.udbb__summary strong{color:var(--udbb-ink)}
.udbb__staff{display:flex;align-items:center;gap:10px;margin-bottom:16px;max-width:360px}
.udbb__staff .udbb__label{margin:0;white-space:nowrap}

/* ---- Date + time picker ---- */
.udbb__picker{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
@media (max-width:720px){.udbb__picker{grid-template-columns:minmax(0,1fr)}}
.udbb__cal{max-width:360px;width:100%}
.udbb__cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.udbb__cal-title{font-weight:600;color:var(--udbb-ink)}
.udbb .udbb__nav{display:inline-flex!important;align-items:center;justify-content:center;width:34px!important;height:34px!important;padding:0!important;
	border:1px solid var(--udbb-line)!important;border-radius:50%!important;background:#fff!important;color:var(--udbb-ink)!important;font-size:22px!important;line-height:1!important}
.udbb .udbb__nav:hover:not(:disabled){border-color:var(--udbb-accent)!important;color:var(--udbb-accent-strong)!important}
.udbb .udbb__nav:disabled{opacity:.35}
.udbb__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
.udbb__dow{font-size:.75rem;color:#605e5c;padding:4px 0}
.udbb .udbb__day{display:flex!important;align-items:center;justify-content:center;width:100%!important;max-width:40px;aspect-ratio:1/1;height:auto!important;
	margin:0 auto!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;color:#a19f9d!important;font-size:.9rem!important;font-weight:400!important}
.udbb .udbb__day.is-open{background:var(--udbb-soft)!important;color:var(--udbb-ink)!important;font-weight:600!important}
.udbb .udbb__day.is-open:hover{background:var(--udbb-btn)!important;color:#fff!important}
.udbb .udbb__day.is-selected{background:var(--udbb-btn)!important;color:#fff!important}
.udbb__times{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;max-height:360px;overflow:auto;padding:2px}
.udbb .udbb__time{display:block!important;width:100%!important;padding:10px 6px!important;border:1px solid var(--udbb-field-line)!important;border-radius:var(--udbb-field-radius)!important;
	background:var(--udbb-field-bg)!important;color:var(--udbb-label)!important;font-size:.95rem!important;font-weight:600!important;text-align:center}
.udbb .udbb__time:hover{background:var(--udbb-btn)!important;border-color:var(--udbb-btn)!important;color:#fff!important}
.udbb__tz{font-size:.85rem;color:#605e5c;margin-top:14px!important}
.udbb__loading{display:flex;align-items:center;gap:10px;color:#605e5c}
.udbb__spinner{width:18px;height:18px;border:2px solid var(--udbb-soft);border-top-color:var(--udbb-accent);border-radius:50%;animation:udbb-spin .8s linear infinite}
@keyframes udbb-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.udbb__spinner{animation:none}}

/* ---- Form (matches the site's other forms) ---- */
.udbb__section{font-size:1.05rem;font-weight:700;color:var(--udbb-label);margin:26px 0 14px!important}
.udbb__form .udbb__section:first-child{margin-top:4px!important}
.udbb__fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px 14px}
@media (max-width:640px){.udbb__fields{grid-template-columns:minmax(0,1fr)}}
.udbb__field{display:flex;flex-direction:column;gap:10px;margin:0}
.udbb__full{grid-column:1/-1}
.udbb__label{font-size:.95rem;font-weight:600;color:var(--udbb-label)}
.udbb__req{color:var(--udbb-req)}
.udbb .udbb__input{font-family:inherit!important;font-size:1rem!important;line-height:1.4!important;width:100%!important;max-width:none!important;height:auto!important;min-height:52px;
	margin:0!important;padding:12px 14px!important;color:var(--udbb-text)!important;background:var(--udbb-field-bg)!important;border:1px solid var(--udbb-field-line)!important;
	border-radius:var(--udbb-field-radius)!important;box-shadow:none!important;transition:border-color .15s,box-shadow .15s}
.udbb select.udbb__input{padding-right:34px!important}
.udbb textarea.udbb__input{resize:vertical;min-height:140px}
.udbb textarea[name=guests].udbb__input{min-height:90px}
.udbb .udbb__input:focus{border-color:var(--udbb-btn)!important;box-shadow:0 0 0 3px rgba(10,102,255,.12)!important;outline:none!important}
.udbb .udbb__input::placeholder{color:var(--udbb-ph)!important;opacity:1!important}
.udbb .udbb__input::-webkit-input-placeholder{color:var(--udbb-ph)!important;opacity:1!important}
.udbb .udbb__input::-moz-placeholder{color:var(--udbb-ph)!important;opacity:1!important}
.udbb__check{display:flex;align-items:flex-start;gap:8px;font-size:.95rem}
.udbb__check input{margin:3px 0 0!important;width:16px;height:16px;accent-color:var(--udbb-btn)}
.udbb__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.udbb__actions{display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:20px;margin-top:28px}
.udbb .udbb__btn{display:inline-block!important;padding:13px 32px!important;border:0!important;border-radius:var(--udbb-btn-radius)!important;
	background:var(--udbb-btn)!important;color:#fff!important;font-size:1rem!important;font-weight:700!important;text-align:center}
.udbb .udbb__btn:hover:not(:disabled),.udbb .udbb__btn:focus{filter:brightness(.92);color:#fff!important}
.udbb .udbb__btn:disabled{opacity:.6;cursor:wait}
.udbb .udbb__link{padding:0!important;border:0!important;background:none!important;color:var(--udbb-btn)!important;font-size:.95rem!important;
	text-decoration:underline!important;text-underline-offset:3px}
.udbb__captcha:empty{display:none}

/* ---- Done + fallback ---- */
.udbb__done{text-align:center;padding:16px 0;outline:none}
.udbb__done p{margin:0 0 10px!important}
.udbb__check-icon{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--udbb-accent);color:#fff;font-size:28px;margin-bottom:10px}
.udbb__done-title{font-weight:700;color:var(--udbb-ink)}
.udbb__fallback{text-align:center;padding:12px 0}
.udbb__fallback p{margin:0 0 14px!important}
.udbb a.udbb__fallback-btn{display:inline-block;padding:12px 24px;border-radius:var(--udbb-radius);background:var(--udbb-btn);color:#fff!important;
	font-weight:700;text-decoration:none!important;border-radius:var(--udbb-btn-radius)}
.udbb a.udbb__fallback-btn:hover,.udbb a.udbb__fallback-btn:focus{filter:brightness(.92);color:#fff!important}
.udbb__admin-note{background:#fff8e5;border-left:4px solid #dba617;padding:8px 12px;font-size:.9em;margin-bottom:12px!important}
.grecaptcha-badge{z-index:20}
