:root{
  --bg:#ffffff;
  --surface:#f7f7f7;
  --text:#141414;
  --muted:#6a6a6a;
  --border:#e7e7e7;
  --shadow:0 8px 30px rgba(0,0,0,.06);
  --radius:18px;
}

*{box-sizing:border-box;margin:0;padding:0}
body{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;color:var(--text);background:var(--bg);line-height:1.6}
a{color:inherit;text-decoration:none}
.container{max-width:1120px;margin:0 auto;padding:0 20px}
.muted{color:var(--muted)}
.strong{font-weight:600}
.divider{height:1px;background:var(--border);margin:18px 0}

.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.88);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--border);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.brand{font-weight:650;letter-spacing:.06em}
.nav{display:flex;align-items:center;gap:18px}
.nav a{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}
.nav a:hover{color:var(--text)}

.pill{
  padding:10px 14px;border:1px solid var(--border);
  border-radius:999px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--text);
  background:transparent;cursor:pointer;
}
.pill.ghost{border-color:var(--border)}
.pill:hover{box-shadow:var(--shadow)}

main{min-height:70vh}
.section{padding:64px 0}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}
.link{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-decoration:underline}
.link:hover{color:var(--text)}

.hero{padding:72px 0;background:linear-gradient(180deg,#f7f7f7 0%, #ffffff 70%)}
.hero-inner{display:grid;grid-template-columns:1.5fr .9fr;gap:22px;align-items:stretch}
@media(max-width:900px){.hero-inner{grid-template-columns:1fr}}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.32em;color:var(--muted);margin-bottom:14px}
h1{font-weight:260;letter-spacing:-.02em;font-size:48px;line-height:1.1;margin-bottom:12px}
h2{font-weight:280;letter-spacing:-.02em;font-size:30px}
h3{font-weight:420;font-size:18px;margin-bottom:8px}
.lead{font-size:16px}
.cta-row{display:flex;gap:12px;margin:18px 0 8px}
@media(max-width:520px){.cta-row{flex-direction:column}}
.trust-row{font-size:12px;letter-spacing:.08em}

.hero-card{
  border:1px solid var(--border);border-radius:var(--radius);
  background:rgba(255,255,255,.7);
  box-shadow:var(--shadow);
  padding:18px;
}
.hero-card-title{font-size:12px;text-transform:uppercase;letter-spacing:.22em;color:var(--muted);margin-bottom:8px}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 16px;border-radius:999px;
  border:1px solid var(--text);
  background:var(--text);color:white;
  font-size:12px;text-transform:uppercase;letter-spacing:.14em;
  cursor:pointer;
}
.btn:hover{opacity:.92}
.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--border)}
.btn.full{width:100%}

.grid{display:grid;gap:16px}
.grid.cards{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.grid.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.grid.cards{grid-template-columns:1fr}}
.grid.two{grid-template-columns:1fr 1fr}
@media(max-width:900px){.grid.two{grid-template-columns:1fr}}
.grid.three{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.grid.three{grid-template-columns:1fr}}

.card{
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
  background:#fff;
  box-shadow:var(--shadow);
}

.card-body{padding:14px 14px 16px}
.card-title{font-weight:600;margin-bottom:6px}
.card-meta{font-size:12px}
.card-price{margin-top:10px;font-weight:700}

