/* Fix & Fint — tillägg 19/10/2026: offertformulär, karta, RUT-avdrag, länkar från fixochfint.se */
form.contact select{width:100%;background-color:var(--bg-2);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23667' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:16px;border:0;border-radius:14px;color:var(--ink);font-family:var(--text);font-size:16px;padding:15px 44px 15px 18px;-webkit-appearance:none;appearance:none;cursor:pointer;transition:box-shadow .3s,background-color .3s}
form.contact select:focus{outline:0;background-color:#fff;box-shadow:0 0 0 3px rgba(var(--glow-rgb),.45)}
form.contact select:invalid{color:var(--muted)}
form.contact select option{color:var(--ink)}
.ff-consent{grid-column:1/-1;display:flex;gap:12px;align-items:flex-start;font-size:14.5px;line-height:1.5;color:var(--ink-2);cursor:pointer}
.ff-consent input{width:20px;height:20px;margin:1px 0 0;flex:0 0 auto;accent-color:var(--accent);cursor:pointer}
.ff-consent a,.svx-txt p a{color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px}
.ff-note{margin-top:18px;max-width:38ch;font-size:14px;line-height:1.55;color:var(--muted)}
.ff-alt{margin-top:22px}
.ff-rut .feat-body p{margin-bottom:18px}
.ff-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:18px}
.ff-soc{display:flex;flex-direction:column;gap:4px}
.ff-bot{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px 28px}
#offertformular{overflow-x:clip}
/* 20/10/2026 dall'audit */
@media (max-width:700px){html .svx-rows li{grid-template-columns:minmax(0,1fr) minmax(0,58%)}html .svx-rows .svx-r-p{white-space:normal;min-width:0}}
html:root{--muted:#58637a}
.drawer :focus-visible,.lb :focus-visible{outline-color:#fff}
@media (min-width:881px){html .phead h1{min-width:min-content}}
.ff-urval{margin-top:18px;text-align:center;font-size:14px;color:var(--muted)}
.ff-urval a{color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px}
/* 21/10/2026 — sito più chiaro (il cliente lo trovava troppo scuro): piede chiaro, cerchi di fine pagina chiari, scheda «Om oss» chiara */
html .footer{background:var(--bg-2);color:var(--ink-2);--foot-text:var(--ink-2);--foot-muted:var(--muted);--foot-dim:var(--muted);--glow-text:var(--accent-ink)}
html .footer-glow{background:radial-gradient(closest-side,rgba(var(--glow-rgb),.10),transparent 72%)}
html .footer-hero,html .footer-bot{border-color:rgba(var(--ink-rgb),.1)}
html .footer-cta{background:#fff;border-color:rgba(var(--ink-rgb),.08);box-shadow:0 12px 30px -20px rgba(var(--ink-rgb),.3)}
html .footer-cta-t a,html .fcol p.hrs b{color:var(--ink)}
html .fcol p.hrs{border-bottom-color:rgba(var(--ink-rgb),.1)}
html .fcol a:hover,html .footer-bot a:hover,html .footer-cta-t a:hover{color:var(--accent)}
html .footer-logo--plate{box-shadow:0 1px 0 rgba(var(--ink-rgb),.06),0 6px 18px -10px rgba(var(--ink-rgb),.25)}
html .footer :focus-visible{outline-color:var(--accent)}
html .footer .rc-stars{background:linear-gradient(90deg,var(--rc-star) calc(var(--v) * 20%),rgba(var(--ink-rgb),.15) 0)}
html .rc-foot{background:#fff;border-color:rgba(var(--ink-rgb),.08)}
html .rc-foot:hover{background:#fff;border-color:rgba(var(--ink-rgb),.22)}
html .rc-foot-txt b{color:var(--ink)}
html .ripple-ball,html .inv-ball{background:var(--surface)}
html .ripple-layer.light,html .inv-light{color:var(--ink)}
html .ripple-layer.light .eyebrow,html .inv-light .eyebrow{color:var(--accent-ink)}
html .ripple-layer.light .eyebrow::before,html .inv-light .eyebrow::before{background:var(--accent)}
html .ripple-layer.light h2 em,html .inv-light h2 em{color:var(--accent)}
html .cts-card{background:#fff}
html .cts-veil{background:radial-gradient(120% 95% at 50% 50%,rgba(255,255,255,.74) 0%,rgba(255,255,255,.82) 55%,rgba(255,255,255,.92) 100%)}
html .cts-inner{color:var(--ink)}
html .cts-inner p{color:var(--ink-2)}
html .cts-inner .eyebrow,html .cts-num{color:var(--accent-ink)}
html .cts-inner h2 em{color:var(--accent)}
@media (max-width:600px){html .cts-veil{background:rgba(255,255,255,.87)}}
/* 21/10/2026 — offertförfrågan i sex steg, som bokningen på RoadHero */
.ffb{max-width:720px;margin:0 auto}
html .ffb [hidden]{display:none!important}
html:not(.js) .ffb .ffb-step[hidden],html:not(.js) .ffb [data-for][hidden],html:not(.js) .ffb .ffb-datum[hidden]{display:block!important}
html:not(.js) .ffb .ffb-jsonly,html:not(.js) .ffb [data-next],html:not(.js) .ffb [data-back],html:not(.js) .ffb .ffb-count{display:none!important}
html:not(.js) .ffb-step+.ffb-step{margin-top:44px}
.ffb-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:0}
.ffb-dots{display:none;justify-content:center;gap:12px;margin:0 0 30px}
html.js .ffb-dots{display:flex}
.ffb-dots i{width:14px;height:14px;border-radius:50%;border:1.5px solid rgba(var(--ink-rgb),.3);background:#fff;transition:all .3s}
.ffb-dots i.done{background:var(--accent);border-color:var(--accent);opacity:.5}
.ffb-dots i.on{width:22px;height:22px;margin-top:-4px;background:var(--glow-2);border:3px solid var(--accent)}
.ffb-step h2{font-size:clamp(24px,2.6vw,32px);letter-spacing:-.03em;margin:0 0 18px;outline:0}
.ffb-opts{display:grid;gap:12px}
.ffb-opt{position:relative;display:flex;align-items:center;gap:18px;background:#fff;border:1.5px solid rgba(var(--ink-rgb),.12);border-radius:16px;padding:14px 18px;min-height:78px;cursor:pointer;color:var(--ink);transition:border-color .25s,box-shadow .25s,transform .25s var(--ease-out),background .25s}
.ffb-opt:hover{border-color:var(--accent);box-shadow:0 12px 26px -18px rgba(var(--ink-rgb),.5);transform:translateY(-2px)}
.ffb-opt input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.ffb-opt:has(input:checked){border-color:var(--accent);background:rgba(var(--glow-rgb),.07)}
.ffb-opt:has(input:focus-visible){outline:3px solid var(--glow);outline-offset:2px}
.ffb-opt-t{display:flex;flex-direction:column;gap:3px;min-width:0}
.ffb-opt-t b{font-family:var(--display);font-weight:600;font-size:clamp(16px,1.4vw,19px);letter-spacing:-.01em;line-height:1.25}
.ffb-opt-t small{font-size:14.5px;line-height:1.35;color:var(--muted)}
.ffb-ico{width:64px;height:40px;flex:0 0 auto;color:var(--accent)}
.ffb-ico .w2{fill:var(--glow-2)}
.ffb-ico .w2l{fill:none;stroke:var(--glow-2);stroke-width:2;stroke-linecap:round}
.ffb-chev{margin-left:auto;width:20px;height:20px;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.ffb-card{background:#fff;border:1.5px solid rgba(var(--ink-rgb),.12);border-radius:18px;padding:clamp(18px,3vw,30px);margin-bottom:16px}
.ffb-card h3{font-size:18px;letter-spacing:-.01em;margin:0 0 10px}
.ffb-card h3 small,.ffb-field label small{font-weight:400;font-size:15px;color:var(--muted)}
.ffb-card>*+h3,.ffb-card>*+.ffb-field,.ffb-radios+.ffb-field{margin-top:22px}
.ffb-p{margin:0 0 14px;color:var(--ink-2);font-size:16px;line-height:1.5}
.ffb-lead{margin-top:-6px}
.ffb-radios{display:grid;gap:2px}
.ffb-radio,.ffb-check{display:flex;align-items:flex-start;gap:14px;padding:10px 4px;cursor:pointer;font-size:17px;line-height:1.35;color:var(--ink)}
.ffb-radio input,.ffb-check input{appearance:none;-webkit-appearance:none;width:24px;height:24px;margin:0;flex:0 0 auto;border:2px solid rgba(var(--ink-rgb),.38);border-radius:50%;background:#fff;display:grid;place-items:center;cursor:pointer;transition:border-color .2s,background .2s}
.ffb-radio input::after{content:"";width:12px;height:12px;border-radius:50%;background:var(--accent);transform:scale(0);transition:transform .15s}
.ffb-radio input:checked{border-color:var(--accent)}
.ffb-radio input:checked::after{transform:scale(1)}
.ffb-check input{border-radius:7px}
.ffb-check input::after{content:"";width:6px;height:11px;margin-top:-3px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) scale(0);transition:transform .15s}
.ffb-check input:checked{background:var(--accent);border-color:var(--accent)}
.ffb-check input:checked::after{transform:rotate(45deg) scale(1)}
.ffb-radio input:focus-visible,.ffb-check input:focus-visible{outline:3px solid var(--glow);outline-offset:2px}
.ffb-in{display:block;width:100%;background:#fff;border:1.5px solid rgba(var(--ink-rgb),.25);border-radius:12px;color:var(--ink);font-family:var(--text);font-size:17px;padding:15px 16px;transition:border-color .2s,box-shadow .2s}
.ffb-in::placeholder{color:#6d7587}
.ffb-in:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--glow-rgb),.3)}
.ffb-in[aria-invalid=true]{border-color:#b42318;box-shadow:0 0 0 3px rgba(180,35,24,.14)}
textarea.ffb-in{min-height:120px;resize:vertical}
input[type=date].ffb-in{min-height:56px;-webkit-appearance:none;appearance:none}
.ffb-field{margin-bottom:14px}
.ffb-field:last-child{margin-bottom:0}
.ffb-field label{display:block;font-weight:600;font-size:15px;margin:0 0 7px;color:var(--ink)}
.ffb-hint,.ffb-count,.ffb-fotostatus{display:block;font-size:14px;color:var(--muted);margin-top:6px}
.ffb-count{text-align:right}
.ffb-unit{position:relative}
.ffb-unit .ffb-in{padding-right:64px}
.ffb-unit span{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:16px;color:var(--muted);pointer-events:none}
.ffb-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 14px}
.ffb-2 .ffb-field{margin-bottom:14px}
.ffb-po{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}
.ffb-card>.ffb-2:last-child .ffb-field{margin-bottom:0}
.ffb-add{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;min-height:64px;padding:12px 16px;border:2px dashed rgba(var(--ink-rgb),.25);border-radius:14px;background:var(--bg-2);font-weight:600;font-size:16px;color:var(--ink);cursor:pointer;transition:border-color .2s,background .2s}
.ffb-add:hover{border-color:var(--accent);background:#fff}
.ffb-add:has(input:focus-visible){outline:3px solid var(--glow);outline-offset:2px}
.ffb-add input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
html:not(.js) .ffb-add input{position:static;opacity:1;width:auto;height:auto;pointer-events:auto}
html:not(.js) .ffb-add svg{display:none}
.ffb-add svg{width:24px;height:24px;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ffb-thumbs{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:10px}
.ffb-thumbs li{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--surface)}
.ffb-thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.ffb-thumbs .ffb-fil{display:grid;place-items:center;height:100%;padding:6px;font-size:12px;text-align:center;color:var(--muted);word-break:break-all}
.ffb-x{position:absolute;top:6px;right:6px;width:30px;height:30px;border-radius:50%;border:0;background:#fff;color:var(--ink);display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 12px -4px rgba(0,0,0,.4)}
.ffb-x svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round}
.ffb-x:focus-visible{outline:3px solid var(--glow);outline-offset:1px}
.ffb-searchrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.ffb-search{border:0;border-radius:12px;background:var(--accent);color:#fff;font-weight:600;font-size:15px;padding:0 20px;cursor:pointer}
.ffb-search:focus-visible,.ffb-hits button:focus-visible,.ffb-minplats:focus-visible{outline:3px solid var(--glow);outline-offset:2px}
.ffb-hits{display:grid;gap:6px;margin-top:8px}
.ffb-hits:empty{display:none}
.ffb-hits button{text-align:left;border:1.5px solid rgba(var(--ink-rgb),.15);background:var(--bg-2);border-radius:10px;padding:11px 14px;font-size:15px;color:var(--ink);cursor:pointer}
.ffb-hits button:hover{border-color:var(--accent)}
.ffb-mapwrap{position:relative;margin-top:14px;border-radius:14px;overflow:hidden;background:var(--bg-2);aspect-ratio:16/10;max-height:400px;width:100%}
.ffb-map{position:absolute;inset:0;z-index:0}
.ffb-pin{position:absolute;left:50%;top:50%;width:46px;height:56px;margin:-56px 0 0 -23px;z-index:500;pointer-events:none;filter:drop-shadow(0 6px 8px rgba(0,0,0,.3))}
.ffb-minplats{position:absolute;top:12px;right:12px;z-index:600;display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--ink);border:2px solid var(--accent);border-radius:12px;padding:9px 14px;font-weight:700;font-size:15px;cursor:pointer;box-shadow:0 6px 16px -8px rgba(0,0,0,.4)}
.ffb-minplats svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.ffb-mapstatus{display:block;min-height:1.4em;font-size:14px;color:var(--accent-ink);margin-top:6px}
.ffb-mapstatus:empty{min-height:0;margin:0}
.ffb-mapwrap .leaflet-control-attribution{font-size:10px}
.ffb-nav{display:grid;gap:12px;margin-top:22px}
.ffb-nav .fbtn{width:100%;min-height:56px;font-size:16px;margin:0;justify-self:stretch}
.ffb [data-back] .arr-out{right:auto;left:16px;transform:rotate(180deg)}
.ffb [data-back]:hover .arr-out{right:auto;left:-25%}
.ffb [data-back] .arr-in{left:auto;right:-25%;transform:rotate(180deg)}
.ffb [data-back]:hover .arr-in{left:auto;right:16px}
.ffb [data-back].has-flow .fbtn-label{transform:translateX(12px)}
.ffb [data-back].has-flow:hover .fbtn-label{transform:translateX(-12px)}
.ffb-err{background:#fde8e6;color:#8a1c12;border-radius:12px;padding:12px 14px;margin:14px 0 0;font-size:15px;line-height:1.45}
.ffb-sum{margin:0 0 6px}
.ffb-sum dt{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-weight:700;font-size:16px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(var(--ink-rgb),.08);color:var(--ink)}
.ffb-sum dt:first-child{margin-top:0;padding-top:0;border-top:0}
.ffb-sum dd{margin:4px 0 0;font-size:16.5px;line-height:1.5;white-space:pre-line;color:var(--ink-2)}
.ffb-andra{border:0;background:none;padding:2px 0;font:600 14.5px var(--text);color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ffb-andra:focus-visible{outline:3px solid var(--glow);outline-offset:2px}
.ffb-card .ffb-sum+h3{margin-top:26px}
.ffb-firm{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:4px 20px;font-size:15px;line-height:1.5;color:var(--muted)}
.ffb-firm b{display:block;color:var(--ink);font-size:16px;margin-bottom:2px}
.ffb-firm a{color:var(--ink);white-space:nowrap}
.ffb-consent{display:flex;gap:14px;align-items:flex-start;background:var(--bg-2);border-radius:14px;padding:16px;margin-top:18px;cursor:pointer;font-size:16px;line-height:1.45;color:var(--ink)}
.ffb-consent input{width:24px;height:24px;flex:0 0 auto;margin:0;accent-color:var(--accent)}
.ffb-consent a{text-decoration:underline;color:var(--ink)}
.ffb-note{margin:14px 0 0;font-size:14px;line-height:1.55;color:var(--muted)}
.ffb-send.busy{opacity:.7;pointer-events:none}
.ffb-done{text-align:center;padding:clamp(30px,5vw,56px) clamp(20px,4vw,40px);background:#fff;border:1.5px solid rgba(var(--ink-rgb),.12);border-radius:20px;outline:0}
.ffb-done .ok{width:72px;height:72px;margin:0 auto 18px;border-radius:50%;background:var(--glow-2);display:grid;place-items:center}
.ffb-done .ok svg{width:36px;height:36px;stroke:var(--accent);fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.ffb-done h2{font-size:clamp(26px,3vw,36px);margin:0 0 12px}
.ffb-done p{color:var(--ink-2);max-width:44ch;margin:0 auto 10px}
.ffb-done a{color:var(--ink);white-space:nowrap}
.ffb-call{text-align:center;margin-top:34px}
.ffb-call span{display:block;font-size:17px;color:var(--ink-2)}
.ffb-call a{font-family:var(--display);font-weight:700;font-size:clamp(28px,4vw,40px);letter-spacing:-.02em;color:var(--ink);text-decoration:underline;text-decoration-color:var(--glow-2);text-decoration-thickness:4px;text-underline-offset:6px;white-space:nowrap}
@media (max-width:600px){.ffb-opt{gap:14px;padding:12px 14px;min-height:72px}.ffb-ico{width:52px;height:33px}.ffb-opt-t small{font-size:14px}.ffb-mapwrap{aspect-ratio:1/1}.ffb-radio,.ffb-check{font-size:16.5px}.ffb-2,.ffb-po{grid-template-columns:minmax(0,1fr)}.ffb-search{padding:0 16px}}
/* 21/10/2026 — «Kontakt» i menyn bara där knappen «Kontakta oss» inte syns (styles.css: knappen syns från 1025 px utan nav-stretto). I telefonmenyn finns den kvar. */
@media (min-width:1025px){html:not(.nav-stretto) .nav-links .ff-kontakt{display:none}}
/* 21/10/2026 — Reco-utmärkelserna i hero på startsidan: förtroende redan i första vyn */
.ff-hero-l{display:flex;flex-direction:column;gap:18px;min-width:0}
.ff-trust{display:inline-flex;align-items:center;gap:14px;align-self:flex-start;max-width:100%;padding:8px 20px 8px 8px;border-radius:999px;background:#fff;border:1px solid rgba(var(--ink-rgb),.08);box-shadow:0 16px 36px -24px rgba(var(--ink-rgb),.5);color:var(--ink);text-decoration:none;transition:transform .35s var(--ease-out),box-shadow .35s var(--ease),border-color .35s var(--ease)}
.ff-trust:hover{transform:translateY(-2px);border-color:rgba(var(--accent-rgb),.25);box-shadow:0 20px 40px -22px rgba(var(--ink-rgb),.55)}
.ff-trust:focus-visible{outline:3px solid var(--glow);outline-offset:3px}
.ff-trust-b{display:flex;flex:0 0 auto}
.ff-trust-b img{position:relative;display:block;width:52px;height:52px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px #fff,0 6px 14px -6px rgba(var(--ink-rgb),.5);transition:transform .45s var(--ease-out)}
.ff-trust-b img+img{margin-left:-12px}
.ff-trust-b img:nth-child(1){z-index:3}
.ff-trust-b img:nth-child(2){z-index:2}
.ff-trust:hover .ff-trust-b img:nth-child(1){transform:translateX(-5px) rotate(-6deg)}
.ff-trust:hover .ff-trust-b img:nth-child(3){transform:translateX(5px) rotate(6deg)}
.ff-trust-t{display:flex;flex-direction:column;gap:5px;min-width:0}
.ff-trust-t b{font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:-.01em;line-height:1.25}
.ff-trust-r{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;font-size:13.5px;line-height:1.3;color:var(--ink-2)}
.ff-trust-r .rc-stars{--s:14px}
.ff-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@keyframes ffBadge{from{opacity:0;transform:scale(.6) rotate(-14deg)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:no-preference){html.js .ff-trust-b img{animation:ffBadge .65s var(--ease-out) .25s backwards}html.js .ff-trust-b img:nth-child(2){animation-delay:.37s}html.js .ff-trust-b img:nth-child(3){animation-delay:.49s}}
/* fast cookieknapp nere till vänster från 881 px: hero-raden får lika stor marginal på båda sidor så att knappen aldrig ligger på texten */
@media (min-width:881px){html .sxp-bar{padding-left:max(var(--pad),76px);padding-right:max(var(--pad),76px)}}
@media (max-width:1230px){html .footer{padding-bottom:84px}}
/* från 881 px på låga skärmar: texten ovanför stannar till vänster om fotokortet (340 px brett, mitt på sidan) */
@media (min-width:881px) and (max-height:900px){html .sxp-bar p{max-width:min(46ch,calc(50vw - 170px - max(var(--pad),76px) - 28px))}}
/* telefon: kompakt rad på två rader; på låga telefoner (iPhone SE) ger undertexten plats åt Reco-raden */
@media (max-width:880px){.ff-hero-l{gap:12px}.ff-trust{gap:10px;padding:5px 16px 5px 5px}.ff-trust-b img{width:40px;height:40px;box-shadow:0 0 0 2px #fff,0 4px 10px -5px rgba(var(--ink-rgb),.5)}.ff-trust-b img+img{margin-left:-10px}.ff-trust-t{gap:3px}.ff-trust-t b{font-size:14px;white-space:nowrap}.ff-trust-r{font-size:12.5px;flex-wrap:nowrap;white-space:nowrap}.ff-trust-r .rc-stars{--s:12px}}
@media (max-width:600px){.ff-ar{display:none}}
@media (max-width:400px){.ff-lang{display:none}}
@media (max-width:880px) and (max-height:759px){html .sxp-bar p{display:none}}
/* 21/10/2026 (5) — märkets marinblå rgb(27,43,81) som huvudaccent; knappar i samma färg */
html:root{--accent:#1b2b51;--accent-rgb:27, 43, 81;--accent-ink:#1b2b51;--glow:#1b2b51;--glow-rgb:27, 43, 81;--on-glow:#ffffff;--glow-text:#1b2b51}
html .fbtn{--fb-bg:var(--accent);--fb-border:var(--accent);--fb-fill:var(--ink)}
html .fbtn.glow{--fb-fill:var(--ink)}
html .fbtn.ghost{--fb-fill:var(--accent)}
/* piedet i marinblått med vit logga */
html .footer{background:#1b2b51;color:#dbe2ef;--foot-text:#dbe2ef;--foot-muted:#b4bfd6;--foot-dim:#a6b2ca;--glow-text:#bccbee}
html .footer-glow{background:radial-gradient(closest-side,rgba(140,165,225,.16),transparent 72%)}
html .footer-hero,html .footer-bot{border-color:rgba(255,255,255,.14)}
html .footer-cta{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);box-shadow:none}
html .footer-cta-t a,html .fcol p.hrs b{color:#fff}
html .fcol p.hrs{border-bottom-color:rgba(255,255,255,.14)}
html .fcol a:hover,html .footer-bot a:hover,html .footer-cta-t a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
html .footer :focus-visible{outline-color:#fff}
html .footer .rc-stars{background:linear-gradient(90deg,var(--rc-star) calc(var(--v) * 20%),rgba(255,255,255,.22) 0)}
html .rc-foot{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16)}
html .rc-foot:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3)}
html .rc-foot-txt b{color:#fff}
html .footer .fbtn.glow{--fb-bg:#fff;--fb-text:#1b2b51;--fb-border:#fff;--fb-fill:#dfe6f5;--fb-fill-text:#1b2b51}
/* «Om oss»-kortet på startsidan: utan vit ram runt bilden */
html .cts-card{background:transparent;padding:0}
html .cts-card > img,html .cts-veil{inset:0;width:100%;height:100%;border-radius:inherit}
/* Google-recensioner (startsidan och Omdömen) */
.ffg-box{background:#fff;border:1px solid #dadce0;border-radius:20px;padding:clamp(18px,3vw,32px);box-shadow:0 1px 2px rgba(60,64,67,.1),0 10px 30px -20px rgba(60,64,67,.35);color:#202124}
.ffg-head{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px;padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid #e8eaed}
.ffg-brand{display:flex;align-items:center;gap:14px;flex:1 1 260px;min-width:0}
.ffg-logo{width:40px;height:40px;flex:0 0 auto}
.ffg-brand h2{font-family:var(--text);font-size:20px;font-weight:600;letter-spacing:0;line-height:1.25;margin:0;color:#202124}
.ffg-brand span{display:block;font-size:14px;color:#5f6368;margin-top:2px}
.ffg-score{display:flex;align-items:center;gap:12px}
.ffg-score b{font-family:var(--text);font-size:38px;font-weight:600;line-height:1;color:#202124}
.ffg-score-r{display:flex;flex-direction:column;gap:4px}
.ffg-score small{font-size:13.5px;color:#5f6368}
.ffg .rc-stars{--rc-star:#fbbc04;--s:18px;background:linear-gradient(90deg,var(--rc-star) calc(var(--v) * 20%),#dadce0 0)}
.ffg-card .rc-stars{--s:15px}
.ffg-btn{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid #dadce0;background:#fff;color:#1a73e8;font-weight:600;font-size:15px;text-decoration:none;transition:background .2s,border-color .2s}
.ffg-btn svg{width:18px;height:18px}
.ffg-btn:hover{background:#f6f9fe;border-color:#c6dafc}
.ffg-btn:focus-visible,.ffg-foot a:focus-visible{outline:3px solid #1a73e8;outline-offset:2px}
.ffg-list{columns:3 270px;column-gap:16px}
.ffg-card{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:18px 18px 20px;break-inside:avoid;margin:0 0 16px}
.ffg-top{display:flex;align-items:center;gap:12px}
.ffg-av{width:40px;height:40px;flex:0 0 auto;border-radius:50%;background:var(--c);color:#fff;display:grid;place-items:center;font:500 18px/1 var(--text)}
.ffg-who{display:flex;flex-direction:column;min-width:0}
.ffg-who b{font-size:15px;font-weight:600;color:#202124}
.ffg-who small{font-size:12.5px;color:#5f6368}
.ffg-g{width:20px;height:20px;margin-left:auto;flex:0 0 auto}
.ffg-card p{margin:0;font-size:15px;line-height:1.55;color:#3c4043;white-space:pre-line;overflow-wrap:anywhere}
.ffg-foot{margin:4px 0 0;font-size:13.5px;color:#5f6368}
.ffg-foot a{color:#1a73e8;text-decoration:underline;text-underline-offset:3px}
@media (max-width:700px){.ffg-list{columns:auto;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:8px;scrollbar-width:thin}.ffg-card{flex:0 0 86%;scroll-snap-align:start;margin:0}.ffg-score b{font-size:32px}}
/* Kollektivavtal (startsidan) */
.ffk-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(26px,5vw,64px);align-items:center;background:var(--bg-2);border-radius:var(--r);padding:clamp(26px,5vw,60px)}
.ffk-seal{width:clamp(124px,14vw,168px);aspect-ratio:1;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;align-content:center;gap:10px;text-align:center;box-shadow:0 0 0 8px #fff,0 0 0 9px rgba(var(--accent-rgb),.14),0 26px 50px -26px rgba(var(--accent-rgb),.7)}
.ffk-seal svg{width:42%;height:auto;fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ffk-seal span{font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase}
@media (min-width:1201px){.ffk-seal span{font-size:10.5px;letter-spacing:.14em}}
.ffk-txt h2{margin:10px 0 14px;font-size:clamp(30px,3.6vw,48px);letter-spacing:-.03em;line-height:1.08}
.ffk-txt > p{max-width:60ch;color:var(--ink-2)}
.ffk-list{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ffk-list li{background:#fff;border:1px solid rgba(var(--ink-rgb),.06);border-radius:14px;padding:16px 18px}
.ffk-list b{display:flex;align-items:center;gap:10px;font-size:15.5px;color:var(--ink)}
.ffk-list b::before{content:"";flex:0 0 auto;width:20px;height:20px;border-radius:50%;background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/12px no-repeat}
.ffk-list span{display:block;margin-top:6px;font-size:14.5px;line-height:1.5;color:var(--ink-2)}
@media (max-width:980px){.ffk-list{grid-template-columns:minmax(0,1fr)}}
@media (max-width:700px){.ffk-card{grid-template-columns:minmax(0,1fr);justify-items:start}.ffk-seal{width:124px;gap:8px}}
/* 21/10/2026 (6) — Google-märket i piedet bredvid Reco, på alla sidor */
.ff-foot-trust{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;margin-top:26px}
.ff-foot-trust .rc-foot{margin-top:0}
.ff-gfoot-logo{width:62px;height:62px;flex:0 0 auto;border-radius:50%;background:#fff;display:grid;place-items:center;transition:transform .45s var(--ease-out)}
.ff-gfoot-logo svg{width:32px;height:32px}
.ff-gfoot:hover .ff-gfoot-logo{transform:translateY(-3px)}
html .ff-gfoot .rc-stars{--rc-star:#fbbc04}
@media (prefers-reduced-motion:reduce){.ff-gfoot-logo{transition:none}}
@media (max-width:640px){.ff-gfoot{flex-wrap:nowrap}.ff-gfoot .rc-foot-txt{min-width:0}}
/* 30/10/2026 — kundens ändringar: varm bakgrund, hjälteanimation, kortare recensioner, sidfot, prisrutor, checklista */
html:root{--bg:#f4ebe3;--bg-2:#fbf7f2;--surface:#eadfd4}
html .svx{--svx-surface:#fbf7f2;--svx-line:rgba(27,43,81,.14)}
html .nav.solid{background:rgba(244,235,227,.96)}
html .rc-card:hover{background:#fff}
html .svp-card,html .svhb__card,html .svhb__hero,html .svhb__ctaBox,html .svhb details{background:var(--bg-2)}
/* startsidans hjälte: orden glider isär (utan ff-extra.js); med skriptet samlas rubrikens ord till frasen, se slutet */
html.js body .sxp.is-live{height:calc(100vh + 160vh);height:calc(100svh + 160svh)}
html .sxp{--ff-o:clamp(0,calc(var(--p,0) / .46),1);--ff-f:clamp(0,calc((var(--p,0) - .2) / .26),1);--ff-i:clamp(0,calc((var(--p,0) - .42) / .36),1);--ff-v:clamp(0,calc((var(--p,0) - .42) / .2),1)}
html .sxp-title .eyebrow,html .sxp-title h1 .t-a{transform:translateX(calc(var(--ff-o) * -17vw));opacity:calc(1 - var(--ff-f))}
html .sxp-title h1 .t-b,html .sxp-hint{transform:translateX(calc(var(--ff-o) * 17vw));opacity:calc(1 - var(--ff-f))}
html .sxp-media::after{background:rgba(var(--ink-rgb),calc(.74 - var(--p,0) * .26))}
@keyframes ffSxpL{0%{transform:none;opacity:1}20%{opacity:1}46%{transform:translateX(-17vw);opacity:0}100%{transform:translateX(-17vw);opacity:0}}
@keyframes ffSxpR{0%{transform:none;opacity:1}20%{opacity:1}46%{transform:translateX(17vw);opacity:0}100%{transform:translateX(17vw);opacity:0}}
html.js body .sxp.is-live.sda .sxp-title .eyebrow,html.js body .sxp.is-live.sda .sxp-title h1 .t-a{animation-name:ffSxpL}
html.js body .sxp.is-live.sda .sxp-title h1 .t-b,html.js body .sxp.is-live.sda .sxp-hint{animation-name:ffSxpR}
/* startsidan: kompaktare omdömen och mindre luft runt «Om oss» */
html .rc-home.sec.tight{padding:clamp(36px,3.8vw,56px) 0 clamp(24px,2.4vw,36px)}
html .rc-home .shead-c{margin-bottom:clamp(18px,2vw,28px)}
html .rc-home .rc-sum{gap:clamp(18px,3vw,44px);padding:clamp(18px,2vw,28px) clamp(20px,2.6vw,36px)}
html .rc-home .rc-num{font-size:clamp(52px,5.2vw,76px)}
html .rc-home .rc-bars{gap:6px}
html .rc-home .rc-awards{gap:10px}
html .rc-home .rc-badge img{width:clamp(62px,5vw,74px)}
html .rc-home .rc-card{gap:12px;padding:clamp(16px,1.6vw,22px)}
html .rc-home .rc-card::after{font-size:64px;right:14px}
html .rc-home .rc-text{font-size:15px;line-height:1.55}
html .rc-home .rc-big .rc-text{font-size:clamp(17px,1.3vw,19px)}
html.js .rc-home .rc-carousel .rc-text p{-webkit-line-clamp:5;line-clamp:5}
html .rc-home .rc-who{padding-top:12px}
html .rc-home .rc-av{width:34px;height:34px;font-size:14px}
html .rc-home .ff-urval{margin-top:12px}
html .rc-home .rc-actions{margin-top:14px}
html .sec.tight[aria-labelledby="about-preview-title"]{padding:clamp(18px,2vw,30px) 0}
html .sec.tight.ffk{padding:clamp(18px,2vw,30px) 0 clamp(36px,4vw,60px)}
/* sidfoten: tre lika kolumner över hela bredden */
html .ff-foot-trust .rc-foot-txt small{letter-spacing:.06em}
.ff-fdd summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:9px;font-size:14.5px;color:var(--foot-text);margin-bottom:9px;transition:color .3s}
.ff-fdd summary::-webkit-details-marker{display:none}
.ff-fdd summary::after{content:"";width:7px;height:7px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);margin-top:-4px;transition:transform .3s var(--ease)}
.ff-fdd[open] summary::after{transform:rotate(-135deg);margin-top:3px}
.ff-fdd summary:hover{color:#fff}
.ff-fdd-in{padding:2px 0 6px 14px;border-left:1px solid rgba(255,255,255,.2);margin:0 0 9px}
@media (min-width:1025px){
html .footer-hero{grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(22px,2.4vw,32px);align-items:stretch}
html .footer-id,html .ff-foot-trust{display:contents}
html .footer-hero .footer-logo{grid-column:span 2;align-self:center;margin:0}
html .footer-hero .footer-tag{grid-column:span 4;align-self:center;max-width:62ch;margin:0}
html .ff-foot-trust .rc-foot{grid-column:span 3;min-width:0;width:100%;margin:0;flex-wrap:nowrap}
html .ff-foot-trust .rc-foot-badges img{width:48px;height:48px}
html .ff-foot-trust .rc-foot-badges img+img{margin-left:-12px}
html .ff-foot-trust .ff-gfoot-logo{width:48px;height:48px}
html .ff-foot-trust .ff-gfoot-logo svg{width:26px;height:26px}
html .ff-foot-trust .rc-foot-txt small{white-space:nowrap}
html .footer-hero .footer-cta{grid-column:span 6;align-content:center}
html .footer-top{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto 1fr;gap:clamp(22px,2.4vw,32px)}
html .footer-top .fcol:nth-child(1){grid-column:1;grid-row:1/3}
html .footer-top .fcol:nth-child(2){grid-column:2;grid-row:1}
html .footer-top .fcol:nth-child(3){grid-column:2;grid-row:2}
html .footer-top .fcol:nth-child(4){grid-column:3;grid-row:2}
html .footer-top .fcol:nth-child(5){grid-column:3;grid-row:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;column-gap:16px}
html .footer-top .fcol:nth-child(5) h4{grid-column:1/-1}
}
@media (min-width:1200px){
html .ff-foot-trust .rc-foot,html .footer-hero .footer-cta{grid-column:span 2}
}
html .footer-top .fcol-hrs p.hrs{justify-content:flex-start;padding-bottom:0;border-bottom:0}
html .footer-top .fcol-hrs p.hrs span{display:none}
/* prisrutor (flytt, hem, stor) */
.ff-prices{list-style:none;margin:1.3em 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ff-prices--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ff-prices li{display:flex;flex-direction:column;gap:4px;min-width:0;padding:15px 16px;background:var(--svx-surface);border:1px solid var(--svx-line);border-radius:14px;line-height:1.35}
.ff-p-k{font-weight:600;font-size:15px;color:var(--ink);overflow-wrap:anywhere}
.ff-p-v{margin-top:auto;padding-top:6px;font-family:var(--svx-display);font-weight:700;font-size:clamp(1.2rem,1.7vw,1.42rem);letter-spacing:-.02em;color:var(--svx-accent)}
.ff-p-v small{font-family:var(--text);font-size:13px;font-weight:500;letter-spacing:0;color:var(--ink-2)}
.ff-p-f{font-size:13.5px;color:var(--muted)}
.ff-p-n{font-size:13.5px;line-height:1.45;color:var(--ink-2)}
@media (max-width:820px){.ff-prices{grid-template-columns:repeat(2,minmax(0,1fr))}.ff-prices--2{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){.ff-p-v small{display:block;margin-top:1px}}
/* checklista i utfällbara delar */
.ff-acc{display:grid;gap:10px;margin-top:1.3em}
.ff-acc details{background:var(--svx-surface);border:1px solid var(--svx-line);border-radius:14px}
.ff-acc summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;font-family:var(--svx-display);font-weight:600;font-size:1.06rem;letter-spacing:-.01em;color:var(--ink)}
.ff-acc summary::-webkit-details-marker{display:none}
.ff-acc summary::after{content:"";flex:0 0 auto;width:9px;height:9px;border:solid var(--svx-accent);border-width:0 2px 2px 0;transform:rotate(45deg);margin:-4px 4px 0 0;transition:transform .3s var(--ease)}
.ff-acc details[open] summary::after{transform:rotate(-135deg);margin-top:4px}
.ff-acc summary:focus-visible{outline:2px solid var(--svx-accent);outline-offset:2px;border-radius:14px}
.ff-acc-b{padding:0 18px 18px}
.ff-acc-b .svx-list{margin-top:.8em}
.ff-acc-b .svx-list li{background:var(--bg)}
/* Serviceföretagen vid kollektivavtal */
.ffk-logo{width:clamp(124px,14vw,168px);height:auto;aspect-ratio:1;border-radius:50%}
.ff-avtal{display:flex;align-items:center;gap:16px;max-width:64ch;margin:22px 0;padding:14px 18px 14px 14px;background:var(--bg-2);border:1px solid rgba(var(--ink-rgb),.08);border-radius:14px}
.ff-avtal img{flex:0 0 auto;width:76px;height:76px;border-radius:50%}
.ff-avtal b{display:block;font-size:16px;color:var(--ink)}
.ff-avtal span{display:block;margin-top:3px;font-size:14.5px;line-height:1.5;color:var(--ink-2)}
/* startsidans hjälte (04/11): rubrikens egna ord samlas till «Städning för hem och företag» (assets/ff-extra.js) */
html.js body .sxp.is-live.ff-morph .sxp-title h1 .t-a,html.js body .sxp.is-live.ff-morph .sxp-title h1 .t-b{transform:none!important;opacity:1!important;animation:none!important}
.ff-w,.ff-s,.ff-r{display:inline-block}
.ff-w{white-space:nowrap;transform-origin:0 50%}
.ff-s{position:relative}
.ff-s::after{content:attr(data-up);content:attr(data-up) / "";position:absolute;left:0;top:0;opacity:var(--ff-so,0)}
.ff-goal{position:absolute;inset:0;z-index:0;margin:0;padding:0 var(--pad);display:flex;flex-direction:column;align-items:center;justify-content:center;visibility:hidden;pointer-events:none;font-size:clamp(30px,min(7.6vw,11.4vh),110px);line-height:1.04;text-align:center;white-space:nowrap}
.ff-goal>span{display:block}
html.js body .sxp.ff-mat .sxp-title,html.js body .sxp.ff-mat .sxp-title *{transform:none!important;animation:none!important}
@media print{.ff-w,.ff-r,.ff-s-a{transform:none!important;opacity:1!important;animation:none!important}.ff-s::after{display:none}}
/* länkar till dokument (04/11): «Exempelbilder» på flyttstädning, «våra villkor» i texterna */
.ff-doc-row{margin:14px 0 4px}
.ff-doc{display:inline-flex;align-items:center;gap:12px;padding:12px 18px 12px 14px;border:1px solid var(--svx-line);border-radius:14px;background:var(--bg-2);color:var(--ink);font-weight:600;font-size:16px;line-height:1.2;text-decoration:none;transition:border-color .2s,background-color .2s}
.ff-doc:hover{border-color:var(--svx-accent);background:#fff}
.ff-doc:focus-visible{outline:2px solid var(--svx-accent);outline-offset:3px}
.ff-doc svg{flex:0 0 auto;width:26px;height:26px;color:var(--svx-accent)}
.ff-doc small{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.12em;color:var(--muted)}
.ff-vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html .svx p a.ff-tl{color:var(--svx-accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
html .svx p a.ff-tl:hover{text-decoration-thickness:2px}
/* flyttstädning: familjebilden har ansiktena högt upp */
html .svx .svx-fig.ff-top img{object-position:50% 18%}
/* fönsterputs: reels-videon i sitt eget format (04/11) */
html .svx .svx-sec--img .svx-fig.ff-reel{aspect-ratio:9/16;width:100%;max-width:340px;justify-self:center;background:#0b1220;box-shadow:0 30px 70px -34px rgba(11,18,32,.45)}
html .svx .svx-fig.ff-reel video{display:block;width:100%;height:100%;object-fit:cover}
@media (max-width:820px){html .svx .svx-sec--img .svx-fig.ff-reel{aspect-ratio:9/16;max-width:min(300px,78vw)}}
.ff-p-v a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
/* hjältens vita tvilling (ff-extra.js): samma plats som rubriken, vanlig blandning, syns först när fotot fyller skärmen */
.ff-twin{display:none}
html.js body .sxp.is-live.ff-morph .ff-twin{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0}
html.js body .sxp.is-live.ff-morph .ff-twin .sxp-title{mix-blend-mode:normal}
html.js body .sxp.is-live.ff-morph .ff-twin .eyebrow,html.js body .sxp.is-live.ff-morph .ff-twin .sxp-hint,html.js body .sxp.is-live.ff-morph .ff-twin .ff-x{visibility:hidden}
html.js body .sxp.is-live.ff-morph .ff-twin .ff-h1{text-shadow:0 2px 28px rgba(var(--ink-rgb),.45)}
html.js body .sxp.is-live.ff-morph .ff-twin .t-a,html.js body .sxp.is-live.ff-morph .ff-twin .t-b{display:block;text-wrap:balance}
@media print{.ff-twin{display:none!important}}
