/* YOSUTRAVELS_CARD_IMAGE_FLOW_REPAIR_V305
   Corrects v302 card overreach with old-Safari-safe selectors.
   Visual only: no booking, checkout, payment, PDF, pricing, Tavura logic, partner logic, add-ons, or KPI changes. */

:root {
  --yosu-v305-ink: #10211d;
  --yosu-v305-muted: #5f6d66;
  --yosu-v305-line: rgba(16, 33, 29, 0.12);
  --yosu-v305-card: rgba(255, 255, 255, 0.96);
  --yosu-v305-green: #10211d;
  --yosu-v305-lime: #91a800;
  --yosu-v305-shadow: 0 18px 44px rgba(16, 33, 29, 0.08);
}

/* Homepage: only the image should behave like the visual card. Text/price/rating/CTA stay below and visible. */
body:not(.admin-layout):not(.admin-body) .home-product-section .home-scroll-item,
body:not(.admin-layout):not(.admin-body) .home-product-section .listing-editorial-card,
body:not(.admin-layout):not(.admin-body) .home-product-section .hotel-card,
body:not(.admin-layout):not(.admin-body) .home-product-section .tour-card,
body:not(.admin-layout):not(.admin-body) .home-product-section .transport-card,
body:not(.admin-layout):not(.admin-body) .home-product-section .product-card,
body:not(.admin-layout):not(.admin-body) .home-product-section .listing-card {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--yosu-v305-ink) !important;
  display: block !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
  text-decoration: none !important;
  transform: none !important;
}

body:not(.admin-layout):not(.admin-body) .home-product-section .card-body,
body:not(.admin-layout):not(.admin-body) .home-product-section .listing-content,
body:not(.admin-layout):not(.admin-body) .home-product-section .product-card-body {
  background: transparent !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow: visible !important;
  padding: 0.85rem 0 0 !important;
}

body:not(.admin-layout):not(.admin-body) .home-product-section .home-scroll-item img,
body:not(.admin-layout):not(.admin-body) .home-product-section .listing-editorial-card img,
body:not(.admin-layout):not(.admin-body) .home-product-section .hotel-card img,
body:not(.admin-layout):not(.admin-body) .home-product-section .tour-card img,
body:not(.admin-layout):not(.admin-body) .home-product-section .transport-card img,
body:not(.admin-layout):not(.admin-body) .home-product-section .product-card img,
body:not(.admin-layout):not(.admin-body) .home-product-section .listing-card img,
body:not(.admin-layout):not(.admin-body) .home-product-section .yosu-image-tile {
  aspect-ratio: auto !important;
  background: #eef2df !important;
  border-radius: 22px !important;
  box-shadow: var(--yosu-v305-shadow) !important;
  display: block !important;
  height: 196px !important;
  max-height: none !important;
  min-height: 196px !important;
  object-fit: cover !important;
  overflow: hidden !important;
  width: 100% !important;
}

