/* ==========================================================================
   Endless Garage — Member Account (page 1556, /my-account/)
   --------------------------------------------------------------------------
   All CSS for the account area lives here, NOT in an Elementor HTML widget:
   WordPress strips <style> tags out of widget content when the saving user
   lacks unfiltered_html, which leaves raw CSS printing on the page as text.

   Loaded only on page 1556 (see wgl_child_scripts in functions.php). Because
   WooCommerce / theme / Elementor stylesheets are enqueued far later in the
   document than the child theme, layout and colour declarations here need
   !important to win the cascade.

   The page renders in two states off the same post:
     body:not(.logged-in)  -> WooCommerce login / lost-password forms
     body.logged-in        -> account dashboard + endpoint content
   Every rule below is scoped to .page-id-1556 so nothing leaks off this page.
   ========================================================================== */

:root {
  --eg-bg:      #0A0A0A;
  --eg-panel:   #111111;
  --eg-panel-2: #151515;
  --eg-line:    rgba(255,255,255,.12);
  --eg-line-2:  rgba(255,255,255,.20);
  --eg-lime:    #BDFF3E;
  --eg-ink:     #FFFFFF;
  --eg-body:    #C7C7C7;
  --eg-mute:    #8A8A8A;
  --eg-huracan: url("https://endlessgarage.com/wp-content/uploads/2026/08/eg-huracan-bg-2048x1365.jpg");
}

/* --------------------------------------------------------------------------
   1. Page shell
   The theme renders the account page on a white content area. The whole
   surface goes black so the sections below sit on brand, not on white.
   -------------------------------------------------------------------------- */
/* Note: full-bleed is achieved by neutralising the theme's fixed-width
   container below, NOT by a 100vw break-out. A 100vw hack would require
   overflow-x:hidden on the body, which silently kills position:sticky on the
   account navigation rail. */
body.page-id-1556 {
  background: var(--eg-bg) !important;
}
body.page-id-1556 #main,
body.page-id-1556 .site-main,
body.page-id-1556 #main-content,
body.page-id-1556 .page_content_wrap,
body.page-id-1556 #wrapper {
  background: var(--eg-bg) !important;
}
body.page-id-1556 #main {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
/* The theme container adds side padding we re-apply ourselves inside sections. */
body.page-id-1556 #main > .wgl-container {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.page-id-1556 #main > .wgl-container > .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
body.page-id-1556 #main-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

/* Kill the two legacy Elementor spacer sections — the new layout owns its
   own rhythm and the spacers only add dead white gaps. */
body.page-id-1556 .elementor-element-03e29f9,
body.page-id-1556 .elementor-element-dadc30b {
  display: none !important;
}

/* --------------------------------------------------------------------------
   2. Shared primitives
   -------------------------------------------------------------------------- */
/* Every section band spans the (now full-width) content area; the inner
   Elementor container re-centres copy at the boxed width and supplies the
   gutter the theme container used to provide. */
body.page-id-1556 .eg-ma-hero > .elementor-container,
body.page-id-1556 .eg-ma-quick > .elementor-container,
body.page-id-1556 .eg-account-panel > .elementor-container {
  padding-left: 26px;
  padding-right: 26px;
}

body.page-id-1556 .eg-eyebrow {
  display: inline-block;
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--eg-lime);
  font-weight: 700;
  margin: 0 0 16px;
  line-height: 1.4;
}
body.page-id-1556 .eg-rule {
  width: 52px;
  height: 2px;
  background: var(--eg-lime);
  margin: 0 0 24px;
}

/* Buttons ---------------------------------------------------------------- */
body.page-id-1556 .eg-btn {
  display: inline-block;
  padding: 14px 26px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 0 !important;
  border: 1px solid var(--eg-lime);
  background: var(--eg-lime);
  color: #0A0A0A !important;
  transition: background .28s, color .28s, border-color .28s;
}
body.page-id-1556 .eg-btn:hover {
  background: transparent;
  color: var(--eg-lime) !important;
}
body.page-id-1556 .eg-btn--ghost {
  background: transparent;
  color: var(--eg-lime) !important;
  border-color: rgba(189,255,62,.45);
}
body.page-id-1556 .eg-btn--ghost:hover {
  background: var(--eg-lime);
  color: #0A0A0A !important;
  border-color: var(--eg-lime);
}

/* --------------------------------------------------------------------------
   3. Hero surface (Huracán)
   The photo is bright in the upper-left (the illuminated logo) and across the
   car, so a directional scrim keeps every piece of copy on near-solid black
   and leaves the car readable on the right.
   -------------------------------------------------------------------------- */
body.page-id-1556 .eg-hero {
  position: relative;
  background-color: #060606 !important;
  background-image:
    linear-gradient(90deg, rgba(8,8,8,.97) 0%, rgba(8,8,8,.92) 44%, rgba(8,8,8,.60) 58%, rgba(8,8,8,.30) 74%, rgba(8,8,8,.58) 100%),
    linear-gradient(180deg, rgba(8,8,8,.78) 0%, rgba(8,8,8,.12) 34%, rgba(8,8,8,.46) 100%),
    var(--eg-huracan) !important;
  background-size: cover, cover, cover !important;
  background-position: center, center, 62% 55% !important;
  background-repeat: no-repeat !important;
  border-bottom: 1px solid rgba(189,255,62,.28);
}
/* Fine top hairline in lime — reads as a club "plate" edge. */
body.page-id-1556 .eg-hero::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 2px;
  background: linear-gradient(90deg, var(--eg-lime) 0%, rgba(189,255,62,.25) 42%, transparent 78%);
  z-index: 2;
}
body.page-id-1556 .eg-hero > .elementor-container {
  position: relative;
  z-index: 3;
}

/* The account panel carries .eg-hero so the Huracán backs the LOGIN screen.
   Once a member is signed in the photo belongs to the member hero above, and
   this band drops back to flat black — one photo per page, used with restraint. */
body.page-id-1556.logged-in .eg-account-panel.eg-hero {
  background-image: none !important;
  background-color: var(--eg-bg) !important;
  border-bottom: 0 !important;
}
body.page-id-1556.logged-in .eg-account-panel.eg-hero::before { display: none !important; }

/* --------------------------------------------------------------------------
   4. LOGGED OUT — login / lost password
   Layout: club copy on the left, the WooCommerce form as a card on the right.
   -------------------------------------------------------------------------- */
body.page-id-1556:not(.logged-in) .eg-account-panel {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body.page-id-1556:not(.logged-in) .eg-account-panel > .elementor-container {
  padding-top: 150px;
  padding-bottom: 110px;
}
/* Two-up split. The aside widget and the WooCommerce widget are siblings in
   the same Elementor column, so the column's widget-wrap becomes the grid. */
@media (min-width: 1025px) {
  body.page-id-1556:not(.logged-in) .eg-account-panel .elementor-widget-wrap {
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    align-items: center;
    gap: 64px;
  }
  body.page-id-1556:not(.logged-in) .eg-account-panel .elementor-widget-wrap > .elementor-element {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
  }
}

/* Left: club copy --------------------------------------------------------- */
body.page-id-1556 .eg-login-aside h1 {
  margin: 0 0 22px;
  font-size: clamp(38px, 4.4vw, 60px);
  line-height: 1.04;
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--eg-ink);
}
body.page-id-1556 .eg-login-aside .eg-lead {
  margin: 0 0 30px;
  max-width: 46ch;
  font-size: 17px;
  line-height: 1.75;
  color: var(--eg-body);
}
body.page-id-1556 .eg-login-aside .eg-list {
  list-style: none;
  margin: 0 0 34px;
  padding: 0;
}
body.page-id-1556 .eg-login-aside .eg-list li {
  position: relative;
  padding-left: 22px;
  margin-bottom: 12px;
  color: var(--eg-body);
  font-size: 15px;
  line-height: 1.6;
}
body.page-id-1556 .eg-login-aside .eg-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  width: 12px;
  height: 1px;
  background: var(--eg-lime);
}
body.page-id-1556 .eg-login-aside .eg-list strong {
  color: var(--eg-ink);
  font-weight: 700;
}
body.page-id-1556 .eg-login-aside .eg-join {
  margin: 0;
  padding-top: 26px;
  border-top: 1px solid var(--eg-line);
  font-size: 14px;
  color: var(--eg-mute);
  letter-spacing: .01em;
}
body.page-id-1556 .eg-login-aside .eg-join a {
  color: var(--eg-lime) !important;
  text-decoration: none;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 12px;
  border-bottom: 1px solid rgba(189,255,62,.4);
  padding-bottom: 2px;
  margin-left: 6px;
  transition: border-color .25s;
}
body.page-id-1556 .eg-login-aside .eg-join a:hover {
  border-color: var(--eg-lime);
}

