/* GMEMotors — shared design system
   Palette + type based on the approved reference layout. */
:root{
  --cream:#fbfaf7;
  --tan:#ece7dc;
  --ink:#202326;
  --navy:#14213d;
  --accent:#bc2f2f;
  --muted:#5e6778;
  --border:#dedbd2;
  --mint-bg:#eef3f1;
  --mint-text:#26735b;
  --white:#ffffff;
  --radius:8px;
}
*{box-sizing:border-box;}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--navy);background:var(--cream);line-height:1.55;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
section{padding:82px 56px 34px;}
.wrap{max-width:1160px;margin:0 auto;}
h1,h2,h3{line-height:1.15;margin:0 0 16px;font-weight:400;color:var(--ink);}
h1{font-size:clamp(34px,6vw,64px);}
h2{font-size:clamp(26px,4vw,40px);}
h3{font-size:18px;font-weight:800;}
.eyebrow{color:var(--muted);text-transform:uppercase;font-size:13px;font-weight:850;margin-bottom:10px;display:block;}

/* header / nav */
header{position:sticky;top:0;background:rgba(251,250,247,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--border);z-index:50;}
.nav{max-width:1160px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:14px 24px;position:relative;}
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;background:none;border:1px solid var(--border);cursor:pointer;padding:0;flex:none;}
.nav-toggle span{display:block;width:18px;height:2px;background:var(--ink);margin:0 auto;}
.brand{font-weight:800;font-size:16px;letter-spacing:.01em;color:var(--ink);display:flex;align-items:center;gap:10px;line-height:1.3;}
.brand-logo{width:42px;height:42px;flex:none;display:block;}
.brand-lines{display:flex;flex-direction:column;gap:1px;}
.brand-tagline{display:block;font-weight:600;font-size:11px;color:var(--muted);}
.nav-links{display:flex;gap:28px;font-size:14px;font-weight:700;}
.nav-links a:hover{color:var(--accent);}
.nav-links a.active{color:var(--accent);}