body:not(.admin-layout):not(.admin-body) .home-product-section h2,
body:not(.admin-layout):not(.admin-body) .home-product-section h3,
body:not(.admin-layout):not(.admin-body) .home-product-section h4,
body:not(.admin-layout):not(.admin-body) .home-product-section h5,
body:not(.admin-layout):not(.admin-body) .home-product-section h6,
body:not(.admin-layout):not(.admin-body) .home-product-section .card-title,
body:not(.admin-layout):not(.admin-body) .home-product-section .listing-title,
body:not(.admin-layout):not(.admin-body) .home-product-section .product-title {
  color: var(--yosu-v305-ink) !important;
  display: block !important;
  font-size: 1.05rem !important;
  font-weight: 650 !important;
  height: auto !important;
  line-height: 1.25 !important;
  margin: 0.25rem 0 0.35rem !important;
  max-height: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

body:not(.admin-layout):not(.admin-body) .home-product-section p,
body:not(.admin-layout):not(.admin-body) .home-product-section .card-text,
body:not(.admin-layout):not(.admin-body) .home-product-section .description,
body:not(.admin-layout):not(.admin-body) .home-product-section .product-description {
  color: var(--yosu-v305-muted) !important;
  display: block !important;
  font-size: 0.94rem !important;
  height: auto !important;
  line-height: 1.42 !important;
  max-height: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

body:not(.admin-layout):not(.admin-body) .home-product-section .offer-card-location,
body:not(.admin-layout):not(.admin-body) .home-product-section .listing-meta,
body:not(.admin-layout):not(.admin-body) .home-product-section .rating,
body:not(.admin-layout):not(.admin-body) .home-product-section .stars,
body:not(.admin-layout):not(.admin-body) .home-product-section .price,
body:not(.admin-layout):not(.admin-body) .home-product-section .product-price {
  color: var(--yosu-v305-ink) !important;
  display: flex !important;
  flex-wrap: wrap !important;
  font-size: 0.92rem !important;
  gap: 0.35rem !important;
  height: auto !important;
  line-height: 1.35 !important;
  margin: 0.25rem 0 !important;
  max-height: none !important;
  opacity: 1 !important;
  overflow: visible !important;
  visibility: visible !important;
  white-space: normal !important;
}

body:not(.admin-layout):not(.admin-body) .home-product-section .travel-card-cta,
body:not(.admin-layout):not(.admin-body) .home-product-section .product-cta,
body:not(.admin-layout):not(.admin-body) .home-product-section .btn,
body:not(.admin-layout):not(.admin-body) .home-product-section a[href] {
  color: var(--yosu-v305-lime) !important;
  max-width: 100% !important;
  opacity: 1 !important;
  overflow: visible !important;
  text-decoration: none !important;
  visibility: visible !important;
  white-space: normal !important;
}

body:not(.admin-layout):not(.admin-body) .home-product-section .travel-card-cta,
body:not(.admin-layout):not(.admin-body) .home-product-section .product-cta {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  display: inline-flex !important;
  min-height: 0 !important;
  padding: 0 !important;
}

/* Listing pages: restore readable image height without changing product data or booking links. */
body:not(.admin-layout):not(.admin-body) .listing-editorial-card img,
body:not(.admin-layout):not(.admin-body) .hotel-card img,
body:not(.admin-layout):not(.admin-body) .tour-card img,
body:not(.admin-layout):not(.admin-body) .transport-card img,
body:not(.admin-layout):not(.admin-body) .product-card img,
body:not(.admin-layout):not(.admin-body) .listing-card img {
  aspect-ratio: auto !important;
  border-radius: 22px !important;
  display: block !important;
  height: 230px !important;
  max-height: none !important;
  min-height: 230px !important;
  object-fit: cover !important;
  width: 100% !important;
}

body:not(.admin-layout):not(.admin-body) .listing-editorial-card .card-body,
body:not(.admin-layout):not(.admin-body) .hotel-card .card-body,
body:not(.admin-layout):not(.admin-body) .tour-card .card-body,
body:not(.admin-layout):not(.admin-body) .transport-card .card-body,
body:not(.admin-layout):not(.admin-body) .product-card .card-body,
body:not(.admin-layout):not(.admin-body) .listing-card .card-body {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

body:not(.admin-layout):not(.admin-body) .listing-editorial-card .travel-card-cta,
body:not(.admin-layout):not(.admin-body) .hotel-card .travel-card-cta,
body:not(.admin-layout):not(.admin-body) .tour-card .travel-card-cta,
body:not(.admin-layout):not(.admin-body) .transport-card .travel-card-cta,
body:not(.admin-layout):not(.admin-body) .product-card .travel-card-cta,
body:not(.admin-layout):not(.admin-body) .listing-card .travel-card-cta {
  color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
}

@media (max-width: 768px) {
  body:not(.admin-layout):not(.admin-body) .home-product-section .home-scroll-item img,
  body:not(.admin-layout):not(.admin-body) .home-product-section .listing-editorial-card img,
  body:not(.admin-layout):not(.admin-body) .home-product-section .hotel-card img,
  body:not(.admin-layout):not(.admin-body) .home-product-section .tour-card img,
  body:not(.admin-layout):not(.admin-body) .home-product-section .transport-card img,
  body:not(.admin-layout):not(.admin-body) .home-product-section .product-card img,
  body:not(.admin-layout):not(.admin-body) .home-product-section .listing-card img,
  body:not(.admin-layout):not(.admin-body) .home-product-section .yosu-image-tile {
    height: 178px !important;
    min-height: 178px !important;
  }

  body:not(.admin-layout):not(.admin-body) .listing-editorial-card img,
  body:not(.admin-layout):not(.admin-body) .hotel-card img,
  body:not(.admin-layout):not(.admin-body) .tour-card img,
  body:not(.admin-layout):not(.admin-body) .transport-card img,
  body:not(.admin-layout):not(.admin-body) .product-card img,
  body:not(.admin-layout):not(.admin-body) .listing-card img {
    height: 205px !important;
    min-height: 205px !important;
  }
}

@media (prefers-color-scheme: dark) {
  body:not(.admin-layout):not(.admin-body) .home-product-section .home-scroll-item,
  body:not(.admin-layout):not(.admin-body) .home-product-section .listing-editorial-card,
  body:not(.admin-layout):not(.admin-body) .home-product-section .hotel-card,
  body:not(.admin-layout):not(.admin-body) .home-product-section .tour-card,
  body:not(.admin-layout):not(.admin-body) .home-product-section .transport-card,
  body:not(.admin-layout):not(.admin-body) .home-product-section .product-card,
  body:not(.admin-layout):not(.admin-body) .home-product-section .listing-card {
    color: #f8faef !important;
  }

  body:not(.admin-layout):not(.admin-body) .home-product-section h2,
  body:not(.admin-layout):not(.admin-body) .home-product-section h3,
  body:not(.admin-layout):not(.admin-body) .home-product-section h4,
  body:not(.admin-layout):not(.admin-body) .home-product-section h5,
  body:not(.admin-layout):not(.admin-body) .home-product-section h6,
  body:not(.admin-layout):not(.admin-body) .home-product-section .card-title,
  body:not(.admin-layout):not(.admin-body) .home-product-section .listing-title,
  body:not(.admin-layout):not(.admin-body) .home-product-section .product-title,
  body:not(.admin-layout):not(.admin-body) .home-product-section .offer-card-location,
  body:not(.admin-layout):not(.admin-body) .home-product-section .listing-meta,
  body:not(.admin-layout):not(.admin-body) .home-product-section .rating,
  body:not(.admin-layout):not(.admin-body) .home-product-section .stars,
  body:not(.admin-layout):not(.admin-body) .home-product-section .price,
  body:not(.admin-layout):not(.admin-body) .home-product-section .product-price {
    color: #f8faef !important;
  }

  body:not(.admin-layout):not(.admin-body) .home-product-section p,
  body:not(.admin-layout):not(.admin-body) .home-product-section .card-text,
  body:not(.admin-layout):not(.admin-body) .home-product-section .description,
  body:not(.admin-layout):not(.admin-body) .home-product-section .product-description {
    color: #d8ded1 !important;
  }
}

/* YOSUTRAVELS_HOMEPAGE_POPULAR_ACTIVE_ASSET_FIX_V380_START */
.home-stable-page .home-horizontal-scroll {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 18px !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  padding-bottom: 12px !important;
  scroll-snap-type: x proximity !important;
}

.home-stable-page .home-horizontal-scroll > .home-scroll-item:not([class*="col-"]) {
  flex: 0 0 min(318px, 82vw) !important;
  width: min(318px, 82vw) !important;
  max-width: min(318px, 82vw) !important;
  min-width: 0 !important;
  display: block !important;
  scroll-snap-align: start !important;
}

.home-stable-page .home-horizontal-scroll > .home-scroll-item:not([class*="col-"]) > article,
.home-stable-page .home-horizontal-scroll > .home-scroll-item:not([class*="col-"]) > .home-premium-card,
.home-stable-page .home-horizontal-scroll > .home-scroll-item:not([class*="col-"]) > .home-popular-card {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  white-space: normal !important;
}

.home-stable-page .home-horizontal-scroll > .home-scroll-item:not([class*="col-"]) > article > a:first-child,
.home-stable-page .home-horizontal-scroll > .home-scroll-item:not([class*="col-"]) > .home-premium-card > a:first-child,
.home-stable-page .home-horizontal-scroll > .home-scroll-item:not([class*="col-"]) > .home-popular-card > a:first-child {
  display: block !important;
  width: 100% !important;
  height: 210px !important;
  min-height: 210px !important;
  max-height: 210px !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  background: #eef4dc !important;
}

.home-stable-page .home-horizontal-scroll > .home-scroll-item:not([class*="col-"]) > article > a:first-child img,
.home-stable-page .home-horizontal-scroll > .home-scroll-item:not([class*="col-"]) > .home-premium-card > a:first-child img,
.home-stable-page .home-horizontal-scroll > .home-scroll-item:not([class*="col-"]) > .home-popular-card > a:first-child img {
  display: block !important;
  width: 100% !important;
  height: 210px !important;
  min-height: 210px !important;
  max-height: 210px !important;
  object-fit: cover !important;
  object-position: center !important;
}

.home-stable-page .home-horizontal-scroll > .home-scroll-item:not([class*="col-"]) .home-popular-copy,
.home-stable-page .home-horizontal-scroll > .home-scroll-item:not([class*="col-"]) .home-editorial-copy {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  padding-top: 12px !important;
  position: static !important;
  transform: none !important;
  white-space: normal !important;
}

.home-stable-page .home-horizontal-scroll > .home-scroll-item:not([class*="col-"]) .home-popular-copy *,
.home-stable-page .home-horizontal-scroll > .home-scroll-item:not([class*="col-"]) .home-editorial-copy * {
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

@media (min-width: 992px) {
  .home-stable-page .home-horizontal-scroll > .home-scroll-item:not([class*="col-"]) {
    flex-basis: 318px !important;
    width: 318px !important;
    max-width: 318px !important;
  }
}
/* YOSUTRAVELS_HOMEPAGE_POPULAR_ACTIVE_ASSET_FIX_V380_END */

/* YOSUTRAVELS_HOMEPAGE_POPULAR_CACHE_BUST_V381_START */
/* Confirms the active homepage card CSS is being served through the v381 cache-bust route. */
/* YOSUTRAVELS_HOMEPAGE_POPULAR_CACHE_BUST_V381_END */
/* YOSUTRAVELS_HOMEPAGE_TEXT_URL_IMAGE_RESOLVER_V413_START */
.home-stable-page .home-horizontal-scroll > .home-scroll-item:not(.col-md-4) > article > a:first-child,
.home-stable-page .home-horizontal-scroll > .home-scroll-item:not(.col-md-4) > .home-premium-card > a:first-child,
.home-stable-page .home-horizontal-scroll > .home-scroll-item:not(.col-md-4) > .home-popular-card > a:first-child {
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
}
.home-stable-page .home-horizontal-scroll > .home-scroll-item:not(.col-md-4) img,
.home-horizontal-scroll .home-scroll-item img {
  color: transparent !important;
  font-size: 0 !important;
}
/* YOSUTRAVELS_HOMEPAGE_TEXT_URL_IMAGE_RESOLVER_V413_END */
