/* ===========================================================================
   Breili Bil – timebestilling (bestill/index.html)
   Bygger på tokens og knapper fra site.css.
   =========================================================================== */
.bk-page{background:var(--bg); min-height:100vh; display:flex; flex-direction:column;}
.bk-page .bk-main{flex:1;}
:root{--ok:#0f8a5f; --ok-soft:#e6f5ee; --red-soft:#fff3f4; --ink-soft:#eef1f7; --radius:14px;}

/* ---- topp ---------------------------------------------------------------- */
.bk-top{background:#fff; border-bottom:1px solid var(--border); position:sticky; top:0; z-index:30;}
.bk-top-row{display:flex; align-items:center; justify-content:space-between; height:72px; gap:16px;}
.bk-top .logo-mark{height:40px; width:auto;}
.bk-top-actions{display:flex; align-items:center; gap:10px;}
.bk-top-phone, .bk-top-close{
  display:inline-flex; align-items:center; gap:8px; text-decoration:none; font-weight:600; font-size:.92rem;
  padding:10px 14px; border-radius:999px; color:var(--brand-ink); transition:background .15s;
}
.bk-top-phone{background:var(--ink-soft);}
.bk-top-phone:hover, .bk-top-close:hover{background:var(--surface-2);}
.bk-top-phone svg, .bk-top-close svg{width:18px; height:18px;}
@media (max-width:560px){
  .bk-top-row{height:62px;}
  .bk-top .logo-mark{height:32px;}
  .bk-top-phone span, .bk-top-close span{display:none;}
  .bk-top-phone, .bk-top-close{padding:10px;}
}

/* ---- intro --------------------------------------------------------------- */
.bk-main{padding:40px 0 72px;}
.bk-intro{max-width:720px; margin-bottom:28px;}
.bk-intro h1{font-size:clamp(2rem,4.2vw,3rem); line-height:1.08; margin:.35em 0 .35em; color:var(--brand-ink);}
.bk-intro p{margin:0; color:var(--muted); font-size:1.05rem; max-width:62ch;}
@media (max-width:560px){ .bk-main{padding:24px 0 48px;} .bk-intro{margin-bottom:18px;} .bk-intro p{font-size:.98rem;} }

/* ---- oppsett ------------------------------------------------------------- */
.bk-grid{display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:28px; align-items:start;}
@media (max-width:1000px){ .bk-grid{grid-template-columns:minmax(0,1fr);} }
.bk-grid > *{min-width:0;}
.bk-plate-input{width:100%;}

.bk-card{
  background:#fff; border:1px solid var(--border); border-radius:18px;
  box-shadow:var(--shadow); padding:26px 34px 30px;
}
@media (max-width:560px){ .bk-card{padding:18px 16px 22px; border-radius:14px;} }

.bk-card-head{display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:10px;}
.bk-count{font-family:'IBM Plex Mono',monospace; font-size:.78rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--muted);}
.bk-restart{background:none; border:0; padding:4px 0; font:inherit; font-size:.88rem; color:var(--brand-ink); text-decoration:underline; text-underline-offset:3px; cursor:pointer;}
.bk-progress{height:4px; background:var(--surface-2); border-radius:4px; overflow:hidden; margin-bottom:8px;}
.bk-progress span{display:block; height:100%; width:0; background:var(--brand-orange); border-radius:4px; transition:width .35s ease;}

/* ---- rader for fullførte og kommende steg -------------------------------- */
.bk-done-row{
  display:flex; align-items:center; gap:14px; padding:14px 0; border-bottom:1px solid var(--border);
}
.bk-done-ic{flex:none; width:26px; height:26px; border-radius:50%; background:var(--ok-soft); color:var(--ok); display:grid; place-items:center;}
.bk-done-ic svg{width:15px; height:15px;}
.bk-done-txt{flex:1; min-width:0; display:flex; flex-direction:column;}
.bk-done-txt span{font-size:.82rem; color:var(--muted);}
.bk-done-txt b{font-weight:600; color:var(--text); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.bk-edit{
  flex:none; display:inline-flex; align-items:center; gap:6px; border:1px solid var(--border); background:#fff;
  border-radius:999px; padding:7px 12px; font:inherit; font-size:.84rem; font-weight:600; color:var(--brand-ink); cursor:pointer;
}
.bk-edit:hover{background:var(--ink-soft);}
.bk-edit svg{width:14px; height:14px;}
@media (max-width:420px){ .bk-edit span{display:none;} .bk-edit{padding:8px;} }

.bk-todo-row{display:flex; align-items:center; gap:14px; padding:14px 0; color:#8a90a2; font-weight:500; border-top:1px solid transparent;}
.bk-step + .bk-todo-row{border-top-color:var(--border); margin-top:6px;}
.bk-num{
  flex:none; width:30px; height:30px; border-radius:50%; background:var(--brand-ink); color:#fff;
  display:inline-grid; place-items:center; font-family:'Work Sans',sans-serif; font-size:.9rem; font-weight:700;
}
.bk-num-muted{width:26px; height:26px; background:var(--surface-2); color:#7a8196; font-size:.82rem;}

/* ---- aktivt steg --------------------------------------------------------- */
.bk-step{padding:22px 0 8px; animation:bkIn .28s ease both;}
@keyframes bkIn{from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:none;}}
.bk-step-title{
  display:flex; align-items:center; gap:12px; font-size:clamp(1.35rem,2.4vw,1.7rem); line-height:1.15; color:var(--brand-ink);
}
.bk-help-txt{margin:.6em 0 1.3em; color:var(--muted); max-width:62ch;}
.bk-label{display:block; font-weight:600; font-size:.92rem; margin:0 0 7px; color:var(--text);}
.bk-label em{color:var(--brand-orange); font-style:normal;}
.bk-opt{font-weight:400; color:#7a8196; font-size:.85rem;}
.bk-sub{font-family:'Work Sans',sans-serif; text-transform:none; letter-spacing:0; font-size:1.02rem; margin:26px 0 10px; color:var(--text);}

/* ---- skiltfelt ----------------------------------------------------------- */
.bk-plate{
  position:relative; display:flex; align-items:stretch; max-width:460px; height:76px;
  border:2.5px solid var(--brand-ink); border-radius:12px; background:#fff; overflow:visible;
  box-shadow:0 2px 0 rgba(12,30,56,.08); transition:box-shadow .15s, border-color .15s;
}
.bk-plate:focus-within{box-shadow:0 0 0 4px rgba(12,30,56,.12);}
.bk-plate-flag{
  flex:none; width:58px; background:#1f3f99; color:#fff; border-radius:9px 0 0 9px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px;
}
.bk-plate-flag svg{width:26px; height:19px; border-radius:2px;}
.bk-plate-flag b{font-size:.9rem; line-height:1;}
.bk-plate-input{
  flex:1; min-width:0; border:0; outline:0; background:transparent; padding:0 18px;
  font-family:'IBM Plex Mono',ui-monospace,monospace; font-weight:600; font-size:2.1rem; letter-spacing:.1em; word-spacing:-.4em;
  color:var(--text); text-transform:uppercase;
}
.bk-plate-input::placeholder{color:#b8bfcc; letter-spacing:.1em; word-spacing:-.4em;}
.bk-plate-clear{
  flex:none; align-self:center; margin-right:12px; width:36px; height:36px; border-radius:50%;
  border:0; background:var(--brand-ink); color:#fff; display:grid; place-items:center; cursor:pointer;
}
.bk-plate-clear svg{width:16px; height:16px;}
.bk-plate-ok{
  position:absolute; top:-11px; right:-11px; width:26px; height:26px; border-radius:50%;
  background:var(--ok); color:#fff; display:grid; place-items:center; transform:scale(0); transition:transform .2s;
  box-shadow:0 0 0 3px #fff;
}
.bk-plate-ok svg{width:14px; height:14px;}
.bk-plate.ok .bk-plate-ok{transform:scale(1);}
@media (max-width:420px){ .bk-plate{height:66px;} .bk-plate-input{font-size:1.7rem; padding:0 12px; letter-spacing:.08em;} .bk-plate-flag{width:48px;} }

.bk-link{
  background:none; border:0; padding:0; margin:12px 0 0; font:inherit; font-size:.92rem; color:var(--brand-ink);
  text-decoration:underline; text-underline-offset:3px; cursor:pointer;
}
.bk-link:hover{color:var(--brand-orange);}

/* ---- felt ---------------------------------------------------------------- */
.bk-fields{display:grid; grid-template-columns:minmax(0,1fr); gap:16px 18px; margin-top:22px;}
.bk-fields-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
@media (max-width:640px){ .bk-fields-2{grid-template-columns:minmax(0,1fr);} }
.bk-field{min-width:0;}
.bk-input{position:relative;}
.bk-field input, .bk-field textarea, .bk-tel{
  width:100%; font:inherit; font-size:1rem; color:var(--text); background:#fff;
  border:1.5px solid var(--border); border-radius:10px; transition:border-color .15s, box-shadow .15s;
}
.bk-field input{height:52px; padding:0 14px;}
.bk-field textarea{padding:12px 14px; resize:vertical; min-height:96px; line-height:1.5;}
.bk-field input:focus, .bk-field textarea:focus, .bk-tel:focus-within{outline:0; border-color:var(--brand-ink); box-shadow:0 0 0 3px rgba(12,30,56,.1);}
.bk-field input::placeholder, .bk-field textarea::placeholder{color:#9aa1b2;}
.bk-input.has-suffix input{padding-right:48px;}
.bk-suffix{position:absolute; right:14px; top:50%; transform:translateY(-50%); color:#7a8196; font-size:.92rem; pointer-events:none;}
.bk-tel{display:flex; align-items:center; height:52px; overflow:hidden;}
.bk-tel span{flex:none; padding:0 12px 0 14px; color:var(--muted); font-weight:600; border-right:1.5px solid var(--border); height:100%; display:flex; align-items:center; background:#f7f8fb;}
.bk-field .bk-tel input{min-width:0; flex:1; border:0; height:100%; box-shadow:none; border-radius:0;}
.bk-hp{position:absolute; left:-9999px; width:1px; height:1px; opacity:0;}

/* ---- tjenester ----------------------------------------------------------- */
.bk-search{position:relative; margin-bottom:14px;}
.bk-search svg{position:absolute; left:16px; top:50%; transform:translateY(-50%); width:20px; height:20px; color:#7a8196; pointer-events:none;}
.bk-search input{
  width:100%; height:54px; border:1.5px solid var(--border); border-radius:999px; padding:0 20px 0 48px;
  font:inherit; font-size:1rem; background:#fff;
}
.bk-search input:focus{outline:0; border-color:var(--brand-ink); box-shadow:0 0 0 3px rgba(12,30,56,.1);}
.bk-chips{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:18px;}
.bk-chip{
  border:1.5px solid var(--border); background:#fff; color:var(--text); border-radius:999px;
  padding:8px 16px; font:inherit; font-size:.9rem; font-weight:600; cursor:pointer; transition:all .15s;
}
.bk-chip:hover{border-color:var(--brand-ink);}
.bk-chip.on{background:var(--brand-ink); border-color:var(--brand-ink); color:#fff;}
@media (max-width:560px){
  .bk-chips{flex-wrap:nowrap; overflow-x:auto; margin:0 -16px 16px; padding:0 16px 4px; scrollbar-width:none;}
  .bk-chips::-webkit-scrollbar{display:none;}
  .bk-chip{flex:none;}
}

.bk-svc-list{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
@media (max-width:760px){ .bk-svc-list{grid-template-columns:1fr;} }
.bk-svc{
  position:relative; display:flex; align-items:flex-start; gap:14px;
  text-align:left; font:inherit; color:inherit; background:#fff; cursor:pointer;
  border:1.5px solid var(--border); border-radius:12px; padding:14px 46px 14px 14px; transition:border-color .15s, background .15s, box-shadow .15s;
}
.bk-svc:hover{border-color:#b9c2d3; box-shadow:0 4px 14px rgba(12,30,56,.06);}
.bk-svc-ic{flex:none; width:44px; height:44px; border-radius:12px; background:var(--ink-soft); color:var(--brand-ink); display:grid; place-items:center; transition:all .15s;}
.bk-svc-ic svg{width:22px; height:22px;}
.bk-svc-txt{display:flex; flex-direction:column; align-items:flex-start; min-width:0; flex:1;}
.bk-svc-txt b{font-weight:600; line-height:1.3;}
.bk-svc-txt small{color:var(--muted); font-size:.85rem; line-height:1.45; margin-top:2px;}
.bk-svc-price{margin-top:8px; font-size:.78rem; font-weight:500; color:#5d6479; background:var(--ink-soft); border-radius:999px; padding:2px 10px;}
.bk-svc-price.fixed{font-weight:700; color:var(--brand-ink);}
.bk-check{
  position:absolute; right:14px; top:16px; width:22px; height:22px; border-radius:6px;
  border:1.5px solid #b9c2d3; background:#fff; display:grid; place-items:center; color:transparent; transition:all .15s;
}
.bk-check svg{width:14px; height:14px;}
.bk-svc.on{border-color:var(--brand-orange); background:var(--red-soft);}
.bk-svc.on .bk-svc-ic{background:var(--brand-orange); color:#fff;}
.bk-svc.on .bk-svc-price{background:#fff;}
.bk-svc.on .bk-check{background:var(--brand-orange); border-color:var(--brand-orange); color:#fff;}
@media (max-width:420px){ .bk-svc{padding:12px 42px 12px 12px; gap:12px;} .bk-svc-ic{width:38px; height:38px;} }
.bk-empty{padding:18px; border:1.5px dashed var(--border); border-radius:12px; color:var(--muted); grid-column:1/-1;}
.bk-empty .bk-link{margin:0;}

/* ---- tidspunkt ----------------------------------------------------------- */
.bk-first{
  display:flex; align-items:center; gap:14px; width:100%; text-align:left; font:inherit; color:inherit; cursor:pointer;
  background:#fff; border:1.5px solid var(--border); border-radius:12px; padding:16px;
}
.bk-first span b{display:block; font-weight:600;}
.bk-first span small{color:var(--muted); font-size:.86rem;}
.bk-first > span:nth-child(2){flex:1;}
.bk-first-ic{flex:none; width:42px; height:42px; border-radius:12px; background:var(--ink-soft); color:var(--brand-ink); display:grid; place-items:center;}
.bk-first-ic svg{width:21px; height:21px;}
.bk-radio{flex:none; width:22px; height:22px; border-radius:50%; border:1.5px solid #b9c2d3; transition:all .15s;}
.bk-first.on{border-color:var(--brand-orange); background:var(--red-soft);}
.bk-first.on .bk-first-ic{background:var(--brand-orange); color:#fff;}
.bk-first.on .bk-radio{border:7px solid var(--brand-orange);}
.bk-or{display:flex; align-items:center; gap:12px; margin:18px 0 12px; color:#7a8196; font-size:.84rem;}
.bk-or::before, .bk-or::after{content:""; flex:1; height:1px; background:var(--border);}
.bk-days{display:grid; grid-template-columns:repeat(5,1fr); gap:8px;}
@media (max-width:560px){ .bk-days{grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px;} }
.bk-day{
  display:flex; flex-direction:column; align-items:center; gap:1px; padding:10px 4px; font:inherit; cursor:pointer;
  background:#fff; border:1.5px solid var(--border); border-radius:12px; color:var(--text); transition:all .15s;
}
.bk-day:hover{border-color:var(--brand-ink);}
.bk-day-dow{font-size:.74rem; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); font-weight:600;}
.bk-day-num{font-size:1.45rem; font-weight:700; line-height:1.15; font-variant-numeric:tabular-nums;}
.bk-day-mon{font-size:.78rem; color:var(--muted);}
.bk-day.on{background:var(--brand-ink); border-color:var(--brand-ink); color:#fff;}
.bk-day.on .bk-day-dow, .bk-day.on .bk-day-mon{color:#c9d2e6;}
@media (max-width:400px){ .bk-day-num{font-size:1.2rem;} .bk-day{padding:8px 2px;} }
.bk-times{display:grid; grid-template-columns:repeat(4,1fr); gap:8px;}
@media (max-width:760px){ .bk-times{grid-template-columns:1fr 1fr;} }
.bk-time{
  display:flex; align-items:center; gap:10px; text-align:left; font:inherit; color:inherit; cursor:pointer;
  background:#fff; border:1.5px solid var(--border); border-radius:12px; padding:12px; transition:all .15s;
}
.bk-time:hover{border-color:var(--brand-ink);}
.bk-time svg{flex:none; width:18px; height:18px; color:var(--muted);}
.bk-time b{display:block; font-weight:600; font-size:.92rem; line-height:1.25;}
.bk-time small{display:block; color:var(--muted); font-size:.78rem;}
.bk-time.on{border-color:var(--brand-orange); background:var(--red-soft);}
.bk-time.on svg{color:var(--brand-orange);}

/* ---- samtykke og knapper ------------------------------------------------- */
.bk-consent{display:flex; gap:12px; align-items:flex-start; margin-top:20px; cursor:pointer; font-size:.92rem; color:var(--muted); line-height:1.5;}
.bk-consent input{position:absolute; opacity:0; width:1px; height:1px;}
.bk-box{flex:none; width:22px; height:22px; margin-top:1px; border-radius:6px; border:1.5px solid #b9c2d3; background:#fff; display:grid; place-items:center; color:transparent; transition:all .15s;}
.bk-box svg{width:14px; height:14px;}
.bk-consent input:checked + .bk-box{background:var(--brand-ink); border-color:var(--brand-ink); color:#fff;}
.bk-consent input:focus-visible + .bk-box{box-shadow:0 0 0 3px rgba(12,30,56,.2);}
.bk-consent a{color:var(--brand-ink);}

.bk-err{margin:16px 0 0; color:#b0101d; font-weight:500; font-size:.92rem; min-height:0;}
.bk-err:empty{display:none;}
.bk-err a{color:inherit;}
.bk-actions{display:flex; align-items:center; gap:16px; margin-top:24px; flex-wrap:wrap;}
.bk-next{display:inline-flex; align-items:center; gap:10px; padding:15px 28px; font-size:1rem; min-width:220px; justify-content:center;}
.bk-next svg{width:18px; height:18px; transition:transform .15s;}
.bk-next:hover svg{transform:translateX(3px);}
.bk-next[aria-disabled="true"]{background:#c9ced9; border-color:#c9ced9; color:#fff; box-shadow:none;}
.bk-next[disabled]{opacity:.85; cursor:progress;}
.bk-fine{margin:0; font-size:.84rem; color:var(--muted);}
@media (max-width:560px){ .bk-next{width:100%;} .bk-actions-send{flex-direction:column; align-items:stretch; text-align:center;} }
.bk-spin{width:16px; height:16px; border-radius:50%; border:2.5px solid rgba(255,255,255,.4); border-top-color:#fff; animation:bkSpin .8s linear infinite;}
@keyframes bkSpin{to{transform:rotate(360deg);}}

/* ---- hjelp nederst -------------------------------------------------------- */
.bk-help{display:flex; flex-direction:column; align-items:center; gap:4px; margin-top:30px; padding-top:22px; border-top:1px solid var(--border); text-align:center; color:var(--muted); font-size:.9rem;}
.bk-help a{display:inline-flex; align-items:center; gap:8px; font-weight:700; font-size:1.2rem; color:var(--brand-ink); text-decoration:none;}
.bk-help a svg{width:19px; height:19px;}
.bk-help small{font-size:.82rem;}

/* ---- sammendrag ----------------------------------------------------------- */
.bk-summary{position:sticky; top:96px; display:flex; flex-direction:column; gap:16px;}
@media (max-width:1000px){ .bk-summary{position:static;} }
.bk-sum-card{background:#fff; border:1px solid var(--border); border-radius:18px; box-shadow:var(--shadow); padding:22px 24px;}
.bk-sum-card h2{font-family:'Work Sans',sans-serif; text-transform:none; letter-spacing:0; font-size:1.12rem; margin-bottom:14px; color:var(--brand-ink);}
.bk-sum-empty{display:flex; gap:12px; align-items:center; margin:0; color:var(--muted); font-size:.92rem;}
.bk-sum-empty svg{flex:none; width:34px; height:34px; color:#b9c2d3;}
.bk-sum-sec{padding:12px 0; border-top:1px solid var(--border);}
.bk-sum-sec:first-child{border-top:0; padding-top:0;}
.bk-sum-k{display:block; font-family:'IBM Plex Mono',monospace; font-size:.7rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#7a8196; margin-bottom:6px;}
.bk-sum-sec p{margin:0; font-weight:500;}
.bk-sum-car{display:flex; flex-wrap:wrap; gap:8px 10px; align-items:center; font-weight:500;}
.bk-mini-plate{
  display:inline-flex; align-items:stretch; border:1.5px solid var(--brand-ink); border-radius:5px; overflow:hidden;
  font-family:'IBM Plex Mono',monospace; font-weight:600; font-size:.9rem; letter-spacing:.08em; background:#fff;
}
.bk-mini-plate i{font-style:normal; background:#1f3f99; color:#fff; font-size:.66rem; padding:0 5px; display:flex; align-items:center;}
.bk-mini-plate{padding-right:8px; gap:7px;}
.bk-sum-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:7px;}
.bk-sum-list li{display:flex; justify-content:space-between; gap:12px; font-size:.93rem;}
.bk-sum-list b{flex:none; font-family:'IBM Plex Mono',monospace; font-weight:600; font-size:.85rem; white-space:nowrap;}
.bk-sum-list em{font-family:'Work Sans',sans-serif; font-style:normal; font-weight:400; color:#7a8196; font-size:.82rem;}
.bk-sum-total{display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding-top:14px; margin-top:4px; border-top:2px solid var(--brand-ink);}
.bk-sum-total span{font-weight:700;}
.bk-sum-total b{font-family:'IBM Plex Mono',monospace; font-size:1.05rem; color:var(--brand-ink);}
.bk-sum-note{margin:10px 0 0; font-size:.8rem; color:var(--muted); line-height:1.5;}
.bk-trust{list-style:none; margin:0; padding:4px 6px; display:grid; gap:9px;}
.bk-trust li{display:flex; align-items:center; gap:10px; font-size:.9rem; color:var(--muted);}
.bk-trust svg{flex:none; width:16px; height:16px; color:var(--brand-orange);}
@media (max-width:1000px){ .bk-trust{grid-template-columns:1fr 1fr;} }
@media (max-width:480px){ .bk-trust{grid-template-columns:1fr;} }

/* ---- kvittering ----------------------------------------------------------- */
.bk-success{padding:26px 0 6px; text-align:center; animation:bkIn .3s ease both;}
.bk-success-ic{width:68px; height:68px; margin:0 auto 16px; border-radius:50%; background:var(--ok); color:#fff; display:grid; place-items:center; box-shadow:0 0 0 8px var(--ok-soft);}
.bk-success-ic svg{width:34px; height:34px;}
.bk-success h2{font-size:clamp(1.7rem,3vw,2.2rem); color:var(--brand-ink);}
.bk-success-lede{max-width:52ch; margin:.6em auto 1.6em; color:var(--muted); font-size:1.02rem;}
.bk-success-lede b{color:var(--text);}
.bk-next-steps{list-style:none; margin:0 auto 26px; padding:0; max-width:520px; text-align:left; display:grid; gap:12px;}
.bk-next-steps li{display:flex; gap:14px; align-items:flex-start; padding:14px 16px; border:1px solid var(--border); border-radius:12px; background:#fafbfd;}
.bk-next-steps li > span{flex:none; width:28px; height:28px; border-radius:50%; background:var(--brand-ink); color:#fff; display:grid; place-items:center; font-weight:700; font-size:.85rem;}
.bk-next-steps b{display:block;}
.bk-next-steps small{color:var(--muted); font-size:.88rem;}
.bk-success-btns{display:grid; grid-template-columns:1fr 1fr; gap:12px; max-width:440px; margin-left:auto; margin-right:auto;}
.bk-success-btns .btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; width:100%; min-width:0; padding-left:12px; padding-right:12px; white-space:nowrap;}
.bk-success-btns svg{width:17px; height:17px;}
.bk-noscript{padding:18px; border-radius:12px; background:var(--ink-soft);}

/* ---- bunn ---------------------------------------------------------------- */
.bk-foot{border-top:1px solid var(--border); background:#fff; padding:18px 0; font-size:.84rem; color:var(--muted);}
.bk-foot-row{display:flex; justify-content:space-between; gap:10px 20px; flex-wrap:wrap;}
.bk-foot a{color:inherit;}

/* etter innsending: kvitteringen står alene */
.bk-sent .bk-summary{display:none;}
.bk-sent .bk-grid{grid-template-columns:minmax(0,1fr); max-width:820px;}

/* ---- kjøretøyoppslag ------------------------------------------------------ */
.bk-car-slot:empty{display:none;}
.bk-car-slot{max-width:460px; margin-top:14px;}
.bk-car{border:1px solid var(--border); border-radius:14px; background:#f8f9fc; overflow:hidden; animation:bkIn .25s ease both;}
.bk-car-head{display:flex; align-items:center; gap:12px; padding:14px 16px 10px;}
.bk-car-head b{display:block; font-weight:700; color:var(--brand-ink);}
.bk-car-head small{display:block; font-size:.78rem; color:var(--muted);}
.bk-car-ic{flex:none; width:40px; height:40px; border-radius:11px; background:#fff; border:1px solid var(--border); color:var(--brand-ink); display:grid; place-items:center;}
.bk-car-ic svg{width:22px; height:22px;}
.bk-car-rows{padding:0 16px;}
.bk-car-row{display:flex; justify-content:space-between; align-items:center; gap:14px; padding:9px 0; border-top:1px solid var(--border); font-size:.93rem;}
.bk-car-row span{color:var(--muted);}
.bk-car-row b{font-weight:600; text-align:right; display:inline-flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end;}
.bk-car-foot{display:flex; align-items:center; gap:8px; margin:0; padding:10px 16px; background:#fff; border-top:1px solid var(--border); font-size:.8rem; color:var(--muted);}
.bk-car-foot svg{flex:none; width:15px; height:15px;}
.bk-car-loading, .bk-car-miss{display:flex; align-items:center; gap:12px; padding:14px 16px; font-size:.9rem; color:var(--muted);}
.bk-car-miss{background:#fffaf0; border-color:#f3dfb0;}
.bk-car-miss svg{flex:none; width:20px; height:20px; color:#b7791f;}
.bk-spin-dark{border-color:rgba(12,30,56,.18); border-top-color:var(--brand-ink); flex:none;}
.bk-badge{font-size:.72rem; font-weight:700; border-radius:999px; padding:2px 9px; white-space:nowrap;}
.bk-badge.warn{background:#fff1d6; color:#8a5a00;}
.bk-badge.bad{background:#fde3e5; color:#b0101d;}

.bk-nudge{display:flex; align-items:center; gap:14px; margin:0 0 18px; padding:14px 16px; border-radius:12px; background:var(--red-soft); border:1.5px solid #f6c7cb;}
.bk-nudge > svg{flex:none; width:24px; height:24px; color:var(--brand-orange);}
.bk-nudge div{flex:1; min-width:0;}
.bk-nudge b{display:block; color:var(--brand-ink);}
.bk-nudge span{font-size:.9rem; color:var(--muted);}
.bk-nudge-btn{flex:none; border:0; background:var(--brand-orange); color:#fff; font:inherit; font-weight:700; font-size:.9rem; padding:10px 16px; border-radius:999px; cursor:pointer;}
.bk-nudge-btn:hover{background:var(--brand-orange-dark);}
@media (max-width:520px){ .bk-nudge{flex-wrap:wrap;} .bk-nudge-btn{width:100%;} }
.bk-sum-sub{margin:6px 0 0 !important; font-size:.84rem; color:var(--muted); font-weight:400 !important;}

.bk-mini-plate{word-spacing:-.28em;}

/* ---- funnet bil (som hos merkeverkstedene) -------------------------------- */
.bk-car-slot{max-width:560px;}
.bk-car-found{background:linear-gradient(180deg,#f6f8fc 0%,#fff 70%); border:1.5px solid #cfd8e6; box-shadow:0 10px 30px rgba(12,30,56,.07);}
.bk-car-top{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 20px 6px;}
.bk-car-id{min-width:0; display:flex; flex-direction:column;}
.bk-car-q{display:inline-flex; align-items:center; gap:6px; font-size:.8rem; font-weight:700; color:var(--ok); text-transform:uppercase; letter-spacing:.06em;}
.bk-car-q svg{width:14px; height:14px;}
.bk-car-name{font-family:'Carlito','Calibri',sans-serif; font-size:clamp(1.5rem,2.6vw,2rem); line-height:1.1; color:var(--brand-ink); margin-top:4px; text-transform:uppercase; letter-spacing:.01em;}
.bk-car-meta{color:var(--muted); font-size:.95rem; margin-top:2px;}
.bk-car-art{flex:none; width:150px; height:auto;}
.bk-car-specs{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:var(--border); border-top:1px solid var(--border); border-bottom:1px solid var(--border); margin-top:12px;}
.bk-car-spec{background:#fff; padding:10px 14px; display:flex; flex-direction:column; min-width:0;}
.bk-car-spec span{font-family:'IBM Plex Mono',monospace; font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:#7a8196;}
.bk-car-spec b{font-weight:600; font-size:.95rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.bk-car-eu{display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:12px 20px; font-size:.93rem; border-bottom:1px solid var(--border); background:#fff;}
.bk-car-eu > svg{flex:none; width:18px; height:18px; color:var(--brand-orange);}
.bk-car-found .bk-car-foot{display:flex; align-items:flex-start; gap:8px; margin:0; padding:12px 20px 4px; background:#fff; border:0; font-size:.84rem; color:var(--muted);}
.bk-car-found .bk-car-foot svg{flex:none; width:15px; height:15px; margin-top:2px;}
.bk-car-found .bk-link, .bk-car-miss .bk-link{margin:0; font-size:inherit;}
.bk-car-src{margin:0; padding:0 20px 12px 43px; background:#fff; font-size:.72rem; color:#9aa1b2;}
.bk-fields-solo{grid-template-columns:minmax(0,1fr) !important; max-width:560px;}
.bk-bil-wrap[hidden]{display:none;}
.bk-bil-wrap{min-width:0;}
@media (max-width:560px){
  .bk-car-top{padding:16px 16px 4px;}
  .bk-car-art{width:104px;}
  .bk-car-specs{grid-template-columns:repeat(2,minmax(0,1fr));}
  .bk-car-eu, .bk-car-found .bk-car-foot{padding-left:16px; padding-right:16px;}
  .bk-car-src{padding-left:39px;}
}
.bk-car-eu > span{flex:1; min-width:0;}
.bk-car-eu .bk-badge{flex:none;}
.bk-car-q{white-space:nowrap;}
@media (max-width:420px){ .bk-car-art{width:86px;} .bk-car-eu{flex-wrap:nowrap; align-items:flex-start;} .bk-car-eu > svg{margin-top:2px;} .bk-car-eu{display:grid; grid-template-columns:auto 1fr; gap:4px 10px;} .bk-car-eu .bk-badge{grid-column:2; justify-self:start;} }

/* bilnavn i vanlig skrift (BMW i3, ikke BMW I3) + illustrasjon */
.bk-car-name{font-family:'Work Sans',system-ui,sans-serif; text-transform:none; letter-spacing:-.01em; font-weight:700;}
.bk-car-top{align-items:center;}
.bk-car-stage{flex:none; width:230px; margin:-6px -6px -10px 0; position:relative;}
.bk-car-stage::before{content:""; position:absolute; left:6%; right:6%; bottom:10%; height:26%; background:radial-gradient(ellipse at center, rgba(12,30,56,.10), rgba(12,30,56,0) 70%);}
.bk-car-stage .bk-car-art{width:100%; height:auto; display:block; position:relative;}
@media (max-width:560px){ .bk-car-stage{width:150px; margin:0 -8px -6px 0;} }
@media (max-width:380px){ .bk-car-stage{width:122px;} }
@media (max-width:560px){
  .bk-car-top{flex-direction:column; align-items:stretch; gap:4px;}
  .bk-car-stage{width:78%; max-width:280px; align-self:center; margin:4px 0 0;}
}
@media (max-width:380px){ .bk-car-stage{width:86%;} }

.bk-fields-2 .bk-field-full{grid-column:1 / -1; max-width:calc(50% - 9px);}
@media (max-width:640px){ .bk-fields-2 .bk-field-full{max-width:none;} }

/* ---- modellbilde (IMAGIN.studio) + nøytral plassholder ------------------- */
.bk-car-ghost{position:relative; transition:opacity .35s ease;}
.bk-car-ghost .bk-car-art{filter:grayscale(1) contrast(.85); opacity:.42;}
.bk-car-stage.has-photo{width:300px; aspect-ratio:16/9; margin:-10px -10px -14px 0; display:flex; align-items:center;}
.bk-car-stage.has-photo .bk-car-ghost{width:78%; margin:0 auto;}
.bk-car-stage.has-photo::before{bottom:12%; height:18%; left:10%; right:10%;}
.bk-car-photo{position:absolute; inset:0; width:100%; height:100%; object-fit:contain; opacity:0; transform:translateY(4px) scale(.985); transition:opacity .45s ease, transform .6s cubic-bezier(.2,.7,.2,1);}
.bk-car-stage.is-loaded .bk-car-photo{opacity:1; transform:none;}
.bk-car-stage.is-loaded .bk-car-ghost{opacity:0;}
.bk-car-stage.no-anim .bk-car-photo, .bk-car-stage.no-anim .bk-car-ghost{transition:none;}
@media (max-width:760px) and (min-width:561px){ .bk-car-stage.has-photo{width:240px;} }
@media (max-width:560px){ .bk-car-stage.has-photo{width:100%; max-width:340px; margin:0 auto -4px;} }
@media (prefers-reduced-motion:reduce){ .bk-car-photo, .bk-car-ghost{transition:none;} }

/* ---- foto fra Wikimedia Commons (reserve) ------------------------------- */
.bk-car-stage.is-foto{aspect-ratio:4/3; width:250px; margin:0; border-radius:12px; overflow:hidden; background:#e9edf3; box-shadow:0 6px 18px rgba(12,30,56,.12);}
.bk-car-stage.is-foto::before{display:none;}
.bk-car-stage.is-foto .bk-car-photo{object-fit:cover; transform:scale(1.02);}
.bk-car-stage.is-foto.is-loaded .bk-car-photo{transform:none;}
.bk-car-stage.is-foto .bk-car-ghost{width:70%;}
@media (max-width:560px){ .bk-car-stage.is-foto{width:100%; max-width:none; aspect-ratio:16/10; margin:8px 0 0;} }
.bk-car-credit{display:block; margin-top:2px;}
.bk-car-src a{color:inherit;}
.bk-swatch-wrap{display:inline-flex; align-items:center; gap:6px; white-space:nowrap;}
.bk-swatch{display:inline-block; width:11px; height:11px; border-radius:50%; box-shadow:inset 0 0 0 1px rgba(12,30,56,.22);}

/* tegning i bilens farge når det ikke finnes et bekreftet foto */
.bk-car-stage.is-art .bk-car-ghost .bk-car-art{filter:none; opacity:1;}
.bk-car-stage.is-art{width:280px; margin:-8px -8px -10px 0;}
@media (max-width:760px) and (min-width:561px){ .bk-car-stage.is-art{width:220px;} }
@media (max-width:560px){ .bk-car-stage.is-art{width:92%; max-width:340px; margin:4px auto 0;} }
