.ce-v123-active-original-card,
.ce-v123-original-card {
  border-radius: 30px !important;
  padding: 1.4rem !important;
  background: rgba(229, 255, 246, .92) !important;
  color: #073f34 !important;
  box-shadow: 0 14px 36px rgba(0, 48, 38, .08) !important;
}
.ce-v123-top-copy h3 {
  margin: 0 0 .55rem;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1.12rem;
  line-height: 1.25;
  font-weight: 800;
}
.ce-v123-top-copy p,
.ce-v123-fx {
  margin: .35rem 0;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: .96rem;
  line-height: 1.35;
  font-weight: 650;
  color: #0b4b3f;
}
.ce-v123-price {
  margin: 1rem 0 .85rem;
  border-radius: 22px;
  padding: 1rem;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(7,63,52,.08);
}
.ce-v123-price h4 {
  margin: 0 0 .75rem;
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  font-size: 1.25rem;
  line-height: 1.1;
  font-weight: 700;
  color: #073f34;
}
.ce-v123-row {
  display: grid;
  grid-template-columns: minmax(130px,.8fr) minmax(0,1.4fr);
  gap: .75rem;
  padding: .42rem 0;
  border-bottom: 1px solid rgba(7,63,52,.09);
}
.ce-v123-row span {
  font-family: Inter, system-ui, sans-serif;
  font-size: .82rem;
  font-weight: 650;
  color: #536b64;
}
.ce-v123-row strong {
  text-align: right;
  font-family: Inter, system-ui, sans-serif;
  font-size: .86rem;
  font-weight: 800;
  color: #073f34;
}
.ce-v123-row em {
  font-style: normal;
  font-size: .76rem;
  color: #60746e;
  white-space: nowrap;
}
.ce-v123-total {
  border-bottom: 0;
  border-top: 1.5px solid rgba(7,63,52,.18);
  margin-top: .35rem;
  padding-top: .75rem;
}
.ce-v123-total span,
.ce-v123-total strong {
  font-size: .98rem;
  color: #003d31;
}
.ce-v123-reserve {
  width: 100%;
  margin-top: 1rem;
  border: 0;
  border-radius: 18px;
  padding: .9rem 1.1rem;
  background: #2563eb;
  color: #fff;
  font-family: Inter, system-ui, sans-serif;
  font-size: .95rem;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 12px 24px rgba(37,99,235,.22);
}
.ce-v123-guests {
  margin: 1rem 0;
  border-radius: 22px;
  padding: 1rem;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 8px 24px rgba(0,0,0,.07);
  color: #143f34;
}
.ce-v123-guests-title { display:grid; gap:.2rem; margin-bottom:.75rem; }
.ce-v123-guests-title strong { font-size:1.05rem; }
.ce-v123-guests-title span, .ce-v123-small { color:#5b6e67; font-size:.88rem; }
.ce-v123-guest-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.ce-v123-guest-grid label, .ce-v123-full { display:grid; gap:.35rem; font-size:.88rem; }
.ce-v123-guest-grid input, .ce-v123-full textarea {
  width:100%; border:1px solid rgba(0,0,0,.16); border-radius:14px;
  padding:.72rem .85rem; background:#fff; font:inherit; color:#143f34;
}
.ce-v123-check { display:flex; gap:.5rem; align-items:flex-start; margin:.75rem 0; font-size:.86rem; }
.ce-v123-note {
  margin-top:.75rem; border-radius:14px; padding:.8rem .9rem;
  background:rgba(0,128,96,.09); color:#225447; font-size:.86rem;
}
.ce-v123-errors {
  margin-top:.75rem; border-radius:14px; padding:.8rem .9rem;
  background:rgba(185,40,20,.09); color:#8a1f11; font-size:.86rem;
}
.ce-v123-modal {
  position:fixed; inset:0; z-index:99999; background:rgba(0,0,0,.52);
  display:none; align-items:center; justify-content:center; padding:1rem;
}
.ce-v123-modal.is-open { display:flex; }
.ce-v123-modal-card {
  position:relative; width:min(760px,100%); max-height:90vh; overflow:auto;
  border-radius:28px; padding:1.35rem; background:#fffaf3; color:#143f34;
  box-shadow:0 24px 80px rgba(0,0,0,.32);
}
.ce-v123-close {
  position:absolute; top:.75rem; right:.9rem; width:2rem; height:2rem;
  border:0; background:rgba(0,0,0,.06); border-radius:999px; font-size:1.35rem; cursor:pointer;
}
@media(max-width:720px){
  .ce-v123-guest-grid { grid-template-columns:1fr; }
  .ce-v123-row { grid-template-columns:1fr; gap:.12rem; }
  .ce-v123-row strong { text-align:left; }
  .ce-v123-row em { white-space:normal; }
}
/* V102 mobile cosmetic cleanup */
[data-ce-v123-removed-hero-booking-strip="true"] {
  display: none !important;
}

/* Reservation controls updated to echo the elegant beige hero booking bar. */
.ce-v123-guests {
  background: #ead9c8 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0.75rem 0 1.1rem !important;
  padding: 1rem !important;
  color: #1f2f28 !important;
}
.ce-v123-guests-title {
  display: flex !important;
  justify-content: space-between;
  align-items: baseline;
  gap: .75rem;
  border-bottom: 1px solid rgba(31,47,40,.18);
  padding-bottom: .65rem;
  margin-bottom: .85rem !important;
}
.ce-v123-guests-title strong {
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  font-size: 1.05rem !important;
  letter-spacing: .11em;
  text-transform: uppercase;
  font-weight: 700 !important;
}
.ce-v123-guests-title span {
  font-size: .74rem !important;
  color: rgba(31,47,40,.68) !important;
  text-align: right;
}
.ce-v123-guest-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 !important;
  border-bottom: 1px solid rgba(31,47,40,.16);
}
.ce-v123-guest-grid label {
  padding: .55rem .8rem !important;
  border-right: 1px solid rgba(31,47,40,.16);
}
.ce-v123-guest-grid label:last-child { border-right: 0; }
.ce-v123-guest-grid label span {
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  text-transform: uppercase;
  letter-spacing: .09em;
  font-size: .78rem !important;
  font-weight: 700;
  color: #28382f;
}
.ce-v123-guest-grid input {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: .45rem 0 .2rem !important;
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  font-size: 1.45rem !important;
  color: #1f2f28 !important;
  box-shadow: none !important;
}
.ce-v123-check { margin: .85rem 0 .2rem !important; font-size: .82rem !important; }
.ce-v123-note {
  margin-top: .75rem !important;
  background: rgba(255,255,255,.36) !important;
  border-radius: 14px !important;
  font-size: .8rem !important;
}
.ce-v123-active-original-card,
.ce-v123-original-card { border-radius: 26px !important; padding: 1.05rem !important; }
.ce-v123-price { background: rgba(255,255,255,.68) !important; }
@media(max-width:720px){
  .ce-v123-guests { margin-left: -1rem !important; margin-right: -1rem !important; }
  .ce-v123-guests-title { align-items: flex-start; }
  .ce-v123-guests-title span { max-width: 55%; }
  .ce-v123-guest-grid input { font-size: 1.35rem !important; }
}
/* V102 definitive mobile hero booking-strip removal */
[data-ce-v123-removed-hero-booking-strip="true"] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