/* Right: the WooCommerce form as a card ----------------------------------- */
body.page-id-1556:not(.logged-in) .e-my-account-tab > .woocommerce {
  background: rgba(9,9,9,.90);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border: 1px solid var(--eg-line);
  border-top: 3px solid var(--eg-lime);
  padding: 46px 44px 40px;
}
/* WooCommerce core / the theme give form.login its own white panel, border and
   rounded corners. On a black card that reads as a pasted-in box, so the form
   element itself is flattened and the card supplies the frame instead. */
body.page-id-1556 .woocommerce form.login,
body.page-id-1556 .woocommerce form.register,
body.page-id-1556 .woocommerce .woocommerce-form-login,
body.page-id-1556 .woocommerce .woocommerce-ResetPassword,
body.page-id-1556 .woocommerce .woocommerce-EditAccountForm,
body.page-id-1556 .woocommerce .woocommerce-address-fields {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* "Login" / "Lost your password?" heading -> uppercase micro-label. */
body.page-id-1556:not(.logged-in) .e-my-account-tab > .woocommerce > h2 {
  margin: 0 0 30px !important;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--eg-line);
  font-size: 12px !important;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--eg-lime) !important;
}

/* --------------------------------------------------------------------------
   5. WooCommerce form controls (login, reset, edit-account, addresses)
   The Elementor widget sets white fields with black borders; on a black page
   that reads as a generic form. These become dark, sharp, lime-on-focus.
   -------------------------------------------------------------------------- */
body.page-id-1556 .woocommerce form .form-row,
body.page-id-1556 .woocommerce .form-row {
  padding: 0 !important;
  margin: 0 0 22px !important;
}
body.page-id-1556 .woocommerce form .form-row label,
body.page-id-1556 .woocommerce .form-row label,
body.page-id-1556 .woocommerce-EditAccountForm label,
body.page-id-1556 .woocommerce-address-fields label {
  display: block !important;
  margin-bottom: 10px !important;
  font-size: 11px !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  color: var(--eg-mute) !important;
  line-height: 1.5 !important;
}
body.page-id-1556 .woocommerce .form-row .required,
body.page-id-1556 .woocommerce .required {
  color: var(--eg-lime) !important;
  border: 0 !important;
  text-decoration: none !important;
}
body.page-id-1556 .woocommerce .input-text,
body.page-id-1556 .woocommerce input[type="text"],
body.page-id-1556 .woocommerce input[type="email"],
body.page-id-1556 .woocommerce input[type="tel"],
body.page-id-1556 .woocommerce input[type="password"],
body.page-id-1556 .woocommerce select,
body.page-id-1556 .woocommerce textarea,
body.page-id-1556 .select2-container--default .select2-selection--single {
  width: 100% !important;
  padding: 15px 16px !important;
  background: #060606 !important;
  border: 1px solid var(--eg-line-2) !important;
  border-radius: 0 !important;
  color: var(--eg-ink) !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  box-shadow: none !important;
  transition: border-color .25s, background .25s;
}
body.page-id-1556 .woocommerce .input-text:focus,
body.page-id-1556 .woocommerce input:focus,
body.page-id-1556 .woocommerce select:focus,
body.page-id-1556 .woocommerce textarea:focus {
  border-color: var(--eg-lime) !important;
  background: #0B0B0B !important;
  outline: none !important;
}
body.page-id-1556 .woocommerce ::placeholder { color: #5E5E5E !important; }

/* Remember me + checkbox rows. These selectors have to out-specify the
   uppercase micro-label rule above (.woocommerce .form-row label), so the
   element qualifier and the .woocommerce ancestor are both kept. */
body.page-id-1556 .woocommerce .form-row label.woocommerce-form__label-for-checkbox,
body.page-id-1556 .woocommerce .form-row label.woocommerce-form-login__rememberme,
body.page-id-1556 .woocommerce label.woocommerce-form__label-for-checkbox {
  display: inline-flex !important;
  align-items: center;
  gap: 9px;
  font-size: 13px !important;
  letter-spacing: .04em !important;
  text-transform: none !important;
  font-weight: 400 !important;
  color: var(--eg-body) !important;
  margin: 0 !important;
}
body.page-id-1556 .woocommerce label.woocommerce-form__label-for-checkbox span {
  text-transform: none !important;
  letter-spacing: .04em !important;
  font-size: 13px !important;
  color: var(--eg-body) !important;
}
body.page-id-1556 .woocommerce-form__input-checkbox {
  width: 15px !important;
  height: 15px !important;
  accent-color: var(--eg-lime);
  margin: 0 !important;
}

/* Primary buttons --------------------------------------------------------- */
body.page-id-1556 .woocommerce .button,
body.page-id-1556 .woocommerce button.button,
body.page-id-1556 .woocommerce input.button,
body.page-id-1556 .woocommerce-EditAccountForm .button,
body.page-id-1556 .woocommerce-address-fields .button,
body.page-id-1556 .woocommerce-form-login__submit {
  display: inline-block !important;
  padding: 15px 34px !important;
  background: var(--eg-lime) !important;
  border: 1px solid var(--eg-lime) !important;
  border-radius: 0 !important;
  color: #0A0A0A !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
  transition: background .28s, color .28s !important;
}
body.page-id-1556 .woocommerce .button:hover,
body.page-id-1556 .woocommerce button.button:hover,
body.page-id-1556 .woocommerce input.button:hover,
body.page-id-1556 .woocommerce-form-login__submit:hover {
  background: transparent !important;
  color: var(--eg-lime) !important;
}

/* Login submit row: button and "remember me" on one line.
   The submit row is the only p.form-row WITHOUT .woocommerce-form-row, which
   is a more portable hook than :has() for the same element. */
body.page-id-1556 .woocommerce-form-login p.form-row:not(.woocommerce-form-row) {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px 24px;
  margin-top: 28px !important;
}
body.page-id-1556 .woocommerce-form-login p.form-row:not(.woocommerce-form-row) .woocommerce-form-login__submit {
  order: 2;
}
body.page-id-1556 .woocommerce-LostPassword {
  margin: 22px 0 0 !important;
  padding-top: 20px;
  border-top: 1px solid var(--eg-line);
}
body.page-id-1556 .woocommerce-LostPassword a {
  color: var(--eg-mute) !important;
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 700;
  text-decoration: none;
  transition: color .25s;
}
body.page-id-1556 .woocommerce-LostPassword a:hover { color: var(--eg-lime) !important; }

/* --------------------------------------------------------------------------
   6. LOGGED IN — member hero + Garage Points centrepiece
   -------------------------------------------------------------------------- */
body.page-id-1556 .eg-ma-hero {
  margin-top: 0 !important;
  padding: 0 !important;
}
body.page-id-1556 .eg-ma-hero > .elementor-container {
  padding-top: 132px;
  padding-bottom: 46px;
}
body.page-id-1556 .eg-ma-hero .elementor-widget-wrap { padding: 0 !important; }

/* The legacy "Account Dashboard" H1 */
body.page-id-1556 .eg-ma-hero h1,
body.page-id-1556 .eg-ma-hero .elementor-heading-title {
  margin: 0 !important;
  font-size: clamp(34px, 3.8vw, 52px) !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
  color: var(--eg-ink) !important;
  text-align: left !important;
}
/* Legacy hero widgets superseded by the new eg-ma-hero__intro text widget:
   dc57316 is an empty heading that renders a blank <h2>, 3bf1051 is the old
   centred "Account Dashboard" H1. Both are left in place (so the change is
   reversible from Elementor) and simply not displayed. */
body.page-id-1556 .elementor-element-dc57316,
body.page-id-1556 .elementor-element-3bf1051 { display: none !important; }
/* Legacy spacers inside the hero. */
body.page-id-1556 .eg-ma-hero .elementor-widget-spacer { display: none !important; }

/* The hero deliberately carries no points display. The balance belongs in the
   "Your Account" panel on the dashboard; repeating it here at hero scale read
   as out of place. */
body.page-id-1556 .eg-login-aside p:empty { display: none !important; }

/* --------------------------------------------------------------------------
   7. Quick links (Reserve a Vehicle / Dinner / Service / Storage / Spa / Suite)
   Existing Elementor columns restyled into sharp club cards.
   -------------------------------------------------------------------------- */
body.page-id-1556 .eg-ma-quick {
  margin-top: 0 !important;
  padding: 0 !important;
  background: var(--eg-bg) !important;
  border-bottom: 1px solid var(--eg-line);
}
body.page-id-1556 .eg-ma-quick > .elementor-container {
  padding-top: 56px;
  padding-bottom: 60px;
  display: flex;
  flex-wrap: wrap;
  gap: 1px;
}
body.page-id-1556 .eg-ma-quick .elementor-column {
  width: calc((100% - 5px) / 6) !important;
}
body.page-id-1556 .eg-ma-quick .elementor-widget-wrap {
  padding: 30px 18px 26px !important;
  background: var(--eg-panel);
  border: 1px solid var(--eg-line);
  align-content: flex-start;
  text-align: center;
  transition: background .3s, border-color .3s, transform .3s;
}
body.page-id-1556 .eg-ma-quick .elementor-column:hover .elementor-widget-wrap {
  background: rgba(189,255,62,.07);
  border-color: rgba(189,255,62,.45);
  transform: translateY(-3px);
}
body.page-id-1556 .eg-ma-quick .elementor-widget-spacer { display: none !important; }
body.page-id-1556 .eg-ma-quick .elementor-widget-image { margin: 0 0 14px !important; }
body.page-id-1556 .eg-ma-quick .elementor-widget-image img {
  width: 46px !important;
  height: 46px !important;
  object-fit: contain !important;
  margin: 0 auto !important;
  display: block !important;
}
body.page-id-1556 .eg-ma-quick .elementor-widget-heading { margin: 0 !important; }
body.page-id-1556 .eg-ma-quick h3,
body.page-id-1556 .eg-ma-quick .elementor-heading-title {
  margin: 0 !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  color: var(--eg-ink) !important;
}

/* --------------------------------------------------------------------------
   8. Account area — navigation rail + content
   -------------------------------------------------------------------------- */
body.page-id-1556.logged-in .eg-account-panel { padding: 0 !important; }
body.page-id-1556.logged-in .eg-account-panel > .elementor-container {
  padding-top: 64px;
  padding-bottom: 96px;
}

body.page-id-1556.logged-in .e-my-account-tab > .woocommerce {
  display: grid !important;
  grid-template-columns: 252px minmax(0, 1fr);
  gap: 44px;
  align-items: start;
}
body.page-id-1556.logged-in .e-my-account-tab > .woocommerce::before,
body.page-id-1556.logged-in .e-my-account-tab > .woocommerce::after {
  display: none !important; /* clearfix pseudo-elements become grid items */
}

/* Nav rail ---------------------------------------------------------------- */
body.page-id-1556 .woocommerce-MyAccount-navigation {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  background: var(--eg-panel);
  border: 1px solid var(--eg-line);
  border-top: 3px solid var(--eg-lime);
  padding: 10px 0;
  position: sticky;
  top: 110px;
}
body.page-id-1556 .woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.page-id-1556 .woocommerce-MyAccount-navigation li {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  list-style: none !important;
}
body.page-id-1556 .woocommerce-MyAccount-navigation li::before,
body.page-id-1556 .woocommerce-MyAccount-navigation li::marker { content: none !important; }
body.page-id-1556 .woocommerce-MyAccount-navigation li a {
  position: relative;
  display: block !important;
  padding: 15px 22px 15px 26px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--eg-body) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  transition: color .25s, background .25s, padding-left .25s;
}
body.page-id-1556 .woocommerce-MyAccount-navigation li a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 0;
  background: var(--eg-lime);
  transition: height .28s;
}
body.page-id-1556 .woocommerce-MyAccount-navigation li a:hover {
  color: var(--eg-ink) !important;
  background: rgba(255,255,255,.035) !important;
  padding-left: 30px !important;
}
body.page-id-1556 .woocommerce-MyAccount-navigation li a:hover::before { height: 18px; }
body.page-id-1556 .woocommerce-MyAccount-navigation li.is-active a {
  color: var(--eg-lime) !important;
  background: rgba(189,255,62,.08) !important;
}
body.page-id-1556 .woocommerce-MyAccount-navigation li.is-active a::before { height: 100%; }

