/* ==========================================================================
   Maintenance & Performance — page 3385
   Scoped to body.eg-maint, added by eg-maint-assets.php.
   Tokens and component idiom match eg-account / eg-fleet / eg-storage / eg-autospa.
   ========================================================================== */

body.eg-maint {
  --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 ---- */
body.eg-maint,
body.eg-maint #main, body.eg-maint #main-content,
body.eg-maint .site-main, body.eg-maint .page-content { background: var(--eg-bg) !important; }
body.eg-maint #main .elementor-section,
body.eg-maint #main .elementor-container,
body.eg-maint #main .elementor-column,
body.eg-maint #main .elementor-widget-wrap { background-color: transparent !important; }
body.eg-maint { overflow-x: hidden; }
body.eg-maint #main img { max-width: 100%; height: auto; }

/* ---- type ---- */
body.eg-maint #main h1, body.eg-maint #main h2, body.eg-maint #main h3,
body.eg-maint #main h4, body.eg-maint #main h5, body.eg-maint #main h6,
body.eg-maint #main .elementor-heading-title,
body.eg-maint #main .dbl-title, body.eg-maint #main .dbl__title { color: var(--eg-ink) !important; }
body.eg-maint #main p, body.eg-maint #main li,
body.eg-maint #main .elementor-widget-text-editor { color: var(--eg-body) !important; }
body.eg-maint #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-maint #main .dbl__subtitle:after,
body.eg-maint #main .dbl__subtitle:before { display:none !important; }
body.eg-maint #main, body.eg-maint #main div, body.eg-maint #main span,
body.eg-maint #main label, body.eg-maint #main strong { color: var(--eg-body); }
body.eg-maint #main a { color: var(--eg-lime); }

body.eg-maint .eg-mt-eyebrow {
  color: var(--eg-lime) !important; font-size:11px; font-weight:700;
  letter-spacing:.22em; text-transform:uppercase; margin:0 0 14px;
}

/* ---- buttons ---- */
body.eg-maint .eg-mt-btn {
  display:inline-block; padding:15px 30px; font-size:12px; font-weight:800;
  letter-spacing:.16em; text-transform:uppercase; text-decoration:none !important;
  border-radius:0; border:1px solid transparent; transition:background-color .25s,color .25s,border-color .25s;
}
body.eg-maint .eg-mt-btn--primary { background:var(--eg-lime) !important; color:#0A0A0A !important; border-color:var(--eg-lime) !important; }
body.eg-maint .eg-mt-btn--primary:hover { background:#FFF !important; border-color:#FFF !important; }
body.eg-maint .eg-mt-btn--ghost { background:transparent !important; color:var(--eg-ink) !important; border-color:var(--eg-line-2) !important; }
body.eg-maint .eg-mt-btn--ghost:hover { border-color:var(--eg-lime) !important; color:var(--eg-lime) !important; }
body.eg-maint #main .wgl-button,
body.eg-maint #main .wgl-button:after {
  background-color:var(--eg-lime) !important; border-color:var(--eg-lime) !important; border-radius:0 !important;
}
body.eg-maint #main .wgl-button .wgl-button-text,
body.eg-maint #main .wgl-button .button-content-wrapper { color:#0A0A0A !important; }
body.eg-maint #main .wgl-button:hover,
body.eg-maint #main .wgl-button:hover:after { background-color:#FFF !important; border-color:#FFF !important; }

/* ==========================================================================
   Performance block
   ========================================================================== */
body.eg-maint .eg-mt-perf {
  display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:44px;
  align-items:start; background:var(--eg-panel);
  border:1px solid var(--eg-line); border-top:3px solid var(--eg-lime);
  padding:46px 42px;
}
body.eg-maint .eg-mt-perf__h {
  font-size:40px !important; line-height:1.1; letter-spacing:-.015em;
  margin:0 0 20px !important; color:var(--eg-ink) !important;
}
body.eg-maint .eg-mt-perf__body {
  font-size:16px !important; line-height:1.7; color:var(--eg-body) !important; margin:0 0 16px !important;
}
body.eg-maint .eg-mt-perf__cta { display:flex; gap:12px; flex-wrap:wrap; margin-top:26px; }
body.eg-maint .eg-mt-perf__stats {
  list-style:none !important; margin:0 !important; padding:0 !important;
  display:grid; gap:1px; background:var(--eg-line); border:1px solid var(--eg-line);
}
body.eg-maint .eg-mt-perf__stats li {
  background:var(--eg-panel-2); padding:24px 24px; margin:0 !important; list-style:none !important;
}
body.eg-maint .eg-mt-stat__n {
  display:block; font-size:30px; font-weight:800; color:var(--eg-lime) !important;
  letter-spacing:-.01em; line-height:1.1; margin-bottom:6px;
}
body.eg-maint .eg-mt-stat__l {
  display:block; font-size:11px; font-weight:700; letter-spacing:.18em;
  text-transform:uppercase; color:var(--eg-mute) !important;
}

/* ==========================================================================
   Brands — this block exists to be found, so it stays readable and text-first
   ========================================================================== */
body.eg-maint .eg-mt-brands { padding-top:16px; }
body.eg-maint .eg-mt-brands__h {
  font-size:36px !important; line-height:1.14; letter-spacing:-.015em; margin:0 0 14px !important;
}
body.eg-maint .eg-mt-brands__lead {
  font-size:16px !important; line-height:1.7; max-width:760px; margin:0 0 34px !important;
}
body.eg-maint .eg-mt-brands__group { margin-bottom:34px; }
body.eg-maint .eg-mt-brands__gh {
  font-size:12px !important; font-weight:800; letter-spacing:.18em; text-transform:uppercase;
  color:var(--eg-lime) !important; margin:0 0 14px !important;
  padding-bottom:10px; border-bottom:1px solid var(--eg-line);
}
body.eg-maint .eg-mt-brands__list {
  list-style:none !important; margin:0 !important; padding:0 !important;
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px;
  background:var(--eg-line); border:1px solid var(--eg-line);
}
body.eg-maint .eg-mt-brand {
  background:var(--eg-panel); padding:22px 22px; margin:0 !important; list-style:none !important;
}
body.eg-maint .eg-mt-brand__n {
  font-size:17px !important; color:var(--eg-ink) !important; margin:0 0 8px !important; letter-spacing:-.01em;
}
body.eg-maint .eg-mt-brand__b {
  font-size:13.5px !important; line-height:1.62; color:var(--eg-body) !important; margin:0 !important;
}
body.eg-maint .eg-mt-brands__foot { margin-top:6px !important; font-size:15px !important; }

/* ==========================================================================
   Value / dealership comparison
   ========================================================================== */
body.eg-maint .eg-mt-value {
  border-top:1px solid var(--eg-line); padding-top:44px; margin-top:20px;
}
body.eg-maint .eg-mt-value__h {
  font-size:34px !important; line-height:1.16; letter-spacing:-.015em; margin:0 0 30px !important; max-width:840px;
}
body.eg-maint .eg-mt-value__list {
  list-style:none !important; margin:0 0 30px !important; padding:0 !important;
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px;
  background:var(--eg-line); border:1px solid var(--eg-line);
}
body.eg-maint .eg-mt-value__item {
  background:var(--eg-panel); padding:26px 26px; margin:0 !important; list-style:none !important;
}
body.eg-maint .eg-mt-value__t { font-size:17px !important; color:var(--eg-ink) !important; margin:0 0 9px !important; }
body.eg-maint .eg-mt-value__b { font-size:14.5px !important; line-height:1.66; color:var(--eg-body) !important; margin:0 !important; }

/* ==========================================================================
   Existing theme widgets on the page
   ========================================================================== */
body.eg-maint #main .wgl-info-box,
body.eg-maint #main .eael-infobox {
  background:var(--eg-panel) !important; border:1px solid var(--eg-line) !important;
  border-radius:0 !important; padding:26px 24px !important; height:100%;
}
body.eg-maint #main .wgl-info-box .info-box_title,
body.eg-maint #main .eael-infobox .title { color:var(--eg-ink) !important; }
body.eg-maint #main .wgl-info-box p,
body.eg-maint #main .eael-infobox p { color:var(--eg-body) !important; }
body.eg-maint #main .eael-infobox i,
body.eg-maint #main .wgl-info-box i { color:var(--eg-lime) !important; }

/* FAQ accordion */
body.eg-maint #main .eael-accordion-list,
body.eg-maint #main .eael-adv-accordion .eael-accordion-list {
  background:var(--eg-panel) !important; border:1px solid var(--eg-line) !important;
  border-radius:0 !important; margin-bottom:1px !important;
}
body.eg-maint #main .eael-accordion-header,
body.eg-maint #main .eael-accordion-header * { color:var(--eg-ink) !important; }
body.eg-maint #main .eael-accordion-content,
body.eg-maint #main .eael-accordion-content * { color:var(--eg-body) !important; }
body.eg-maint #main .eael-accordion-header .fa,
body.eg-maint #main .eael-accordion-header i { color:var(--eg-lime) !important; }

