/* ==========================================================================
   Front page — site treatment + Club Endless block
   Scoped to body.eg-home, added by eg-home.php.
   The hero (Revolution Slider) is deliberately untouched.
   ========================================================================== */

body.eg-home {
  --eg-bg:#0A0A0A; --eg-panel:#111; --eg-panel-2:#151515;
  --eg-line:rgba(255,255,255,.10); --eg-line-2:rgba(255,255,255,.18);
  --eg-ink:#FFF; --eg-body:#C9C9C9; --eg-mute:#8E8E8E; --eg-lime:#BDFF3E;
}

/* ---- shell: darken the white sections, leave the slider alone ---- */
body.eg-home,
body.eg-home #main, body.eg-home #main-content,
body.eg-home .site-main, body.eg-home .page-content { background: var(--eg-bg) !important; }
body.eg-home #main .elementor-section:not(.elementor-element-e0f779a),
body.eg-home #main .elementor-container,
body.eg-home #main .elementor-column,
body.eg-home #main .elementor-widget-wrap { background-color: transparent !important; }
body.eg-home { overflow-x: hidden; }
body.eg-home #main img { max-width: 100%; height: auto; }

/* ---- type ---- */
body.eg-home #main h1, body.eg-home #main h2, body.eg-home #main h3,
body.eg-home #main h4, body.eg-home #main h5, body.eg-home #main h6,
body.eg-home #main .elementor-heading-title,
body.eg-home #main .dbl-title, body.eg-home #main .dbl__title { color: var(--eg-ink) !important; }
body.eg-home #main p, body.eg-home #main li,
body.eg-home #main .elementor-widget-text-editor { color: var(--eg-body) !important; }
body.eg-home #main .dbl__subtitle {
  color: var(--eg-lime) !important; background: transparent !important;
  letter-spacing:.22em; text-transform:uppercase; font-size:11px !important; font-weight:700;
}
body.eg-home #main .dbl__subtitle:after, body.eg-home #main .dbl__subtitle:before { display:none !important; }
body.eg-home #main, body.eg-home #main div, body.eg-home #main span,
body.eg-home #main label, body.eg-home #main strong { color: var(--eg-body); }

/* ---- existing widgets ---- */
body.eg-home #main .wgl-info-box, body.eg-home #main .eael-infobox {
  background: var(--eg-panel) !important; border: 1px solid var(--eg-line) !important;
  border-radius: 0 !important;
}
body.eg-home #main .wgl-info-box .info-box_title,
body.eg-home #main .eael-infobox .title { color: var(--eg-ink) !important; }
body.eg-home #main .wgl-info-box p, body.eg-home #main .eael-infobox p { color: var(--eg-body) !important; }
body.eg-home #main .wgl-info-box i, body.eg-home #main .eael-infobox i { color: var(--eg-lime) !important; }

/* Buttons — the theme paints the fill with :after, so colour both. */
body.eg-home #main .wgl-button, body.eg-home #main .wgl-button:after {
  background-color: var(--eg-lime) !important; border-color: var(--eg-lime) !important; border-radius: 0 !important;
}
body.eg-home #main .wgl-button, body.eg-home #main .wgl-button * { color: #0A0A0A !important; }
body.eg-home #main .wgl-button:hover, body.eg-home #main .wgl-button:hover:after { background-color:#FFF !important; border-color:#FFF !important; }
body.eg-home #main .eael-infobox-button, body.eg-home #main .eael-infobox-button *,
body.eg-home #main .infobox-button-text { color:#0A0A0A !important; }

/* Inventory cards */
body.eg-home #main .product, body.eg-home #main .wgl-portfolio-item,
body.eg-home #main .elementor-loop-item {
  background: var(--eg-panel) !important; border: 1px solid var(--eg-line) !important;
}
body.eg-home #main .price, body.eg-home #main .woocommerce-Price-amount { color: var(--eg-lime) !important; }

/* ==========================================================================
   Club Endless
   ========================================================================== */