/* The Elementor widget draws a 2px LIME rule between every nav item, which
   shouts far louder than anything else on the page. Matched at the same
   specificity Elementor generates and softened to the same hairline used
   throughout the account area. */
body.page-id-1556 .e-my-account-tab .woocommerce .woocommerce-MyAccount-navigation ul li,
body.page-id-1556 .e-my-account-tab .woocommerce .woocommerce-MyAccount-navigation ul li:not(:last-child),
body.page-id-1556 .e-my-account-tab .woocommerce .woocommerce-MyAccount-navigation ul li.is-active {
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
}
body.page-id-1556 .e-my-account-tab .woocommerce .woocommerce-MyAccount-navigation ul li:last-child {
  border-bottom: 0 !important;
}
/* Points / Buy Points read as their own group at the top of the rail. */
body.page-id-1556 .woocommerce-MyAccount-navigation-link--buy-points { margin-bottom: 7px !important; }
body.page-id-1556 .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 7px !important; }
body.page-id-1556 .woocommerce-MyAccount-navigation-link--customer-logout a {
  color: var(--eg-mute) !important;
}

/* Content ----------------------------------------------------------------- */
body.page-id-1556 .woocommerce-MyAccount-content {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--eg-body) !important;
}
body.page-id-1556 .woocommerce-MyAccount-content-wrapper,
body.page-id-1556 .woocommerce-MyAccount-content-wrapper--no-orders,
body.page-id-1556 .woocommerce-MyAccount-content-wrapper--no-downloads {
  background: var(--eg-panel) !important;
  border: 1px solid var(--eg-line) !important;
  border-radius: 0 !important;
  padding: 40px 42px !important;
}
body.page-id-1556 .woocommerce-MyAccount-content p,
body.page-id-1556 .woocommerce-MyAccount-content li {
  color: var(--eg-body) !important;
  font-size: 15.5px;
  line-height: 1.75;
}
body.page-id-1556 .woocommerce-MyAccount-content a:not(.button):not(.eg-btn) {
  color: var(--eg-lime) !important;
  text-decoration: none;
}
body.page-id-1556 .woocommerce-MyAccount-content a:not(.button):not(.eg-btn):hover {
  text-decoration: underline;
}
body.page-id-1556 .woocommerce-MyAccount-content h2,
body.page-id-1556 .woocommerce-MyAccount-content h3,
body.page-id-1556 .woocommerce-MyAccount-content legend {
  color: var(--eg-ink) !important;
  font-weight: 800 !important;
  letter-spacing: -.01em;
}
/* Field hint text ("This will be how your name will be displayed...") renders
   as a bare <em> in WooCommerce's own dark colour — 1.11:1 on the panel. */
body.page-id-1556 .woocommerce-MyAccount-content em,
body.page-id-1556 .woocommerce-MyAccount-content small,
body.page-id-1556 .woocommerce-MyAccount-content span[id$="_description"],
body.page-id-1556 .woocommerce-MyAccount-content .description {
  color: var(--eg-mute) !important;
  font-size: 12.5px !important;
  line-height: 1.6 !important;
}
body.page-id-1556 .woocommerce-MyAccount-content h2 { font-size: 26px !important; margin: 0 0 22px !important; }
body.page-id-1556 .woocommerce-MyAccount-content h3 { font-size: 19px !important; margin: 32px 0 16px !important; }
body.page-id-1556 .woocommerce-MyAccount-content fieldset {
  margin: 34px 0 0 !important;
  padding: 30px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--eg-line) !important;
}
body.page-id-1556 .woocommerce-MyAccount-content legend {
  padding: 0 !important;
  font-size: 12px !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  color: var(--eg-lime) !important;
}

/* --------------------------------------------------------------------------
   9. Notices
   The theme wraps every WooCommerce notice in .ketofitt_module_message_box and
   puts the WooCommerce class on an INNER element -- for errors the markup is
   .ketofitt_module_message_box > .message_content > .message_text > ul.woocommerce-error
   so giving both a panel treatment produced two nested, offset boxes with
   different border colours. Exactly one element is the panel (the outer theme
   box); everything inside it is flattened.

   The theme also paints a 70x70 absolutely-positioned icon tile at top/left of
   the box, coloured by --ketofitt-secondary-color and drawn with a "flaticon"
   webfont. It sits on top of the panel border and, once the theme's 100px left
   padding is replaced, on top of the message text. It is removed outright
   rather than resized: the club styling does not use notification icons.
   -------------------------------------------------------------------------- */
