/* ===========================================================================
   AutoCare Bilservice – timebestilling (bestill.html)
   Bygger på tokens og knapper fra site.css.
   =========================================================================== */
.tb-page{background:var(--ground-raised); min-height:100vh; display:flex; flex-direction:column;}
.tb-page .tb-main{flex:1;}
:root{--tb-ok:#0f8a5f; --tb-ok-soft:#e6f5ee;}

/* ---- topp ---------------------------------------------------------------- */
.tb-top{background:#fff; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:30;}
.tb-top-row{display:flex; align-items:center; justify-content:space-between; height:72px; gap:16px;}
.tb-top .logo-mark{height:40px; width:auto;}
.tb-top-actions{display:flex; align-items:center; gap:10px;}
.tb-top-phone, .tb-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(--ink); transition:background .15s;
}
.tb-top-phone{background:var(--tb-tint);}
.tb-top-phone:hover, .tb-top-close:hover{background:var(--tb-surface);}
.tb-top-phone svg, .tb-top-close svg{width:18px; height:18px;}
@media (max-width:560px){
  .tb-top-row{height:62px;}
  .tb-top .logo-mark{height:32px;}
  .tb-top-phone span, .tb-top-close span{display:none;}
  .tb-top-phone, .tb-top-close{padding:10px;}
}

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

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

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

.tb-card-head{display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:10px;}
.tb-count{font-family:"Work Sans","Segoe UI",sans-serif; font-size:.78rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft);}
.tb-restart{background:none; border:0; padding:4px 0; font:inherit; font-size:.88rem; color:var(--ink); text-decoration:underline; text-underline-offset:3px; cursor:pointer;}
.tb-progress{height:4px; background:var(--tb-surface); border-radius:4px; overflow:hidden; margin-bottom:8px;}
.tb-progress span{display:block; height:100%; width:0; background:var(--accent); border-radius:4px; transition:width .35s ease;}

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

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

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

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

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

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

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

