/* Compact hotel cards with edge-to-edge media. */

/* Remove the contain/blur composition introduced in V29.49. Hotel photos now
   fill their frame edge-to-edge, while each card type keeps a shorter,
   deliberate height. */
body.theme-1 .orvana-home-hotel-media::before,
body.theme-1 .orvana-destination-image::before,
body.theme-1 .orvana-popular-image::before,
body.theme-1 .orvana-related-image::before,
body.theme-1 .orvana-gallery-lightbox::before,
body.theme-1 .orvana-property-photo-pair > a::before,
body.theme-1 .orvana-property-side-photo::before {
  display: none !important;
  content: none !important;
}

body.theme-1 .orvana-home-hotel-media,
body.theme-1 .orvana-home-hotel-media > a,
body.theme-1 .orvana-destination-image,
body.theme-1 .orvana-popular-image,
body.theme-1 .orvana-related-image,
body.theme-1 .orvana-gallery-lightbox,
body.theme-1 .orvana-property-photo-pair > a,
body.theme-1 .orvana-property-side-photo {
  background: var(--orvana-media-fallback,#f7eff3) !important;
  overflow: hidden !important;
}

body.theme-1 .orvana-home-hotel-media img,
body.theme-1 .orvana-destination-image img,
body.theme-1 .orvana-popular-image img,
body.theme-1 .orvana-related-image img,
body.theme-1 .orvana-gallery-lightbox img,
body.theme-1 .orvana-property-photo-pair img,
body.theme-1 .orvana-property-side-photo img {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  background: transparent !important;
  transform: none !important;
}

body.theme-1 .orvana-home-hotel-card:hover .orvana-home-hotel-media img,
body.theme-1 .orvana-destination-card:hover .orvana-destination-image img,
body.theme-1 .orvana-popular-card:hover .orvana-popular-image img,
body.theme-1 .orvana-related-card:hover .orvana-related-image img,
body.theme-1 .orvana-property-photo-pair > a:hover img {
  transform: scale(1.025) !important;
}

/* Compact desktop proportions. */
body.theme-1 .orvana-home-hotel-media {
  height: 305px !important;
}
body.theme-1 .orvana-destination-image {
  height: 385px !important;
}
body.theme-1 .orvana-destination-card {
  min-height: 0 !important;
}
body.theme-1 .orvana-popular-card {
  height: 455px !important;
}
body.theme-1 .orvana-related-image {
  height: 280px !important;
}
body.theme-1 .orvana-related-card {
  min-height: 0 !important;
}
body.theme-1 .orvana-property-photo-pair > a {
  height: 245px !important;
}
body.theme-1 .orvana-property-side-photo {
  height: 285px !important;
}

/* Prevent overlay blocks from creating artificial dark empty bands. */
body.theme-1 .orvana-popular-overlay {
  background: linear-gradient(180deg, rgba(19,8,13,.04) 25%, rgba(19,8,13,.36) 62%, rgba(19,8,13,.92) 100%) !important;
}
body.theme-1 .orvana-home-hotel-media::after {
  inset: 48% 0 0 !important;
  background: linear-gradient(transparent, rgba(19,8,13,.86)) !important;
}

@media (max-width: 1199px) {
  body.theme-1 .orvana-home-hotel-media { height: 285px !important; }
  body.theme-1 .orvana-destination-image { height: 350px !important; }
  body.theme-1 .orvana-popular-card { height: 425px !important; }
  body.theme-1 .orvana-related-image { height: 250px !important; }
}

@media (max-width: 767px) {
  body.theme-1 .orvana-home-hotel-media { height: 235px !important; }
  body.theme-1 .orvana-destination-image { height: 275px !important; }
  body.theme-1 .orvana-popular-card { height: 365px !important; }
  body.theme-1 .orvana-related-image { height: 210px !important; }
  body.theme-1 .orvana-property-photo-pair > a { height: 205px !important; }
  body.theme-1 .orvana-property-side-photo { height: 235px !important; }
}

@media (max-width: 380px) {
  body.theme-1 .orvana-home-hotel-media { height: 220px !important; }
  body.theme-1 .orvana-destination-image { height: 255px !important; }
  body.theme-1 .orvana-popular-card { height: 350px !important; }
}

/* Related stays: same visual hierarchy as the hotel's other listings, with
   room for a real source rating (no invented average). */
body.theme-1 .orvana-related-properties-section>.container {
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding-inline:0!important;
  overflow:visible!important;
}
body.theme-1 .orvana-related-hotels-swiper {
  padding-top:10px!important;
  padding-inline:8px!important;
}
body.theme-1 .orvana-related-card {
  display:flex!important;
  flex-direction:column!important;
  background:var(--orvana-related-surface,#fff)!important;
  border:0!important;
  border-radius:25px!important;
  overflow:hidden!important;
  min-height:100%!important;
  box-shadow:0 14px 32px rgba(34,17,28,.11)!important;
  transition:transform .24s ease,box-shadow .24s ease!important;
}
body.theme-1 .orvana-related-card:hover {
  transform:translateY(-3px)!important;
  box-shadow:0 19px 39px rgba(34,17,28,.16)!important;
}
body.theme-1 .orvana-related-image {height:265px!important;flex:none!important;border-radius:0!important}
body.theme-1 .orvana-related-image span {pointer-events:none!important}
body.theme-1 .orvana-related-copy {
  background:transparent!important;
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  gap:8px!important;
  min-height:168px!important;
  padding:18px 20px 20px!important;
}
body.theme-1 .orvana-related-copy .orvana-related-location {
  margin:0!important;
  font-size:13px!important;
  line-height:1.65!important;
  color:var(--orvana-related-muted,#806c79)!important;
  font-weight:750!important;
}
body.theme-1 .orvana-related-location i {color:var(--secondary,#ef1268)!important;margin-inline-end:5px!important}
body.theme-1 .orvana-related-copy h3 {
  margin:0!important;
  font-size:clamp(20px,1.7vw,25px)!important;
  line-height:1.45!important;
  font-weight:850!important;
}
body.theme-1 .orvana-related-footer {
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px 14px!important;
  margin-top:auto!important;
  padding-top:10px!important;
}
body.theme-1 .orvana-related-rating {
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  width:max-content!important;
  min-height:33px!important;
  padding:5px 10px!important;
  border:0!important;
  border-radius:12px!important;
  background:var(--orvana-related-rating-bg,#fff3df)!important;
  color:var(--orvana-related-rating-color,#7f5b13)!important;
  line-height:1!important;
  direction:ltr!important;
}
body.theme-1 .orvana-related-rating i {font-size:13px!important;color:#d6a733!important}
body.theme-1 .orvana-related-rating strong {font-size:16px!important;line-height:1!important;color:inherit!important}
body.theme-1 .orvana-related-rating small {font-size:11px!important;font-weight:700!important;color:inherit!important}
body.theme-1 .orvana-related-footer .orvana-related-link {
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
  font-size:14px!important;
  line-height:1.45!important;
  border-bottom:0!important;
  padding:4px 0!important;
  white-space:nowrap!important;
}
@media(max-width:767px){
  body.theme-1 .orvana-related-image{height:215px!important}
  body.theme-1 .orvana-related-copy{padding:16px!important;min-height:160px!important}
  body.theme-1 .orvana-related-footer{gap:8px!important}
}
html.orvana-public-dark body.theme-1 {
  --orvana-related-surface:var(--orvana-surface);
  --orvana-related-muted:var(--orvana-muted);
  --orvana-related-rating-bg:rgba(241,198,101,.115);
  --orvana-related-rating-color:var(--orvana-gold);
}