body.page-id-1556 .ketofitt_module_message_box {
  position: relative !important;
  min-height: 0 !important;
  padding: 20px 54px 20px 24px !important;
  margin: 0 0 24px !important;
  background: #121212 !important;
  border: 1px solid var(--eg-line) !important;
  border-left: 3px solid var(--eg-lime) !important;
  border-radius: 0 !important;
  color: #EDEDED !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}
body.page-id-1556 .ketofitt_module_message_box.type_error { border-left-color: #FF5656 !important; }

/* Remove the oversized icon tile and any WooCommerce ::before glyph. */
body.page-id-1556 .ketofitt_module_message_box .message_icon_wrap,
body.page-id-1556 .ketofitt_module_message_box .message_icon {
  display: none !important;
}
body.page-id-1556 .woocommerce-error::before,
body.page-id-1556 .woocommerce-info::before,
body.page-id-1556 .woocommerce-message::before,
body.page-id-1556 .ketofitt_module_message_box::before,
body.page-id-1556 .ketofitt_module_message_box::after {
  content: none !important;
  display: none !important;
  background: none !important;
}

/* Flatten everything nested inside the panel. */
body.page-id-1556 .ketofitt_module_message_box .message_content,
body.page-id-1556 .ketofitt_module_message_box .message_text,
body.page-id-1556 .ketofitt_module_message_box .woocommerce-error,
body.page-id-1556 .ketofitt_module_message_box .woocommerce-info,
body.page-id-1556 .ketofitt_module_message_box .woocommerce-message,
body.page-id-1556 .ketofitt_module_message_box ul {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  color: #EDEDED !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  width: auto !important;
  min-height: 0 !important;
}
body.page-id-1556 .ketofitt_module_message_box li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.7 !important;
  color: #EDEDED !important;
}
body.page-id-1556 .ketofitt_module_message_box li::before,
body.page-id-1556 .ketofitt_module_message_box li::marker { content: none !important; }
body.page-id-1556 .ketofitt_module_message_box li + li { margin-top: 8px !important; }
body.page-id-1556 .ketofitt_module_message_box strong,
body.page-id-1556 .ketofitt_module_message_box b {
  color: #FFFFFF !important;
  font-weight: 700 !important;
}
body.page-id-1556 .ketofitt_module_message_box a:not(.button) {
  color: var(--eg-lime) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
body.page-id-1556 .ketofitt_module_message_box a:not(.button):hover { text-decoration: underline !important; }

/* Close control, kept inside the panel's right padding. */
body.page-id-1556 .ketofitt_module_message_box .message_close_button {
  position: absolute !important;
  top: 15px !important;
  right: 16px !important;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  line-height: 22px !important;
  text-align: center !important;
  color: var(--eg-mute) !important;
  background: transparent !important;
  border: 0 !important;
  opacity: 1 !important;
  cursor: pointer;
  transition: color .25s;
}
body.page-id-1556 .ketofitt_module_message_box .message_close_button:hover { color: var(--eg-ink) !important; }

/* Notices that arrive WITHOUT the theme wrapper still get the panel. */
body.page-id-1556 .woocommerce-notices-wrapper > .woocommerce-error,
body.page-id-1556 .woocommerce-notices-wrapper > .woocommerce-info,
body.page-id-1556 .woocommerce-notices-wrapper > .woocommerce-message {
  padding: 20px 24px !important;
  margin: 0 0 24px !important;
  background: #121212 !important;
  border: 1px solid var(--eg-line) !important;
  border-left: 3px solid var(--eg-lime) !important;
  border-radius: 0 !important;
  color: #EDEDED !important;
  list-style: none !important;
}
body.page-id-1556 .woocommerce-notices-wrapper > .woocommerce-error { border-left-color: #FF5656 !important; }
body.page-id-1556 .woocommerce-notices-wrapper:empty { display: none !important; }

/* Buttons that appear inside notices ("Confirm email address"). */
body.page-id-1556 .ketofitt_module_message_box .button {
  margin-right: 12px !important;
  padding: 10px 20px !important;
  font-size: 11px !important;
}

/* --------------------------------------------------------------------------
   10. Tables — orders, downloads, points history
   -------------------------------------------------------------------------- */
body.page-id-1556 .woocommerce table.shop_table,
body.page-id-1556 .woocommerce-orders-table,
body.page-id-1556 .cps-points-table,
body.page-id-1556 .cps-log-table {
  width: 100% !important;
  border: 1px solid var(--eg-line) !important;
  border-collapse: collapse !important;
  border-radius: 0 !important;
  background: transparent !important;
  margin: 0 !important;
}
body.page-id-1556 .woocommerce table.shop_table thead th,
body.page-id-1556 .woocommerce-orders-table thead th,
body.page-id-1556 .cps-points-table thead th,
body.page-id-1556 .cps-log-table thead th {
  padding: 14px 16px !important;
  background: rgba(255,255,255,.04) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--eg-line-2) !important;
  color: var(--eg-mute) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  text-align: left !important;
  white-space: nowrap;
}
body.page-id-1556 .woocommerce table.shop_table tbody td,
body.page-id-1556 .woocommerce-orders-table tbody td,
body.page-id-1556 .cps-points-table tbody td,
body.page-id-1556 .cps-log-table tbody td {
  padding: 16px !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
  color: var(--eg-body) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  vertical-align: middle !important;
}
body.page-id-1556 .woocommerce table.shop_table tbody tr:hover td,
body.page-id-1556 .cps-points-table tbody tr:hover td {
  background: rgba(255,255,255,.025) !important;
}
body.page-id-1556 .woocommerce table.shop_table tbody tr:last-child td,
body.page-id-1556 .cps-points-table tbody tr:last-child td { border-bottom: 0 !important; }
body.page-id-1556 .woocommerce-orders-table a:not(.button) { color: var(--eg-ink) !important; font-weight: 600; }
/* Order totals are Garage Points (the currency symbol is filtered away
   site-wide). WooCommerce renders them in its own near-black, which the
   contrast sweep flagged at 1.11:1 against the panel. */
body.page-id-1556 .woocommerce-Price-amount,
body.page-id-1556 .woocommerce-Price-amount.amount,
body.page-id-1556 .woocommerce-Price-amount bdi,
body.page-id-1556 .woocommerce-Price-currencySymbol {
  color: var(--eg-lime) !important;
  font-weight: 700 !important;
  font-variant-numeric: tabular-nums;
}
/* Table headers wrap their label in span.nobr, which carries its own colour. */
body.page-id-1556 .woocommerce table.shop_table th .nobr,
body.page-id-1556 .woocommerce-orders-table th .nobr,
body.page-id-1556 .woocommerce .nobr,
body.page-id-1556 .woocommerce-MyAccount-content .nobr {
  color: inherit !important;
}
body.page-id-1556 .vehicle-order-thumbnail {
  width: 74px !important;
  height: 52px !important;
  object-fit: cover !important;
  display: block;
  border: 1px solid var(--eg-line);
}
body.page-id-1556 .woocommerce-orders-table .no-image { color: #4A4A4A !important; }
/* Small table buttons (View / Download) */
body.page-id-1556 .shop_table .button,
body.page-id-1556 .woocommerce-orders-table .button {
  padding: 9px 18px !important;
  font-size: 10.5px !important;
  letter-spacing: .16em !important;
  background: transparent !important;
  color: var(--eg-lime) !important;
  border: 1px solid rgba(189,255,62,.45) !important;
}
body.page-id-1556 .shop_table .button:hover,
body.page-id-1556 .woocommerce-orders-table .button:hover {
  background: var(--eg-lime) !important;
  color: #0A0A0A !important;
  border-color: var(--eg-lime) !important;
}

/* --------------------------------------------------------------------------
   11. Points History endpoint (.cps-points-history)
   The balance leads; the ledger follows.
   -------------------------------------------------------------------------- */
body.page-id-1556 .cps-points-history h2 {
  margin: 0 0 26px !important;
  font-size: 26px !important;
  color: var(--eg-ink) !important;
}
body.page-id-1556 .cps-points-summary {
  margin: 0 0 34px !important;
  padding: 30px 34px !important;
  background: #0A0A0A !important;
  border: 1px solid var(--eg-line) !important;
  border-left: 3px solid var(--eg-lime) !important;
}
body.page-id-1556 .cps-points-summary .cps-summary-item {
  display: flex !important;
  flex-direction: column;
  gap: 10px;
}
body.page-id-1556 .cps-points-summary .cps-summary-label {
  font-size: 11px !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  color: var(--eg-mute) !important;
}
/* WooCommerce's currency symbol is filtered out site-wide, so this is a bare
   number — the "Garage Points" unit is supplied here instead. */
body.page-id-1556 .cps-points-summary .cps-summary-value {
  font-size: clamp(42px, 5vw, 62px) !important;
  line-height: .95 !important;
  font-weight: 800 !important;
  letter-spacing: -.035em !important;
  color: var(--eg-lime) !important;
  font-variant-numeric: tabular-nums;
}
body.page-id-1556 .cps-points-summary .cps-summary-value::after {
  content: "Garage Points";
  display: block;
  margin-top: 12px;
  font-size: 12px;
  letter-spacing: .2em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--eg-ink);
}
body.page-id-1556 .cps-points-log-container { margin: 0 !important; }
body.page-id-1556 .cps-points-table td.cps-points,
body.page-id-1556 .cps-log-table td.cps-points {
  font-weight: 800 !important;
  font-size: 15px !important;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
body.page-id-1556 .cps-points-table td.points-added,
body.page-id-1556 .cps-points-added { color: var(--eg-lime) !important; }
body.page-id-1556 .cps-points-table td.points-deducted,
body.page-id-1556 .cps-points-deducted { color: #FF7A7A !important; }
body.page-id-1556 .cps-points-table td.cps-note,
body.page-id-1556 .cps-log-table td.cps-note { color: var(--eg-mute) !important; font-size: 13px !important; }
body.page-id-1556 .cps-points-table td.cps-date { color: var(--eg-ink) !important; white-space: nowrap; }
body.page-id-1556 .cps-points-table td.cps-action { font-weight: 600 !important; }

/* Pagination */
body.page-id-1556 .cps-pagination,
body.page-id-1556 .woocommerce-pagination {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 26px !important;
  padding: 0 !important;
  list-style: none;
}
body.page-id-1556 .cps-pagination a,
body.page-id-1556 .woocommerce-pagination a {
  display: inline-block;
  min-width: 40px;
  padding: 10px 14px !important;
  text-align: center;
  border: 1px solid var(--eg-line-2) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--eg-body) !important;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  text-decoration: none !important;
  transition: border-color .25s, color .25s;
}
body.page-id-1556 .cps-pagination a:hover,
body.page-id-1556 .woocommerce-pagination a:hover {
  border-color: var(--eg-lime) !important;
  color: var(--eg-lime) !important;
}
body.page-id-1556 .cps-pagination a.cps-current-page {
  background: var(--eg-lime) !important;
  border-color: var(--eg-lime) !important;
  color: #0A0A0A !important;
}

/* --------------------------------------------------------------------------
   12. [cps_user_points] block (appears inside the custom dashboard template)
   -------------------------------------------------------------------------- */
body.page-id-1556 .cps-user-points {
  background: transparent !important;
  color: var(--eg-body) !important;
}
body.page-id-1556 .cps-user-points h3 {
  margin: 0 0 16px !important;
  font-size: 11px !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  color: var(--eg-mute) !important;
}
body.page-id-1556 .cps-user-points .cps-point-label {
  display: block !important;
  font-size: 11px !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  color: var(--eg-mute) !important;
  font-weight: 700 !important;
  margin: 0 0 8px !important;
}
body.page-id-1556 .cps-user-points .cps-point-value {
  font-size: 44px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: -.03em !important;
  color: var(--eg-lime) !important;
  font-variant-numeric: tabular-nums;
}
body.page-id-1556 .cps-next-credit p,
body.page-id-1556 .cps-low-balance-warning p {
  margin: 14px 0 0 !important;
  font-size: 13.5px !important;
  line-height: 1.65 !important;
  color: var(--eg-body) !important;
}
body.page-id-1556 .cps-low-balance-warning {
  margin-top: 16px !important;
  padding: 16px 18px !important;
  background: rgba(189,255,62,.07) !important;
  border-left: 3px solid var(--eg-lime) !important;
}
body.page-id-1556 .cps-low-balance-warning a { color: var(--eg-lime) !important; }

/* --------------------------------------------------------------------------
   13. Buy Points endpoint + WPForms
   -------------------------------------------------------------------------- */
body.page-id-1556 .cps-buy-points-container h2 { margin: 0 0 14px !important; }
body.page-id-1556 .cps-buy-points-container > p {
  margin: 0 0 30px !important;
  color: var(--eg-body) !important;
}
body.page-id-1556 .wpforms-container,
body.page-id-1556 .wpforms-container-full { margin: 0 !important; }
body.page-id-1556 .wpforms-field-label {
  color: var(--eg-mute) !important;
  font-size: 11px !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
}
body.page-id-1556 .wpforms-container input[type="text"],
body.page-id-1556 .wpforms-container input[type="email"],
body.page-id-1556 .wpforms-container input[type="number"],
body.page-id-1556 .wpforms-container input[type="tel"],
body.page-id-1556 .wpforms-container select,
body.page-id-1556 .wpforms-container textarea {
  background: #060606 !important;
  border: 1px solid var(--eg-line-2) !important;
  border-radius: 0 !important;
  color: var(--eg-ink) !important;
  box-shadow: none !important;
}
body.page-id-1556 .wpforms-container input:focus,
body.page-id-1556 .wpforms-container select:focus,
body.page-id-1556 .wpforms-container textarea:focus { border-color: var(--eg-lime) !important; }
body.page-id-1556 .wpforms-container button[type="submit"],
body.page-id-1556 .wpforms-submit {
  background: var(--eg-lime) !important;
  border: 1px solid var(--eg-lime) !important;
  border-radius: 0 !important;
  color: #0A0A0A !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  padding: 15px 34px !important;
  transition: background .28s, color .28s !important;
}
body.page-id-1556 .wpforms-container button[type="submit"]:hover,
body.page-id-1556 .wpforms-submit:hover {
  background: transparent !important;
  color: var(--eg-lime) !important;
}
body.page-id-1556 .wpforms-container .wpforms-field-description { color: var(--eg-mute) !important; }

/* WPForms ships a per-form <style> block of CSS custom properties; setting them
   here is cleaner than fighting each generated rule. */
body.page-id-1556 .wpforms-container,
body.page-id-1556 div[id^="wpforms-"] {
  --wpforms-field-background-color: #060606;
  --wpforms-field-border-color: rgba(255,255,255,.20);
  --wpforms-field-text-color: #FFFFFF;
  --wpforms-label-color: #8A8A8A;
  --wpforms-label-sublabel-color: #8A8A8A;
  --wpforms-label-error-color: #FF7A7A;
  --wpforms-button-background-color: #BDFF3E;
  --wpforms-button-text-color: #0A0A0A;
  --wpforms-page-break-color: #BDFF3E;
}
/* First/Last sit UNDER the inputs; left at theme defaults they read as
   mislabelled headings. */
body.page-id-1556 .wpforms-container .wpforms-field-sublabel {
  display: block !important;
  margin-top: 6px !important;
  font-size: 11px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  color: var(--eg-mute) !important;
}
body.page-id-1556 .wpforms-container legend.wpforms-field-label,
body.page-id-1556 .wpforms-container .wpforms-field-label {
  color: var(--eg-mute) !important;
}
body.page-id-1556 .wpforms-container .wpforms-required-label { color: var(--eg-lime) !important; }

/* --- Points choices -----------------------------------------------------
   Field 9 is an image-choice radio whose six options all use the SAME
   "member points" logo, so the artwork carries no information and the only
   differentiator — the label — was rendering near-black on black. The image is
   dropped and the point value becomes the tile. */
body.page-id-1556 .wpforms-container .wpforms-image-choices {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
/* WPForms' own 3-column CSS gives each item a percentage width and inline-block
   display, which stops the tiles filling the grid track. */
body.page-id-1556 .wpforms-container .wpforms-image-choices-item {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  border: 0 !important;
  background: none !important;
}
body.page-id-1556 .wpforms-container .wpforms-image-choices-image { display: none !important; }
body.page-id-1556 .wpforms-container .wpforms-image-choices-item label,
body.page-id-1556 .wpforms-container .wpforms-image-choices-item .wpforms-field-label-inline {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  box-sizing: border-box !important;
  min-height: 74px;
  margin: 0 !important;
  padding: 16px 12px !important;
  background: #060606 !important;
  border: 1px solid var(--eg-line-2) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: center;
  cursor: pointer;
  transition: border-color .25s, background .25s, color .25s;
}
body.page-id-1556 .wpforms-container .wpforms-image-choices-item label:hover {
  border-color: var(--eg-lime) !important;
  background: rgba(189,255,62,.06) !important;
}
body.page-id-1556 .wpforms-container .wpforms-image-choices-label {
  display: block !important;
  font-size: 19px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
  color: var(--eg-lime) !important;
  font-variant-numeric: tabular-nums;
}
/* Selected state — WPForms adds .wpforms-selected to the item. */
body.page-id-1556 .wpforms-container .wpforms-image-choices-item.wpforms-selected label,
body.page-id-1556 .wpforms-container .wpforms-image-choices-modern .wpforms-selected label {
  background: var(--eg-lime) !important;
  border-color: var(--eg-lime) !important;
}
body.page-id-1556 .wpforms-container .wpforms-image-choices-item.wpforms-selected .wpforms-image-choices-label,
body.page-id-1556 .wpforms-container .wpforms-image-choices-modern .wpforms-selected .wpforms-image-choices-label {
  color: #0A0A0A !important;
}

/* --------------------------------------------------------------------------
   14b. Address form (/my-account/edit-address/)
   Standard WooCommerce address markup. Field styling is shared with the login
   form above; what is specific here is the two-up first/last name pair, the
   country/state selects and the save button (which has no .woocommerce-Button
   class, only .button).
   -------------------------------------------------------------------------- */
body.page-id-1556 .woocommerce-MyAccount-content form > h2,
body.page-id-1556 .woocommerce-address-fields + h2 {
  margin: 0 0 24px !important;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--eg-line);
  font-size: 12px !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  color: var(--eg-lime) !important;
}
/* WooCommerce floats first/last at ~47%; a grid is steadier, and its CSS loads
   after this file so the override needs !important. */
body.page-id-1556 .woocommerce-address-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 22px;
}
body.page-id-1556 .woocommerce-address-fields__field-wrapper > .form-row {
  grid-column: 1 / -1;
  float: none !important;
  width: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
body.page-id-1556 .woocommerce-address-fields__field-wrapper > .form-row-first { grid-column: 1 / 2; }
body.page-id-1556 .woocommerce-address-fields__field-wrapper > .form-row-last { grid-column: 2 / 3; }
body.page-id-1556 .woocommerce-input-wrapper { display: block; width: 100%; }
/* Native selects would otherwise render as white OS controls on black. */
body.page-id-1556 .woocommerce-MyAccount-content select,
body.page-id-1556 .woocommerce select.country_select,
body.page-id-1556 .woocommerce select.state_select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  padding-right: 42px !important;
  background-color: #060606 !important;
  background-image: linear-gradient(45deg, transparent 50%, #BDFF3E 50%), linear-gradient(135deg, #BDFF3E 50%, transparent 50%) !important;
  background-position: calc(100% - 20px) calc(50% + 2px), calc(100% - 14px) calc(50% + 2px) !important;
  background-size: 6px 6px, 6px 6px !important;
  background-repeat: no-repeat !important;
  color: var(--eg-ink) !important;
}
body.page-id-1556 .woocommerce-MyAccount-content select option {
  background: #0A0A0A !important;
  color: var(--eg-ink) !important;
}
/* WooCommerce's "(optional)" suffix inherits body type and dwarfs the label. */
body.page-id-1556 .woocommerce .form-row label .optional,
body.page-id-1556 .woocommerce-MyAccount-content .optional {
  font-size: 10px !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  color: var(--eg-mute) !important; /* #6A6A6A failed the contrast sweep at 3.49:1 */
}

/* Select2, if WooCommerce enhances the country/state selects. Select2 writes
   an inline width from the original element, which leaves the control far
   narrower than the other fields. */
body.page-id-1556 .woocommerce-MyAccount-content .select2-container,
body.page-id-1556 .woocommerce .select2-container {
  width: 100% !important;
  max-width: 100% !important;
}
body.page-id-1556 .select2-container--default .select2-selection--single {
  height: auto !important;
  background: #060606 !important;
  border: 1px solid var(--eg-line-2) !important;
  border-radius: 0 !important;
}
body.page-id-1556 .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--eg-ink) !important;
  line-height: 1.4 !important;
  padding: 15px 16px !important;
}
body.page-id-1556 .select2-container--default .select2-selection--single .select2-selection__arrow { top: 12px !important; }
body.page-id-1556 .woocommerce-address-fields .button,
body.page-id-1556 .woocommerce-address-fields button[type="submit"] { margin-top: 12px !important; }
/* Hidden "update country/region" fallback button WooCommerce prints for
   no-JS clients — it should not read as a second primary action. */
body.page-id-1556 button[name="woocommerce_checkout_update_totals"] { display: none !important; }

/* --------------------------------------------------------------------------
   14. Addresses
   -------------------------------------------------------------------------- */
body.page-id-1556 .woocommerce-Addresses {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 24px;
  margin: 0 !important;
}
body.page-id-1556 .woocommerce-Address {
  width: auto !important;
  float: none !important;
  padding: 28px 30px !important;
  background: #0A0A0A !important;
  border: 1px solid var(--eg-line) !important;
}
body.page-id-1556 .woocommerce-Address-title { margin-bottom: 16px !important; }
body.page-id-1556 .woocommerce-Address-title h2,
body.page-id-1556 .woocommerce-Address-title h3 {
  font-size: 12px !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  color: var(--eg-lime) !important;
  margin: 0 !important;
}
body.page-id-1556 .woocommerce-Address address {
  margin: 0 !important;
  padding: 0 !important;
  font-style: normal !important;
  color: var(--eg-body) !important;
  line-height: 1.8 !important;
  font-size: 15px !important;
}
body.page-id-1556 .woocommerce-Address-title .edit {
  color: var(--eg-lime) !important;
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 700;
}

/* --------------------------------------------------------------------------
   15. Dashboard tab
   The tab renders Elementor template 3247 (the "Your Account" identity card)
   followed by the panels printed on woocommerce_account_dashboard from
   eg-account-dashboard.php.
   -------------------------------------------------------------------------- */
body.page-id-1556 .e-my-account-tab__dashboard--custom .woocommerce-MyAccount-content-wrapper {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

/* --- Elementor 3247 identity card ---------------------------------------- */
body.page-id-1556 .elementor-3247 {
  padding: 34px 36px !important;
  background: var(--eg-panel) !important;
  border: 1px solid var(--eg-line) !important;
  border-top: 3px solid var(--eg-lime) !important;
}
body.page-id-1556 .elementor-3247 .elementor-heading-title { color: var(--eg-ink) !important; }
/* The theme gives h2/h3 a large bottom margin, which is what left ~100px of
   dead space between the panel title and the member name. Headings carry no
   margin of their own here; spacing is set on the widgets below. */
body.page-id-1556 .elementor-3247 h2.elementor-heading-title {
  margin: 0 !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  color: var(--eg-mute) !important;
}
body.page-id-1556 .elementor-3247 h3.elementor-heading-title {
  margin: 0 !important;
  font-size: 24px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  letter-spacing: -.01em !important;
  color: var(--eg-ink) !important;
}
body.page-id-1556 .elementor-3247 .elementor-divider-separator {
  border-top-color: var(--eg-line) !important;
}
body.page-id-1556 .elementor-3247 p { color: var(--eg-body) !important; }
/* The template is now a flat stack — heading, divider, member name, balance —
   so all the column geometry it used to need is gone. Elementor's own widget
   spacing is zeroed and each gap set explicitly; the nested section's column
   heights were what pushed the member name a long way below the divider. */
body.page-id-1556 .elementor-3247 .elementor-top-column { width: 100% !important; }
body.page-id-1556 .elementor-3247 .elementor-element-populated { padding: 0 !important; }
body.page-id-1556 .elementor-3247 .elementor-widget {
  margin-bottom: 0 !important;
  margin-block-end: 0 !important;
}
/* The divider widget was rendering at zero height (no border on the
   separator), so it read as more empty space rather than a rule. */
body.page-id-1556 .elementor-3247 .elementor-widget-divider {
  margin: 13px 0 18px !important;
  padding: 0 !important;
}
body.page-id-1556 .elementor-3247 .elementor-widget-divider .elementor-divider {
  padding: 0 !important;
  display: block !important;
}
body.page-id-1556 .elementor-3247 .elementor-divider-separator {
  display: block !important;
  width: 100% !important;
  border-top: 1px solid var(--eg-line) !important;
}
/* Gap between the member name and the balance block. */
body.page-id-1556 .elementor-3247 .elementor-widget-heading + .elementor-widget-shortcode {
  margin-top: 10px !important;
}
body.page-id-1556 .elementor-3247 .eg-member-since-widget + .elementor-widget-shortcode {
  margin-top: 18px !important;
}

/* "Member since July 2025" — sits between the name and the balance. There is
   deliberately no member number: the site stores none, and a raw WordPress
   user ID presented as one would be wrong and full of gaps. */
body.page-id-1556 .eg-member-since {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}
body.page-id-1556 .eg-member-since__label {
  font-size: 10.5px;
  letter-spacing: .2em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--eg-mute) !important;
}
body.page-id-1556 .eg-member-since__value {
  font-weight: 700;
  color: var(--eg-ink) !important;
}
/* The shortcode prints its own "Your Points Balance" h3, which duplicates the
   panel title two lines above it. */
body.page-id-1556 .elementor-3247 .cps-user-points h3 { display: none !important; }
body.page-id-1556 .elementor-3247 .cps-points-balance { margin-bottom: 0 !important; }

/* --- Dashboard panels ---------------------------------------------------- */
body.page-id-1556 .eg-dash { margin-top: 30px; }
body.page-id-1556 .eg-dash__section {
  margin-bottom: 30px;
  padding: 30px 32px;
  background: var(--eg-panel) !important;
  border: 1px solid var(--eg-line);
}
body.page-id-1556 .eg-dash__section:last-child { margin-bottom: 0; }
body.page-id-1556 .eg-dash__sechead {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 22px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--eg-line);
}
body.page-id-1556 .eg-dash__sechead h3 {
  margin: 0 !important;
  font-size: 12px !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  color: var(--eg-lime) !important;
}
body.page-id-1556 .eg-dash__more {
  flex: none;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--eg-mute) !important;
  text-decoration: none !important;
  transition: color .25s;
}
body.page-id-1556 .eg-dash__more:hover { color: var(--eg-lime) !important; }

