/* Automotive Theme 2.0 — dark tech showroom */
:root {
  --gm-blue: #ef4444;
  --gm-blue-deep: #dc2626;
  --gm-blue-soft: #450a0a;
  --gm-white: #0b0f14;
  --gm-ink: #e5e7eb;
  --gm-muted: #9ca3af;
  --gm-line: #1f2937;
  --gm-surface: #111827;
  --gm-max: 1200px;
  --gm-font: "IBM Plex Sans", "Segoe UI", sans-serif;
  --gm-display: "IBM Plex Sans", "Segoe UI", sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;font-family:var(--gm-font);color:var(--gm-ink);background:#070a0e;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:#fca5a5}
a:hover{color:#fecaca}
.gm-skip{position:absolute;left:-9999px}.gm-skip:focus{left:1rem;top:1rem;z-index:100;background:#ef4444;color:#fff;padding:.6rem}
.gm-shell{width:min(100% - 2rem,var(--gm-max));margin-inline:auto}
.gm-header{position:sticky;top:0;z-index:40;background:rgba(7,10,14,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--gm-line)}
.gm-header.is-scrolled{box-shadow:0 12px 30px rgba(0,0,0,.35)}
.gm-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 0}
.gm-logo{font-weight:700;font-size:1.1rem;letter-spacing:.08em;text-transform:uppercase;color:#fff;text-decoration:none}
.gm-logo span{color:var(--gm-blue)}
.gm-nav{display:none;align-items:center;gap:1rem;flex-wrap:wrap}
.gm-nav__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem 1rem;align-items:center}
.gm-nav__link,.gm-nav__parent,.gm-nav__toggle-sub{color:#d1d5db;text-decoration:none;font-weight:600;font-size:.88rem;letter-spacing:.04em;text-transform:uppercase;background:none;border:0;cursor:pointer;font-family:inherit;padding:.4rem 0}
.gm-nav__link:hover,.gm-nav__parent:hover,.gm-nav__link.is-active{color:#fff}
.gm-nav__cta{background:var(--gm-blue);color:#fff!important;padding:.65rem 1.05rem;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);text-decoration:none!important;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem}
.gm-nav__cta:hover{background:var(--gm-blue-deep)}
.gm-nav-toggle{display:inline-flex;width:2.5rem;height:2.5rem;border:1px solid var(--gm-line);background:var(--gm-surface);cursor:pointer;align-items:center;justify-content:center}
.gm-nav-toggle span{display:block;width:1.1rem;height:2px;background:#fff;position:relative}
.gm-nav-toggle span::before,.gm-nav-toggle span::after{content:"";position:absolute;left:0;width:100%;height:2px;background:#fff}
.gm-nav-toggle span::before{top:-5px}.gm-nav-toggle span::after{top:5px}
.gm-nav--open{display:flex;flex-direction:column;gap:.75rem;position:absolute;left:1rem;right:1rem;top:4.2rem;padding:1rem;background:#0f172a;border:1px solid var(--gm-line)}
.gm-nav__item{position:relative}
.gm-nav__panel{position:absolute;top:100%;padding-top:.5rem;/* EPIC-060 hover bridge */left:0;min-width:15rem;padding:.75rem;background:#0f172a;border:1px solid var(--gm-line);z-index:50}
.gm-nav__panel--mega{min-width:min(38rem,92vw)}
.gm-nav__panel--mega .gm-nav__list--depth-1{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:1rem}
.gm-nav__panel .gm-nav__list{flex-direction:column}
.gm-nav__panel .gm-nav__link{display:block;padding:.45rem .5rem}
.gm-nav__panel .gm-nav__link:hover{background:#1f2937;color:#fff}
.gm-nav__panel[hidden]{display:none!important}
.gm-nav__item.is-open>.gm-nav__panel{display:block}
.gm-lang{display:inline-flex;gap:.4rem;padding-left:.75rem;border-left:1px solid var(--gm-line)}
.gm-lang__link{font-size:.75rem!important;font-weight:700!important;letter-spacing:.08em;text-decoration:none;color:#9ca3af!important}
.gm-lang__link.is-active{color:#fff!important}
@media (min-width:900px){.gm-nav{display:flex}.gm-nav-toggle{display:none}.gm-nav--open{position:static;border:0;padding:0;flex-direction:row}}
@media (max-width:899px){.gm-nav__list--root{flex-direction:column;width:100%}.gm-nav__panel{position:static;border:0;padding:.35rem 0 .35rem .75rem}}
.gm-hero{min-height:min(90vh,780px);display:grid;align-items:end;position:relative;overflow:hidden;background:
  linear-gradient(120deg,rgba(7,10,14,.2),rgba(7,10,14,.85)),
  radial-gradient(900px 420px at 80% 20%,rgba(239,68,68,.25),transparent 60%),
  #0b1220}
.gm-hero__media{position:absolute;inset:0}
.gm-hero__media img{width:100%;height:100%;object-fit:cover;opacity:.45}
.gm-hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,#070a0e 95%)}
.gm-hero__inner{position:relative;z-index:2;padding:7rem 0 3.5rem;max-width:42rem}
.gm-brand-mark{display:inline-block;margin:0 0 1rem;padding:.35rem .7rem;background:rgba(239,68,68,.15);border-left:3px solid var(--gm-blue);color:#fecaca;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.gm-hero h1{margin:0 0 1rem;font-size:clamp(2rem,5vw,3.6rem);letter-spacing:-.03em;line-height:1.05;color:#fff;text-transform:uppercase;max-width:14ch}
.gm-hero__text{margin:0 0 1.75rem;color:var(--gm-muted);font-size:1.05rem;max-width:34rem}
.gm-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.gm-btn{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.25rem;font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}
.gm-btn--primary{background:var(--gm-blue);color:#fff}
.gm-btn--primary:hover{background:var(--gm-blue-deep)}
.gm-btn--ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px #374151}
.gm-card{background:var(--gm-surface);border:1px solid var(--gm-line);border-radius:0;padding:0;overflow:hidden;transition:border-color .18s ease,transform .18s ease}
.gm-card img{aspect-ratio:16/10;object-fit:cover;width:100%}
.gm-card:hover{border-color:#ef4444;transform:translateY(-3px)}
.gm-page{padding:3rem 0 4rem}
.gm-page h1{color:#fff;text-transform:uppercase;letter-spacing:.04em;font-size:clamp(1.6rem,3vw,2.2rem)}
.gm-page__body{color:#d1d5db;max-width:46rem}
.gm-footer{background:#05070a;border-top:1px solid var(--gm-line);color:#9ca3af;padding:3rem 0 2rem;margin-top:2rem}
.gm-footer a{color:#e5e7eb;text-decoration:none}
.gm-footer__brand{color:#fff;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin:0 0 .75rem}
.gm-footer__grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}
.gm-footer__links{display:flex;flex-wrap:wrap;gap:1rem;list-style:none;margin:0;padding:0;text-transform:uppercase;font-size:.78rem;letter-spacing:.06em}
.gm-footer__copy{opacity:.7;font-size:.85rem;margin-top:2rem}
.gm-breadcrumb{display:flex;flex-wrap:wrap;gap:.35rem;color:var(--gm-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;margin:0 0 1.25rem}
.gm-breadcrumb a{color:var(--gm-muted);text-decoration:none}
input,textarea,select{background:#0f172a;border:1px solid #374151;color:#e5e7eb}
input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid #ef4444;outline-offset:2px}
input.is-invalid,textarea.is-invalid{border-color:#f87171}
@media (max-width:720px){.gm-hero{min-height:auto}.gm-hero__inner{padding:4.5rem 0 2.5rem}}

/* EPIC-054 shop public utility links */

.gm-nav__util{font-size:.875rem;text-decoration:none;opacity:.9}
.gm-nav__util:hover{opacity:1;text-decoration:underline}

/* EPIC-055 — Shop header actions */
.gm-nav__shop-utils{display:inline-flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-left:.75rem}
.gm-nav__util{display:inline-flex;align-items:center;padding:.35rem .55rem;border:1px solid rgba(0,0,0,.12);border-radius:.3rem;text-decoration:none;font-size:.85rem;line-height:1.2;white-space:nowrap}
.gm-nav__util--cart,.gm-nav__util--account{font-weight:600}
.gm-nav__util--login,.gm-nav__util--register{border-color:rgba(180,83,9,.35)}
@media (max-width:48rem){
  .gm-nav__shop-utils{width:100%;margin:0.5rem 0 0;justify-content:flex-start}
}

/* EPIC-056 — Header account + login modal */
.gm-nav__search{display:inline-flex;align-items:center;margin-left:.5rem}
.gm-nav__search input{min-width:9rem;max-width:14rem;padding:.35rem .55rem;border:1px solid rgba(0,0,0,.15);border-radius:.3rem}
.gm-nav__account{position:relative}
.gm-nav__account-menu{position:absolute;right:0;top:calc(100% + .35rem);min-width:12rem;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:.35rem;padding:.4rem;display:flex;flex-direction:column;gap:.15rem;z-index:40;box-shadow:0 10px 28px rgba(0,0,0,.08)}
.gm-nav__account-menu[hidden]{display:none!important}
.gm-nav__account-menu a,.gm-nav__account-menu button{display:block;width:100%;text-align:left;padding:.45rem .55rem;border:0;background:transparent;text-decoration:none;color:inherit;font:inherit;cursor:pointer;border-radius:.25rem}
.gm-nav__account-menu a:hover,.gm-nav__account-menu button:hover{background:#f5f7f8}
.shop-login-modal{border:none;border-radius:.5rem;padding:0;max-width:min(24rem,92vw)}
.shop-login-modal::backdrop{background:rgba(15,20,25,.55)}
.shop-login-modal__form{padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}
.shop-login-modal__head{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.shop-login-modal__close{border:0;background:transparent;font-size:1.4rem;cursor:pointer;line-height:1}
.shop-login-modal__links{display:flex;flex-wrap:wrap;gap:.75rem}
.shop-login-modal__oauth{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.shop-login-modal__oauth button{padding:.5rem;border:1px solid #d9dee3;border-radius:.3rem;background:#f5f7f8;opacity:.7}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* EPIC-057 — Public Shop header tools + icons + search overlay */
.gm-header{position:sticky;top:0;z-index:50;backdrop-filter:saturate(1.1) blur(8px);background:rgba(255,255,255,.92);border-bottom:1px solid rgba(0,0,0,.06)}
.gm-nav__tools{display:inline-flex;align-items:center;gap:.35rem;margin-left:.75rem;flex-wrap:wrap}
.gm-tool{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.25rem;padding:.35rem .55rem;border:1px solid transparent;border-radius:.4rem;background:transparent;color:inherit;text-decoration:none;font:inherit;cursor:pointer;position:relative}
.gm-tool:hover,.gm-tool:focus-visible{border-color:rgba(0,0,0,.12);background:#f5f7f8;outline:none}
.gm-tool--icon{width:2.35rem;padding:.35rem}
.gm-tool--cart{width:2.5rem}
.gm-tool__label--desktop{display:none}
.gm-tool__badge:empty{display:none}
.gm-tool__badge:not(:empty){position:absolute;top:.1rem;right:.05rem;min-width:1.05rem;height:1.05rem;padding:0 .25rem;border-radius:999px;background:#b45309;color:#fff;font-size:.65rem;line-height:1.05rem;text-align:center;font-weight:700}
.gm-ico{display:block}
.gm-nav__search--desktop{display:none}
.gm-nav__account{position:relative}
.gm-nav__account-menu{position:absolute;right:0;top:100%;padding-top:.5rem;/* EPIC-060 hover bridge */min-width:13rem;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:.45rem;padding:.4rem;display:flex;flex-direction:column;gap:.1rem;z-index:60;box-shadow:0 14px 36px rgba(15,20,25,.12)}
.gm-nav__account-menu[hidden]{display:none!important}
.gm-nav__account-menu a,.gm-nav__account-menu button{display:block;width:100%;text-align:left;padding:.55rem .65rem;border:0;background:transparent;text-decoration:none;color:inherit;font:inherit;cursor:pointer;border-radius:.3rem}
.gm-nav__account-menu a:hover,.gm-nav__account-menu button:hover{background:#f3f5f7}
.gm-search-overlay{position:fixed;inset:0;z-index:80;background:rgba(15,20,25,.45);display:flex;align-items:flex-start;justify-content:center;padding:4rem 1rem 1rem}
.gm-search-overlay[hidden]{display:none!important}
.gm-search-overlay__panel{width:min(40rem,100%);background:#fff;border-radius:.6rem;padding:1rem;box-shadow:0 20px 50px rgba(0,0,0,.18)}
.gm-search-overlay__form{display:flex;gap:.5rem;align-items:center}
.gm-search-overlay__form input{flex:1;min-height:2.6rem;padding:.65rem .8rem;border:1px solid #c9d1d8;border-radius:.4rem;font:inherit}
.gm-search-overlay__close{border:0;background:#f3f5f7;border-radius:.35rem;width:2.5rem;height:2.5rem;cursor:pointer}
.gm-search-overlay__suggest{margin-top:1rem;display:grid;gap:1rem}
.gm-search-overlay__suggest h3{margin:0 0 .4rem;font-size:.85rem;color:#62707c;text-transform:uppercase;letter-spacing:.06em}
.gm-search-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.gm-search-chips a{display:inline-flex;padding:.35rem .65rem;border-radius:.3rem;background:#f5f7f8;border:1px solid #e2e7eb;text-decoration:none;color:inherit}
.shop-login-modal{border:none;border-radius:.55rem;padding:0;max-width:min(26rem,94vw);width:100%}
.shop-login-modal::backdrop{background:rgba(15,20,25,.55)}
.shop-login-modal__form{padding:1.35rem;display:flex;flex-direction:column;gap:.8rem}
.shop-login-modal__head{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.shop-login-modal__close{border:0;background:transparent;font-size:1.5rem;cursor:pointer;line-height:1}
.shop-login-modal__remember{display:flex;align-items:center;gap:.45rem;font-size:.92rem}
.shop-login-modal__links{display:flex;flex-wrap:wrap;gap:.75rem 1rem}
.shop-login-modal__oauth{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.shop-login-modal__oauth button{padding:.55rem;border:1px solid #d9dee3;border-radius:.35rem;background:#f5f7f8;opacity:.75}
@media (min-width:64rem){
  .gm-nav__search--desktop{display:inline-flex;align-items:center;margin:0 .25rem}
  .gm-nav__search--desktop input{min-width:14rem;max-width:20rem;padding:.55rem .75rem;border:1px solid rgba(0,0,0,.12);border-radius:.4rem}
  .gm-tool--search{display:none}
  .gm-tool__label--desktop{display:inline}
}
/* Account design system */
.shop-ds-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem}
.shop-ds-card{background:var(--shop-surface,#fff);border:1px solid var(--shop-line,#d9dee3);border-radius:.55rem;padding:1.15rem;box-shadow:0 1px 0 rgba(15,20,25,.02)}
.shop-ds-card--stat .shop-ds-card__value{font-size:1.6rem;font-weight:700;margin:.2rem 0}
.shop-ds-card--action{display:flex;flex-direction:column;gap:.7rem}
.shop-ds-alert{border-radius:.45rem;padding:.85rem 1rem;border-left:4px solid #26734d;background:#e9f4ee}
.shop-ds-alert--warn{border-left-color:#b45309;background:#fff7ed}
.shop-ds-alert--error{border-left-color:#b42318;background:#fde8e8}
.shop-ds-span-4{grid-column:span 4}
.shop-ds-span-6{grid-column:span 6}
.shop-ds-span-12{grid-column:span 12}
.shop-auth__steps{display:flex;gap:.4rem;margin:0 0 1rem;flex-wrap:wrap}
.shop-auth__step{padding:.35rem .65rem;border-radius:.3rem;border:1px solid var(--shop-line,#d9dee3);font-size:.82rem;color:var(--shop-muted,#62707c)}
.shop-auth__step.is-active{background:var(--shop-accent,#b45309);border-color:var(--shop-accent,#b45309);color:#fff}
.shop-auth__step-panel[hidden]{display:none!important}
.shop-auth__nav{display:flex;gap:.5rem;margin-top:.5rem}
@media (max-width:48rem){
  .shop-ds-span-4,.shop-ds-span-6{grid-column:span 12}
  .gm-nav__tools{width:100%;margin:.5rem 0 0;justify-content:flex-start}
}