/* Contact block widgets that colour themselves */
body.eg-maint #main .wgl-working-hours,
body.eg-maint #main .wgl-working-hours *,
body.eg-maint #main .working-item_hours { color:var(--eg-body) !important; }
body.eg-maint #main .working-item_day { color:var(--eg-ink) !important; }
body.eg-maint #main .working-item { border-bottom:1px solid var(--eg-line) !important; padding:8px 0; }

/* Form */
body.eg-maint #main .wpforms-field-label,
body.eg-maint #main .wpforms-field-sublabel { color:var(--eg-mute) !important; }
body.eg-maint #main .wpforms-field input[type="text"],
body.eg-maint #main .wpforms-field input[type="email"],
body.eg-maint #main .wpforms-field input[type="tel"],
body.eg-maint #main .wpforms-field select,
body.eg-maint #main .wpforms-field textarea {
  background:rgba(255,255,255,.05) !important; border:1px solid var(--eg-line-2) !important;
  border-radius:0 !important; color:var(--eg-ink) !important;
}
body.eg-maint #main .wpforms-field input::placeholder,
body.eg-maint #main .wpforms-field textarea::placeholder { color:#6E6E6E !important; }
body.eg-maint #main .wpforms-image-choices-item,
body.eg-maint #main .wpforms-image-choices-item label,
body.eg-maint #main .wpforms-image-choices-item label *,
body.eg-maint #main .wpforms-field-label-inline,
body.eg-maint #main .wpforms-field-label-inline * { color:#EDEDED !important; }
body.eg-maint #main .wpforms-submit {
  background:var(--eg-lime) !important; color:#0A0A0A !important; border:0 !important;
  border-radius:0 !important; font-weight:800 !important; letter-spacing:.16em; text-transform:uppercase;
}
body.eg-maint #main .wpforms-submit:hover { background:#FFF !important; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1024px) {
  body.eg-maint .eg-mt-perf { grid-template-columns:minmax(0,1fr); gap:30px; padding:34px 28px; }
  body.eg-maint .eg-mt-perf__h { font-size:32px !important; }
  body.eg-maint .eg-mt-brands__list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.eg-maint .eg-mt-brands__h { font-size:29px !important; }
}
@media (max-width:720px) {
  body.eg-maint .eg-mt-perf { padding:28px 20px; }
  body.eg-maint .eg-mt-perf__h { font-size:26px !important; }
  body.eg-maint .eg-mt-brands__list { grid-template-columns:minmax(0,1fr); }
  body.eg-maint .eg-mt-value__list { grid-template-columns:minmax(0,1fr); }
  body.eg-maint .eg-mt-value__h { font-size:25px !important; }
  body.eg-maint .eg-mt-btn { display:block; text-align:center; }
  body.eg-maint .eg-mt-perf__cta { flex-direction:column; }
}

