/**
 * LaMilka v0.4.81 — source-exact image presentation layer.
 *
 * This file is deliberately last in the cascade. It restores the image crop,
 * brightness, overlays and hover motion defined in the final Lovable source,
 * while leaving image content, page structure and mobile homepage hero intact.
 */

/* --------------------------------------------------------------------------
   Shared image reset — only real content media, never icons/logos.
   -------------------------------------------------------------------------- */
.lamilka-home-hero picture > img,
.lamilka-home-feature > img,
.lamilka-home-category > img,
.lamilka-tour-card__image > img,
.lamilka-detail__gallery button > img,
.lamilka-gallery-lightbox img,
.lamilka-transfer__hero,
.lamilka-private__hero picture > img,
.lamilka-private__ideas img,
.lamilka-about__hero picture > img,
.lamilka-contact-source__hero picture > img,
.lamilka-concierge__hero picture > img,
.lamilka-tours__cta-grid > a > img,
.lamilka-riviera-trust-ctas__desktop > a > img,
.lamilka-riviera-news__desktop-offers > a > img,
.lamilka-riviera-news__cards > a > img,
.lamilka-riviera-post-card__media > img,
.lamilka-riviera-destination__card-media > img,
.lamilka-riviera-best-detail__media > img,
.lamilka-riviera-article__image > img,
.lamilka-riviera-post__hero > img {
  filter: none !important;
  opacity: 1 !important;
  image-rendering: auto;
}

/* --------------------------------------------------------------------------
   Homepage desktop hero — exact Lovable crop and localized backdrop.
   Mobile is intentionally untouched.
   -------------------------------------------------------------------------- */
@media (min-width: 768px) {
  .lamilka-home-hero {
    position: relative !important;
    height: calc(100svh - 72px) !important;
    min-height: 600px !important;
    max-height: none !important;
    overflow: hidden !important;
    background: #0f1b3d !important;
  }

  body.admin-bar .lamilka-home-hero {
    height: calc(100svh - 104px) !important;
  }

  /* Match Lovable's wide-preview framing without shortening normal desktops. */
  @media (min-aspect-ratio: 37/20) {
    .lamilka-home-hero {
      height: min(calc(100svh - 72px), 44.58vw) !important;
      max-height: 913px !important;
    }

    body.admin-bar .lamilka-home-hero {
      height: min(calc(100svh - 104px), 44.58vw) !important;
    }
  }

  .lamilka-home-hero > picture,
  .lamilka-home-hero > picture > img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }

  .lamilka-home-hero > picture > img {
    object-fit: cover !important;
    object-position: center bottom !important;
    transform: none !important;
  }

  /* Lovable has no full-image dark veil on desktop. */
  .lamilka-home-hero-overlay {
    display: none !important;
    background: none !important;
  }

  .lamilka-home-hero-content {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 24px 48px !important;
    text-align: center !important;
  }

  .lamilka-home-hero-copy {
    position: relative !important;
    z-index: 0 !important;
    width: min(100%, 1100px) !important;
    margin-top: -11rem !important;
    transform: scale(1.1) translateY(-10%) !important;
    transform-origin: center !important;
    isolation: isolate !important;
  }

  .lamilka-home-hero-copy::before {
    position: absolute !important;
    inset: 0 !important;
    z-index: -1 !important;
    content: "" !important;
    pointer-events: none !important;
    background: radial-gradient(
      ellipse 42% 55% at 50% 50%,
      rgba(8, 15, 30, .55) 0%,
      rgba(8, 15, 30, .35) 45%,
      rgba(8, 15, 30, 0) 78%
    ) !important;
  }

  .lamilka-home-eyebrow {
    position: relative !important;
    display: inline-flex !important;
    margin: 0 0 12px !important;
    padding: 4px 20px !important;
    border: 1px solid rgba(255, 255, 255, .30) !important;
    border-radius: 999px !important;
    background: rgba(0, 0, 0, .45) !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    letter-spacing: .12em !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, .60) !important;
    transform: scale(1.2, 1.1) !important;
    transform-origin: center !important;
    backdrop-filter: blur(4px) !important;
  }

  .lamilka-home-hero h1 {
    position: relative !important;
    margin: 0 !important;
    color: #fff !important;
    font-family: Montserrat, sans-serif !important;
    font-size: 52px !important;
    font-weight: 300 !important;
    line-height: 1.15 !important;
    letter-spacing: -.025em !important;
    white-space: nowrap !important;
    text-shadow: 0 2px 22px rgba(0,0,0,.65), 0 1px 6px rgba(0,0,0,.55), 0 0 18px rgba(8,47,73,.45) !important;
  }

  .lamilka-home-hero h1 strong {
    color: #f0d89a !important;
    font-weight: 300 !important;
    text-shadow: 0 2px 18px rgba(0,0,0,.70), 0 1px 4px rgba(0,0,0,.60) !important;
  }

  .lamilka-home-hero-copy > p {
    position: relative !important;
    margin: 4px 0 0 !important;
    color: #ffd166 !important;
    font-size: 28px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    letter-spacing: .025em !important;
    white-space: nowrap !important;
    text-shadow: 0 2px 14px rgba(0,0,0,.65), 0 1px 4px rgba(0,0,0,.55) !important;
  }

  .lamilka-home-scroll {
    bottom: 16px !important;
  }
}

