/*
 * LaMilka 0.4.42 — source-exact Lovable parity layer.
 * This file is intentionally loaded last. It consolidates the visual contract
 * for shared components and supersedes cumulative release-era overrides.
 */
:root {
  --lm-exact-navy: #0f1b3d;
  --lm-exact-accent: #00b4d8;
  --lm-exact-gold: #c9a86a;
  --lm-exact-green: #1d9e75;
  --lm-exact-bg: oklch(0.985 0.002 250);
  --lm-exact-white: #fff;
  --lm-exact-muted: #64748b;
  --lm-exact-border: oklch(0.929 0.013 255.508);
  --lm-exact-footer: oklch(0.18 0.03 250);
  --lm-exact-body: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --lm-exact-display: Montserrat, Inter, system-ui, sans-serif;
  --lm-exact-header-height: 76px;
  --lm-exact-shell: 1200px;
}

html { scroll-padding-top: 92px; }
body,
button,
input,
select,
textarea { font-family: var(--lm-exact-body) !important; }
body { background: var(--lm-exact-bg); color: var(--lm-exact-navy); }
h1, h2, h3, h4, h5, h6,
.lamilka-tour-card__title,
.lamilka-home-feature h2,
.lamilka-home-category h2,
.lamilka-tours__heading h1,
.lamilka-detail__booking h2,
.lamilka-detail__total strong,
.lamilka-detail__mobile-booking-cta { font-family: var(--lm-exact-display) !important; }

/* Explicit project requirement: principal imagery remains clear and unfiltered. */
body img,
body video,
body picture { filter: none !important; mix-blend-mode: normal !important; }
main img,
main video,
.lamilka-home-feature img,
.lamilka-home-category img,
.lamilka-tour-card__image img,
.lamilka-detail__gallery img,
.lamilka-gallery-lightbox img,
.lamilka-gallery-lightbox video { opacity: 1 !important; transform: none !important; }
.lamilka-tour-card:hover img,
.lamilka-home-feature:hover img,
.lamilka-home-category:hover img,
.lamilka-tours__cta-grid a:hover img { filter: none !important; opacity: 1 !important; transform: none !important; }

/* --------------------------------------------------------------------------
   HEADER / MAIN NAVIGATION — TourSkeleton TopNav contract
   -------------------------------------------------------------------------- */