/* ==========================================================================
   Button text colour — measured fix
   The catch-all that stops uncoloured text inheriting near-black also reached
   INTO the theme's buttons, painting their labels #C9C9C9 on the lime fill:
   1.38:1, effectively unreadable. Colouring .wgl-button-text alone was not
   enough because this button nests its label in a plain <span>. Cover every
   descendant of a filled button instead.
   Ghost buttons are our own .eg-mt-btn--ghost class, so they are unaffected.
   ========================================================================== */
body.eg-maint #main .wgl-button,
body.eg-maint #main .wgl-button *,
body.eg-maint #main .elementor-button,
body.eg-maint #main .elementor-button * { color: #0A0A0A !important; }
body.eg-maint #main .wgl-button:hover,
body.eg-maint #main .wgl-button:hover * { color: #0A0A0A !important; }

/* The "Schedule Service" buttons are Essential Addons info-box buttons
   (.eael-infobox-button > span.infobox-button-text), not .wgl-button — which is
   why the previous fix missed them. They take the theme's lime accent as their
   background, and the page's catch-all text colour was painting the label
   #C9C9C9 on top of it: 1.38:1. */
body.eg-maint #main .eael-infobox-button,
body.eg-maint #main .eael-infobox-button *,
body.eg-maint #main .infobox-button-text,
body.eg-maint #main a.eael-infobox-button:hover,
body.eg-maint #main a.eael-infobox-button:hover * { color: #0A0A0A !important; }

