/* ModelBook V6.0.5 — Booking desktop overlap + inner lightbox fix */

/* Booking layout correction */
@media(min-width:901px){
  .booking-section{
    grid-template-columns:minmax(260px,360px) minmax(0,1fr) !important;
    align-items:start !important;
    column-gap:64px !important;
  }

  .booking-copy{
    max-width:360px !important;
    min-width:0 !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
  }

  .booking-copy h2{
    font-size:clamp(42px,4.6vw,72px) !important;
    line-height:.92 !important;
    letter-spacing:-.055em !important;
    max-width:100% !important;
    overflow-wrap:break-word !important;
  }

  .booking-copy p{
    max-width:320px !important;
  }

  .booking-form{
    min-width:0 !important;
    width:100% !important;
  }
}

/* Large screens: keep it elegant */
@media(min-width:1300px){
  .booking-section{
    grid-template-columns:390px minmax(0,1fr) !important;
  }

  .booking-copy{
    max-width:390px !important;
  }
}

/* Lightbox force override: remove old .lightbox conflicts */
.lightbox:not(.mb-lightbox){
  display:none !important;
}

.mb-lightbox{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483000 !important;
  background:rgba(0,0,0,.95) !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  padding:28px !important;
}

.mb-lightbox.open{
  display:flex !important;
}

.mb-lightbox-img{
  display:block !important;
  max-width:96vw !important;
  max-height:92vh !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
}

.mb-lightbox-close{
  position:fixed !important;
  top:22px !important;
  right:22px !important;
  z-index:2147483001 !important;
  width:48px !important;
  height:48px !important;
  border-radius:999px !important;
  border:0 !important;
  background:#fff !important;
  color:#111 !important;
  font-size:30px !important;
  cursor:pointer !important;
}

html.lightbox-open,
body.lightbox-open{
  overflow:hidden !important;
}

/* Portfolio grid desktop: avoid weird huge first image if old CSS wins */
.inner-photo-grid{
  align-items:start !important;
}

.inner-photo-card img{
  max-width:100% !important;
}

@media(max-width:800px){
  .booking-copy h2{
    font-size:clamp(48px,14vw,76px) !important;
  }

  .booking-copy p{
    max-width:none !important;
  }
}