@media (min-width: 1024px) and (max-height: 760px) {
  .lamilka-home-hero {
    min-height: 560px !important;
  }
}

/* --------------------------------------------------------------------------
   Homepage photo modules.
   -------------------------------------------------------------------------- */
.lamilka-home-feature > span {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background: linear-gradient(to top, rgba(0,0,0,.75), rgba(0,0,0,.35), rgba(0,0,0,.15)) !important;
  pointer-events: none !important;
}

.lamilka-home-category > span {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background: radial-gradient(ellipse at center, rgba(0,0,0,0) 30%, rgba(0,0,0,.55) 100%) !important;
  pointer-events: none !important;
}

.lamilka-home-feature > div,
.lamilka-home-category > div {
  z-index: 1 !important;
}

.lamilka-home-feature > img,
.lamilka-home-category > img {
  object-fit: cover !important;
  object-position: center center !important;
  transform: scale(1) !important;
  transition: transform .7s ease !important;
}

.lamilka-home-feature:hover > img,
.lamilka-home-feature:focus-visible > img,
.lamilka-home-category:hover > img,
.lamilka-home-category:focus-visible > img {
  transform: scale(1.05) !important;
}

/* Private Tours category uses the source-specific crop. */
.lamilka-home-category[href*="private-tours"] > img {
  object-position: left center !important;
}

@media (max-width: 639px) {
  .lamilka-home-category[href*="private-tours"] > img {
    object-position: center top !important;
  }
}

/* --------------------------------------------------------------------------
   Tour cards, listing CTA modules and tour galleries.
   -------------------------------------------------------------------------- */
.lamilka-tour-card__image > img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transform: scale(1) !important;
  transition: filter .3s ease, transform .3s ease !important;
}

.lamilka-tour-card__image > img:hover,
.lamilka-tour-card__image > img:active,
.lamilka-tour-card:focus-visible .lamilka-tour-card__image > img {
  filter: brightness(1.05) !important;
  transform: scale(1.03) !important;
}

.lamilka-tours__cta-grid > a > img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: brightness(1.15) !important;
  transform: scale(1) !important;
  transition: transform .7s ease !important;
}

.lamilka-tours__cta-grid > a:hover > img,
.lamilka-tours__cta-grid > a:focus-visible > img {
  filter: brightness(1.15) !important;
  transform: scale(1.05) !important;
}

.lamilka-tours__cta-grid > a::after {
  background: linear-gradient(to top, rgba(0,0,0,.80), rgba(0,0,0,.40), rgba(0,0,0,.15)) !important;
}

.lamilka-detail__gallery button > img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transform: scale(1) !important;
  transition: transform .5s ease !important;
}

.lamilka-detail__gallery button:hover > img,
.lamilka-detail__gallery button:focus-visible > img {
  transform: scale(1.03) !important;
}

.lamilka-gallery-lightbox img,
.lamilka-detail__lightbox img {
  object-fit: cover !important;
  transform: none !important;
}

/* --------------------------------------------------------------------------
   Main route heroes.
   -------------------------------------------------------------------------- */
.lamilka-transfer__hero {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
}

.lamilka-about__hero::after,
.lamilka-about .lamilka-about__hero::after {
  display: none !important;
  background: none !important;
}

.lamilka-about .lamilka-about__hero picture > img {
  object-fit: cover !important;
  object-position: center bottom !important;
  transform: none !important;
}

.lamilka-about .lamilka-about__hero-copy {
  isolation: isolate !important;
}

.lamilka-about .lamilka-about__hero-copy::before {
  position: absolute !important;
  inset: -20% !important;
  z-index: -1 !important;
  content: "" !important;
  pointer-events: none !important;
  background: radial-gradient(ellipse at center, rgba(0,0,0,.35) 0%, rgba(0,0,0,.10) 55%, rgba(0,0,0,0) 80%) !important;
}

.lamilka-contact-source__hero picture > img {
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
}

.lamilka-contact-source__hero::before,
.lamilka-contact-source__hero::after {
  display: none !important;
  background: none !important;
}

.lamilka-private__hero picture > img {
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
}

.lamilka-private__hero::after {
  display: block !important;
  z-index: 0 !important;
  background: linear-gradient(to bottom, rgba(0,0,0,.30), rgba(0,0,0,0), rgba(0,0,0,.20)) !important;
  pointer-events: none !important;
}

.lamilka-private__hero-title {
  isolation: isolate !important;
}

