/* Jetcar Kromh V18 — state integrity and review-sheet stability.
   Loaded last to neutralise legacy conflicts without changing business logic. */

:root{
  --v18-model-fade:460ms;
  --v18-review-actions:82px;
}

/* --------------------------------------------------------------------------
   Homepage model gallery: exactly one image can remain visually active.
   -------------------------------------------------------------------------- */
.home-v11 .jk-model-visual .collection-image{
  content-visibility:visible!important;
  opacity:0!important;
  visibility:hidden;
  pointer-events:none!important;
  z-index:0;
  transform:translate3d(var(--model-enter-x,0),0,0) scale(1.022)!important;
  transition:
    opacity var(--v18-model-fade) var(--v17-ease-standard),
    transform 720ms var(--v17-ease-emphasis),
    filter 360ms var(--v17-ease-standard),
    visibility 0s linear var(--v18-model-fade)!important;
}
.home-v11 .jk-model-visual .collection-image.active{
  opacity:1!important;
  visibility:visible;
  pointer-events:auto!important;
  z-index:1;
  transform:none!important;
  transition-delay:0s!important;
}
.home-v11 .jk-showroom-stage.is-model-loading .jk-model-visual::before{
  box-shadow:inset 0 -2px 0 rgba(169,104,61,.34),inset 0 0 0 1px rgba(255,255,255,.06);
}
.home-v11 .jk-model-rail .model-tab.is-pending{
  color:#fff!important;
  background:rgba(255,255,255,.035)!important;
}
.home-v11 .jk-model-rail .model-tab.is-pending::before{
  transform:scaleY(.55)!important;
  opacity:.65!important;
}
.home-v11 .jk-model-visual[aria-busy="true"]{cursor:progress}

/* --------------------------------------------------------------------------
   Review request: hero, independently scrollable details, fixed action row.
   This avoids the previous overflow:hidden trap on mobile.
   -------------------------------------------------------------------------- */
.review-dialog{
  overflow:hidden!important;
  overscroll-behavior:contain;
}
.review-card{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  overflow:hidden!important;
  max-height:min(92svh,920px)!important;
  padding:0!important;
}
.review-hero{
  grid-row:1;
  min-height:clamp(250px,35svh,340px)!important;
  flex:none;
}
.review-content{
  grid-row:2;
  min-height:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y!important;
  scrollbar-gutter:stable;
  padding:24px 28px 30px!important;
}
.review-lines{margin-bottom:0!important}
.review-actions{
  grid-row:3;
  position:relative!important;
  inset:auto!important;
  z-index:6!important;
  display:flex!important;
  justify-content:flex-end!important;
  gap:10px!important;
  margin:0!important;
  padding:14px 18px calc(14px + env(safe-area-inset-bottom))!important;
  background:rgba(251,249,244,.98)!important;
  border-top:1px solid var(--jk-hairline)!important;
  backdrop-filter:blur(14px);
  box-shadow:0 -12px 30px rgba(4,15,24,.06);
}
.review-content:focus-visible{outline:2px solid var(--v17-copper);outline-offset:-3px}
.review-line{contain:layout paint}

@media(max-width:767px){
  .review-dialog{
    height:100dvh!important;
    max-height:100dvh!important;
  }
  .review-card{
    width:100%!important;
    height:100dvh!important;
    max-height:100dvh!important;
    padding:0!important;
  }
  .review-hero{
    min-height:clamp(220px,31svh,300px)!important;
    max-height:none!important;
  }
  .review-content{
    padding:19px 15px 24px!important;
    scroll-padding-bottom:24px;
  }
  .review-actions{
    grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;
    padding:10px 10px calc(10px + env(safe-area-inset-bottom))!important;
  }
  .review-actions .button{
    min-height:48px!important;
    width:100%!important;
    min-width:0!important;
    padding-inline:8px!important;
    font-size:8px!important;
    white-space:normal;
    line-height:1.25;
  }
}

@media(max-width:370px){
  .review-hero{min-height:205px!important}
  .review-hero-copy{bottom:14px!important}
  .review-content{padding-inline:12px!important}
  .review-actions{gap:6px!important;padding-inline:7px!important}
}

@media(prefers-reduced-motion:reduce){
  .home-v11 .jk-model-visual .collection-image{
    transition:opacity 100ms linear,visibility 0s linear 100ms!important;
    transform:none!important;
  }
  .home-v11 .jk-model-visual .collection-image.active{transition-delay:0s!important}
}