/* The FAQ accordion kept Essential Addons' white background while the page turned
   its text white — 1.00:1, the questions were invisible. Colour the header and the
   panel themselves rather than relying on an ancestor. */
body.eg-maint #main .eael-adv-accordion .eael-accordion-list,
body.eg-maint #main .eael-adv-accordion .eael-accordion-header,
body.eg-maint #main .eael-adv-accordion .eael-accordion-content,
body.eg-maint #main .eael-accordion-header,
body.eg-maint #main .eael-accordion-content {
  background-color: var(--eg-panel) !important;
  border-color: var(--eg-line) !important;
}
body.eg-maint #main .eael-accordion-header,
body.eg-maint #main .eael-accordion-header * { color: var(--eg-ink) !important; }
body.eg-maint #main .eael-accordion-content,
body.eg-maint #main .eael-accordion-content * { color: var(--eg-body) !important; }
body.eg-maint #main .eael-accordion-header:hover,
body.eg-maint #main .eael-accordion-header:hover * { color: var(--eg-lime) !important; }
body.eg-maint #main .eael-accordion-header .fa-toggle,
body.eg-maint #main .eael-accordion-header i,
body.eg-maint #main .eael-accordion-header svg { color: var(--eg-lime) !important; fill: var(--eg-lime) !important; }

/* ==========================================================================
   Brand grid — replaces the divider technique
   The cards were laid out as a 1px grid gap over a light background, which
   reads well only when every row is full. Groups of four and five in three
   columns left one or two EMPTY CELLS showing that background as large grey
   rectangles. Cards now carry their own border and sit in a normal gap, so a
   short row simply ends and the page background shows through.
   ========================================================================== */
body.eg-maint .eg-mt-brands__list {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(276px, 1fr)) !important;
  gap: 14px !important;
  background: none !important;
  border: 0 !important;
}
body.eg-maint .eg-mt-brand {
  background: var(--eg-panel) !important;
  border: 1px solid var(--eg-line) !important;
  border-left: 2px solid var(--eg-lime) !important;
  padding: 22px 22px 20px !important;
  transition: border-color .25s, background .25s;
}
body.eg-maint .eg-mt-brand:hover {
  background: var(--eg-panel-2) !important;
  border-color: var(--eg-line-2) !important;
  border-left-color: var(--eg-lime) !important;
}
body.eg-maint .eg-mt-brands__group { margin-bottom: 30px; }
body.eg-maint .eg-mt-brands__gh { margin-bottom: 16px !important; }

/* Same technique used elsewhere on this page — make both robust to short rows. */
body.eg-maint .eg-mt-value__list {
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
  gap: 14px !important; background: none !important; border: 0 !important;
}
body.eg-maint .eg-mt-value__item {
  background: var(--eg-panel) !important;
  border: 1px solid var(--eg-line) !important;
  border-left: 2px solid var(--eg-lime) !important;
}
body.eg-maint .eg-mt-perf__stats { gap: 12px !important; background: none !important; border: 0 !important; }
body.eg-maint .eg-mt-perf__stats li {
  background: var(--eg-panel-2) !important;
  border: 1px solid var(--eg-line) !important;
  border-left: 2px solid var(--eg-lime) !important;
}
@media (max-width: 720px) {
  body.eg-maint .eg-mt-brands__list,
  body.eg-maint .eg-mt-value__list { grid-template-columns: minmax(0,1fr) !important; }
}

/* Brand names on the hub now link to their own pages. */
body.eg-maint .eg-mt-brand__n a { color: var(--eg-ink) !important; text-decoration: none !important; transition: color .2s; }
body.eg-maint .eg-mt-brand__n a:hover { color: var(--eg-lime) !important; }
body.eg-maint .eg-mt-brand:hover .eg-mt-brand__n a { color: var(--eg-lime) !important; }