.lamilka-site-header {
  position: fixed !important;
  inset: var(--lamilka-header-offset, 0px) 0 auto !important;
  width: 100% !important;
  z-index: 99990 !important;
  border-bottom: 1px solid var(--lm-exact-border) !important;
  background: var(--lm-exact-bg) !important;
  color: var(--lm-exact-navy) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
.lamilka-site-header-spacer {
  display: block !important;
  width: 100% !important;
  height: var(--lm-exact-header-height) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
.lamilka-header-bar {
  box-sizing: border-box !important;
  display: flex !important;
  width: 100% !important;
  max-width: var(--lm-exact-shell) !important;
  min-height: var(--lm-exact-header-height) !important;
  margin: 0 auto !important;
  padding: 14px 24px !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
}
.lamilka-site-logo {
  display: flex !important;
  flex: 0 0 128px !important;
  width: 128px !important;
  height: 48px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin: 0 !important;
}
.lamilka-site-logo img {
  display: block !important;
  width: 128px !important;
  height: auto !important;
  max-height: 48px !important;
  object-fit: contain !important;
}
.lamilka-site-logo__white { display: none !important; }
.lamilka-site-logo__dark { display: block !important; }
.lamilka-desktop-navigation {
  display: flex !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 24px !important;
  margin: 0 !important;
  font-family: var(--lm-exact-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  color: var(--lm-exact-navy) !important;
}
.lamilka-nav-dropdown { display: flex !important; flex: 0 0 auto !important; align-items: center !important; }
.lamilka-nav-link,
.lamilka-nav-dropdown-toggle {
  display: inline-flex !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  background: transparent !important;
  color: var(--lm-exact-navy) !important;
  font-family: var(--lm-exact-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
.lamilka-nav-link:hover,
.lamilka-nav-link:focus-visible,
.lamilka-nav-dropdown-toggle:hover,
.lamilka-nav-dropdown-toggle:focus-visible { color: rgba(15,27,61,.70) !important; }
.lamilka-nav-link.is-active,
.lamilka-nav-dropdown-toggle.is-active { color: var(--lm-exact-navy) !important; font-weight: 500 !important; }
.lamilka-nav-chevron { display: none !important; }
.lamilka-header-actions {
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  color: var(--lm-exact-navy) !important;
  font-family: var(--lm-exact-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}
.lamilka-language-switcher {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--lm-exact-navy) !important;
  font-family: var(--lm-exact-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}
.lamilka-language-switcher a,
.lamilka-language-switcher span { color: inherit !important; text-decoration: none !important; }
.lamilka-language-switcher [aria-current="true"] { color: var(--lm-exact-gold) !important; font-weight: 600 !important; }
.lamilka-language-switcher > span[aria-hidden="true"] { color: var(--lm-exact-muted) !important; }
.lamilka-header-icon {
  display: inline-flex !important;
  width: 24px !important;
  height: 24px !important;
  flex: 0 0 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  color: rgba(15,27,61,.72) !important;
  text-decoration: none !important;
}
.lamilka-header-icon svg { display: block !important; width: 20px !important; height: 20px !important; stroke-width: 2 !important; }
.lamilka-header-icon:hover,
.lamilka-header-icon:focus-visible { color: var(--lm-exact-navy) !important; }

/* Desktop hover panel: preserve approved functionality with Lovable geometry. */
.lamilka-tours-dropdown {
  box-sizing: border-box !important;
  top: calc(100% + 14px) !important;
  left: 50% !important;
  width: min(640px, calc(100vw - 48px)) !important;
  padding: 20px 24px 24px !important;
  border: 1px solid var(--lm-exact-border) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 16px 40px -16px rgba(15,27,61,.24) !important;
  transform: translateX(-50%) !important;
  color: var(--lm-exact-navy) !important;
}
.lamilka-tours-all { font: 700 15px/1.35 var(--lm-exact-display) !important; color: var(--lm-exact-navy) !important; }
.lamilka-tours-dropdown-columns { gap: 32px !important; margin-top: 16px !important; }
.lamilka-tours-dropdown p { margin: 0 0 10px !important; color: var(--lm-exact-muted) !important; font: 700 11px/1.2 var(--lm-exact-body) !important; letter-spacing: .12em !important; text-transform: uppercase !important; }
.lamilka-tours-dropdown a { color: var(--lm-exact-navy) !important; font: 500 13px/1.4 var(--lm-exact-body) !important; }

/* --------------------------------------------------------------------------
   HOMEPAGE HERO — exact crop/height contract, including WP zoom correction
   -------------------------------------------------------------------------- */
.lamilka-home-hero {
  position: relative !important;
  min-height: calc(100vh - 72px) !important;
  height: auto !important;
  overflow: hidden !important;
  background: #0f1b3d !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;
  filter: none !important;
}
.lamilka-home-hero-overlay {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(15,27,61,.56) 0%, rgba(15,27,61,.24) 38%, rgba(15,27,61,0) 72%) !important;
}
.lamilka-home-hero-content {
  position: relative !important;
  z-index: 2 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 1200px !important;
  height: 100% !important;
  margin: 0 auto !important;
  padding: clamp(84px, 10vh, 132px) 24px 64px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
}
.lamilka-home-eyebrow { font-family: var(--lm-exact-body) !important; }
.lamilka-home-hero h1 { margin: 20px 0 0 !important; font-family: var(--lm-exact-display) !important; font-weight: 800 !important; letter-spacing: -.035em !important; line-height: .98 !important; }
.lamilka-home-hero-content > p { font-family: var(--lm-exact-body) !important; }

/* --------------------------------------------------------------------------
   TOUR DETAIL SHELL, TITLE, GALLERY AND BOOKING PANEL
   -------------------------------------------------------------------------- */
.lamilka-detail {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 100vh !important;
  padding: 32px 12px 72px !important;
  background: var(--lm-exact-bg) !important;
  color: var(--lm-exact-navy) !important;
  font-family: var(--lm-exact-body) !important;
}
.lamilka-detail__grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 360px !important;
  gap: 32px !important;
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  align-items: start !important;
}
.lamilka-detail__crumb { margin: 20px 0 !important; color: var(--lm-exact-muted) !important; font: 400 12px/1.5 var(--lm-exact-body) !important; }
.lamilka-detail__crumb a { color: inherit !important; text-decoration: none !important; }
.lamilka-detail h1 { margin: 0 !important; color: var(--lm-exact-navy) !important; font: 800 42px/1.05 var(--lm-exact-display) !important; letter-spacing: -.025em !important; text-align: left !important; }
.lamilka-detail h1 span { font: 400 28px/1.05 var(--lm-exact-display) !important; letter-spacing: -.025em !important; }
.lamilka-detail__prices { gap: 14px !important; margin-top: 10px !important; color: var(--lm-exact-navy) !important; font: 500 15px/1.4 var(--lm-exact-body) !important; }
.lamilka-detail__prices b { color: inherit !important; font-weight: 700 !important; }
.lamilka-detail__availability { margin: 8px 0 0 !important; color: var(--lm-exact-green) !important; font: 500 13px/1.5 var(--lm-exact-body) !important; }

.lamilka-detail__gallery { gap: 6px !important; margin-top: 16px !important; }
.lamilka-detail__gallery button { overflow: hidden !important; border: 0 !important; border-radius: 0 !important; background: #e5e7eb !important; }
.lamilka-detail__gallery img { object-fit: cover !important; filter: none !important; opacity: 1 !important; transform: none !important; }

/* Feature bar — exact Lovable values. */
.lamilka-detail__features {
  box-sizing: border-box !important;
  display: flex !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 20px 0 0 !important;
  padding: 12px 16px !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  column-gap: 24px !important;
  row-gap: 8px !important;
  border: 1px solid var(--lm-exact-border) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: rgba(15,27,61,.80) !important;
  box-shadow: none !important;
  font: 400 14px/1.4 var(--lm-exact-body) !important;
}
.lamilka-detail__features > span {
  position: relative !important;
  display: inline-flex !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  color: inherit !important;
  font: inherit !important;
  text-align: left !important;
  white-space: nowrap !important;
}
.lamilka-detail__features > span:not(:last-child)::after {
  content: "|" !important;
  display: inline !important;
  margin-left: 18px !important;
  color: var(--lm-exact-muted) !important;
  font: 400 14px/1 var(--lm-exact-body) !important;
}
.lamilka-detail__features > span:not(:last-child) { border: 0 !important; }
.lamilka-detail__features > span > span { color: inherit !important; font: inherit !important; white-space: nowrap !important; }
.lamilka-detail__features .lamilka-tour-information-icon,
.lamilka-detail__features svg {
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px !important;
  margin: 0 !important;
  color: var(--lm-exact-navy) !important;
  stroke-width: 2 !important;
}

/* Trust pills — exact two + two + one contract. */
.lamilka-detail__pills {
  display: grid !important;
  width: 100% !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 8px !important;
}
.lamilka-detail__pills > span {
  box-sizing: border-box !important;
  display: inline-flex !important;
  min-width: 0 !important;
  min-height: 30px !important;
  margin: 0 !important;
  padding: 4px 12px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  border: 1px solid rgba(15,27,61,.15) !important;
  border-radius: 9999px !important;
  background: #fff !important;
  color: var(--lm-exact-navy) !important;
  box-shadow: 0 1px 0 rgba(15,27,61,.04) !important;
  font: 500 12.5px/1.4 var(--lm-exact-body) !important;
  text-align: center !important;
}
.lamilka-detail__pills > span:nth-child(5),
.lamilka-detail__pills > span:last-child { grid-column: 1 / -1 !important; }
.lamilka-detail__pills > span > span { color: inherit !important; font: inherit !important; }
.lamilka-detail__pills .lamilka-tour-information-icon,
.lamilka-detail__pills svg {
  display: block !important;
  width: 14px !important;
  height: 14px !important;
  flex: 0 0 14px !important;
  margin: 0 !important;
  color: var(--lm-exact-navy) !important;
  stroke-width: 3 !important;
}
.lamilka-detail__pills .lamilka-tour-information-lock { display: none !important; }

/* Tour sections and Lucide check/X list system. */
.lamilka-detail__section,
.lamilka-detail__faq { margin-top: 48px !important; }
.lamilka-detail__section > h2,
.lamilka-detail__faq > h2 {
  margin: 0 0 16px !important;
  color: var(--lm-exact-navy) !important;
  font: 800 22px/1.2 var(--lm-exact-display) !important;
  letter-spacing: -.01em !important;
  text-wrap: balance !important;
}
.lamilka-detail__section p { margin: 0 !important; color: var(--lm-exact-navy) !important; font: 400 15px/1.7 var(--lm-exact-body) !important; }
.lamilka-detail__section p + p { margin-top: 16px !important; }
.lamilka-detail__section ul.lamilka-detail__icon-list {
  display: grid !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.lamilka-detail__icon-list-item {
  display: flex !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center !important;
  gap: 10px !important;
  color: var(--lm-exact-navy) !important;
}
.lamilka-detail__list-icon {
  position: static !important;
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px !important;
  margin: 0 !important;
}
.lamilka-detail__list-icon::before,
.lamilka-detail__list-icon::after { content: none !important; display: none !important; }
.lamilka-detail__list-icon svg {
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  color: var(--lm-exact-navy) !important;
  stroke-width: 3 !important;
}
.lamilka-detail__icon-list-item--negative .lamilka-detail__list-icon svg { color: #ef1717 !important; }
.lamilka-detail__list-copy { display: block !important; color: var(--lm-exact-navy) !important; font: 400 15px/1.5 var(--lm-exact-body) !important; white-space: pre-line !important; }
.lamilka-detail__icon-list-item--note { display: block !important; }
.lamilka-detail__icon-list-item--note .lamilka-detail__list-copy { color: #6b7280 !important; font: italic 400 13px/1.5 var(--lm-exact-body) !important; }

/* Individual-tour FAQs. */
.lamilka-detail__faq article {
  margin: 0 0 8px !important;
  overflow: hidden !important;
  border: 1px solid var(--lm-exact-border) !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
}
.lamilka-detail__faq button {
  box-sizing: border-box !important;
  display: flex !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  border: 0 !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  background: #fff !important;
  color: var(--lm-exact-navy) !important;
  font: 500 14px/1.4 var(--lm-exact-body) !important;
  text-align: left !important;
}
.lamilka-detail__faq button svg { width: 16px !important; height: 16px !important; flex: 0 0 16px !important; stroke-width: 2 !important; transition: transform .15s ease !important; }
.lamilka-detail__faq article[open] button svg,
.lamilka-detail__faq button[aria-expanded="true"] svg { transform: rotate(180deg) !important; }
.lamilka-detail__faq article > p {
  margin: 0 !important;
  padding: 0 16px 16px !important;
  color: rgba(15,27,61,.72) !important;
  font: 400 14px/1.55 var(--lm-exact-body) !important;
  white-space: pre-line !important;
}

/* Booking panel — exact 360px Lovable geometry. */
.lamilka-detail__booking {
  position: sticky !important;
  top: 90px !important;
  box-sizing: border-box !important;
  width: 360px !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 12px !important;
  align-self: start !important;
  border: 1px solid var(--lm-exact-border) !important;
  border-radius: 16px !important;
  background: #fff !important;
  color: var(--lm-exact-navy) !important;
  box-shadow: 0 8px 32px -12px rgba(15,27,61,.18) !important;
}
.lamilka-detail__booking > [data-booking-step] { gap: 0 !important; }
.lamilka-detail__booking-availability {
  display: grid !important;
  gap: 6px !important;
  margin: 0 0 12px !important;
  color: var(--lm-exact-green) !important;
  font: 500 12.5px/1.4 var(--lm-exact-body) !important;
}
.lamilka-detail__booking-step {
  display: block !important;
  margin: 0 0 8px !important;
  color: var(--lm-exact-gold) !important;
  font: 700 10px/1.2 var(--lm-exact-body) !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
}
.lamilka-detail__booking h2 {
  margin: 0 0 16px !important;
  color: var(--lm-exact-navy) !important;
  font: 700 26px/1.25 var(--lm-exact-display) !important;
  letter-spacing: -.02em !important;
}
.lamilka-detail__booking label,
.lamilka-detail__times legend {
  display: block !important;
  margin: 14px 0 0 !important;
  color: var(--lm-exact-navy) !important;
  font: 500 12px/1.5 var(--lm-exact-body) !important;
}
.lamilka-detail__times legend {
  font-size: 12.5px !important;
}
.lamilka-detail__booking [data-booking-step="2"] > label,
.lamilka-detail__booking [data-booking-step="2"] .lamilka-detail__name-row > label {
  font: 500 14px/1.5 var(--lm-exact-body) !important;
}
.lamilka-detail__booking input,
.lamilka-detail__booking select,
.lamilka-detail__booking .lamilka-hotel-field input,
.lamilka-detail__booking .lamilka-date-field input {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 44px !important;
  margin: 6px 0 0 !important;
  padding: 11px 14px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--lm-exact-navy) !important;
  font: 400 14px/1.4 var(--lm-exact-body) !important;
}
.lamilka-detail__pickup {
  display: flex !important;
  margin: 10px 0 0 !important;
  padding: 0 !important;
  align-items: center !important;
  gap: 6px !important;
  background: transparent !important;
  color: rgba(15,27,61,.68) !important;
  font: 400 12.5px/1.4 var(--lm-exact-body) !important;
  white-space: nowrap !important;
}
.lamilka-detail__counter {
  box-sizing: border-box !important;
  display: grid !important;
  min-height: 72px !important;
  grid-template-columns: minmax(0,1fr) 40px 40px 40px !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 10px 0 !important;
  border-bottom: 0 !important;
  color: var(--lm-exact-navy) !important;
  font-family: var(--lm-exact-body) !important;
}
.lamilka-detail__counter-copy { display: flex !important; min-width: 0 !important; flex-wrap: wrap !important; align-items: baseline !important; column-gap: 4px !important; }
.lamilka-detail__counter-copy strong { font: 700 14px/1.35 var(--lm-exact-body) !important; }
.lamilka-detail__counter-age { color: var(--lm-exact-muted) !important; font: 400 14px/1.35 var(--lm-exact-body) !important; }
.lamilka-detail__counter-price { display: block !important; flex-basis: 100% !important; margin-top: 2px !important; color: var(--lm-exact-navy) !important; font: 600 14px/1.35 var(--lm-exact-body) !important; }
.lamilka-detail__counter-price.is-free { color: var(--lm-exact-green) !important; }
.lamilka-detail__counter button,
.lamilka-detail__counter output {
  box-sizing: border-box !important;
  display: inline-flex !important;
  width: 40px !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--lm-exact-navy) !important;
  font: 500 20px/1 var(--lm-exact-body) !important;
}
.lamilka-detail__counter button:first-of-type { border-radius: 10px 0 0 10px !important; }
.lamilka-detail__counter button:last-of-type { border-radius: 0 10px 10px 0 !important; }
.lamilka-detail__counter output { border-right: 0 !important; border-left: 0 !important; font-size: 15px !important; font-weight: 600 !important; }
.lamilka-detail__total {
  box-sizing: border-box !important;
  display: flex !important;
  min-height: 138px !important;
  margin: 12px 0 0 !important;
  padding: 16px !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  border: 1px solid rgba(15,27,61,.15) !important;
  border-radius: 12px !important;
  background: linear-gradient(to bottom, #f7f9fc, var(--lm-exact-bg)) !important;
  box-shadow: none !important;
  color: var(--lm-exact-navy) !important;
}
.lamilka-detail__total small { color: var(--lm-exact-navy) !important; font: 700 10px/1.2 var(--lm-exact-body) !important; letter-spacing: .18em !important; text-transform: uppercase !important; }
.lamilka-detail__total strong { color: var(--lm-exact-navy) !important; font: 800 40px/1 var(--lm-exact-display) !important; letter-spacing: -.025em !important; }
.lamilka-detail__booking [data-booking-next],
.lamilka-detail__booking [data-preview-success] {
  box-sizing: border-box !important;
  display: inline-flex !important;
  width: 100% !important;
  min-height: 48px !important;
  margin: 14px 0 0 !important;
  padding: 14px 20px !important;
  border: 0 !important;
  border-radius: 12px !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--lm-exact-navy) !important;
  color: #fff !important;
  font: 700 14px/1.2 var(--lm-exact-body) !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

/* --------------------------------------------------------------------------
   GALLERY LIGHTBOX — exact source geometry, no dimmed thumbnails
   -------------------------------------------------------------------------- */
.lamilka-gallery-lightbox[open] {
  position: fixed !important;
  inset: 0 !important;
  box-sizing: border-box !important;
  display: block !important;
  width: 100vw !important;
  max-width: none !important;
  height: 100dvh !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  background: rgba(0,0,0,.85) !important;
  color: #fff !important;
}
.lamilka-gallery-lightbox::backdrop { background: rgba(0,0,0,.85) !important; }
.lamilka-gallery-lightbox__shell {
  position: relative !important;
  box-sizing: border-box !important;
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
  padding: 72px 24px 100px !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}
.lamilka-gallery-lightbox__media {
  display: flex !important;
  width: min(768px, calc(100vw - 160px)) !important;
  max-width: 768px !important;
  aspect-ratio: 4 / 3 !important;
  height: auto !important;
  min-height: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border-radius: 8px !important;
  background: #000 !important;
}
.lamilka-gallery-lightbox__media img,
.lamilka-gallery-lightbox__media video { width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; object-fit: contain !important; border-radius: 8px !important; }
.lamilka-gallery-lightbox__close,
.lamilka-gallery-lightbox__arrow {
  position: absolute !important;
  z-index: 3 !important;
  display: inline-flex !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(0,0,0,.60) !important;
  color: #fff !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
.lamilka-gallery-lightbox__close { top: 16px !important; right: max(24px, calc((100vw - 768px) / 2)) !important; width: 44px !important; height: 44px !important; }
.lamilka-gallery-lightbox__arrow { top: 50% !important; width: 48px !important; height: 48px !important; transform: translateY(-50%) !important; }
.lamilka-gallery-lightbox__arrow--previous { left: max(16px, calc((100vw - 768px) / 2 - 64px)) !important; }
.lamilka-gallery-lightbox__arrow--next { right: max(16px, calc((100vw - 768px) / 2 - 64px)) !important; }
.lamilka-gallery-lightbox__close svg { width: 24px !important; height: 24px !important; stroke-width: 2 !important; }
.lamilka-gallery-lightbox__arrow svg { width: 28px !important; height: 28px !important; stroke-width: 2.5 !important; }
.lamilka-gallery-lightbox__thumbnails {
  position: absolute !important;
  right: 0 !important;
  bottom: 18px !important;
  left: 0 !important;
  display: flex !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 24px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  overflow-x: auto !important;
}
.lamilka-gallery-lightbox__thumbnails button {
  position: relative !important;
  box-sizing: border-box !important;
  flex: 0 0 80px !important;
  width: 80px !important;
  height: 64px !important;
  margin: 0 !important;
  padding: 2px !important;
  overflow: hidden !important;
  border: 2px solid transparent !important;
  border-radius: 6px !important;
  background: transparent !important;
  opacity: 1 !important;
}
.lamilka-gallery-lightbox__thumbnails button.is-active { border-color: var(--lm-exact-gold) !important; box-shadow: 0 0 0 1px var(--lm-exact-gold) !important; }
.lamilka-gallery-lightbox__thumbnails img { width: 100% !important; height: 100% !important; object-fit: cover !important; border-radius: 3px !important; opacity: 1 !important; }

/* --------------------------------------------------------------------------
   TOUR CARDS / CATEGORY CARDS
   -------------------------------------------------------------------------- */
.lamilka-tour-card {
  display: flex !important;
  min-width: 0 !important;
  overflow: hidden !important;
  flex-direction: column !important;
  border: 1px solid rgba(15,27,61,.15) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--lm-exact-navy) !important;
  box-shadow: 0 1px 3px rgba(15,27,61,.14) !important;
  text-decoration: none !important;
}
.lamilka-tour-card:hover { box-shadow: 0 5px 18px rgba(15,27,61,.18) !important; }
.lamilka-tour-card__image { position: relative !important; display: block !important; aspect-ratio: 4/3 !important; overflow: hidden !important; background: #e5e7eb !important; }
.lamilka-tour-card__image img { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center !important; }
.lamilka-tour-card__image b { top: 8px !important; left: 8px !important; padding: 2px 8px !important; border-radius: 4px !important; background: rgba(0,0,0,.60) !important; color: #fff !important; font: 600 11px/1.35 var(--lm-exact-body) !important; }
.lamilka-tour-card__body { display: flex !important; flex: 1 !important; flex-direction: column !important; padding: 20px !important; }
.lamilka-tour-card__title {
  display: flex !important;
  min-height: 38px !important;
  max-height: 38px !important;
  margin: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  color: var(--lm-exact-navy) !important;
  font: 700 16px/1.2 var(--lm-exact-display) !important;
  text-align: center !important;
}
.lamilka-tour-card__title-main { font: inherit !important; }
.lamilka-tour-card__title-subtitle { font: 400 16px/1.2 var(--lm-exact-display) !important; }
.lamilka-tour-card__divider { display: block !important; height: 1px !important; margin: 12px 0 !important; background: #e5e7eb !important; }
.lamilka-tour-card__features { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 5px !important; margin: 0 !important; padding: 4px 0 !important; }
.lamilka-tour-card__features > span { display: flex !important; min-height: 48px !important; align-items: center !important; justify-content: flex-start !important; flex-direction: column !important; gap: 6px !important; color: rgba(15,27,61,.80) !important; font: 500 11px/1.2 var(--lm-exact-body) !important; text-align: center !important; }
.lamilka-tour-card__features i { display: flex !important; width: 28px !important; height: 28px !important; align-items: center !important; justify-content: center !important; color: var(--lm-exact-navy) !important; }
.lamilka-tour-card__features svg { width: 100% !important; height: 100% !important; }
.lamilka-tour-card__price { margin-top: auto !important; padding-top: 10px !important; color: var(--lm-exact-navy) !important; font: 400 16px/1 var(--lm-exact-body) !important; text-align: center !important; }
.lamilka-tour-card__cta {
  display: flex !important;
  width: 70% !important;
  min-height: 36px !important;
  margin: 10px auto 0 !important;
  padding: 10px 14px !important;
  border-radius: 12px !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--lm-exact-accent) !important;
  color: #fff !important;
  font: 500 12px/1.2 var(--lm-exact-body) !important;
  letter-spacing: .14em !important;
  text-align: center !important;
  text-transform: none !important;
}

/* Category/CTA card geometry with clear images. */
.lamilka-home-feature,
.lamilka-home-category,
.lamilka-tours__cta-grid a { border-radius: 12px !important; overflow: hidden !important; }
.lamilka-home-feature img,
.lamilka-home-category img,
.lamilka-tours__cta-grid img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center !important; filter: none !important; opacity: 1 !important; transform: none !important; }
.lamilka-home-feature h2,
.lamilka-home-category h2,
.lamilka-tours__cta-grid strong { font-family: var(--lm-exact-display) !important; font-weight: 700 !important; }

/* Main All Tours FAQ. */
.lamilka-tours__faq { border-top: 1px solid var(--lm-exact-border) !important; background: rgba(248,250,252,.55) !important; }
.lamilka-tours__faq-inner { box-sizing: border-box !important; max-width: 832px !important; margin: 0 auto !important; padding: 64px 24px 80px !important; }
.lamilka-tours__faq h2 { margin: 0 !important; color: var(--lm-exact-navy) !important; font: 700 36px/1.15 var(--lm-exact-display) !important; letter-spacing: -.02em !important; text-align: center !important; }
.lamilka-tours__faq-list { overflow: hidden !important; margin-top: 32px !important; border: 1px solid var(--lm-exact-border) !important; border-radius: 16px !important; background: #fff !important; }
.lamilka-tours__faq-list article + article { border-top: 1px solid var(--lm-exact-border) !important; }
.lamilka-tours__faq-list button { box-sizing: border-box !important; display: flex !important; width: 100% !important; margin: 0 !important; padding: 20px 24px !important; border: 0 !important; align-items: center !important; justify-content: space-between !important; gap: 16px !important; background: #fff !important; color: var(--lm-exact-navy) !important; font: 500 16px/1.4 var(--lm-exact-body) !important; text-align: left !important; }
.lamilka-tours__faq-list p { margin: -8px 0 0 !important; padding: 0 24px 20px !important; color: var(--lm-exact-muted) !important; font: 400 14px/1.65 var(--lm-exact-body) !important; }

/* --------------------------------------------------------------------------
   CERTIFICATE / FOOTER
   -------------------------------------------------------------------------- */
.lamilka-certificate-band { box-sizing: border-box !important; padding: 24px 16px 32px !important; background: var(--lm-exact-bg) !important; }
.lamilka-certificate-inner { width: 100% !important; max-width: 1024px !important; margin: 0 auto !important; overflow: hidden !important; border-radius: 16px !important; background: #fff !important; box-shadow: 0 4px 24px -8px rgba(10,25,47,.15) !important; outline: 1px solid rgba(10,25,47,.05) !important; }
.lamilka-certificate-inner picture,
.lamilka-certificate-inner img { display: block !important; width: 100% !important; height: auto !important; }
.lamilka-site-footer { background: var(--lm-exact-footer) !important; color: rgba(255,255,255,.80) !important; font-family: var(--lm-exact-body) !important; }
.lamilka-footer-grid { box-sizing: border-box !important; display: grid !important; max-width: 1280px !important; margin: 0 auto !important; padding: 64px 24px !important; grid-template-columns: repeat(6,minmax(0,1fr)) !important; gap: 40px !important; }
.lamilka-site-footer h2 { margin: 0 !important; color: #fff !important; font: 600 12px/1.2 var(--lm-exact-body) !important; letter-spacing: .18em !important; text-transform: uppercase !important; }
.lamilka-site-footer ul { margin: 20px 0 0 !important; padding: 0 !important; list-style: none !important; }
.lamilka-site-footer li { margin: 0 0 12px !important; color: rgba(255,255,255,.70) !important; font: 400 14px/1.6 var(--lm-exact-body) !important; }
.lamilka-site-footer a { color: rgba(255,255,255,.70) !important; text-decoration: none !important; }
.lamilka-site-footer a:hover,
.lamilka-site-footer a:focus-visible { color: #fff !important; }
.lamilka-footer-brand p { margin: 16px 0 0 !important; color: rgba(255,255,255,.70) !important; font: 400 14px/1.7 var(--lm-exact-body) !important; }
.lamilka-footer-brand p + p { color: rgba(255,255,255,.55) !important; }
.lamilka-footer-bottom { box-sizing: border-box !important; display: flex !important; max-width: 1280px !important; margin: 0 auto !important; padding: 24px !important; align-items: center !important; justify-content: space-between !important; gap: 16px !important; border-top: 1px solid rgba(255,255,255,.10) !important; color: rgba(255,255,255,.50) !important; font: 400 12px/1.5 var(--lm-exact-body) !important; }

/* --------------------------------------------------------------------------
   MOBILE / TABLET SOURCE CONTRACT
   -------------------------------------------------------------------------- */
@media (max-width: 1279px) {
  .lamilka-desktop-navigation,
  .lamilka-header-actions { display: none !important; }
  .lamilka-header-bar { min-height: 64px !important; padding: 8px 16px !important; gap: 12px !important; }
  .lamilka-site-header-spacer { height: 64px !important; }
  .lamilka-site-logo { flex-basis: 128px !important; }
  .lamilka-menu-toggle {
    display: inline-flex !important;
    width: 40px !important;
    height: 40px !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 6px !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    color: var(--lm-exact-navy) !important;
  }
  .lamilka-menu-toggle svg { display: block; width: 28px !important; height: 28px !important; stroke-width: 2.5 !important; }
  .lamilka-mobile-panel {
    position: fixed !important;
    top: calc(var(--lamilka-header-offset, 0px) + 64px) !important;
    right: 0 !important;
    left: 0 !important;
    z-index: 99989 !important;
    display: block !important;
    max-height: 80vh !important;
    overflow-y: auto !important;
    border-top: 1px solid var(--lm-exact-border) !important;
    background: #fff !important;
    box-shadow: 0 12px 28px rgba(15,27,61,.18) !important;
  }
  .lamilka-mobile-panel[hidden] { display: none !important; }
  .lamilka-mobile-panel nav { max-width: none !important; margin: 0 !important; padding: 0 !important; }
  .lamilka-mobile-utility { display: flex !important; min-height: 60px !important; padding: 8px 16px !important; align-items: center !important; justify-content: space-between !important; border-bottom: 1px solid var(--lm-exact-border) !important; }
  .lamilka-language-switcher--mobile { min-height: 44px !important; padding: 0 !important; border: 0 !important; }
  .lamilka-language-switcher--mobile a,
  .lamilka-language-switcher--mobile > span:not([aria-hidden="true"]) { display: inline-flex !important; min-width: 44px !important; min-height: 44px !important; align-items: center !important; justify-content: center !important; }
  .lamilka-mobile-contact { display: flex !important; margin: 0 !important; padding: 0 !important; gap: 12px !important; border: 0 !important; }
  .lamilka-mobile-contact a { display: inline-flex !important; width: 44px !important; height: 44px !important; align-items: center !important; justify-content: center !important; color: var(--lm-exact-navy) !important; }
  .lamilka-mobile-contact svg { width: 24px !important; height: 24px !important; }
  .lamilka-mobile-links { display: flex !important; padding: 12px !important; flex-direction: column !important; gap: 4px !important; }
  .lamilka-mobile-link { box-sizing: border-box !important; display: flex !important; min-height: 48px !important; padding: 12px 16px !important; border-radius: 6px !important; align-items: center !important; color: var(--lm-exact-navy) !important; font: 500 15px/1.4 var(--lm-exact-body) !important; text-decoration: none !important; }
  .lamilka-mobile-link:hover,
  .lamilka-mobile-link:focus-visible,
  .lamilka-mobile-link.is-active { background: rgba(15,27,61,.05) !important; }
}

@media (max-width: 900px) {
  .lamilka-detail { padding: 20px 12px 100px !important; }
  .lamilka-detail__grid { display: block !important; max-width: 768px !important; }
  .lamilka-detail__booking { position: static !important; width: 100% !important; margin-top: 24px !important; }
  .lamilka-detail h1 { font-size: 34px !important; }
  .lamilka-detail h1 span { font-size: 24px !important; }
}

@media (max-width: 767px) {
  html { scroll-padding-top: 72px !important; }
  .lamilka-site-header-spacer { height: 64px !important; }

  /* Homepage mobile header overlays hero exactly as the source. */
  body.lamilka-home .lamilka-site-header {
    background: transparent !important;
    border-bottom-color: transparent !important;
    color: #fff !important;
  }
  body.lamilka-home .lamilka-site-header::before {
    position: absolute !important;
    inset: 0 !important;
    z-index: -1 !important;
    display: block !important;
    content: "" !important;
    background: linear-gradient(to bottom, rgba(0,0,0,.45), rgba(0,0,0,.15), transparent) !important;
    opacity: 1 !important;
  }
  body.lamilka-home .lamilka-site-header-spacer { display: none !important; }
  body.lamilka-home .lamilka-site-logo__dark { display: none !important; }
  body.lamilka-home .lamilka-site-logo__white { display: block !important; }
  body.lamilka-home .lamilka-menu-toggle { color: #fff !important; }
  body.lamilka-home .lamilka-site-header.is-mobile-sticky,
  body.lamilka-home .lamilka-site-header.is-mobile-menu-open { background: rgba(255,255,255,.97) !important; border-bottom-color: var(--lm-exact-border) !important; box-shadow: 0 6px 18px rgba(15,27,61,.12) !important; }
  body.lamilka-home .lamilka-site-header.is-mobile-sticky::before,
  body.lamilka-home .lamilka-site-header.is-mobile-menu-open::before { opacity: 0 !important; }
  body.lamilka-home .lamilka-site-header.is-mobile-sticky .lamilka-site-logo__dark,
  body.lamilka-home .lamilka-site-header.is-mobile-menu-open .lamilka-site-logo__dark { display: block !important; }
  body.lamilka-home .lamilka-site-header.is-mobile-sticky .lamilka-site-logo__white,
  body.lamilka-home .lamilka-site-header.is-mobile-menu-open .lamilka-site-logo__white { display: none !important; }
  body.lamilka-home .lamilka-site-header.is-mobile-sticky .lamilka-menu-toggle,
  body.lamilka-home .lamilka-site-header.is-mobile-menu-open .lamilka-menu-toggle { color: var(--lm-exact-navy) !important; }

  /* Exact Lovable mobile crop — fixes WP's slightly zoomed image. */
  .lamilka-home-hero {
    height: 88vh !important;
    min-height: 600px !important;
    max-height: none !important;
  }
  .lamilka-home-hero > picture > img {
    object-fit: cover !important;
    object-position: center top !important;
    transform: none !important;
  }
  .lamilka-home-hero-overlay {
    background: linear-gradient(to bottom, rgba(15,27,61,.45) 0%, rgba(15,27,61,.14) 35%, rgba(15,27,61,.04) 65%, rgba(15,27,61,.30) 100%) !important;
  }
  .lamilka-home-hero-content { padding: calc(64px + 3%) 36px 180px !important; justify-content: flex-start !important; }

  .lamilka-detail { padding: 16px 12px 112px !important; }
  .lamilka-detail__grid { max-width: 100% !important; }
  .lamilka-detail__crumb { margin: 12px 0 16px !important; text-align: center !important; }
  .lamilka-detail h1 { font-size: 30px !important; text-align: center !important; }
  .lamilka-detail h1 span { display: block !important; margin-top: 4px !important; font-size: 22px !important; }
  .lamilka-detail__prices,
  .lamilka-detail__availability { justify-content: center !important; text-align: center !important; }

  /* Mobile feature grid uses source column-first placement. */
  .lamilka-detail__features {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 0 !important;
    padding: 10px 12px !important;
    font-size: 12px !important;
  }
  .lamilka-detail__features > span {
    min-height: 42px !important;
    padding: 8px 10px !important;
    border: 0 !important;
    white-space: normal !important;
    text-align: center !important;
  }
  .lamilka-detail__features > span::after { display: none !important; content: none !important; }
  .lamilka-detail__features > span:nth-child(1) { order: 1 !important; }
  .lamilka-detail__features > span:nth-child(2) { order: 3 !important; }
  .lamilka-detail__features > span:nth-child(3) { order: 2 !important; }
  .lamilka-detail__features > span:nth-child(4) { order: 4 !important; }
  .lamilka-detail__features > span:nth-child(1),
  .lamilka-detail__features > span:nth-child(3) { border-bottom: 1px solid var(--lm-exact-border) !important; }
  .lamilka-detail__features > span:nth-child(1),
  .lamilka-detail__features > span:nth-child(2) { border-right: 1px solid var(--lm-exact-border) !important; }
  .lamilka-detail__features .lamilka-tour-information-icon,
  .lamilka-detail__features svg { width: 15px !important; height: 15px !important; flex-basis: 15px !important; }

  .lamilka-detail__pills { gap: 7px !important; margin-top: 10px !important; }
  .lamilka-detail__pills > span { min-height: 30px !important; padding: 4px 8px !important; font-size: 11.5px !important; }

  .lamilka-detail__section,
  .lamilka-detail__faq { margin-top: 24px !important; }
  .lamilka-detail__section > h2,
  .lamilka-detail__faq > h2 { margin-bottom: 12px !important; font-size: 21px !important; }
  .lamilka-detail__list-copy { font-size: 15px !important; }

  .lamilka-detail__booking { padding: 12px !important; }
  .lamilka-detail__booking h2 { font-size: 26px !important; }
  .lamilka-detail__counter { grid-template-columns: minmax(0,1fr) 38px 38px 38px !important; }
  .lamilka-detail__counter button,
  .lamilka-detail__counter output { width: 38px !important; height: 38px !important; }

  .lamilka-tour-card__body { padding: 10px !important; }
  .lamilka-tour-card__title { min-height: 34px !important; max-height: 34px !important; font-size: 14px !important; }
  .lamilka-tour-card__title-subtitle { font-size: 14px !important; }
  .lamilka-tour-card__divider { margin: 8px 0 !important; }
  .lamilka-tour-card__features { gap: 4px !important; }
  .lamilka-tour-card__features > span { min-height: 44px !important; gap: 4px !important; font-size: 9px !important; }
  .lamilka-tour-card__features i { width: 24px !important; height: 24px !important; }
  .lamilka-tour-card__cta { min-height: 35px !important; padding: 8px 12px !important; font-size: 10px !important; }

  .lamilka-gallery-lightbox__shell { padding: 64px 12px 112px !important; justify-content: center !important; }
  .lamilka-gallery-lightbox__media { width: 100% !important; max-width: 100% !important; aspect-ratio: 4/3 !important; }
  .lamilka-gallery-lightbox__close { top: 10px !important; right: 12px !important; width: 40px !important; height: 40px !important; }
  .lamilka-gallery-lightbox__arrow { top: auto !important; bottom: 62px !important; width: 40px !important; height: 40px !important; transform: none !important; }
  .lamilka-gallery-lightbox__arrow--previous { left: calc(50% - 50px) !important; }
  .lamilka-gallery-lightbox__arrow--next { right: calc(50% - 50px) !important; }
  .lamilka-gallery-lightbox__arrow svg { width: 24px !important; height: 24px !important; }
  .lamilka-gallery-lightbox__thumbnails { bottom: 8px !important; justify-content: flex-start !important; padding: 0 12px !important; }
  .lamilka-gallery-lightbox__thumbnails button { flex-basis: 64px !important; width: 64px !important; height: 48px !important; }

  .lamilka-tours__faq-inner { padding: 48px 20px 64px !important; }
  .lamilka-tours__faq h2 { font-size: 30px !important; }
  .lamilka-tours__faq-list { margin-top: 24px !important; }
  .lamilka-tours__faq-list button { padding: 17px 18px !important; font-size: 15px !important; }
  .lamilka-tours__faq-list p { padding: 0 18px 17px !important; font-size: 14px !important; }

  .lamilka-certificate-band { padding: 24px 16px 32px !important; }
  .lamilka-certificate-inner { max-width: 448px !important; box-shadow: none !important; outline: 0 !important; }
  .lamilka-footer-grid { grid-template-columns: 1fr !important; gap: 32px !important; padding: 40px 16px !important; }
  .lamilka-footer-bottom { flex-direction: column !important; align-items: flex-start !important; padding: 16px !important; }
}

@media (min-width: 1280px) {
  .lamilka-menu-toggle,
  .lamilka-mobile-panel { display: none !important; }
}

/* Shared SVG checks used outside tour section lists. */
.lamilka-home-trust-bar .lamilka-detail__list-svg,
.lamilka-detail__pickup .lamilka-detail__list-svg,
.lamilka-detail__eligibility .lamilka-detail__list-svg {
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px !important;
  color: currentColor !important;
  stroke-width: 3 !important;
}
.lamilka-detail__list-svg { display: block !important; width: 16px !important; height: 16px !important; flex: 0 0 16px !important; }
.lamilka-detail__list-svg--included { color: var(--lm-exact-navy) !important; stroke-width: 3 !important; }
.lamilka-detail__list-svg--excluded { color: #ef1717 !important; stroke-width: 2.5 !important; }
.lamilka-detail__list-svg--info { color: var(--lm-exact-navy) !important; stroke-width: 2.25 !important; }
.lamilka-detail__pickup-icon { display: inline-flex !important; width: 16px !important; height: 16px !important; flex: 0 0 16px !important; }
.lamilka-detail__eligibility { display: flex !important; align-items: flex-start !important; gap: 8px !important; }

/* Lovable mobile sticky booking controls. */
@media (max-width: 767px) {
  .lamilka-detail__mobile-booking-bar {
    position: fixed !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 99999 !important;
    display: block !important;
    width: 100% !important;
    padding-bottom: env(safe-area-inset-bottom) !important;
    background: #fff !important;
    box-shadow: 0 -4px 15px rgba(0,0,0,.10) !important;
  }
  .lamilka-detail__mobile-booking-bar > div {
    display: flex !important;
    padding: 12px 16px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 15px !important;
  }
  .lamilka-detail__mobile-whatsapp {
    display: inline-flex !important;
    width: 72px !important;
    height: 72px !important;
    flex: 0 0 72px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: #25d366 !important;
    color: #fff !important;
    box-shadow: 0 10px 20px rgba(15,27,61,.16) !important;
  }
  .lamilka-detail__mobile-whatsapp svg { width: 36px !important; height: 36px !important; }
  .lamilka-detail__mobile-booking-cta {
    display: inline-flex !important;
    width: auto !important;
    min-width: 184px !important;
    height: 64px !important;
    padding: 0 32px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 16px !important;
    background: var(--lm-exact-navy) !important;
    color: #fff !important;
    box-shadow: 0 10px 20px rgba(15,27,61,.16) !important;
    font: 800 18px/1.2 var(--lm-exact-display) !important;
    letter-spacing: .04em !important;
    text-decoration: none !important;
  }
}

/* Homepage compact trust row uses the same rounded Lucide check. */
.lamilka-home-trust-bar span { display: inline-flex !important; align-items: center !important; gap: 8px !important; }
.lamilka-home-trust-bar span > b { font: inherit !important; }

/* Homepage hero source details. */
@media (min-width: 768px) {
  .lamilka-home-hero { min-height: calc(100vh - 72px) !important; height: auto !important; }
  .lamilka-home-hero-content {
    max-width: 1400px !important;
    min-height: calc(100vh - 72px) !important;
    height: auto !important;
    padding: 2px 24px 48px !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    transform: translateY(-10%) !important;
  }
  .lamilka-home-hero-content::before {
    position: absolute !important;
    inset: 0 !important;
    z-index: -1 !important;
    content: "" !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;
    pointer-events: none !important;
  }
  .lamilka-home-hero-overlay { display: none !important; }
  .lamilka-home-eyebrow {
    display: inline-flex !important;
    margin: 0 0 12px !important;
    padding: 4px 20px !important;
    border-radius: 999px !important;
    background: rgba(0,0,0,.45) !important;
    color: #fff !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.30) !important;
    font: 600 13px/1.4 var(--lm-exact-body) !important;
    letter-spacing: .12em !important;
    text-shadow: 0 1px 3px rgba(0,0,0,.60) !important;
    text-transform: uppercase !important;
    transform: scale(1.2,1.1) !important;
    transform-origin: center !important;
  }
  .lamilka-home-hero h1 {
    margin: 0 !important;
    color: #fff !important;
    font: 300 52px/1.15 var(--lm-exact-display) !important;
    letter-spacing: -.025em !important;
    text-align: center !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;
    white-space: nowrap !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-content > p {
    margin: 4px 0 0 !important;
    color: #ffd166 !important;
    font: 400 28px/1.3 var(--lm-exact-body) !important;
    letter-spacing: .025em !important;
    text-align: center !important;
    text-shadow: 0 2px 14px rgba(0,0,0,.65), 0 1px 4px rgba(0,0,0,.55) !important;
    white-space: nowrap !important;
  }
  .lamilka-home-scroll {
    position: absolute !important;
    right: 0 !important;
    bottom: 16px !important;
    left: 0 !important;
    z-index: 3 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 4px !important;
    color: rgba(255,255,255,.85) !important;
    font: 300 12px/1.3 var(--lm-exact-body) !important;
    letter-spacing: .25em !important;
    text-transform: uppercase !important;
  }
}

@media (max-width: 767px) {
  .lamilka-home-hero-overlay {
    background: linear-gradient(to bottom, rgba(0,0,0,.40) 0%, rgba(0,0,0,.12) 22%, rgba(0,0,0,0) 45%, rgba(0,0,0,0) 75%, rgba(0,0,0,.28) 100%) !important;
  }
  .lamilka-home-hero-content {
    top: calc(4rem + 3%) !important;
    bottom: auto !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 20px !important;
    gap: 8px !important;
  }
  .lamilka-home-hero-content::before {
    position: absolute !important;
    top: -8px !important;
    right: 64px !important;
    bottom: 0 !important;
    left: -8px !important;
    z-index: -1 !important;
    content: "" !important;
    background: radial-gradient(ellipse at top left, rgba(0,0,0,.55) 0%, rgba(0,0,0,.35) 40%, rgba(0,0,0,0) 75%) !important;
    pointer-events: none !important;
  }
  .lamilka-home-eyebrow {
    align-self: flex-start !important;
    margin: 0 !important;
    padding: 2px 10px !important;
    border-radius: 999px !important;
    background: rgba(0,0,0,.35) !important;
    color: #fff !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.30) !important;
    font: 600 10px/1.4 var(--lm-exact-body) !important;
    letter-spacing: .12em !important;
    text-shadow: 0 1px 3px rgba(0,0,0,.50) !important;
    text-transform: uppercase !important;
  }
  .lamilka-home-hero h1 {
    margin: 0 !important;
    color: #fff !important;
    font: 700 2.1rem/1.1 var(--lm-exact-body) !important;
    letter-spacing: -.025em !important;
    text-align: left !important;
    text-shadow: 0 0 14px rgba(255,255,255,.35), 0 2px 12px rgba(0,0,0,.55), 0 1px 3px rgba(0,0,0,.45) !important;
    white-space: normal !important;
  }
  .lamilka-home-hero h1 span { display: block !important; }
  .lamilka-home-hero h1 strong { display: block !important; color: #f0d89a !important; font-weight: 700 !important; text-shadow: 0 0 18px rgba(232,201,122,.55), 0 2px 12px rgba(0,0,0,.55), 0 1px 3px rgba(0,0,0,.45) !important; }
  .lamilka-home-hero-content > p {
    margin: -4px 0 0 !important;
    color: #ffd166 !important;
    font: 600 .96rem/1.35 var(--lm-exact-body) !important;
    text-align: left !important;
    text-shadow: 0 1px 6px rgba(0,0,0,.55), 0 1px 2px rgba(0,0,0,.45) !important;
  }
  .lamilka-home-mobile-actions {
    position: absolute !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 10 !important;
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 8px !important;
    padding: 0 20px 28px !important;
  }
  .lamilka-home-action {
    display: inline-flex !important;
    min-height: 64px !important;
    padding: 12px 16px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    border-radius: 12px !important;
    color: #1e293b !important;
    background: #c5a059 !important;
    box-shadow: 0 10px 22px rgba(0,0,0,.20) !important;
    font: 600 17px/1.2 var(--lm-exact-body) !important;
    text-decoration: none !important;
    white-space: nowrap !important;
  }
  .lamilka-home-action:nth-child(2) { background: #00b4d8 !important; color: #fff !important; }
  .lamilka-home-action__icon { display: inline-flex !important; width: 36px !important; height: 36px !important; flex: 0 0 36px !important; align-items: center !important; justify-content: center !important; }
  .lamilka-home-action:nth-child(2) .lamilka-home-action__icon { width: 26px !important; height: 26px !important; flex-basis: 26px !important; }
  .lamilka-home-mobile-trust {
    grid-column: 1 / -1 !important;
    display: grid !important;
    min-height: 54px !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    align-items: center !important;
    border-radius: 12px !important;
    background: rgba(15,27,61,.70) !important;
    color: #fff !important;
    font: 600 14px/1.25 var(--lm-exact-body) !important;
    text-align: center !important;
  }
  .lamilka-home-mobile-trust span + span { border-left: 1px solid rgba(255,255,255,.45) !important; }
}