.thumb{width:100%;aspect-ratio:4/3;background:var(--surface);overflow:hidden}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.thumb-placeholder{height:100%;display:flex;align-items:center;justify-content:center;color:#a0a0a0;font-size:12px;text-transform:uppercase;letter-spacing:.14em}

.filters{
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr 1fr auto auto;
  gap:10px;align-items:end;margin:10px 0 18px;
}
@media(max-width:1100px){.filters{grid-template-columns:1fr 1fr 1fr 1fr;grid-auto-rows:auto}}
.filters input,.filters select{
  border:1px solid var(--border);
  border-radius:12px;padding:10px 12px;font-size:14px;background:#fff;
}

.vehicle-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
@media(max-width:900px){.vehicle-head{flex-direction:column}}
.price-box{
  border:1px solid var(--border);border-radius:var(--radius);padding:14px;min-width:260px;background:#fff;box-shadow:var(--shadow)
}
.price{font-size:22px;font-weight:750;margin-bottom:10px}

.gallery{display:grid;grid-template-columns:1.6fr .9fr;gap:12px;margin:18px 0}
@media(max-width:900px){.gallery{grid-template-columns:1fr}}
.gallery-main{border-radius:var(--radius);overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}
.gallery-main img{width:100%;height:100%;object-fit:cover;display:block}
.gallery-main.placeholder{display:flex;align-items:center;justify-content:center;color:#999;padding:40px;border:1px dashed var(--border)}
.gallery-thumbs{display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}
.thumb-img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;cursor:pointer;border:1px solid var(--border)}
.thumb-img:hover{opacity:.9}

.specs{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:10px}
@media(max-width:520px){.specs{grid-template-columns:1fr}}
.specs span{font-size:12px;text-transform:uppercase;letter-spacing:.14em}

.breadcrumbs{font-size:12px;margin-bottom:10px}
.breadcrumbs a{text-decoration:underline;color:var(--muted)}

.site-footer{border-top:1px solid var(--border);padding:18px 0;background:#fff}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:12px}
@media(max-width:700px){.footer-inner{flex-direction:column;align-items:flex-start}}
.brand-foot{font-weight:650;letter-spacing:.06em}

.step{border:1px solid var(--border);border-radius:var(--radius);padding:16px;background:#fff;box-shadow:var(--shadow)}
.step-num{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.step-meta{font-size:12px;margin-top:10px}

.callout{margin-top:22px;border:1px solid var(--border);border-radius:var(--radius);padding:18px;display:grid;grid-template-columns:1.4fr .8fr;gap:14px;background:linear-gradient(180deg,#fff, #fafafa);box-shadow:var(--shadow)}
@media(max-width:900px){.callout{grid-template-columns:1fr}}
.list{padding-left:18px}
.callout-actions{display:flex;flex-direction:column;gap:10px;justify-content:center}

.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#f7f7f7,#fff)}
.auth-card{width:min(420px,92vw);border:1px solid var(--border);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);padding:18px}
.auth-brand{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.auth-form{display:grid;gap:10px;margin-top:12px}
.auth-form input{border:1px solid var(--border);border-radius:12px;padding:12px}
.alert{border:1px solid #ffd2d2;background:#fff6f6;color:#7a1a1a;border-radius:12px;padding:10px;margin:10px 0}

.table{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.thead,.trow{display:grid;grid-template-columns:2.2fr .8fr .6fr .9fr 1.3fr;gap:10px;padding:12px 14px;align-items:center}
.thead{background:#fafafa;border-bottom:1px solid var(--border);font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}
.trow{border-bottom:1px solid var(--border)}
.trow:last-child{border-bottom:none}
.actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.badge{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:12px;border:1px solid var(--border);text-transform:capitalize}
.badge.published{background:#f0fff6;border-color:#bfead0}
.badge.draft{background:#fffaf0;border-color:#f0d9b4}
.linkbtn{background:none;border:none;color:var(--muted);text-decoration:underline;cursor:pointer;padding:0;font-size:13px}
.linkbtn:hover{color:var(--text)}
.linkbtn.danger{color:#b10000}
.field-error{font-size:12px;color:#b10000;margin-top:6px}

.wizard{display:flex;gap:10px;margin-bottom:14px}
.wizard-step{padding:8px 12px;border:1px solid var(--border);border-radius:999px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.wizard-step.active{color:var(--text);border-color:var(--text)}
.wizard-step.done{background:#f7f7f7}

.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}
.mini{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff}
.mini img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.mini form{padding:8px}


/* --- Spacing refinements (Nordic, airy) --- */

.section{padding:84px 0}
@media(max-width:900px){.section{padding:64px 0}}
.hero{padding:96px 0}
@media(max-width:900px){.hero{padding:72px 0}}
.section-head{margin-bottom:26px}
.hero-inner{gap:28px}
.hero-card{padding:22px}
.card-body{padding:18px 18px 20px}
.cta-row{margin:22px 0 10px}
.filters{margin:18px 0 26px}
.filters input,.filters select{padding:12px 14px}
.price-box{padding:18px}
.gallery{margin:26px 0}
.grid{gap:18px}
.grid.two{gap:18px}
.callout{padding:22px;margin-top:30px}
.site-footer{padding:26px 0}
/* Contact page */
form label{display:block;margin-bottom:6px}
textarea, input, select{outline:none}
input, textarea, select{min-height:46px}
textarea{min-height:140px}

/* --- Contact page refinements --- */
.tinycaps{font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.contact-card{padding:22px}
.contact-email{font-size:20px;margin-top:8px}
.contact-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.contact-form{display:grid;gap:16px;margin-top:6px}
.contact-form input, .contact-form textarea{border:1px solid var(--border);border-radius:12px;padding:12px 14px;font-size:14px;background:#fff}
.contact-submit{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:6px}
.contact-form-section{padding-top:20px}

/* --- Eleven-inspired layouts (Nordic translation) --- */
.hero-eleven{padding:110px 0;background:linear-gradient(180deg,#f7f7f7 0%, #ffffff 70%)}
.hero-eleven-inner{display:grid;grid-template-columns:1.35fr .95fr;gap:28px;align-items:start}
@media(max-width:900px){.hero-eleven-inner{grid-template-columns:1fr}.hero-eleven{padding:80px 0}}
.hero-steps{margin-top:16px;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.hero-steps .dot{margin:0 10px;color:#b1b1b1}
.hero-eleven-card{border:1px solid var(--border);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);padding:20px}
.home-search{display:grid;gap:10px}
.home-search select{border:1px solid var(--border);border-radius:12px;padding:12px 14px;background:#fff}
.section-compact{padding-top:56px}
.popular-list{display:grid;gap:12px;margin-top:14px}
.popular-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:16px;background:#fff;padding:14px 16px;box-shadow:var(--shadow)}
.popular-item:hover{transform:translateY(-1px)}
.badge-tag{display:inline-flex;padding:6px 10px;border-radius:999px;border:1px solid var(--border);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);background:#fafafa}
.popular-title{font-weight:650;margin-top:8px}
.popular-meta{font-size:12px;margin-top:6px}
.popular-price{font-weight:750}
@media(max-width:700px){.popular-item{flex-direction:column;align-items:flex-start}.popular-price{width:100%}}
.cta-split{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;align-items:stretch}
@media(max-width:900px){.cta-split{grid-template-columns:1fr}}
.cta-media{border:1px solid var(--border);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);overflow:hidden}
.cta-media-inner{padding:22px}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}
.cta-inventory{border:1px solid var(--border);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);padding:20px}
.mini-cards{display:grid;gap:10px;margin-top:12px}
.mini-card{display:grid;grid-template-columns:90px 1fr;gap:12px;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:#fff}
.mini-thumb{width:90px;aspect-ratio:4/3;background:var(--surface)}
.mini-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.mini-body{padding:10px 10px 12px}
.mini-title{font-weight:600;font-size:13px}
.mini-price{margin-top:8px;font-weight:750;font-size:13px}
.newsletter{background:linear-gradient(180deg,#fff, #f7f7f7)}
.newsletter-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:start}
@media(max-width:900px){.newsletter-inner{grid-template-columns:1fr}}
.newsletter-form{display:flex;flex-direction:column;gap:10px}
.newsletter-form input{border:1px solid var(--border);border-radius:12px;padding:12px 14px;background:#fff}

/* Contact page - Eleven-style */
.contact-inline{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;align-items:center}
.contact-pill{display:inline-flex;padding:10px 14px;border-radius:999px;border:1px solid var(--border);background:#fff;box-shadow:var(--shadow)}
.contact-grid{align-items:start}
.contact-location{align-items:start}
.contact-form select{border:1px solid var(--border);border-radius:12px;padding:12px 14px;background:#fff}


/* Branding */
.brand{display:flex;align-items:center;gap:10px}
.brand-mark{height:28px;width:28px;display:block}
@media(max-width:520px){.brand-mark{height:24px;width:24px}}




.brand-logo{
  width: 100%;
  max-width: 240px;
  height: auto;
  display:block;
}
@media(max-width: 768px){
  .brand{max-width: 200px}
  .brand-logo{max-width: 200px}
}
@media(max-width: 480px){
  .brand{max-width: 160px}
  .brand-logo{max-width: 160px}
}

/* Header logo sizing (narrower, fits header without crowding nav) */
.brand{
  display:flex;
  align-items:center;
  max-width: 180px; /* desktop */
}
.brand-logo{
  width: 100%;
  max-width: 180px;
  height: auto;
  display:block;
}
@media(max-width: 900px){
  .brand{max-width: 150px}
  .brand-logo{max-width: 150px}
}
@media(max-width: 480px){
  .brand{max-width: 128px}
  .brand-logo{max-width: 128px}
}

/* Header container width fix */
.site-header{
  width:100%;
}
.site-header .container,
.header-inner,
.navbar{
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 16px;
  padding-right: 16px;
}
@media(max-width:768px){
  .site-header .container,
  .header-inner,
  .navbar{
    padding-left: 12px;
    padding-right: 12px;
  }
}

/* Text-only brand */
.brand-text{
  font-weight: 700;
  letter-spacing: .12em;
  font-size: 16px;
  color: var(--text);
  text-decoration: none;
}
@media(max-width:768px){
  .brand-text{font-size:14px}
}