/* Extra mobile fallback for common builder-generated hero booking bars.
   Kept intentionally narrow: only compact blocks with both checkout and guests are removed by JS. */
@media (max-width: 820px) {
  [data-ce-v123-removed-hero-booking-strip="true"] {
    display: none !important;
  }
}

/* Accessibility helper for SEO/accessibility headings without visual layout changes */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.ce-v123-discount span,.ce-v123-discount strong{color:#0f7a5d!important}
.ce-v123-warning{margin:.55rem 0!important;padding:.55rem .7rem;border-radius:12px;background:rgba(255,190,80,.18);color:#765100!important;font-size:.82rem!important}
[data-ce-v123-removed-generated-summary="true"],[data-ce-v123-removed-hero-booking-strip="true"]{display:none!important;visibility:hidden!important;height:0!important;min-height:0!important;max-height:0!important;overflow:hidden!important;padding:0!important;margin:0!important;border:0!important}

.ce-v123-payment-box{margin-top:.85rem;padding:.8rem;border-radius:16px;background:rgba(15,122,93,.08);border:1px solid rgba(15,122,93,.18)}.ce-v123-paynow span,.ce-v123-paynow strong{color:#064c3b!important;font-weight:800!important}.ce-v123-reserve[disabled]{opacity:.7;cursor:wait}

/* V107 PriceLabs accuracy + min 2 nights */
.ce-v123-price-source-note{font-size:.78rem;color:#60746e;margin:.35rem 0}

/* V108 taxable subtotal */
.ce-v123-taxable {
  border-top: 1.5px solid rgba(7,63,52,.18);
  margin-top: .35rem;
  padding-top: .65rem;
}
.ce-v123-taxable span,
.ce-v123-taxable strong {
  color: #123f35 !important;
  font-weight: 800 !important;
}
.ce-v123-row em {
  font-style: normal;
  opacity: .75;
  font-size: .76rem;
}

/* V114: one active price card only */
.ce-v123-single-price-card .ce-v123-price { margin-top: 1.4rem; }
.ce-v123-single-price-card .ce-v123-fx {
  margin-top: 1.2rem;
  font-size: clamp(1rem, 2vw, 1.35rem);
  color: #063f35;
  font-weight: 800;
}
.ce-v123-single-price-card .ce-v123-reserve { margin-top: 1.4rem; }

/* V119: deterministic single booking result root */
#ceActiveBookingResultV123.ce-v123-single-price-card {
  overflow: visible;
}
#ceActiveBookingResultV123 .ce-v123-price {
  margin-top: 1.4rem;
}
#ceActiveBookingResultV123 .ce-v123-fx {
  margin-top: 1.2rem;
  font-size: clamp(1rem, 2vw, 1.35rem);
  color: #063f35;
  font-weight: 800;
}
#ceActiveBookingResultV123 .ce-v123-reserve {
  margin-top: 1.4rem;
}
#ceActiveBookingResultV123 #ceV119ReserveNow + #ceV119ReserveNow {
  display: none !important;
}



