/**
 * RSTQ Modern 1.1.9.2 — sitewide vehicle card hover / tap.
 * Same interior crossfade as /fleet/ (1.1.5 car-img-interior, map in
 * inc/fleet-interiors.php) extended to .rstq-occ-carousel cards ("From the
 * RSTQ fleet") on area / event / occasion pages, plus lift, teal/gold glow,
 * gentle zoom, gold title + "View vehicle →" with arrow nudge, gold arrows.
 * Lift uses the independent `translate` property so it composes with the
 * fleet-bounce `transform` keyframes (no clash). CSS only; gdlr-car untouched.
 */
:root { --rstq-ch-gold: #e6ae48; --rstq-ch-teal: #1eacc7; }

/* ---------- gdlr-car cards (/fleet/, home, related) ---------- */
html body .limoking-item.limoking-car-item.limoking-modern-car {
  transition: translate 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
}
html body .limoking-item.limoking-car-item.limoking-modern-car:hover,
html body .limoking-item.limoking-car-item.limoking-modern-car:focus-within,
html body .limoking-item.limoking-car-item.limoking-modern-car:active,
html body .limoking-item.limoking-car-item.limoking-modern-car.rstq-ch-on {
  translate: 0 -6px;
  border-color: var(--rstq-ch-gold) !important;
  box-shadow: 0 10px 26px rgba(30, 172, 199, 0.35), 0 0 0 1px rgba(230, 174, 72, 0.45) !important;
}
.limoking-car-item .car-thumbnail > img { transition: opacity 0.35s ease, scale 0.3s ease !important; }
.limoking-car-item:hover .car-thumbnail > img,
.limoking-car-item:focus-within .car-thumbnail > img,
.limoking-car-item .car-thumbnail.is-tapped > img { scale: 1.05; }
html body .limoking-item.limoking-car-item .car-title a { transition: color 0.3s ease; }
html body .limoking-item.limoking-car-item:hover .car-title a,
.limoking-car-item:focus-within .car-title a,
.limoking-car-item:active .car-title a,
.limoking-car-item.rstq-ch-on .car-title a { color: var(--rstq-ch-gold) !important; }

/* ---------- Child-theme fleet carousel cards ---------- */
.rstq-occ-carousel-slide { transition: background 0.3s ease; -webkit-tap-highlight-color: transparent; }
.rstq-occ-carousel-slide .rstq-card-media {
  position: relative; display: block; overflow: hidden; border-radius: 6px;
  border: 1px solid var(--rstq-ch-teal); background: #000;
  transition: translate 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.rstq-occ-carousel-slide .rstq-card-media img {
  display: block; width: 100%; aspect-ratio: 540 / 326; object-fit: cover; border-radius: 0;
  transition: opacity 0.4s ease, scale 0.3s ease;
}
.rstq-occ-carousel-slide .rstq-card-media img.rstq-int {
  position: absolute; inset: 0; height: 100%; opacity: 0; pointer-events: none;
}
.rstq-occ-carousel-slide .rstq-occ-car-name,
.rstq-occ-carousel-slide .rstq-occ-car-hint { transition: color 0.3s ease, translate 0.3s ease; }
.rstq-occ-carousel-slide .rstq-occ-car-hint { display: inline-block; }

.rstq-occ-carousel-slide:hover .rstq-card-media,
.rstq-occ-carousel-slide:focus-visible .rstq-card-media,
.rstq-occ-carousel-slide:active .rstq-card-media,
.rstq-occ-carousel-slide.rstq-ch-on .rstq-card-media {
  translate: 0 -6px; border-color: var(--rstq-ch-gold);
  box-shadow: 0 10px 24px rgba(30, 172, 199, 0.35), 0 0 0 1px rgba(230, 174, 72, 0.45);
}
.rstq-occ-carousel-slide:hover .rstq-card-media img,
.rstq-occ-carousel-slide:focus-visible .rstq-card-media img,
.rstq-occ-carousel-slide.rstq-ch-on .rstq-card-media img { scale: 1.05; }
.rstq-occ-carousel-slide.rstq-has-int:hover img.rstq-int,
.rstq-occ-carousel-slide.rstq-has-int:focus-visible img.rstq-int,
.rstq-occ-carousel-slide.rstq-has-int.rstq-ch-on img.rstq-int { opacity: 1; }
.rstq-occ-carousel-slide.rstq-has-int:hover img.rstq-ext,
.rstq-occ-carousel-slide.rstq-has-int:focus-visible img.rstq-ext,
.rstq-occ-carousel-slide.rstq-has-int.rstq-ch-on img.rstq-ext { opacity: 0; }
.rstq-occ-carousel-slide:hover .rstq-occ-car-name,
.rstq-occ-carousel-slide:hover .rstq-occ-car-hint,
.rstq-occ-carousel-slide:focus-visible .rstq-occ-car-name,
.rstq-occ-carousel-slide:focus-visible .rstq-occ-car-hint,
.rstq-occ-carousel-slide.rstq-ch-on .rstq-occ-car-name,
.rstq-occ-carousel-slide.rstq-ch-on .rstq-occ-car-hint { color: var(--rstq-ch-gold); }
.rstq-occ-carousel-slide:hover .rstq-occ-car-hint,
.rstq-occ-carousel-slide:focus-visible .rstq-occ-car-hint,
.rstq-occ-carousel-slide.rstq-ch-on .rstq-occ-car-hint { translate: 4px 0; }

.rstq-occ-carousel-btn { transition: color 0.3s ease, border-color 0.3s ease, background 0.3s ease; }
.rstq-occ-carousel-btn:hover, .rstq-occ-carousel-btn:focus-visible, .rstq-occ-carousel-btn:active {
  color: var(--rstq-ch-gold) !important; border-color: var(--rstq-ch-gold) !important;
  background: rgba(230, 174, 72, 0.12) !important;
}

/* ---------- Menu background highlight (adds to 1.1.8.0 gold text) ---------- */
/* Desktop: limoking spaces items with 50px padding-left, so the tint is a
   second background layer sized to the label only (keeps the gold underline). */
@media only screen and (min-width: 768px) {
  html body .limoking-main-menu > li:hover > a,
  html body .limoking-main-menu > li:focus-within > a,
  html body .limoking-main-menu > li > a:focus-visible,
  html body .limoking-main-menu > li > a:active {
    background-image: linear-gradient(#e6ae48, #e6ae48), linear-gradient(rgba(30, 172, 199, 0.18), rgba(30, 172, 199, 0.18)) !important;
    background-repeat: no-repeat !important;
    background-position: calc(25px + 50%) calc(1em + 10px), 38px 0 !important;
    background-size: calc((100% - 50px) * 0.9) 2px, calc(100% - 26px) 26px !important;
    border-radius: 6px;
  }
  html body .limoking-main-menu > li.current-menu-item:hover > a,
  html body .limoking-main-menu > li.current_page_item:hover > a,
  html body .limoking-main-menu > li.current-menu-item > a:active { background-size: 0 2px, calc(100% - 26px) 26px !important; }
}
.limoking-main-menu .sub-menu a:hover,
.limoking-main-menu .sub-menu a:focus-visible,
.limoking-main-menu .sub-menu a:active,
.limoking-main-menu .sf-mega a:hover,
.limoking-main-menu .sf-mega a:focus-visible,
.limoking-main-menu .sf-mega a:active { background-color: rgba(30, 172, 199, 0.18) !important; color: var(--rstq-ch-gold) !important; }
#rstq-mobile-h-nav .rstq-h-nav-scroll > li > a,
#rstq-mobile-h-nav .rstq-sub-list a { border-radius: 999px; transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease; }
#rstq-mobile-h-nav .rstq-sub-list a { border-radius: 6px; }
#rstq-mobile-h-nav .rstq-h-nav-scroll > li > a:hover,
#rstq-mobile-h-nav .rstq-h-nav-scroll > li > a:focus-visible,
#rstq-mobile-h-nav .rstq-h-nav-scroll > li > a:active,
#rstq-mobile-h-nav .rstq-h-nav-scroll > li.is-hover > a,
#rstq-mobile-h-nav .rstq-sub-list a:hover,
#rstq-mobile-h-nav .rstq-sub-list a:focus-visible,
#rstq-mobile-h-nav .rstq-sub-list a:active { background-color: rgba(30, 172, 199, 0.18) !important; color: var(--rstq-ch-gold) !important; }
/* current item keeps its teal/white marker (rules in menu-hover.css win on color) */
#rstq-mobile-h-nav .rstq-h-nav-scroll > li.current-menu-item > a:hover,
#rstq-mobile-h-nav .rstq-h-nav-scroll > li.is-current > a:active { color: #fff !important; }

@media (prefers-reduced-motion: reduce) {
  html body .limoking-item.limoking-car-item.limoking-modern-car,
  .limoking-car-item .car-thumbnail > img,
  .rstq-occ-carousel-slide *,
  .rstq-occ-carousel-btn { transition: none !important; }
  html body .limoking-item.limoking-car-item.limoking-modern-car:hover, html body .limoking-item.limoking-car-item.limoking-modern-car:focus-within,
  html body .limoking-item.limoking-car-item.limoking-modern-car:active, html body .limoking-item.limoking-car-item.limoking-modern-car.rstq-ch-on,
  .rstq-occ-carousel-slide .rstq-card-media, .rstq-occ-carousel-slide .rstq-card-media img,
  .limoking-car-item .car-thumbnail > img, .rstq-occ-carousel-slide .rstq-occ-car-hint { translate: none !important; scale: none !important; }
}