body.eg-home .eg-hc { padding: 6px 0 10px; }
body.eg-home .eg-hc__inner {
  display: grid; grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr);
  gap: 46px; align-items: center;
}
body.eg-home .eg-hc__eyebrow {
  color: var(--eg-lime) !important; font-size: 11px; font-weight: 700;
  letter-spacing: .22em; text-transform: uppercase; margin: 0 0 14px !important;
}
body.eg-home .eg-hc__h {
  font-size: 42px !important; line-height: 1.1; letter-spacing: -.018em;
  margin: 0 0 18px !important; color: var(--eg-ink) !important;
}
body.eg-home .eg-hc__lead {
  font-size: 16.5px !important; line-height: 1.7; color: var(--eg-body) !important;
  margin: 0 0 26px !important;
}
body.eg-home .eg-hc__points { list-style: none !important; margin: 0 0 28px !important; padding: 0 !important; }
body.eg-home .eg-hc__points li {
  list-style: none !important; margin: 0 !important;
  padding: 14px 0 14px 20px; border-top: 1px solid var(--eg-line); position: relative;
}
body.eg-home .eg-hc__points li::before {
  content: ""; position: absolute; left: 0; top: 22px; width: 9px; height: 2px; background: var(--eg-lime);
}
body.eg-home .eg-hc__pt { font-size: 16px !important; color: var(--eg-ink) !important; margin: 0 0 5px !important; }
body.eg-home .eg-hc__pb { font-size: 14.5px !important; line-height: 1.6; color: var(--eg-body) !important; margin: 0 !important; }
body.eg-home .eg-hc__cta { display: flex; gap: 12px; flex-wrap: wrap; }
body.eg-home .eg-hc__btn {
  display: inline-block; padding: 15px 30px; font-size: 12px; font-weight: 800;
  letter-spacing: .16em; text-transform: uppercase; text-decoration: none !important;
  border: 1px solid transparent; border-radius: 0; transition: background-color .25s,color .25s,border-color .25s;
}
body.eg-home .eg-hc__btn--primary { background: var(--eg-lime) !important; color: #0A0A0A !important; border-color: var(--eg-lime) !important; }
body.eg-home .eg-hc__btn--primary:hover { background:#FFF !important; border-color:#FFF !important; }
body.eg-home .eg-hc__btn--ghost { background: transparent !important; color: var(--eg-ink) !important; border-color: var(--eg-line-2) !important; }
body.eg-home .eg-hc__btn--ghost:hover { border-color: var(--eg-lime) !important; color: var(--eg-lime) !important; }

/* Photo collage: tall portrait on the left, three landscape tiles beside it. */
body.eg-home .eg-hc__grid {
  display: grid; grid-template-columns: repeat(2, minmax(0,1fr));
  grid-template-rows: repeat(2, 1fr); gap: 12px; min-height: 460px;
}
body.eg-home .eg-hc__fig { margin: 0 !important; overflow: hidden; border: 1px solid var(--eg-line); background: var(--eg-panel); }
body.eg-home .eg-hc__fig img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
body.eg-home .eg-hc__fig:hover img { transform: scale(1.04); }
body.eg-home .eg-hc__fig--0 { grid-row: 1 / span 2; }   /* the portrait */

@media (max-width: 1024px) {
  body.eg-home .eg-hc__inner { grid-template-columns: minmax(0,1fr); gap: 32px; }
  body.eg-home .eg-hc__h { font-size: 33px !important; }
  body.eg-home .eg-hc__grid { min-height: 380px; }
}
@media (max-width: 720px) {
  body.eg-home .eg-hc__h { font-size: 27px !important; }
  body.eg-home .eg-hc__grid { grid-template-columns: minmax(0,1fr); grid-template-rows: none; min-height: 0; }
  body.eg-home .eg-hc__fig--0 { grid-row: auto; }
  body.eg-home .eg-hc__fig { aspect-ratio: 3 / 2; }
  body.eg-home .eg-hc__btn { display: block; text-align: center; }
  body.eg-home .eg-hc__cta { flex-direction: column; }
}

/* ==========================================================================
   Inventory carousel — measured fix
   Swiper equalises every slide to the tallest one. Seventeen of the eighteen
   cards had a 247px image; the 2015 Huracán's featured image rendered at 659px
   because the loop template never constrains image height and that photo is a
   different aspect ratio. Result: every card was forced to 803px while its
   content occupied ~349px, leaving ~450px of dead space.
   It was invisible while the section was white-on-white. Darkening the page
   exposed it — the bug pre-dates the redesign.

   Constraining the image to a fixed ratio makes every card equal and correct,
   and is robust to whatever the hourly WP All Import feed sends next.
   ========================================================================== */
body.eg-home .swiper-slide .elementor-widget-image img,
body.eg-home .swiper-slide .elementor-widget-theme-post-featured-image img,
body.eg-home .swiper-slide figure img,
body.eg-home .swiper-slide a > img {
  width: 100% !important;
  aspect-ratio: 16 / 10;
  height: auto !important;
  max-height: 260px !important;
  object-fit: cover !important;
  display: block;
}

/* The vehicle title sat on a pale gradient at the foot of the photo, white on
   near-white. Give it its own dark ground rather than relying on the image. */
body.eg-home .swiper-slide h1, body.eg-home .swiper-slide h2,
body.eg-home .swiper-slide h3, body.eg-home .swiper-slide h4,
body.eg-home .swiper-slide .elementor-heading-title {
  color: var(--eg-ink) !important;
  text-shadow: none !important;
}
body.eg-home .swiper-slide .elementor-widget-heading > .elementor-widget-container {
  background: var(--eg-panel) !important;
  padding: 14px 16px 4px !important;
}
/* Any pale overlay the theme paints across the bottom of the photo. */
body.eg-home .swiper-slide .elementor-widget-image .elementor-widget-container::after,
body.eg-home .swiper-slide figure::after { display: none !important; }

/* Card shell */
body.eg-home .swiper-slide { background: var(--eg-panel) !important; border: 1px solid var(--eg-line); }
body.eg-home .swiper-slide > .elementor-section { height: auto !important; }
body.eg-home .swiper-wrapper { align-items: flex-start !important; }
body.eg-home .swiper-slide .price,
body.eg-home .swiper-slide .woocommerce-Price-amount { color: var(--eg-lime) !important; }

/* ==========================================================================
   "Service at Your Fingertips" (section d2f52aa)
   This section carries a light photograph as its background — a white car shot.
   Clearing the background COLOUR does not touch a background IMAGE, so darkening
   the page left near-white text sitting on a near-white photo. Unreadable.

   The photo is worth keeping as texture, so it gets a scrim rather than removal,
   and the content is lifted above it. The icons are black line art drawn for a
   white background and are inverted so they survive on the dark ground.
   ========================================================================== */
body.eg-home #main .elementor-element-d2f52aa { position: relative; }
body.eg-home #main .elementor-element-d2f52aa::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10,10,10,.90) 0%, rgba(10,10,10,.86) 50%, rgba(10,10,10,.93) 100%);
  z-index: 0;
  pointer-events: none;
}
body.eg-home #main .elementor-element-d2f52aa > .elementor-container,
body.eg-home #main .elementor-element-d2f52aa > .elementor-column,
body.eg-home #main .elementor-element-d2f52aa .elementor-widget-wrap { position: relative; z-index: 1; }

body.eg-home #main .elementor-element-d2f52aa h1,
body.eg-home #main .elementor-element-d2f52aa h2,
body.eg-home #main .elementor-element-d2f52aa h3,
body.eg-home #main .elementor-element-d2f52aa h4,
body.eg-home #main .elementor-element-d2f52aa .elementor-heading-title,
body.eg-home #main .elementor-element-d2f52aa .dbl-title { color: #FFFFFF !important; }
body.eg-home #main .elementor-element-d2f52aa p,
body.eg-home #main .elementor-element-d2f52aa li,
body.eg-home #main .elementor-element-d2f52aa .elementor-widget-text-editor { color: #C9C9C9 !important; }

/* Black line-art icons drawn for a white background. */
body.eg-home #main .elementor-element-d2f52aa img,
body.eg-home #main .elementor-element-d2f52aa .elementor-icon svg,
body.eg-home #main .elementor-element-d2f52aa .wgl-info-box img,
body.eg-home #main .elementor-element-d2f52aa .eael-infobox img {
  filter: invert(1) brightness(1.6);
}
body.eg-home #main .elementor-element-d2f52aa .elementor-icon i,
body.eg-home #main .elementor-element-d2f52aa .elementor-icon svg path { color: #BDFF3E !important; fill: currentColor; }
