.blbm-booking-widget{container-type:inline-size;max-width:1050px;width:100%;box-sizing:border-box;margin:24px auto;background:#f7f2ea;color:#252525;border:1px solid #e7dfd2;box-shadow:0 12px 40px rgba(35,29,20,.08);font-family:inherit;overflow:hidden}.blbm-booking-head{padding:42px 7%;display:flex;justify-content:space-between;gap:30px;align-items:flex-end;background:#b0b0b0;color:#fff}.blbm-eyebrow,.blbm-kicker{font-size:11px;letter-spacing:.18em;font-weight:700;display:block;opacity:.9}.blbm-booking-head h2{font-family:Georgia,serif;font-size:46px;line-height:1.05;margin:8px 0 10px;color:#fff}.blbm-booking-head p{margin:0;max-width:650px;line-height:1.7;color:#fff}.blbm-stepper{display:flex;align-items:center;gap:9px;white-space:nowrap}.blbm-stepper span{width:32px;height:32px;border:1px solid rgba(255,255,255,.7);border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700}.blbm-stepper span.is-active,.blbm-stepper span.is-done{background:#fff;color:#555}.blbm-stepper i{width:28px;height:1px;background:rgba(255,255,255,.55);display:block}.blbm-step{padding:38px 7% 46px}.blbm-section-title{display:flex;gap:16px;align-items:flex-start;margin-bottom:25px}.blbm-section-title>span{font-size:12px;font-weight:800;letter-spacing:.12em;padding-top:5px;color:#777}.blbm-section-title h3{font-family:Georgia,serif;font-size:29px;margin:0 0 4px}.blbm-section-title p{margin:0;color:#777}.blbm-search-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;min-width:0}.blbm-search-grid>*{min-width:0}.blbm-field{display:block;font-size:13px;font-weight:700}.blbm-field>span{display:block;margin-bottom:7px}.blbm-field em{font-style:normal}.blbm-field input,.blbm-field select,.blbm-field textarea{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;border:1px solid #d6cfc4;background:#fff;padding:13px 14px;border-radius:2px;color:#222;font:inherit;font-weight:400;outline:none}.blbm-field input:focus,.blbm-field select:focus,.blbm-field textarea:focus{border-color:#999;box-shadow:0 0 0 2px rgba(100,100,100,.08)}.blbm-field-wide{grid-column:span 2}.blbm-counter>div{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;min-width:0}.blbm-counter button{min-width:0}.blbm-counter button{border:1px solid #d6cfc4;background:#fff;font-size:20px;cursor:pointer;color:#555}.blbm-counter input{text-align:center;border-left:0;border-right:0;border-radius:0}.blbm-help{margin-top:22px;padding:15px 17px;background:#eee7dd;color:#655f57;font-size:13px;line-height:1.6}.blbm-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;border:0;border-radius:2px;cursor:pointer;text-decoration:none;font-weight:700;font-size:13px;letter-spacing:.02em;transition:.18s ease}.blbm-button:disabled{opacity:.55;cursor:not-allowed}.blbm-primary{background:#666;color:#fff}.blbm-primary:hover:not(:disabled){background:#444}.blbm-secondary{background:transparent;color:#555;border:1px solid #cfc6ba}.blbm-secondary:hover{background:#fff}.blbm-step>.blbm-button{margin-top:24px}.blbm-results{margin-top:22px}.blbm-loading,.blbm-alert{margin-top:20px;padding:16px 18px;background:#fff;border:1px solid #ded7cd;line-height:1.55}.blbm-error{border-left:4px solid #9a4a4a}.blbm-spinner{width:16px;height:16px;border:2px solid #ccc;border-top-color:#666;border-radius:50%;display:inline-block;vertical-align:-3px;margin-right:8px;animation:blbmspin .7s linear infinite}@keyframes blbmspin{to{transform:rotate(360deg)}}.blbm-availability-ok{margin-top:22px;padding:18px 20px;background:#fff;border:1px solid #d8d0c5;display:grid;grid-template-columns:1fr auto auto;gap:20px;align-items:center}.blbm-availability-ok>div:first-child{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.blbm-availability-ok small{display:block;color:#777;font-weight:400;width:100%;margin-left:20px}.blbm-status-dot{width:9px;height:9px;border-radius:50%;background:#6c8a68}.blbm-result-total{text-align:right}.blbm-result-total small{display:block;color:#777}.blbm-money{white-space:nowrap}.blbm-result-total .blbm-money{font-family:Georgia,serif;font-size:25px}.blbm-quote-card{background:#fff;border:1px solid #d8d0c5}.blbm-quote-top{padding:25px;display:flex;justify-content:space-between;gap:20px}.blbm-quote-top h4{font-family:Georgia,serif;font-size:27px;margin:7px 0}.blbm-quote-top p{margin:0;color:#777}.blbm-quote-total{text-align:right;font-family:Georgia,serif;font-size:28px}.blbm-quote-total small{display:block;font-family:inherit;font-size:12px;color:#777;margin-top:4px}.blbm-trip-meta{border-top:1px solid #eee7dd;border-bottom:1px solid #eee7dd;padding:14px 25px;display:flex;gap:28px;flex-wrap:wrap;color:#666;font-size:13px}.blbm-rate-breakdown{padding:20px 25px}.blbm-breakdown-head{display:flex;justify-content:space-between;padding-bottom:9px;margin-bottom:4px;border-bottom:1px solid #eee7dd}.blbm-breakdown-head span{color:#777;font-size:13px}.blbm-rate-row{display:flex;justify-content:space-between;padding:9px 0;font-size:13px}.blbm-rate-row small{display:block;color:#888;font-size:11px;font-weight:400;margin-top:2px}.blbm-price-note{background:#f6f2ec;padding:15px 25px;color:#777;font-size:12px;line-height:1.6}.blbm-step-actions{display:flex;justify-content:space-between;gap:14px;margin-top:25px}.blbm-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-bottom:15px;min-width:0}.blbm-form-grid>*{min-width:0}.blbm-check{display:flex;gap:10px;align-items:flex-start;margin-top:18px;color:#666;font-size:13px;line-height:1.55}.blbm-check input{margin-top:3px}.blbm-final-summary{margin-top:20px;padding:17px 20px;background:#eee7dd}.blbm-final-summary>div{display:flex;justify-content:space-between;gap:15px;align-items:center}.blbm-final-summary strong{font-family:Georgia,serif;font-size:21px}.blbm-final-summary small{display:block;color:#777;margin-top:5px}.blbm-confirmation{margin:0 7% 45px;padding:40px;background:#fff;border:1px solid #ddd4c8;text-align:center}.blbm-confirm-icon{width:58px;height:58px;margin:0 auto 18px;border-radius:50%;background:#6d8068;color:#fff;display:grid;place-items:center;font-size:30px}.blbm-confirmation h3{font-family:Georgia,serif;font-size:31px;margin:8px 0}.blbm-confirmation>p{color:#666}.blbm-confirm-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:28px 0;text-align:left}.blbm-confirm-grid div{padding:15px;background:#f6f2ec}.blbm-confirm-grid small,.blbm-confirm-grid strong{display:block}.blbm-confirm-grid small{color:#777;margin-bottom:5px}.blbm-confirm-grid strong{font-size:14px}.blbm-confirm-note{font-size:13px;line-height:1.6}.blbm-rooms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.blbm-room-card{padding:18px;border:1px solid #ddd;border-radius:8px}.blbm-room-card img{width:100%;height:auto}.blbm-room-card .blbm-button{display:block;text-align:center}
/* Responsive behaviour is container-aware so the booking form stays usable even when
   the WordPress theme places it inside a narrow column, tablet canvas, popup or iframe. */
@container (max-width: 900px){
  .blbm-booking-head{display:block}
  .blbm-stepper{margin-top:25px}
  .blbm-search-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .blbm-field-wide{grid-column:span 2}
  .blbm-availability-ok{grid-template-columns:1fr}
  .blbm-result-total{text-align:left}
  .blbm-confirm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container (max-width: 600px){
  .blbm-booking-head{padding:30px 6%}
  .blbm-booking-head h2{font-size:36px}
  .blbm-booking-head p{font-size:15px}
  .blbm-step{padding:30px 6% 38px}
  .blbm-section-title{gap:11px}
  .blbm-section-title h3{font-size:27px}
  .blbm-search-grid,.blbm-form-grid{grid-template-columns:minmax(0,1fr)}
  .blbm-field-wide{grid-column:auto}
  .blbm-quote-top{display:block}
  .blbm-quote-total{text-align:left;margin-top:18px}
  .blbm-step-actions{flex-direction:column}
  .blbm-step-actions .blbm-button{width:100%}
  .blbm-confirmation{margin:0 6% 35px;padding:28px 20px}
  .blbm-confirm-grid{grid-template-columns:minmax(0,1fr)}
  .blbm-trip-meta{gap:12px 20px}
  .blbm-help{font-size:12px}
}
@container (max-width: 430px){
  .blbm-booking-head{padding:26px 5%}
  .blbm-booking-head h2{font-size:32px}
  .blbm-booking-head p{line-height:1.55}
  .blbm-step{padding:26px 5% 32px}
  .blbm-section-title>span{font-size:10px}
  .blbm-section-title h3{font-size:24px}
  .blbm-section-title p{font-size:14px}
  .blbm-stepper{gap:6px}
  .blbm-stepper span{width:30px;height:30px}
  .blbm-stepper i{flex:1;min-width:18px}
  .blbm-counter>div{grid-template-columns:44px minmax(0,1fr) 44px}
  .blbm-button{width:100%;min-height:48px}
}
/* Viewport fallback for older browsers without container-query support. */
@media(max-width:900px){
  .blbm-search-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .blbm-field-wide{grid-column:span 2}
  .blbm-booking-head{display:block}
  .blbm-stepper{margin-top:25px}
}
@media(max-width:600px){
  .blbm-booking-head{padding:30px 6%}
  .blbm-booking-head h2{font-size:36px}
  .blbm-step{padding:30px 6% 38px}
  .blbm-search-grid,.blbm-form-grid{grid-template-columns:minmax(0,1fr)}
  .blbm-field-wide{grid-column:auto}
  .blbm-quote-top{display:block}
  .blbm-quote-total{text-align:left;margin-top:18px}
  .blbm-step-actions{flex-direction:column}
  .blbm-step-actions .blbm-button{width:100%}
  .blbm-confirmation{margin:0 6% 35px;padding:28px 20px}
  .blbm-confirm-grid{grid-template-columns:minmax(0,1fr)}
}