.lamilka-private__hero-title::before {
  position: absolute !important;
  inset: 8px max(16px, calc(50% - 460px)) auto !important;
  height: 160px !important;
  z-index: -1 !important;
  content: "" !important;
  border-radius: 16px !important;
  pointer-events: none !important;
  background: radial-gradient(ellipse at center, rgba(0,0,0,.30) 0%, rgba(0,0,0,.18) 55%, rgba(0,0,0,0) 100%) !important;
  backdrop-filter: blur(1px) !important;
}

.lamilka-private__ideas img {
  object-fit: cover !important;
  object-position: center !important;
  transform: none !important;
}

.lamilka-concierge__hero picture > img {
  object-fit: cover !important;
  object-position: center center !important;
  filter: none !important;
  opacity: 1 !important;
  transform: scale(1.25) !important;
  transform-origin: center !important;
}

.lamilka-concierge__hero-overlay {
  background: linear-gradient(to bottom, rgba(0,0,0,.30) 0%, rgba(0,0,0,.15) 50%, rgba(0,0,0,.30) 100%) !important;
}

@media (max-width: 767px) {
  .lamilka-about .lamilka-about__hero picture > img {
    object-position: center top !important;
  }

  .lamilka-private__hero::after {
    background: linear-gradient(to bottom, rgba(0,0,0,.35), rgba(0,0,0,.10), rgba(0,0,0,0)) !important;
  }

  .lamilka-private__hero-title::before {
    inset: 20px 4% auto !important;
    height: 84px !important;
    border: 1px solid rgba(255,255,255,.15) !important;
    background: rgba(0,0,0,.20) !important;
    backdrop-filter: blur(4px) !important;
  }

  .lamilka-concierge__hero picture > img {
    transform: none !important;
  }

  .lamilka-concierge--lifestyle .lamilka-concierge__hero picture > img,
  .lamilka-concierge--shopping .lamilka-concierge__hero picture > img {
    transform: scale(.8) !important;
  }

  .lamilka-concierge__hero-overlay {
    background: linear-gradient(to bottom, rgba(0,0,0,.45) 0%, rgba(0,0,0,.15) 35%, rgba(0,0,0,.35) 100%) !important;
  }
}

/* --------------------------------------------------------------------------
   Riviera News and article imagery.
   -------------------------------------------------------------------------- */
.lamilka-riviera-news__cards > a > img,
.lamilka-riviera-post-card__media > img,
.lamilka-riviera-article__image > img,
.lamilka-riviera-post__hero > img {
  object-fit: cover !important;
  object-position: center !important;
  transform: none !important;
}

.lamilka-riviera-destination__card-media > img,
.lamilka-riviera-best-detail__media > img {
  object-fit: cover !important;
  object-position: center !important;
  transform: scale(1) !important;
  transition: transform .5s ease !important;
}

.lamilka-riviera-destination__cards > a:hover .lamilka-riviera-destination__card-media > img,
.lamilka-riviera-destination__cards > a:focus-visible .lamilka-riviera-destination__card-media > img {
  transform: scale(1.05) !important;
}

.lamilka-riviera-best-detail__media:hover > img,
.lamilka-riviera-best-detail__media:focus-visible > img {
  transform: scale(1.03) !important;
}

.lamilka-riviera-trust-ctas__desktop > a > img,
.lamilka-riviera-news__desktop-offers > a > img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  transform: scale(1) !important;
  transition: transform .7s ease !important;
}

.lamilka-riviera-trust-ctas__desktop > a:hover > img,
.lamilka-riviera-trust-ctas__desktop > a:focus-visible > img,
.lamilka-riviera-news__desktop-offers > a:hover > img,
.lamilka-riviera-news__desktop-offers > a:focus-visible > img {
  transform: scale(1.05) !important;
}

.lamilka-riviera-trust-ctas__desktop > a::after,
.lamilka-riviera-news__desktop-offers > a::after {
  background: linear-gradient(to top, rgba(0,0,0,.75), rgba(0,0,0,.35), rgba(0,0,0,.15)) !important;
}

/* The desktop-only copy wrapper must not change the approved mobile hero. */
@media (max-width: 767px) {
  .lamilka-home-hero-copy {
    display: contents !important;
  }

  .lamilka-home-hero-copy > p {
    position: relative !important;
    color: #ffd166 !important;
    font-size: clamp(14px, 4.2vw, 17px) !important;
    font-weight: 650 !important;
    line-height: 1.2 !important;
    letter-spacing: -.01em !important;
    margin-top: 16px !important;
    max-width: calc(100vw - 28px) !important;
    white-space: nowrap !important;
    text-shadow: 0 1px 6px rgba(0,0,0,.55), 0 1px 2px rgba(0,0,0,.45) !important;
  }
}

@media (max-width: 390px) {
  .lamilka-home-hero-copy > p {
    font-size: 14px !important;
  }
}