/* buttons */
.btn{display:inline-block;padding:13px 20px;font-weight:800;font-size:14px;cursor:pointer;border:1px solid var(--navy);border-radius:0;}
.btn-primary{background:var(--navy);color:#fff;}
.btn-primary:hover{background:var(--ink);}
.btn-outline{background:transparent;border-color:var(--navy);color:var(--navy);}
.btn-outline:hover{background:var(--navy);color:#fff;}

/* hero — full-bleed image on the right, copy column on the left */
.hero{background:var(--cream);padding:0;}
.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:stretch;min-height:640px;}
.hero-copy{padding:64px 56px;display:flex;flex-direction:column;justify-content:center;}
.hero-eyebrow{color:var(--accent);}
.hero p.lead,.hero-copy .lead{font-size:18px;color:var(--muted);max-width:520px;}
.hero-actions{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap;}
.hero-img{overflow:hidden;position:relative;}
.hero-img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.hero-callout{position:absolute;left:24px;bottom:24px;background:var(--white);padding:14px 18px;border-left:4px solid var(--accent);max-width:260px;}
.hero-callout strong{display:block;font-size:18px;color:var(--ink);}
.hero-callout span{display:block;font-size:13px;color:var(--muted);}
.trust-strip{list-style:none;margin:0;padding:0;display:flex;gap:0;flex-wrap:wrap;background:var(--navy);color:#fff;}
.trust-strip li{list-style:none;flex:1 1 220px;padding:22px 56px;font-size:14px;font-weight:700;border-right:1px solid rgba(255,255,255,.12);}
.trust-strip li:before{content:"";}

/* section headers + cards */
.section-head{max-width:680px;margin-bottom:40px;}
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;}
.card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:transform .15s ease,box-shadow .15s ease;position:relative;}
.card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(32,35,38,.08);}
.card img{height:190px;object-fit:cover;width:100%;}
.card-body{padding:22px;}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
.tag{font-size:12px;font-weight:800;background:var(--mint-bg);color:var(--mint-text);padding:7px 10px;border-radius:0;}
.price{font-size:22px;font-weight:700;color:var(--ink);}
.price small{font-size:13px;font-weight:600;color:var(--muted);margin-left:8px;}
.specs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0;padding-top:14px;border-top:1px solid var(--border);font-size:13px;}
.specs div span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.03em;margin-bottom:2px;}
.card-cta{margin-top:16px;font-weight:800;color:var(--navy);border:1px solid var(--navy);display:block;text-align:center;padding:12px;}
.card:hover .card-cta{background:var(--navy);color:#fff;}
.sold-stamp{position:absolute;top:14px;right:14px;background:var(--ink);color:#fff;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:0;}

/* featured / detail band */
.detail{background:var(--tan);}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.detail-imgs{overflow:hidden;}
.detail-imgs img{height:380px;object-fit:cover;width:100%;transition:transform .2s ease;}
.detail-imgs:hover img{transform:scale(1.03);}
.pill-row{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0;}
.pill{background:var(--mint-bg);color:var(--mint-text);padding:8px 14px;font-size:13px;font-weight:800;border-radius:0;}

/* trust / transparency steps */
.steps{counter-reset:step;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);}
.step{position:relative;padding:24px;background:var(--cream);font-weight:700;color:var(--ink);}
.step .num{display:block;font-weight:900;color:var(--accent);font-size:13px;margin-bottom:14px;}

/* finance / dark band */
#finance{background:var(--ink);color:#fff;}
#finance .eyebrow{color:#b9bdc2;}
#finance h2{color:#fff;}
#finance p{color:#c7cbd1;}
.finance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;border:1px solid rgba(255,255,255,.16);}
.finance-card{background:transparent;color:#fff;padding:24px;border-right:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);}
.finance-card h3{color:#fff;font-size:16px;margin-bottom:8px;}

/* competitor-style comparison table (kept for structural compatibility) */
.compare{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;}
.compare .card-body{padding:22px;}
.compare h3{font-size:16px;margin-bottom:4px;}
.compare .role{font-size:13px;color:var(--accent);font-weight:700;margin-bottom:10px;}

/* contact */
.contact{background:#eaedf0;color:var(--navy);}
.contact .wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;}
.contact-info{list-style:none;margin:0;padding:0;}
.contact-info li{list-style:none;margin-bottom:12px;font-size:15px;font-weight:700;color:var(--navy);}
form{display:grid;gap:16px;background:var(--white);padding:28px;border:1px solid var(--border);border-radius:var(--radius);color:var(--navy);}
label{font-size:13px;font-weight:800;color:var(--muted);}
input,select,textarea{width:100%;padding:12px 14px;border-radius:0;border:1px solid var(--border);font-size:14px;font-family:inherit;margin-top:6px;background:var(--cream);}
textarea{min-height:100px;resize:vertical;}
.form-note{font-size:12px;color:var(--muted);}
.form-status{font-size:13px;font-weight:700;color:var(--mint-text);display:none;}

footer{background:var(--navy);color:#c7cbd1;padding:26px 24px;text-align:center;font-size:13px;}

/* --- detail / gallery pages (sold + stock) --- */
.page-hero{background:var(--ink);color:#fff;padding:56px 56px 48px;}
.page-hero p.lead{font-size:17px;color:#c7cbd1;max-width:680px;}
.breadcrumb{font-size:13px;color:#9aa0aa;margin-bottom:16px;}
.breadcrumb a{text-decoration:underline;}
.price-tag{font-size:24px;font-weight:700;color:#fff;margin:14px 0 0;}
.page-hero .tags{margin:18px 0 0;}
.page-hero .tag{background:rgba(255,255,255,.12);color:#fff;}
.detail-cols{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:start;padding:82px 56px;max-width:1160px;margin:0 auto;}
.detail-cols h2{font-size:22px;font-weight:800;}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;}
.gallery img{border-radius:0;height:150px;object-fit:cover;width:100%;cursor:pointer;transition:transform .15s ease;border:1px solid var(--border);}
.gallery img:hover{transform:scale(1.03);}
.gallery-counter{display:none;}
.page-hero .gallery{margin:24px 0;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));}
.page-hero .gallery img{height:120px;border-color:rgba(255,255,255,.2);}
.page-hero .gallery-counter{color:#c7cbd1;}
.feature-list{list-style:none;margin:0;padding:0;}
.feature-list li{padding:12px 0;border-bottom:1px solid var(--border);font-size:14px;color:var(--navy);}
.feature-list li:before{content:"— ";color:var(--accent);font-weight:800;}
.side-card{background:var(--tan);border-radius:var(--radius);padding:24px;}
.side-card h3{font-size:16px;margin-bottom:12px;}
.cta-band{background:var(--tan);text-align:center;}
.cta-band p{color:var(--muted);max-width:520px;margin:0 auto 20px;}

/* lightbox */
.lightbox{display:none;position:fixed;inset:0;background:rgba(20,21,24,.94);z-index:200;align-items:center;justify-content:center;}
.lightbox.open{display:flex;}
.lightbox img{max-width:90vw;max-height:85vh;border-radius:0;}
.lb-close{position:absolute;top:20px;right:28px;color:#fff;font-size:32px;cursor:pointer;font-weight:300;line-height:1;}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.12);color:#fff;border:none;font-size:28px;width:48px;height:48px;border-radius:50%;cursor:pointer;}
.lb-prev{left:20px;}
.lb-next{right:20px;}
.lb-count{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:#c7cbd1;font-size:13px;}

@media (max-width:860px){
  section{padding:56px 24px 28px;}
  .hero-grid{grid-template-columns:1fr;min-height:auto;}
  .hero-copy{padding:48px 24px;}
  .hero-img{min-height:320px;}
  .detail-grid, .contact .wrap{grid-template-columns:1fr;}
  .detail-cols{grid-template-columns:1fr;padding:56px 24px;}
  .nav-toggle{display:flex;}
  .nav-links{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    flex-direction:column;
    gap:0;
    background:var(--cream);
    border-bottom:1px solid var(--border);
    box-shadow:0 12px 20px rgba(32,35,38,.08);
    padding:4px 24px 12px;
  }
  .nav-links.open{display:flex;}
  .nav-links a{padding:14px 0;border-bottom:1px solid var(--border);}
  .nav-links a:last-child{border-bottom:none;}
  .gallery{
    display:flex;
    grid-template-columns:none;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    gap:0;
    margin:0 -24px;
    padding:0 24px;
  }
  .gallery::-webkit-scrollbar{display:none;}
  .gallery img{
    flex:0 0 100%;
    scroll-snap-align:center;
    height:280px;
    border-radius:0;
    border:none;
  }
  .gallery-counter{
    display:block;
    text-align:center;
    font-size:13px;
    font-weight:700;
    color:var(--muted);
    margin-top:10px;
  }
  .trust-strip li{border-right:none;border-bottom:1px solid rgba(255,255,255,.12);padding:22px 24px;}
  .finance-card{border-right:none;}
  .page-hero{padding:48px 24px 40px;}
}
