/* Public site styles — GASS. Colors come from CSS variables injected
   server-side from config.theme, with these values as standalone fallbacks.
   Rule of the palette: BLUE = brand/headers, YELLOW = CTAs + highlights only. */
:root{
  --blue:#1e4e8c; --blue-dark:#163c6b; --steel:#b8bec7; --gray:#4a4f57;
  --black:#111111; --white:#ffffff; --yellow:#f5c518; --yellow-dark:#dcae06;
  --yellow-ink:#1a1400; --paper:#f4f5f7; --card:#ffffff; --rule:#dbdee3; --ink:#1a1d21;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} *{transition:none!important;} }
body{font-family:'Barlow',sans-serif;background:var(--paper);color:var(--ink);line-height:1.55;}
.wrap{max-width:980px;margin:0 auto;padding:0 20px;}
img{max-width:100%;display:block;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid var(--yellow);outline-offset:2px;
}

/* Sticky click-to-call bar */
.topbar{
  position:sticky;top:0;z-index:50;background:var(--blue);color:#fff;
  display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;
}
.brand{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;font-size:1.05rem;line-height:1.05;color:#fff;text-decoration:none;
}
.brand span{color:var(--yellow);}
.callbtn{
  flex:0 0 auto;background:var(--yellow);color:var(--yellow-ink);text-decoration:none;
  font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;
  letter-spacing:.04em;padding:9px 15px;border-radius:5px;font-size:.98rem;transition:background .15s;
}
.callbtn:hover{background:var(--yellow-dark);}

/* Hero */
.hero{background:var(--blue);color:#fff;padding:50px 0 46px;
  background-image:linear-gradient(180deg,var(--blue) 0%,var(--blue-dark) 100%);}
.eyebrow{
  font-family:'IBM Plex Mono',monospace;font-size:.8rem;letter-spacing:.12em;
  text-transform:uppercase;color:#c8d6ea;margin-bottom:14px;
}
.hero h1{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;
  font-size:clamp(2.4rem,8vw,4rem);line-height:1.02;max-width:16ch;
}
.hero h1 em{font-style:normal;color:var(--yellow);}
.hero p.sub{margin:18px 0 26px;max-width:48ch;color:#dfe7f2;font-size:1.05rem;}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;}
.btn{
  display:inline-block;text-decoration:none;border-radius:5px;border:none;cursor:pointer;
  font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;font-size:1.1rem;padding:14px 24px;transition:background .15s,filter .15s;
}
.btn-yellow{background:var(--yellow);color:var(--yellow-ink);}
.btn-yellow:hover{background:var(--yellow-dark);}
.btn-ghost{background:transparent;color:#fff;border:2px solid #ffffff66;}
.btn-ghost:hover{border-color:#fff;}
.trustline{
  margin-top:28px;font-family:'IBM Plex Mono',monospace;font-size:.82rem;color:#c8d6ea;
  display:flex;gap:18px;flex-wrap:wrap;
}
.trustline b{color:#fff;font-weight:500;}

section{padding:48px 0;}
.kicker{
  font-family:'IBM Plex Mono',monospace;font-size:.78rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gray);margin-bottom:8px;
}
h2{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;
  font-size:clamp(1.7rem,5vw,2.3rem);line-height:1.05;margin-bottom:22px;color:var(--blue);
}

/* Services chips */
.services{padding:34px 0;background:var(--white);border-bottom:1px solid var(--rule);}
.service-list{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;}
.service-list li{
  font-family:'Barlow Condensed',sans-serif;font-weight:600;text-transform:uppercase;
  letter-spacing:.03em;font-size:1rem;color:var(--blue);background:#eef2f8;
  border:1px solid var(--rule);border-radius:20px;padding:7px 15px;
}

/* Quote form */
.quote{background:var(--paper);}
.q-card{
  background:var(--card);border:1px solid var(--rule);border-radius:10px;max-width:640px;
  box-shadow:0 4px 18px rgba(30,78,140,.12);overflow:hidden;
}
.q-head{
  background:var(--blue);color:#fff;padding:14px 20px;
  display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;
}
.q-title{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;font-size:1.2rem;
}
.q-tag{font-family:'IBM Plex Mono',monospace;font-size:.76rem;color:var(--yellow);}
.q-body{padding:22px 20px 24px;}
.field{margin-bottom:16px;}
label{
  display:block;font-family:'IBM Plex Mono',monospace;font-size:.74rem;
  letter-spacing:.09em;text-transform:uppercase;color:var(--gray);margin-bottom:6px;
}
label .req{color:var(--blue);font-weight:700;}
input,select,textarea{
  width:100%;font-family:'Barlow',sans-serif;font-size:1.02rem;color:var(--ink);
  background:#fff;border:2px solid var(--rule);padding:11px 12px;border-radius:8px;
}
textarea{resize:vertical;min-height:96px;}
select{appearance:auto;}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue);}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.field-row.three{grid-template-columns:0.7fr 1fr 1fr;}
@media (max-width:520px){.field-row,.field-row.three{grid-template-columns:1fr;}}
input[type=file]{border:none;padding:8px 0;font-size:.95rem;}
.q-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.q-thumbs img{width:74px;height:74px;object-fit:cover;border-radius:7px;border:1px solid var(--rule);}
.q-hint{font-family:'IBM Plex Mono',monospace;font-size:.72rem;color:var(--gray);margin-top:8px;}
.q-note{font-family:'IBM Plex Mono',monospace;font-size:.74rem;color:var(--gray);margin:4px 0 18px;}
.q-submit{width:100%;background:var(--yellow);color:var(--yellow-ink);}
.q-submit:hover{background:var(--yellow-dark);}
.q-submit:disabled{opacity:.65;cursor:default;}
.q-thanks{font-family:'Barlow',sans-serif;font-size:.98rem;text-align:center;padding-top:10px;color:var(--ink);}
.q-thanks a{color:var(--blue);font-weight:600;}

/* Visit */
.visit{background:var(--blue);color:#fff;background-image:linear-gradient(180deg,var(--blue) 0%,var(--blue-dark) 100%);}
.visit .kicker{color:#c8d6ea;}
.visit h2{color:#fff;}
.placard{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:26px;}
.placard h3{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;font-size:1.15rem;margin-bottom:10px;color:var(--yellow);
}
.hours{font-family:'IBM Plex Mono',monospace;font-size:.88rem;line-height:1.9;}
.hours span{color:#c8d6ea;display:inline-block;min-width:9ch;}
.visit a{color:#fff;}

footer{
  background:var(--black);color:#9aa0a8;padding:22px 0;
  font-family:'IBM Plex Mono',monospace;font-size:.75rem;
}
footer p{margin-bottom:6px;}
footer a{color:#c3c8cf;}
footer .attribution{color:#9aa0a8;margin-top:8px;}
/* Subtle staff entry point — muted, small (template pattern for all builds). */
footer .admin-link{color:#6b7078;font-size:.7rem;text-decoration:none;}
footer .admin-link:hover{color:#c3c8cf;text-decoration:underline;}

/* ===== Inventory (sales) ===== */
.btn-blue{background:var(--blue);color:#fff;}
.btn-blue:hover{background:var(--blue-dark);}
.btn-ghost-blue{background:transparent;color:var(--blue);border:2px solid var(--blue);}
.btn-ghost-blue:hover{background:var(--blue);color:#fff;}

/* Vehicle card grid (homepage teaser + /inventory) */
.inv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-top:6px;}
.vehicle-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--rule);border-radius:10px;overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:0 2px 8px rgba(30,78,140,.06);transition:box-shadow .15s,transform .15s;}
.vehicle-card:hover{box-shadow:0 6px 18px rgba(30,78,140,.16);transform:translateY(-2px);}
.v-photo{width:100%;height:180px;object-fit:cover;background:#e7ebf1;display:block;}
.v-noimg{display:flex;align-items:center;justify-content:center;color:var(--gray);font-family:'IBM Plex Mono',monospace;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;text-align:center;padding:0 10px;}
.v-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:4px;}
.v-body h3{font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;font-size:1.2rem;letter-spacing:.02em;color:var(--blue);}
.v-meta{font-family:'IBM Plex Mono',monospace;font-size:.74rem;color:var(--gray);}
.v-price{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.5rem;color:var(--ink);margin-top:2px;}

/* Homepage teaser section */
.inv-teaser{background:var(--paper);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);}
.inv-more{margin-top:22px;}

/* /inventory list page */
.inv-page{padding:44px 0;}
.inv-page h1{font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;font-size:clamp(2rem,6vw,2.8rem);color:var(--blue);line-height:1.03;}
.inv-intro{max-width:60ch;color:var(--gray);margin:10px 0 24px;}
.inv-empty{font-family:'IBM Plex Mono',monospace;color:var(--gray);padding:16px 0;}
.inv-back{margin-top:26px;}
.inv-back a{color:var(--blue);text-decoration:none;font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.04em;}

/* Vehicle detail */
.vehicle-detail{padding:34px 0 48px;}
.v-crumb{margin-bottom:16px;}
.v-crumb a{color:var(--blue);text-decoration:none;font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.04em;}
.v-detail-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:start;}
@media (max-width:720px){.v-detail-grid{grid-template-columns:1fr;gap:20px;}}
.v-main{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:12px;border:1px solid var(--rule);background:#e7ebf1;}
.v-main.v-noimg{display:flex;align-items:center;justify-content:center;}
.v-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.v-thumb{width:72px;height:72px;object-fit:cover;border-radius:7px;border:2px solid var(--rule);cursor:pointer;}
.v-thumb.active{border-color:var(--blue);}
.v-info h1{font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;font-size:clamp(1.8rem,5vw,2.4rem);color:var(--blue);line-height:1.03;}
.v-price-lg{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:2.2rem;color:var(--ink);margin:6px 0 16px;}
.v-specs{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin-bottom:16px;}
.v-specs div{display:flex;justify-content:space-between;border-bottom:1px solid var(--rule);padding:6px 0;font-size:.95rem;}
.v-specs span{font-family:'IBM Plex Mono',monospace;font-size:.72rem;color:var(--gray);text-transform:uppercase;letter-spacing:.06em;}
.v-notes{color:var(--gray);margin-bottom:18px;white-space:pre-wrap;}
.v-ctas{display:flex;gap:12px;flex-wrap:wrap;}
.v-fineprint{font-family:'IBM Plex Mono',monospace;font-size:.7rem;color:var(--gray);margin-top:16px;}
