/* Booking form styling (mobile-first) */
.lgt-booking-wrap{ padding:16px; }
.lgt-booking-card{ max-width:760px; margin:0 auto; background: rgba(255,255,255,.90); border-radius: 16px; padding: 16px; box-shadow: 0 10px 30px rgba(11,27,42,.12); border: 1px solid rgba(11,27,42,.08); }
.lgt-booking-card h2{ margin:0 0 6px; }
.lgt-muted{ opacity:.9; margin:0 0 14px; }
.lgt-booking-card label{ display:block; font-weight:900; margin:14px 0 6px; font-size:15px; }
.lgt-booking-card input, .lgt-booking-card select{ width:100%; box-sizing:border-box; font-size:16px; padding:12px; border-radius:14px; border:1px solid rgba(11,27,42,.16); background:#fff; }
.lgt-grid{ display:grid; grid-template-columns: 1fr; gap:12px; }
@media(min-width:820px){ .lgt-grid{ grid-template-columns:1fr 1fr; } }
.lgt-pricebox{ margin-top:14px; padding:14px; border-radius:14px; background: rgba(245,231,197,.65); border:1px solid rgba(11,27,42,.10); }
.lgt-pricebox div{ margin:4px 0; font-size:15px; }
.lgt-pricebox small{ display:block; margin-top:8px; opacity:.9; }
.lgt-btn-primary{ width:100%; margin-top:14px; font-size:18px; font-weight:1000; padding:16px; border-radius:16px; border:none; cursor:pointer; }
.lgt-small{ margin:12px 0 0; font-size:13px; opacity:.9; text-align:center; }
.lgt-small a{ font-weight:900; }
.lgt-msg{ margin-top:12px; padding:12px; border-radius:12px; }
.lgt-msg.is-error{ background:#ffe3e3; border:1px solid #ffb3b3; }
.lgt-msg.is-ok{ background:#e6ffea; border:1px solid #a7efb3; }
.lgt-hint{ font-size:12px; opacity:.8; margin-top:6px; }

.lgt-badge{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:0.5px;background:rgba(255,200,0,0.25);border:1px solid rgba(255,200,0,0.45);}

.lgt-coupon-msg{margin-top:8px;font-size:14px;line-height:1.2;opacity:0.95;}
