:root{
  --bg:#0b0c10;
  --card:#15171d;
  --text:#e8e8ea;
  --muted:#b7bcc7;
  --accent:#F4D03F;
  --radius:14px;
}

/* Base */
*{box-sizing:border-box}
html,body{ background:var(--bg); color:var(--text); font-family:'Times New Roman', Times, serif; line-height:1.65; font-size:18px; }
a{color:var(--accent);text-decoration:none}

/* Layout */
.container{max-width:1200px;margin:0 auto;padding:0 2rem}

/* ======= MOBILMENY (drawer) ======= */
.mobile-toggle{
  background:none; border:0; padding:.5rem; cursor:pointer;
  margin-left:auto;
  flex:0 0 auto;
  align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:10px;
  flex-direction:column;
  gap:6px;
  display:none;  /* 👈 skjult som standard */
}
.mobile-toggle:focus-visible{ outline:2px solid rgba(244,208,63,.9); outline-offset:2px; }
.mobile-toggle:hover{ background:rgba(255,255,255,.06); }
.mobile-toggle .bar{
  display:block;
  width:26px;
  height:2px;
  background:#F4D03F;
  border-radius:2px;
}

/* bare på mobil */
@media (max-width:960px){
  .mobile-toggle{ display:inline-flex; }
}

.backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:75}
.mobile-drawer{
  position:fixed;top:0;right:0;height:100dvh;width:80vw;max-width:360px;
  background:#fff;color:#111;transform:translateX(100%);
  transition:transform .28s ease;box-shadow:-8px 0 24px rgba(0,0,0,.35);
  display:flex;flex-direction:column;padding:24px;gap:8px;z-index:80;
}
.mobile-drawer .close{
  align-self:flex-end;background:transparent;border:2px solid #111;border-radius:6px;
  font-size:22px;line-height:1;padding:.25rem .5rem;cursor:pointer;
}
.mobile-drawer ul{list-style:none;padding:12px 0 0;margin:0;display:flex;flex-direction:column;gap:18px}
.mobile-drawer a{color:#111;text-decoration:none;font-size:20px;font-weight:500}
.mobile-drawer a[aria-current="page"]{color:#999}
.drawer-open .mobile-drawer{transform:translateX(0)}
.drawer-open .backdrop{display:block}
.drawer-open{overflow:hidden}

@media (min-width:961px){ .mobile-drawer,.backdrop{display:none !important} }

/* ======= HERO + CAROUSEL ======= */
.hero{margin-top:1rem;margin-bottom:2.5rem}
.hero .carousel{
  width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  border-radius:0;overflow:hidden;border-bottom:1px solid #1c1f28;position:relative;
}

.carousel{position:relative}
.carousel-track{
  display:flex;
  transition:transform .6s ease;
  height:100%;                           /* for mobil fixed-height */
}
.carousel-track > *{ flex:0 0 100%; }    /* hver slide fyller hele bredden */

.carousel picture{display:block;width:100%;height:100%}
.carousel img{
  width:100%; height:51vh;               /* desktop-look */
  object-fit:cover; object-position:center 50%;
  display:block;
}

/* Dots (ENDa mindre – ca. 50% av forrige) */
.carousel-dots{
  position:absolute;left:50%;bottom:12px;transform:translateX(-50%);
  display:flex;gap:1px;                   /* var 3px */
  align-items:center;justify-content:center;
  padding:0 2px;                           /* var 1px 4px */
  border-radius:999px;background:rgba(0,0,0,.25);
  backdrop-filter:saturate(140%) blur(6px);z-index:2;
}
.carousel-dots .dot{
  width:1px; height:1px;                  /* var 2px */
  border:0;                               /* ingen ramme */
  border-radius:50%;
  background:rgba(255,255,255,.45);
  cursor:pointer;
  transition:transform .2s ease, background .2s ease;
}
.carousel-dots .dot.active{
  background:#F4D03F;
  transform:none;                         /* ingen oppskalering */
}

/* Fade */
.carousel-track.fade{animation:fadeEffect .5s ease-in-out}
@keyframes fadeEffect{from{opacity:.4}to{opacity:1}}

/* Scroll hint */
.scroll-hint{text-align:center;margin-top:.5rem;color:var(--muted)}
.scroll-hint .chev{display:inline-block;font-size:1.6rem;line-height:1}

/* Features */
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem;margin:2.5rem 0}
.feature{background:var(--card);padding:1.5rem;border-radius:var(--radius);border:1px solid #1c1f28}

/* Kontakt */
.contact{background:var(--card);padding:2rem;border-radius:var(--radius);border:1px solid #1c1f28;margin:2.5rem 0}
.grid.two{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.row{display:grid;gap:.4rem}
input,textarea,button{width:100%;padding:1rem;border-radius:10px;border:1px solid #2a2f3a;background:#0f1117;color:var(--text)}
button{background:linear-gradient(90deg,#F4D03F,#f7e27a);border:0;font-weight:700;color:#000}
button[disabled]{opacity:.5;cursor:not-allowed}

/* Checkbox */
.checkbox{justify-content:flex-start;align-items:center;gap:.6rem}
.checkbox label{cursor:pointer}
.checkbox input[type="checkbox"]{-webkit-appearance:auto;appearance:auto;width:22px;height:22px;border:2px solid #494e5a;border-radius:6px;background:#0f1117}

/* Send-knapp */
#submitBtn{padding:1rem 1.25rem;min-height:52px;font-size:1rem;border-radius:14px;box-shadow:0 2px 0 rgba(0,0,0,.15);touch-action:manipulation}
#submitBtn:active{transform:translateY(1px)}

/* Inventory / About / Visit / Footer */
.inventory .cars-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin:1.5rem 0 2.5rem}
.car-card{background:var(--card);border-radius:var(--radius);border:1px solid #1c1f28;overflow:hidden;display:flex;flex-direction:column}
.thumb{height:160px;background:#0f1117}
.car-info{padding:1.25rem}
.car-info h3{margin:.2rem 0 .6rem}
.car-info ul{list-style:none;padding:0;margin:0 0 .8rem 0;color:var(--muted)}
.btn{display:inline-block;background:#1e2633;color:#fff;padding:.6rem .9rem;border-radius:10px;border:1px solid #2b3445}

.about .profiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}
.profile{display:grid;grid-template-columns:140px 1fr;gap:1rem;align-items:center;text-align:left;background:var(--card);border:1px solid #1c1f28;border-radius:var(--radius);padding:1rem}
.profile .avatar{width:140px;height:140px;border-radius:12px;overflow:hidden;background:#0f1117;display:flex;align-items:center;justify-content:center}
.profile .avatar img{width:100%;height:100%;object-fit:cover;display:block}

/* Visit */
.visit{background:var(--card);border:1px solid #1c1f28;border-radius:var(--radius);padding:2rem;text-align:center;margin:3rem 0}
.visit h2{margin-top:0;margin-bottom:.5rem}
.visit p{margin:.25rem 0;color:var(--muted)}

/* Footer */
.site-footer{border-top:1px solid #1c1f28;margin-top:2rem}
.site-footer .container{padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}

/* ======= Carousel høyder (mobil) ======= */
@media (max-width:960px){
  .hero .carousel{ width:100%; margin:0 auto; position:relative; height:45vh; }
  .carousel{ aspect-ratio:auto !important; height:100%; }
  .carousel-track{ height:100%; }
  .carousel picture{ height:100%; }
  .carousel img{ height:100% !important; }
}
@media (max-width:400px){
  .hero .carousel{ height:55vh; }
}