/* Stat tiles */
body.page-id-1556 .eg-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1px;
  background: var(--eg-line);
  border: 1px solid var(--eg-line);
}
body.page-id-1556 .eg-stat {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 22px 24px;
  background: #0A0A0A;
}
body.page-id-1556 .eg-stat__label {
  font-size: 10.5px;
  letter-spacing: .2em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--eg-mute);
}
body.page-id-1556 .eg-stat__value {
  font-size: 34px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -.03em;
  color: var(--eg-ink);
  font-variant-numeric: tabular-nums;
}
body.page-id-1556 .eg-stat--reach .eg-stat__value { color: var(--eg-lime); }
body.page-id-1556 .eg-stat__of { font-size: 18px; color: var(--eg-mute); font-weight: 700; }
body.page-id-1556 .eg-stat__foot {
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--eg-body);
}
body.page-id-1556 .eg-stat__foot a { color: var(--eg-lime) !important; text-decoration: none; }
body.page-id-1556 .eg-stat__foot a:hover { text-decoration: underline; }

body.page-id-1556 .eg-stats--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.page-id-1556 .eg-stat__value--date { font-size: 26px; }

/* Favourite car */
body.page-id-1556 .eg-fav {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  gap: 24px;
  align-items: center;
  margin-bottom: 24px;
  padding: 20px;
  background: #0A0A0A;
  border: 1px solid var(--eg-line);
  border-left: 3px solid var(--eg-lime);
}
body.page-id-1556 .eg-fav__media img {
  display: block;
  width: 100%;
  height: 132px;
  object-fit: cover;
  border: 1px solid var(--eg-line);
}
body.page-id-1556 .eg-fav__name {
  margin: 0 0 6px !important;
  font-size: 23px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
  color: var(--eg-ink) !important;
}
body.page-id-1556 .eg-fav__times {
  margin: 0 0 12px !important;
  font-size: 13px !important;
  letter-spacing: .04em;
  color: var(--eg-body) !important;
}
body.page-id-1556 .eg-btn--disabled {
  background: transparent;
  border-color: var(--eg-line-2);
  color: var(--eg-mute) !important;
  cursor: not-allowed;
  pointer-events: none;
}

