.lubel-booking{display:grid;gap:1.5rem}
.lubel-booking-panel{padding:clamp(1rem,4vw,2rem);border:1px solid #d8e9f7;border-radius:18px;background:#f4f8fc;scroll-margin-top:1.5rem}
.lubel-booking-panel h2{color:#072b67;margin:0 0 .6rem;line-height:1.15}
.lubel-booking-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1rem}
.lubel-booking-fields label{display:grid;gap:.25rem;font-weight:650}
.lubel-booking [hidden]{display:none!important}
.lubel-booking input,.lubel-booking select{width:100%;min-width:0;border:1px solid #849cb3;border-radius:8px;background:#fff;color:#142d4b;padding:.65rem;font:inherit;font-weight:400}
.lubel-booking-result{background:#e5f4ff;color:#072b67;padding:.75rem 1rem;border-radius:8px;font-weight:650}
.lubel-booking-note{font-size:.9rem}
.lubel-booking button{background:#a5004d;color:#fff;border:0;border-radius:999px;padding:.65rem 1.25rem;font:inherit;font-weight:700;cursor:pointer}
.lubel-booking :focus-visible{outline:2px solid #072b67;outline-offset:3px}
@media(max-width:640px){.lubel-booking-fields{grid-template-columns:minmax(0,1fr)}}

.lubel-booking-dates{border:1px solid #c5d9ea;border-radius:10px;margin:1.25rem 0;padding:1rem;min-width:0}
.lubel-booking-dates legend{color:#072b67;font-weight:750;padding:0 .4rem}
.lubel-booking-dates [data-date-panel]{margin-top:.8rem;align-items:end}
.lubel-booking-dates [data-add-day]{justify-self:start;background:#072b67}
.lubel-whatsapp{position:fixed;z-index:999;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));min-height:44px;display:inline-flex;align-items:center;padding:.5rem 1rem;border-radius:999px;background:#10613d;color:#fff!important;font:700 .92rem/1.2 system-ui,sans-serif;text-decoration:none!important;box-shadow:0 4px 18px #102c3d33}
.lubel-whatsapp:hover,.lubel-whatsapp:focus-visible{background:#08462b;outline:2px solid #fff;outline-offset:2px}
