/* PATCH 53: OpenSeaMap + accurate SY HERA location + desktop hero fill
   - Uses fixed marina coordinates: 45.786880, 13.534210
   - Keeps Termine & Preise above the location block
   - Replaces empty/grey Monfalcone media slot with useful map content via DB/PHP from Patch 50/51
*/

:root{
  --onb-homebase-lat:45.786880;
  --onb-homebase-lng:13.534210;
}

/* Detail hero: image must use the complete right-side area on desktop */
@media (min-width: 921px){
  .onb-detail-page .onb-product-hero{
    display:grid !important;
    grid-template-columns:minmax(320px,.86fr) minmax(440px,1.22fr) !important;
    align-items:stretch !important;
    min-height:430px !important;
    overflow:hidden !important;
  }
  .onb-detail-page .onb-product-copy{
    min-width:0 !important;
    z-index:2;
  }
  .onb-detail-page .onb-product-image{
    align-self:stretch !important;
    min-height:430px !important;
    height:100% !important;
    position:relative !important;
    overflow:hidden !important;
    border-radius:0 24px 24px 0 !important;
  }
  .onb-detail-page .onb-product-image img{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:cover !important;
    object-position:center center !important;
    display:block !important;
  }
}

/* Location block: compact, useful, not a conversion blocker */
.onb-location-detail-card{
  margin:22px 0 26px !important;
  padding:18px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.04fr) minmax(300px,.96fr) !important;
  gap:18px !important;
  align-items:stretch !important;
  border-radius:22px !important;
  background:#fff !important;
  border:1px solid rgba(15,35,70,.10) !important;
  box-shadow:0 14px 38px rgba(12,35,66,.08) !important;
}
.onb-location-detail-card .onb-location-copy{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  min-width:0 !important;
}
.onb-location-detail-card h2{
  margin:.15rem 0 .45rem !important;
  font-size:clamp(1.45rem,2.1vw,2.05rem) !important;
  letter-spacing:-.035em !important;
  line-height:1.05 !important;
}
.onb-location-detail-card p{
  margin:.15rem 0 .55rem !important;
  color:#435a72 !important;
  line-height:1.48 !important;
}
.onb-location-detail-card address,
.onb-exp47 .onb-monfalcone-address{
  margin:10px 0 0 !important;
  padding:12px 14px !important;
  display:grid !important;
  gap:3px !important;
  font-style:normal !important;
  line-height:1.38 !important;
  border:1px solid rgba(15,35,70,.10) !important;
  border-radius:16px !important;
  background:#f7f9fc !important;
  color:#22384f !important;
}
.onb-location-detail-card address strong,
.onb-exp47 .onb-monfalcone-address strong{
  color:#071b3a !important;
  font-weight:900 !important;
}
.onb-location-detail-card address span,
.onb-exp47 .onb-monfalcone-address span{
  display:block !important;
}
.onb-location-map,
.onb-exp47 .onb-map-card{
  min-height:235px !important;
  position:relative !important;
  overflow:hidden !important;
  border-radius:20px !important;
  background:#dbe6f0 !important;
  border:1px solid rgba(15,35,70,.10) !important;
}
.onb-location-map iframe,
.onb-exp47 .onb-map-card iframe{
  width:100% !important;
  height:100% !important;
  min-height:235px !important;
  border:0 !important;
  display:block !important;
  filter:saturate(.95) contrast(.96) !important;
}
.onb-location-map-link,
.onb-exp47 .onb-map-card a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  align-self:flex-start !important;
  margin-top:10px !important;
  background:#0b2a57 !important;
  color:#fff !important;
  text-decoration:none !important;
  border-radius:999px !important;
  padding:9px 14px !important;
  font-weight:900 !important;
  box-shadow:0 10px 24px rgba(0,0,0,.16) !important;
}
.onb-exp47 .onb-map-card a{
  position:absolute !important;
  right:14px !important;
  bottom:14px !important;
  margin-top:0 !important;
}

/* Erlebnisliste: Monfalcone block should be a real map + address block, no empty grey box */
.onb-exp47 .onb-region35.onb-content-block{
  align-items:stretch !important;
  grid-template-columns:minmax(0,1fr) minmax(320px,.92fr) !important;
}
.onb-exp47 .onb-region35.onb-content-block .onb-feature35-copy,
.onb-exp47 .onb-region35.onb-content-block .onb-map-card{
  min-height:100% !important;
}
.onb-exp47 .onb-region35-tags{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:9px !important;
}
.onb-exp47 .onb-region35-tags span{
  display:inline-flex !important;
  white-space:nowrap !important;
}

@media(max-width:920px){
  .onb-location-detail-card,
  .onb-exp47 .onb-region35.onb-content-block{
    grid-template-columns:1fr !important;
  }
}
@media(max-width:620px){
  .onb-detail-page .onb-product-hero{
    min-height:0 !important;
  }
  .onb-detail-page .onb-product-image{
    min-height:245px !important;
  }
  .onb-detail-page .onb-product-image img{
    position:relative !important;
    min-height:245px !important;
  }
  .onb-location-map,
  .onb-location-map iframe,
  .onb-exp47 .onb-map-card,
  .onb-exp47 .onb-map-card iframe{
    min-height:205px !important;
  }
}