/* Balance split bar */
body.page-id-1556 .eg-split {
  margin-top: 22px;
  padding: 20px 22px;
  background: #0A0A0A;
  border: 1px solid var(--eg-line);
}
body.page-id-1556 .eg-split__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}
body.page-id-1556 .eg-split__label {
  font-size: 10.5px;
  letter-spacing: .2em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--eg-mute);
}
body.page-id-1556 .eg-split__total {
  font-size: 13px;
  font-weight: 700;
  color: var(--eg-ink);
  font-variant-numeric: tabular-nums;
}
body.page-id-1556 .eg-split__bar {
  display: flex;
  height: 10px;
  overflow: hidden;
  background: #161616;
  border: 1px solid var(--eg-line);
}
body.page-id-1556 .eg-split__seg { display: block; height: 100%; }
body.page-id-1556 .eg-split__seg--monthly { background: var(--eg-lime); }
body.page-id-1556 .eg-split__seg--purchased { background: rgba(189,255,62,.34); }
body.page-id-1556 .eg-split__keys {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 28px;
  margin-top: 12px;
}
body.page-id-1556 .eg-split__key {
  position: relative;
  padding-left: 16px;
  font-size: 12.5px;
  color: var(--eg-body);
}
body.page-id-1556 .eg-split__key::before {
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
  width: 9px;
  height: 9px;
  background: var(--eg-lime);
}
body.page-id-1556 .eg-split__key--purchased::before { background: rgba(189,255,62,.34); }
body.page-id-1556 .eg-split__key strong {
  color: var(--eg-ink);
  margin-left: 4px;
  font-variant-numeric: tabular-nums;
}
body.page-id-1556 .eg-split__key em,
body.page-id-1556 .eg-split__key a {
  margin-left: 8px;
  font-style: normal;
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--eg-mute) !important;
}
body.page-id-1556 .eg-split__key a { color: var(--eg-lime) !important; text-decoration: none; }
body.page-id-1556 .eg-split__key a:hover { text-decoration: underline; }

