body.lsp-bm-private-activity .activity-booking-form .lsp-bm-private-box{border:1px solid #d9e1eb;background:#fff;border-radius:14px;padding:18px;margin:18px 0;color:#1d2530}
.lsp-bm-private-box h3{font-size:18px;line-height:1.4;margin:0 0 8px}
.lsp-bm-private-box h4{font-size:15px;margin:20px 0 10px}
.lsp-bm-private-box .lsp-bm-note{color:#637487;font-size:13px;line-height:1.55}
.lsp-bm-private-box label{display:block;font-size:14px;font-weight:600;margin:12px 0 5px}
.lsp-bm-private-box input,.lsp-bm-private-box textarea,.lsp-bm-private-box select{display:block;width:100%;max-width:100%;box-sizing:border-box;border:1px solid #d1dbe6;border-radius:8px;padding:10px;margin-top:7px;background:#fff;color:#203046}
.lsp-bm-private-box .lsp-bm-option{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:500}
.lsp-bm-private-box .lsp-bm-option select{width:72px;margin:0;flex-shrink:0}
.lsp-bm-private-box .lsp-bm-option small{color:#607087}
.lsp-bm-breakdown{padding-top:12px;border-top:1px solid #edf0f2;margin-top:18px;font-size:14px}
.lsp-bm-breakdown>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 0}
.lsp-bm-breakdown .lsp-bm-total{border-top:1px solid #d8dfe7;margin-top:12px;padding-top:14px;font-size:17px;font-weight:700}
.lsp-bm-hide-book-now{display:none!important}
.lsp-bm-private-box .lsp-bm-quote-send{border:0;border-radius:8px;background:#356af5;color:white;font-weight:700;padding:13px 18px;cursor:pointer;width:100%}
.lsp-bm-private-box .lsp-bm-quote-send:disabled{opacity:.6;cursor:wait}
.lsp-bm-status{margin:10px 0;font-size:13px}
.lsp-bm-hp{position:absolute!important;left:-9999px!important;opacity:0!important;height:0!important;overflow:hidden!important}
/* Only the meaningless zero native price header is hidden; Traveler's dates, guest control and submit remain. */
body.lsp-bm-private-activity .form-head:has(+ form.activity-booking-form){display:none!important}
body.lsp-bm-private-quote .activity-booking-form .form-more-extra:not(.st-form-starttime){display:none!important}
/* Package-based private activities: Traveler's date and booking CTA remain; native people/zero price do not. */
body.lsp-bm-private-activity .activity-booking-form .lsp-bm-native-guests-hidden{display:none!important}
body.lsp-bm-private-direct .st-form-head-book:has(.st-price-origin),
body.lsp-bm-private-direct .form-booking-price:has(.st-form-head-book),
body.lsp-bm-private-direct .activity-booking-form .total-price-book{display:none!important}
body.lsp-bm-private-direct .lsp-bm-private-box .lsp-bm-package,
body.lsp-bm-private-direct .lsp-bm-private-box .lsp-bm-additional{font-weight:600}
body.lsp-bm-private-activity .activity-booking-form .guest_name_input{display:none!important}

/* v0.3.30: cleaner, responsive private-party booking panel. Only activities with LSP enabled. */
body.lsp-bm-private-activity .activity-booking-form .lsp-bm-private-box {
  --lsp-border:#dfe6f0;
  --lsp-muted:#66758b;
  --lsp-accent:#336bf4;
  border:1px solid var(--lsp-border);
  background:#fff;
  border-radius:18px;
  padding:24px;
  margin:20px 0;
  box-shadow:0 5px 24px rgba(21,42,78,.055);
  color:#1d2939;
  overflow:hidden;
}
body.lsp-bm-private-activity .lsp-bm-private-box h3 {
  font-size:21px;
  font-weight:700;
  letter-spacing:-.35px;
  line-height:1.3;
  margin:0 0 22px;
}
body.lsp-bm-private-activity .lsp-bm-private-box h4 {
  margin:24px 0 12px;
  padding-top:21px;
  border-top:1px solid #edf1f7;
  font-size:16px;
  font-weight:700;
}
body.lsp-bm-private-activity .lsp-bm-private-box label {
  margin:16px 0 8px;
  font-size:13px;
  font-weight:650;
  color:#283548;
}
body.lsp-bm-private-activity .lsp-bm-private-box select,
body.lsp-bm-private-activity .lsp-bm-private-box input:not([type="checkbox"]),
body.lsp-bm-private-activity .lsp-bm-private-box textarea {
  min-height:45px;
  border:1px solid #d4dfeb;
  border-radius:10px;
  color:#17243a;
  padding:10px 13px;
  background-color:#fff;
  box-shadow:none;
  font-size:14px;
  line-height:1.4;
  transition:border-color .16s ease,box-shadow .16s ease;
}
body.lsp-bm-private-activity .lsp-bm-private-box select:focus,
body.lsp-bm-private-activity .lsp-bm-private-box input:focus,
body.lsp-bm-private-activity .lsp-bm-private-box textarea:focus {
  border-color:var(--lsp-accent);
  box-shadow:0 0 0 3px rgba(51,107,244,.11);
  outline:0;
}
body.lsp-bm-private-activity .lsp-bm-private-box .lsp-bm-option {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0;
  padding:9px 0;
  font-weight:550;
}
body.lsp-bm-private-activity .lsp-bm-private-box .lsp-bm-option span {min-width:0;overflow-wrap:anywhere}
body.lsp-bm-private-activity .lsp-bm-private-box .lsp-bm-option small {display:block;margin-top:3px;font-size:12px;font-weight:400;color:var(--lsp-muted)}
body.lsp-bm-private-activity .lsp-bm-private-box .lsp-bm-option select {width:76px;min-width:76px;min-height:42px;margin:0;text-align:center}
body.lsp-bm-private-activity .lsp-bm-breakdown {
  margin-top:22px;
  padding:17px 17px 0;
  border:1px solid #e4eaf3;
  border-radius:12px;
  background:#f8fafd;
  font-size:13px;
}
body.lsp-bm-private-activity .lsp-bm-breakdown .lsp-bm-breakdown-title {
  display:block;
  margin:0 0 11px;
  padding:0;
  color:#25344a;
  font-size:15px;
  font-weight:750;
}
body.lsp-bm-private-activity .lsp-bm-breakdown > div:not(.lsp-bm-breakdown-title) {
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  padding:7px 0;
}
body.lsp-bm-private-activity .lsp-bm-breakdown > div[hidden] {display:none!important}
body.lsp-bm-private-activity .lsp-bm-breakdown strong {white-space:nowrap;font-size:13px;color:#26354b}
body.lsp-bm-private-activity .lsp-bm-breakdown .lsp-bm-total {
  margin:14px -17px 0;
  padding:15px 17px!important;
  border-top:1px solid #dde6f1;
  background:#eef4ff;
  color:#1c315a;
  font-size:16px;
  font-weight:750;
}
body.lsp-bm-private-activity .lsp-bm-breakdown .lsp-bm-total strong {font-size:21px;color:#1f55ca;font-variant-numeric:tabular-nums}
@media (max-width:600px) {
  body.lsp-bm-private-activity .activity-booking-form .lsp-bm-private-box {padding:17px 15px;border-radius:14px}
  body.lsp-bm-private-activity .lsp-bm-private-box h3 {font-size:19px}
  body.lsp-bm-private-activity .lsp-bm-breakdown {padding:13px 12px 0}
  body.lsp-bm-private-activity .lsp-bm-breakdown .lsp-bm-total {margin:13px -12px 0;padding:14px 12px!important}
  body.lsp-bm-private-activity .lsp-bm-breakdown .lsp-bm-total strong {font-size:18px}
}

/* v0.3.33: grouped food/catering extras + per-activity WhatsApp. */
body.lsp-bm-private-activity .lsp-bm-private-box h4.lsp-bm-extra-section {
  color:#1f3555;
  font-size:15px;
  border-top:1px solid #e6ecf4;
  padding-top:19px;
  margin-top:19px;
}
body.lsp-bm-private-activity .lsp-bm-private-box .lsp-bm-activity-whatsapp {
  width:100%;min-height:46px;border:0;border-radius:10px;background:#168755;
  color:#fff;font-size:15px;font-weight:700;padding:12px 16px;margin-top:14px;
  cursor:pointer;display:flex;align-items:center;justify-content:center;gap:9px;
}
body.lsp-bm-private-activity .lsp-bm-private-box .lsp-bm-activity-whatsapp:hover {background:#116b44;color:#fff}
body.lsp-bm-private-activity .lsp-bm-private-box .lsp-bm-wa-error {color:#ae2929;font-size:13px;margin:8px 0 0}
body.lsp-bm-private-activity .lsp-bm-private-box .lsp-bm-wa-error:empty {display:none}
body.lsp-bm-private-activity .lsp-bm-private-box .lsp-bm-wa-note {color:#66758b;font-size:12px;line-height:1.5;margin:8px 0 0;text-align:center}

/* v0.3.33.2 — Activity private booking: informative mobile sticky bar. */
@media (max-width: 767px) {
  body.lsp-bm-private-direct .hotel-target-book-mobile .price-wrapper {
    display:none!important; /* Traveler displays the irrelevant base price (from 0). */
  }
  body.lsp-bm-private-direct .hotel-target-book-mobile .lsp-bm-mobile-booking-label {
    display:flex;align-items:center;gap:9px;min-width:0;
    font-size:13px;font-weight:700;line-height:1.3;color:#263b65;
    white-space:nowrap;
  }
  body.lsp-bm-private-direct .hotel-target-book-mobile .lsp-bm-mobile-booking-label svg {
    flex-shrink:0;color:#376cff;
  }
  body.lsp-bm-private-direct .hotel-target-book-mobile a.lsp-bm-mobile-book-now {
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    min-height:48px;padding:11px 17px;line-height:1.15;
    font-size:15px;font-weight:700;border-radius:11px;
    white-space:nowrap;
  }
  body.lsp-bm-private-direct .hotel-target-book-mobile a.lsp-bm-mobile-book-now svg {
    flex-shrink:0;
  }
}
@media (max-width: 360px) {
  body.lsp-bm-private-direct .hotel-target-book-mobile .lsp-bm-mobile-booking-label {font-size:12px;gap:5px}
  body.lsp-bm-private-direct .hotel-target-book-mobile a.lsp-bm-mobile-book-now {padding:10px 12px}
}

/* v0.3.34 — Whatsapp follows the native Book Now button. */
body.lsp-bm-private-direct .activity-booking-form .lsp-bm-whatsapp-after-book {
  display:block;width:100%;margin:11px 0 0;
}
body.lsp-bm-private-direct .activity-booking-form .lsp-bm-whatsapp-after-book .lsp-bm-activity-whatsapp {
  margin:0;width:100%;min-height:48px;
}
body.lsp-bm-private-direct .activity-booking-form .lsp-bm-whatsapp-after-book .lsp-bm-wa-note {
  margin:8px 0 0;
}

/* Retain the WhatsApp visual treatment after moving it out of the extra fields box. */
body.lsp-bm-private-direct .activity-booking-form .lsp-bm-whatsapp-after-book .lsp-bm-activity-whatsapp {
  display:flex;align-items:center;justify-content:center;gap:9px;
  background:#168755;color:#fff;border:0;border-radius:10px;
  font-size:15px;font-weight:700;padding:12px 16px;cursor:pointer;
}
body.lsp-bm-private-direct .activity-booking-form .lsp-bm-whatsapp-after-book .lsp-bm-activity-whatsapp:hover,
body.lsp-bm-private-direct .activity-booking-form .lsp-bm-whatsapp-after-book .lsp-bm-activity-whatsapp:focus {
  background:#116b44;color:#fff;
}
body.lsp-bm-private-direct .activity-booking-form .lsp-bm-whatsapp-after-book .lsp-bm-wa-note {
  color:#66758b;font-size:12px;line-height:1.5;text-align:center;
}
body.lsp-bm-private-direct .activity-booking-form .lsp-bm-whatsapp-after-book .lsp-bm-wa-error {
  color:#ae2929;font-size:13px;margin:8px 0;
}
body.lsp-bm-private-direct .activity-booking-form .lsp-bm-whatsapp-after-book .lsp-bm-wa-error:empty {display:none}