.tb-svc-list{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
@media (max-width:760px){ .tb-svc-list{grid-template-columns:1fr;} }
.tb-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(--line); border-radius:12px; padding:14px 46px 14px 14px; transition:border-color .15s, background .15s, box-shadow .15s;
}
.tb-svc:hover{border-color:#b9c2d3; box-shadow:0 4px 14px rgba(0,87,231,.06);}
.tb-svc-ic{flex:none; width:44px; height:44px; border-radius:12px; background:var(--tb-tint); color:var(--ink); display:grid; place-items:center; transition:all .15s;}
.tb-svc-ic svg{width:22px; height:22px;}
.tb-svc-txt{display:flex; flex-direction:column; align-items:flex-start; min-width:0; flex:1;}
.tb-svc-txt b{font-weight:600; line-height:1.3;}
.tb-svc-txt small{color:var(--ink-soft); font-size:.85rem; line-height:1.45; margin-top:2px;}
.tb-svc-price{margin-top:8px; font-size:.78rem; font-weight:500; color:#5d6479; background:var(--tb-tint); border-radius:999px; padding:2px 10px;}
.tb-svc-price.fixed{font-weight:700; color:var(--ink);}
.tb-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;
}
.tb-check svg{width:14px; height:14px;}
.tb-svc.on{border-color:var(--accent); background:var(--tb-accent-soft);}
.tb-svc.on .tb-svc-ic{background:var(--accent); color:#fff;}
.tb-svc.on .tb-svc-price{background:#fff;}
.tb-svc.on .tb-check{background:var(--accent); border-color:var(--accent); color:#fff;}
@media (max-width:420px){ .tb-svc{padding:12px 42px 12px 12px; gap:12px;} .tb-svc-ic{width:38px; height:38px;} }
.tb-empty{padding:18px; border:1.5px dashed var(--line); border-radius:12px; color:var(--ink-soft); grid-column:1/-1;}
.tb-empty .tb-link{margin:0;}

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

/* ---- samtykke og knapper ------------------------------------------------- */
.tb-consent{display:flex; gap:12px; align-items:flex-start; margin-top:20px; cursor:pointer; font-size:.92rem; color:var(--ink-soft); line-height:1.5;}
.tb-consent input{position:absolute; opacity:0; width:1px; height:1px;}
.tb-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;}
.tb-box svg{width:14px; height:14px;}
.tb-consent input:checked + .tb-box{background:var(--ink); border-color:var(--ink); color:#fff;}
.tb-consent input:focus-visible + .tb-box{box-shadow:0 0 0 3px rgba(0,87,231,.2);}
.tb-consent a{color:var(--ink);}

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

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

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

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

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

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

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

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

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

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

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

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


/* ===========================================================================
   AutoCare-tilpasninger
   =========================================================================== */
:root{--tb-surface:#E6EBF3; --tb-tint:#EEF2F8; --tb-accent-soft:#EEF4FF;
  --tb-shadow:0 1px 2px rgba(10,11,13,.04), 0 10px 30px rgba(10,11,13,.06);}
.tb-page{font-family:"Work Sans","Segoe UI",sans-serif; color:var(--ink);}
.tb-top .tb-logo{display:inline-flex; align-items:center;}
.tb-top .tb-logo img{height:38px; width:auto;}
@media (max-width:560px){ .tb-top .tb-logo img{height:30px;} }
.tb-step-title:focus{outline:none;}
.tb-step-title:focus-visible{outline:2px solid var(--accent); outline-offset:4px;}
.tb-step-title{font-size:clamp(1.5rem,2.6vw,1.9rem);}
.tb-num{font-family:"Work Sans","Segoe UI",sans-serif;}
.tb-field-full{grid-column:1/-1;}
.tb-field input, .tb-field textarea, .tb-tel{font-size:1rem;}   /* 16 px: ingen innzooming på iPhone */

/* skiltet i AutoCares skrift */
.tb-plate-input{font-weight:800; font-size:2.3rem; letter-spacing:.08em; word-spacing:normal;}
.tb-plate-input::placeholder{word-spacing:normal;}
.tb-mini-plate{font-family:"Big Shoulders Display","Arial Narrow",sans-serif; font-weight:800; font-size:1rem; word-spacing:normal;}
@media (max-width:420px){ .tb-plate-input{font-size:1.9rem;} }

/* priser med tabelltall */
.tb-sum-list b, .tb-sum-total b{font-variant-numeric:tabular-nums;}

/* oppfølgingsspørsmål per tjeneste */
.tb-questions{margin-top:22px;}
.tb-q-head{font-family:"Work Sans","Segoe UI",sans-serif; text-transform:none; letter-spacing:0; font-size:1.02rem; font-weight:700;
  margin:22px 0 10px; padding-top:18px; border-top:1px solid var(--line);}
.tb-questions > .tb-q-head:first-child{margin-top:0;}
.tb-q{margin:0 0 20px; scroll-margin-top:110px;}
.tb-q-title{margin:0 0 10px; font-weight:600; font-size:.97rem; color:var(--ink);}
.tb-q-title small{display:block; font-weight:400; font-size:.84rem; color:var(--ink-soft); margin-top:2px;}
.tb-pills{display:flex; flex-wrap:wrap; gap:8px;}
.tb-pill{
  display:inline-flex; align-items:center; gap:9px; text-align:left; font:inherit; font-size:.92rem; font-weight:500; line-height:1.3;
  color:var(--ink); background:#fff; border:1.5px solid var(--line); border-radius:999px; padding:10px 16px 10px 12px; cursor:pointer;
  transition:border-color .15s, background .15s;
}
.tb-pill:hover{border-color:var(--line-strong);}
.tb-pill:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
.tb-pill-box{flex:none; width:20px; height:20px; border-radius:6px; border:1.5px solid #b9c2d3; background:#fff;
  display:grid; place-items:center; color:transparent; transition:all .15s;}
.tb-pill[role="radio"] .tb-pill-box{border-radius:50%;}
.tb-pill-box svg{width:13px; height:13px;}
.tb-pill.on{border-color:var(--accent); background:var(--tb-accent-soft); font-weight:600;}
.tb-pill.on .tb-pill-box{background:var(--accent); border-color:var(--accent); color:#fff;}
.tb-q-bad .tb-q-title{color:#b0101d;}
.tb-q-bad .tb-pill{border-color:#e7a3a9;}

/* motorrens-forslaget */
.tb-nudge{margin:16px 0 0; background:var(--tb-accent-soft); border-color:#c7d9ff;}
.tb-nudge-btn{display:inline-flex; align-items:center; gap:6px;}
.tb-nudge-btn svg{width:16px; height:16px;}

/* knapper i AutoCares stil */
.tb-next{border-radius:var(--radius-s);}
.tb-next[aria-disabled="true"]{background:#c9ced9; border-color:#c9ced9; color:#fff;}
.tb-success-btns .btn{border-radius:var(--radius-s);}
.tb-svc, .tb-first, .tb-day, .tb-time, .tb-car{border-radius:var(--radius-m);}
.tb-card, .tb-sum-card{border-radius:14px;}