body.page-id-1556 .eg-dash__hint {
  margin: 18px 0 0 !important;
  font-size: 13.5px !important;
  color: var(--eg-body) !important;
}
body.page-id-1556 .eg-dash__hint strong { color: var(--eg-lime) !important; }

/* Empty states */
body.page-id-1556 .eg-empty {
  padding: 30px 28px;
  background: #0A0A0A;
  border: 1px dashed var(--eg-line-2);
  text-align: left;
}
body.page-id-1556 .eg-empty__title {
  margin: 0 0 8px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--eg-ink) !important;
}
body.page-id-1556 .eg-empty__body {
  margin: 0 0 20px !important;
  font-size: 14px !important;
  color: var(--eg-body) !important;
  max-width: 52ch;
}

/* Reservations */
body.page-id-1556 .eg-res { list-style: none; margin: 0; padding: 0; }
body.page-id-1556 .eg-res__item {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr) auto;
  align-items: center;
  gap: 22px;
  padding: 18px 0;
  border-bottom: 1px solid rgba(255,255,255,.07);
  list-style: none;
}
body.page-id-1556 .eg-res__item:first-child { padding-top: 0; }
body.page-id-1556 .eg-res__item:last-child { border-bottom: 0; padding-bottom: 0; }
body.page-id-1556 .eg-res__media img,
body.page-id-1556 .eg-res__img {
  display: block;
  width: 96px !important;
  height: 64px !important;
  object-fit: cover;
  border: 1px solid var(--eg-line);
}
body.page-id-1556 .eg-res__label {
  display: block;
  margin-bottom: 6px;
  font-size: 10.5px;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--eg-lime);
}
body.page-id-1556 .eg-res__name {
  margin: 0 0 6px !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: var(--eg-ink) !important;
  line-height: 1.3 !important;
}
body.page-id-1556 .eg-res__dates {
  margin: 0 !important;
  font-size: 13.5px !important;
  color: var(--eg-body) !important;
}
body.page-id-1556 .eg-res__arrow { color: var(--eg-lime); margin: 0 6px; }