/* V121 safe single price slot: scoped, non-destructive */
#ceActiveBookingResultV123 {
  display: block;
  overflow: visible;
}
#ceActiveBookingResultV123 .ce-v123-price { margin-top: 1.4rem; }
#ceActiveBookingResultV123 .ce-v123-fx {
  margin-top: 1.2rem;
  font-size: clamp(1rem, 2vw, 1.35rem);
  color: #063f35;
  font-weight: 800;
}
#ceActiveBookingResultV123 .ce-v123-reserve { margin-top: 1.4rem; }

/* V122: unified Ecos Sul-style single price slot */
#ceActiveBookingResultV123 {
  display: block;
  overflow: visible;
  margin-top: 1.25rem;
}
#ceActiveBookingResultV123 .ce-v123-price { margin-top: 1.4rem; }
#ceActiveBookingResultV123 .ce-v123-fx {
  margin-top: 1.2rem;
  font-size: clamp(1rem, 2vw, 1.35rem);
  color: #063f35;
  font-weight: 800;
}
#ceActiveBookingResultV123 .ce-v123-reserve { margin-top: 1.4rem; }

/* V123: only unified price slot should show a price table */
#ceActiveBookingResultV123 {
  display: block;
  overflow: visible;
  margin-top: 1.25rem;
}
#ceActiveBookingResultV123 .ce-v123-price { margin-top: 1.4rem; }
#ceActiveBookingResultV123 .ce-v123-fx {
  margin-top: 1.2rem;
  font-size: clamp(1rem, 2vw, 1.35rem);
  color: #063f35;
  font-weight: 800;
}
#ceActiveBookingResultV123 .ce-v123-reserve { margin-top: 1.4rem; }
