/* Lakeside app additions on top of the ported lakeside.css (kept separate so the original stays untouched). */

/* Static hero (the original used an Owl carousel; we show one image, same dimensions) */
.hero-static img {
  width: 100%;
  height: 700px;
  margin-top: 95px;
  display: block;
  object-fit: cover;
}
@media (max-width: 992px) {
  .hero-static img { margin-top: 0; height: 420px; }
}

/* Sub-pages have no hero: the desktop navbar is position:absolute, so push content below it */
@media (min-width: 992px) {
  .page-top { padding-top: 110px; }
}

/* Unit cards */
.unit-card { height: 100%; }
.unit-card .unit-price { font-family: "Poppins", Arial, Helvetica, sans-serif; font-weight: 800; font-size: 1.75rem; color: var(--bs-primary); }
.unit-card .unit-meta { color: #555; }
.unit-card ul.unit-insurance { list-style: none; padding-left: 0; margin: 0 0 1rem 0; font-size: 0.9rem; color: #555; }

/* Booking form (reserve / move-in) */
.booking-form { max-width: 1100px; }
.booking-form fieldset { min-inline-size: 0; }
.booking-form fieldset#step2:disabled { opacity: 0.55; }
.booking-form fieldset#step2:disabled .btn { pointer-events: none; }
.booking-form .quote-table td { padding: 0.15rem 0; border: 0; }
.booking-form .quote-total { border-top: 1px solid #dee2e6; padding-top: 0.5rem; }
.booking-form #quoteBox.quote-error { color: var(--bs-danger); }
.booking-form .hp-field { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.test-mode-badge { font-size: 0.85rem; letter-spacing: 0.02em; background-color: #6c757d !important; color: #fff; }   /* grey, regardless of the theme's "secondary" */

/* Confirmation page */
.confirm-card { max-width: 800px; }
.confirm-card dl dt { font-weight: 600; color: #555; }
.confirm-card .agreement-frame { width: 100%; height: 480px; border: 1px solid #dee2e6; background: #fff; }   /* sandboxed srcdoc iframe */