/* Newest vehicle */
body.page-id-1556 .eg-newest {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 28px;
  align-items: center;
}
body.page-id-1556 .eg-newest__media img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 260px;
  object-fit: cover;
  border: 1px solid var(--eg-line);
}
body.page-id-1556 .eg-newest__name {
  margin: 0 0 14px !important;
  font-size: 26px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
  color: var(--eg-ink) !important;
}
body.page-id-1556 .eg-newest__cost,
body.page-id-1556 .eg-fleet__cost {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin: 0 0 14px !important;
  font-size: 11px !important;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--eg-mute) !important;
}
body.page-id-1556 .eg-newest__cost strong,
body.page-id-1556 .eg-fleet__cost strong {
  font-size: 17px;
  letter-spacing: -.02em;
  color: var(--eg-lime);
  margin-right: 5px;
  font-variant-numeric: tabular-nums;
}
body.page-id-1556 .eg-newest .eg-btn { margin-top: 6px; }

/* Events */
body.page-id-1556 .eg-ev { list-style: none; margin: 0; padding: 0; }
body.page-id-1556 .eg-ev__item {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
  padding: 16px 0;
  border-bottom: 1px solid rgba(255,255,255,.07);
  list-style: none;
}
body.page-id-1556 .eg-ev__item:first-child { padding-top: 0; }
body.page-id-1556 .eg-ev__item:last-child { border-bottom: 0; padding-bottom: 0; }
body.page-id-1556 .eg-ev__when {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 8px 0;
  border: 1px solid var(--eg-line);
  border-top: 2px solid var(--eg-lime);
  background: #0A0A0A;
}
body.page-id-1556 .eg-ev__day {
  font-size: 22px;
  line-height: 1;
  font-weight: 800;
  color: var(--eg-ink);
  font-variant-numeric: tabular-nums;
}
body.page-id-1556 .eg-ev__mon {
  margin-top: 3px;
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--eg-lime);
}
body.page-id-1556 .eg-ev__name {
  margin: 0 0 4px !important;
  font-size: 15.5px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  color: var(--eg-ink) !important;
}
body.page-id-1556 .eg-ev__time {
  margin: 0 !important;
  font-size: 12.5px !important;
  color: var(--eg-body) !important;
}
body.page-id-1556 .eg-ev__action {
  display: flex;
  align-items: center;
  gap: 16px;
  flex: none;
}
body.page-id-1556 .eg-ev__cost {
  font-size: 10.5px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--eg-mute);
  white-space: nowrap;
}
body.page-id-1556 .eg-ev__cost strong {
  color: var(--eg-lime);
  font-size: 15px;
  letter-spacing: -.02em;
  margin-right: 4px;
}
body.page-id-1556 .eg-ev__action .eg-btn { padding: 11px 20px; }

/* Fleet cards */
/* Four across so the row never leaves an orphan card on a second line. */
body.page-id-1556 .eg-fleet {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  list-style: none;
  margin: 0;
  padding: 0;
}
body.page-id-1556 .eg-fleet__item { list-style: none; margin: 0; display: flex; }
body.page-id-1556 .eg-fleet__link {
  display: flex;
  flex-direction: column;
  width: 100%;
  background: #0A0A0A;
  border: 1px solid var(--eg-line);
  text-decoration: none !important;
  transition: border-color .3s, transform .3s;
}
body.page-id-1556 .eg-fleet__link:hover {
  border-color: rgba(189,255,62,.5);
  transform: translateY(-3px);
}
body.page-id-1556 .eg-fleet__media img {
  display: block;
  width: 100%;
  height: 104px;
  object-fit: cover;
}
body.page-id-1556 .eg-fleet__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 14px 15px 16px;
}
/* Two lines reserved so cost rows line up across cards regardless of how long
   the vehicle name is. */
body.page-id-1556 .eg-fleet__name {
  margin: 0 0 10px !important;
  min-height: 2.7em;
  font-size: 13.5px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  color: var(--eg-ink) !important;
}
body.page-id-1556 .eg-fleet__item .eg-fleet__flag { margin-top: auto; align-self: flex-start; }
body.page-id-1556 .eg-fleet__cost { margin-bottom: 0 !important; }
body.page-id-1556 .eg-fleet__flag,
body.page-id-1556 .eg-newest .eg-fleet__flag {
  display: inline-block;
  margin-top: 12px;
  padding: 5px 10px;
  font-size: 9.5px;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 700;
  color: #0A0A0A;
  background: var(--eg-lime);
}

/* --------------------------------------------------------------------------
   16. Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 1200px) {
  body.page-id-1556 .eg-ma-quick .elementor-column { width: calc((100% - 2px) / 3) !important; }
}
@media (max-width: 1024px) {
  body.page-id-1556 .eg-hero {
    background-image:
      linear-gradient(180deg, rgba(8,8,8,.90) 0%, rgba(8,8,8,.82) 46%, rgba(8,8,8,.92) 100%),
      url("https://endlessgarage.com/wp-content/uploads/2026/08/eg-huracan-bg-1536x1024.jpg") !important;
    background-size: cover, cover !important;
    background-position: center, 62% 50% !important;
  }
  body.page-id-1556:not(.logged-in) .eg-account-panel > .elementor-container {
    padding-top: 120px;
    padding-bottom: 80px;
  }
  body.page-id-1556 .eg-login-aside { margin-bottom: 44px; }
  body.page-id-1556.logged-in .e-my-account-tab > .woocommerce {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
  body.page-id-1556 .woocommerce-MyAccount-navigation { position: static; }
  body.page-id-1556 .woocommerce-MyAccount-navigation ul {
    display: flex;
    flex-wrap: wrap;
  }
  body.page-id-1556 .woocommerce-MyAccount-navigation li a { padding: 13px 18px !important; }
  body.page-id-1556 .woocommerce-MyAccount-navigation-link--buy-points,
  body.page-id-1556 .woocommerce-MyAccount-navigation-link--customer-logout {
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.page-id-1556 .eg-ma-hero > .elementor-container { padding-top: 120px; padding-bottom: 52px; }
}
@media (max-width: 782px) {
  /* WordPress admin bar offset is irrelevant here; this is the phone layout. */
  body.page-id-1556 .eg-pts {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    padding: 26px 22px;
  }
  body.page-id-1556 .eg-pts__actions { width: 100%; }
  body.page-id-1556 .eg-pts__actions .eg-btn { flex: 1 1 auto; text-align: center; }
  body.page-id-1556 .eg-ma-quick .elementor-column { width: calc((100% - 1px) / 2) !important; }
  body.page-id-1556 .woocommerce-MyAccount-content-wrapper { padding: 28px 22px !important; }
  body.page-id-1556:not(.logged-in) .e-my-account-tab > .woocommerce { padding: 32px 24px 28px; }
  body.page-id-1556 .cps-points-summary { padding: 24px 22px !important; }
  /* Tables need to scroll rather than squash on a phone. */
  body.page-id-1556 .cps-points-log-container,
  body.page-id-1556 .woocommerce-MyAccount-content .shop_table_responsive_wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  body.page-id-1556 .cps-points-table { min-width: 620px; }
}
@media (max-width: 900px) {
  body.page-id-1556 .eg-newest { grid-template-columns: minmax(0, 1fr); gap: 22px; }
}
@media (max-width: 640px) {
  body.page-id-1556 .eg-dash__section { padding: 24px 20px; }
  body.page-id-1556 .eg-res__item {
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 16px;
  }
  body.page-id-1556 .eg-res__media img,
  body.page-id-1556 .eg-res__img { width: 76px !important; height: 54px !important; }
  body.page-id-1556 .eg-res__action { grid-column: 1 / -1; }
  body.page-id-1556 .eg-ev__item {
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 14px;
  }
  body.page-id-1556 .eg-ev__action {
    grid-column: 2 / -1;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 10px 14px;
  }
  body.page-id-1556 .eg-fleet { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  body.page-id-1556 .elementor-3247 { padding: 24px 20px !important; }
}
@media (max-width: 1100px) and (min-width: 641px) {
  body.page-id-1556 .eg-fleet { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  body.page-id-1556 .eg-ma-quick .elementor-column { width: 100% !important; }
  body.page-id-1556 .eg-login-aside h1 { font-size: 34px; }
  body.page-id-1556 .eg-stats { grid-template-columns: minmax(0, 1fr); }
}
