/* =====================================================================
   prod-stability.css — last-word anti-CLS / anti-kayma for production
   Loaded after design-standard + components-premium.
   ===================================================================== */

/* Header: fixed vertical rhythm — scroll must NOT shrink chrome */
html body .cs-sticky-header-1 {
  min-height: 72px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  background-color: rgba(255, 255, 255, 0.96) !important;
}

html body .cs-sticky-header-1:not(.is-menu-open) {
  max-height: 88px !important;
}

html body .cs-sticky-header-1 .container,
html body .cs-sticky-header-1 .container-2,
html body .cs-sticky-header-1.is-scrolled .container,
html body .cs-sticky-header-1.is-scrolled .container-2 {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

/* Soft-light shell lock (no flat→gradient flash after deferred sheets) */
html {
  background: #f3f6fb !important;
  color-scheme: light !important;
}

html body {
  background-color: #f3f6fb !important;
  background-image:
    radial-gradient(90% 60% at 0% 0%, rgba(122, 90, 248, 0.08) 0%, transparent 55%),
    radial-gradient(80% 50% at 100% 0%, rgba(15, 158, 150, 0.10) 0%, transparent 50%),
    linear-gradient(180deg, #f5f7fc 0%, #f0faf7 48%, #f3f6fb 100%) !important;
  color: #1a1f36 !important;
  overflow-x: clip !important;
}

/* Containers — stable gutter (matches ui-harmony) */
html body .container,
html body .container-2 {
  max-width: 1280px !important;
  padding-left: clamp(14px, 4vw, 28px) !important;
  padding-right: clamp(14px, 4vw, 28px) !important;
  box-sizing: border-box !important;
}

/* Hero / owl: reserved height before JS init */
html body .section-hero .mainSlider,
html body .cs-homepage-sec-1 .mainSlider,
html body .hero-pr .mainSlider,
html body .slider-container-1 {
  min-height: clamp(420px, 72dvh, 820px) !important;
}

html body .halfSlider1,
html body .imageFourSlider1,
html body .blogSlider1 {
  min-height: 180px !important;
}

/* Review carousel: content-driven height (no empty tall cards) */
html body .halfSlider1 {
  min-height: 0 !important;
}

html body .halfSlider1 .owl-stage-outer,
html body .imageFourSlider1 .owl-stage-outer,
html body .blogSlider1 .owl-stage-outer,
html body .mainSlider .owl-stage-outer {
  min-height: inherit;
}

/* Rent cards — image slot reserved before lazy load */
html body .cs-car-box-1 .img-div-1 {
  min-height: 148px !important;
  aspect-ratio: 16 / 10;
  overflow: hidden !important;
}

html body .cs-car-box-1 .img-div-1 img,
html body .cs-car-box-1 .lazy-vehicle-img {
  width: 100% !important;
  height: 148px !important;
  object-fit: contain !important;
  display: block !important;
}

/* Search / date controls — no wrap jump */
html body .cs-loc-date-d-1 .cs-icon-box-1,
html body .cs-rentcar-section-1 .cs-icon-box-1,
html body #jsdatetimes1 {
  min-height: 48px !important;
}

/* Language select size (screen-master) — keep reserved */
html body #headerLanguageOption {
  width: 72px !important;
  min-width: 72px !important;
  height: 40px !important;
  min-height: 40px !important;
}

/* Prevent late mobile-performance from dark-flashing header */
html body .cs-sticky-header-1,
html body .cs-mobile-menu-d-1.active {
  background-color: #ffffff !important;
}

html body.p-home .cs-sticky-header-1.header-transparent:not(.is-scrolled) {
  background-color: transparent !important;
  background-image: none !important;
}

/* FAQ search — stable grid */
html body.page-faq .cs-banner-sec-1 .cs-search-box {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  min-height: 52px !important;
}

/* Kill horizontal page jump from rare overflow */
html, body {
  max-width: 100%;
}
