/* Shared neutral framework. Store-specific branding is provided through validated tokens. */
.ttb-storefront{--sf-accent:#222;--sf-bg:#f8f8f5;--sf-ink:#191919;--sf-font:system-ui;--sf-radius:4px;--sf-line:#deded8;--sf-muted:#666;--sf-space:clamp(20px,4vw,64px);margin:0;background:var(--sf-bg);color:var(--sf-ink);font-family:var(--sf-font),sans-serif;font-size:16px;line-height:1.6}
.sf-shell *{box-sizing:border-box}.sf-shell [hidden]{display:none!important}.sf-shell a{color:inherit;text-underline-offset:4px}.sf-shell button,.sf-shell input,.sf-shell select{font:inherit;max-width:100%;border-radius:var(--sf-radius)}
.sf-shell button,.sf-button,.sf-shell .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid var(--sf-accent);background:var(--sf-accent);color:white;text-decoration:none;cursor:pointer;line-height:1.3}
.sf-shell button:disabled{cursor:not-allowed;opacity:.5}.sf-shell input,.sf-shell select{min-height:44px;padding:10px 12px;border:1px solid var(--sf-line);background:#fff;color:var(--sf-ink);width:100%}
.sf-shell label{display:grid;gap:6px;font-size:14px}.sf-shell :focus-visible{outline:3px solid #477596;outline-offset:3px}.sf-shell h1,.sf-shell h2,.sf-shell h3{line-height:1.14;letter-spacing:-.035em;font-weight:550}.sf-shell h1{font-size:clamp(36px,5vw,72px)}.sf-shell h2{font-size:clamp(28px,3.6vw,50px)}.sf-shell h3{font-size:20px}.sf-shell p{max-width:72ch}.sf-shell img{max-width:100%;height:auto}
.sf-skip{position:absolute;top:-100px;background:white;padding:16px;z-index:100}.sf-skip:focus{top:5px}
.sf-announcement{text-align:center;background:var(--sf-ink);color:#fff;padding:7px 20px;font-size:12px;letter-spacing:.08em}
.sf-header{display:flex;align-items:center;gap:28px;padding:22px var(--sf-space);border-bottom:1px solid var(--sf-line);background:#fff;position:relative;z-index:2}
.sf-logo{font-size:19px;letter-spacing:-.04em;font-weight:750;text-decoration:none;white-space:nowrap}.sf-logo-image{max-width:160px;max-height:56px;object-fit:contain}.sf-desktop-nav{display:flex;gap:24px;margin-left:auto;font-size:14px}.sf-desktop-nav a{text-decoration:none}
.sf-header-actions{display:flex;gap:8px}.sf-header-actions button{font-size:13px;background:transparent;color:var(--sf-ink);border-color:var(--sf-line)}
.sf-mega summary,.sf-mobile-nav summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:14px}.sf-mega>div{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--sf-line);padding:30px var(--sf-space);display:flex;gap:16px;box-shadow:0 18px 25px #0000000a}.sf-mobile-nav{display:none}
.sf-shell main{max-width:1440px;margin:auto;padding:0 var(--sf-space)}.sf-breadcrumbs{font-size:12px;padding:24px 0;color:var(--sf-muted)}
.sf-preview{border:1px solid var(--sf-line);display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 24px;background:#eeeee9}.sf-preview p{margin:3px 0;font-size:13px}.sf-preview form{display:flex;gap:10px;align-items:end}.sf-preview label{font-size:12px}
.sf-section{padding:clamp(32px,6vw,80px) 0;border-bottom:1px solid var(--sf-line)}.sf-section:first-child h2{font-size:clamp(40px,6vw,80px);max-width:850px}.sf-section>p{color:var(--sf-muted)}.sf-kicker{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--sf-muted)}
.sf-section .wp-block-columns{gap:32px}.sf-section .wp-block-column{background:#eeeee9;padding:24px}.sf-section .wp-block-image:has(img:not([src])){min-height:240px;border:1px dashed var(--sf-line);display:grid;place-content:center}.sf-section .wp-block-image:has(img:not([src])):before{content:"Välj en lokal bild i blockredigeraren";color:var(--sf-muted)}
.sf-vehicle{padding:28px;background:#eaeae5;border-radius:var(--sf-radius)}.sf-vehicle h2{font-size:28px}.sf-vehicle-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.sf-vehicle p{font-size:13px}
.sf-search{display:flex;gap:12px;align-items:end;margin-bottom:28px}.sf-search label{flex:1}.sf-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.sf-product{display:flex;flex-direction:column;min-width:0;background:white;border:1px solid var(--sf-line);padding:16px;border-radius:var(--sf-radius)}.sf-product h3{overflow-wrap:anywhere;min-height:48px;margin:8px 0}.sf-product button{margin-top:auto;font-size:13px}.sf-product-visual{aspect-ratio:1.4;background:linear-gradient(135deg,#e8e8e3,#f6f6f2);display:grid;place-content:center;font-size:11px;letter-spacing:.2em;color:#777;border-radius:var(--sf-radius)}.sf-price{font-size:14px}.sf-products>[data-more]{margin-top:24px}
.sf-newsletter{padding:64px 0;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.sf-newsletter form{display:flex;align-items:end;gap:12px}.sf-newsletter label{flex:1}
.sf-footer{background:#eaeae5;padding:48px var(--sf-space)}.sf-footer small,.sf-footer p{font-size:13px;color:var(--sf-muted)}
.sf-cart{position:fixed;inset:0 0 0 auto;margin:0;width:min(480px,100vw);height:100dvh;max-height:none;max-width:100vw;border:0;padding:24px;background:#fff;color:var(--sf-ink);overflow-y:auto}.sf-cart::backdrop,.sf-account::backdrop{background:#0007}.sf-dialog-heading{display:flex;align-items:center;gap:18px;justify-content:space-between}.sf-dialog-heading h2{font-size:25px}.sf-cart [data-cart-lines]{padding:0;list-style:none}.sf-cart [data-cart-lines]>li{border-top:1px solid var(--sf-line);padding:18px 0;display:grid;grid-template-columns:1fr auto;gap:8px}.sf-cart li p{margin:0}.sf-cart input{max-width:95px}.sf-cart .ttb-cart-child{padding-left:20px}.sf-cart-summary{border-top:1px solid var(--sf-line);padding-top:20px;display:grid;gap:12px}.sf-cart-summary p,.sf-demo-label{font-size:12px;color:var(--sf-muted)}.sf-secondary{background:#fff;color:var(--sf-ink)}.sf-account{border:0;max-width:min(90vw,520px);padding:32px}.sf-global-status:not(:empty){position:fixed;bottom:20px;left:20px;padding:14px;background:#fff;border:1px solid var(--sf-line);box-shadow:0 4px 30px #0002;z-index:5}.sf-link{margin-left:16px}.sf-block-placeholder{padding:24px;border:1px dashed #999;background:#f7f7f3}
/* Tablet: simplify navigation and reduce grid density without overriding desktop sizes. */
@media(max-width:64rem){.sf-desktop-nav{display:none}.sf-header{gap:16px;flex-wrap:wrap}.sf-header-actions{margin-left:auto}.sf-mobile-nav{display:block}.sf-mobile-nav nav{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--sf-line);padding:24px;display:grid;gap:16px}.sf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sf-vehicle-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.sf-preview{align-items:start;flex-direction:column}.sf-newsletter{grid-template-columns:1fr;gap:20px}}
/* Mobile: contained overrides. */
@media(max-width:40rem){.sf-header{padding:16px 20px}.sf-logo{font-size:16px}.sf-mega{order:3}.sf-header-actions button{padding:8px;font-size:12px}.sf-preview{padding:16px}.sf-preview form{width:100%;flex-wrap:wrap}.sf-preview label{flex:1}.sf-grid{gap:12px}.sf-product{padding:10px}.sf-product h3{font-size:17px}.sf-product button{padding:8px;font-size:12px}.sf-vehicle{padding:18px}.sf-search{align-items:stretch;flex-direction:column}.sf-newsletter form{flex-direction:column;align-items:stretch}.sf-cart{padding:20px}.sf-shell .wp-block-columns{flex-direction:column}.sf-section:first-child h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){.sf-shell *{scroll-behavior:auto!important}}
 .sf-screen-reader{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.sf-header-actions [data-count]{margin-left:6px}
.sf-shell a.sf-button{color:#fff}.sf-shell a.sf-button.sf-secondary{color:var(--sf-ink)}

/* Cart panel: slides in from the right when something is added; checkout first, then continue shopping */
@keyframes sfCartIn{from{transform:translateX(100%)}to{transform:none}}
@keyframes sfFade{from{opacity:0}to{opacity:1}}
.sf-cart[open]{animation:sfCartIn .32s cubic-bezier(.2,.8,.2,1);box-shadow:-12px 0 40px #0003}
.sf-cart[open]::backdrop{animation:sfFade .25s ease}
.sf-cart .sf-cart-summary{position:sticky;bottom:-24px;background:#fff;margin:0 -24px -24px;padding:18px 24px 24px}
.sf-cart-summary .sf-checkout{order:-1;text-align:center;letter-spacing:.06em;font-weight:700}
.sf-cart-summary .sf-continue{background:none;border:0;text-decoration:underline;cursor:pointer;color:var(--sf-ink);letter-spacing:.06em;font-weight:600}
@media(prefers-reduced-motion:reduce){.sf-cart[open],.sf-cart[open]::backdrop{animation:none}}

/* Company details required on every page (legal): same lines in all footers */
.ttb-legal-entity{display:block;font-style:normal;font-size:12px;line-height:1.55;color:inherit;opacity:.85;margin:0}
.ttb-legal-entity strong,.ttb-legal-entity span{display:block}
.ttb-legal-entity strong{font-weight:700}
.parts-footer .ttb-legal-entity{color:#a9acab;opacity:1}
.parts-footer .ttb-legal-entity strong{color:#fff}
.direct-footer-bottom .ttb-legal-entity{margin-bottom:10px}
.gap-footer .ttb-legal-entity{margin:18px 0 0}
.ttb-legal-footer{padding:18px 24px;border-top:1px solid rgba(128,128,128,.3);margin-top:24px}

/* Contact lines with line icons (same on every footer) */
.ttb-contact{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:7px}
.ttb-contact li{display:flex;align-items:center;gap:10px;font-size:12px;line-height:1.4}
.ttb-contact svg{flex:none;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.85}
.parts-footer .ttb-contact a{display:inline;margin:0;color:#c9ccca}
.parts-footer .ttb-contact a:hover,.parts-footer .ttb-contact a:focus-visible{color:#fff}
.parts-footer .ttb-contact li{color:#c9ccca}

/* Round social icons (footer): same size on every page; they sit in the free space of the last footer block, so the footer does not grow */
.ttb-social{list-style:none;display:flex;gap:8px;margin:10px 0 0;padding:0}
.ttb-social li{margin:0}
.ttb-social a,.ttb-social span{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid #3a3d3c;border-radius:50%;color:#fff;transition:border-color 140ms ease,background 140ms ease}
.ttb-social a:hover,.ttb-social a:focus-visible{border-color:#fff;background:rgba(255,255,255,.08)}
.ttb-social span.is-pending{opacity:.45}
.ttb-social svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.parts-footer .ttb-social a{display:flex;margin:0}

.ttb-contact-tag{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#8d918f;margin-left:2px}

/* News list and article (DIRECT, GAP) */
.sf-news{max-width:760px;margin:0 0 32px}
.sf-news-item{padding:20px 0;border-bottom:1px solid #0000001f}
.sf-news-item h2,.sf-news-article h2{margin:4px 0 8px;font-size:1.35rem;line-height:1.25}
.sf-news-item h2 a{color:inherit;text-decoration:none}
.sf-news-item h2 a:hover{text-decoration:underline}
.sf-news-date{margin:0;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;opacity:.7}
.sf-news-body{line-height:1.7}
.sf-news-body h2,.sf-news-body h3{margin:1.4em 0 .4em}
.sf-news-body blockquote{margin:1em 0;padding-left:14px;border-left:3px solid #0003}
.sf-news-back{display:inline-block;margin-top:20px}
.sf-news-body{line-height:1.65}.sf-news-body p{margin:0 0 .85em}.sf-news-body ul{margin:0 0 .85em}
.sf-news{max-width:660px}.sf-news-body{font-size:14px}.sf-news-body h2{font-size:17px}.sf-news-body h3{font-size:15px}.sf-news-item h2,.sf-news-article h2{font-size:18px}
.sf-news-cover{display:block;width:100%;height:auto;margin:0 0 16px}.sf-news-thumb{aspect-ratio:16/9;object-fit:cover}.sf-news-body img,.sf-news-body figure img{max-width:100%;height:auto;display:block}.sf-news-body figure{margin:1.2em 0}

/* phone audit: the sticky cart summary bled 4px past the 20px padding on phones (horizontal scroll inside the cart); safe-area for the home indicator */
@media(max-width:40rem){
 .sf-cart .sf-cart-summary{bottom:-20px;margin:0 -20px -20px;padding:16px 20px calc(20px + env(safe-area-inset-bottom,0px))}
 .sf-cart{padding-bottom:20px;overflow-x:hidden}
 .sf-cart .sf-dialog-heading button{min-height:44px;min-width:44px}
 .sf-cart [data-cart-lines]>li{grid-template-columns:minmax(0,1fr) auto;overflow-wrap:anywhere}
}

/* PRO cart drawer: light, compact lines (picture, name + article number, price, stepper, bin), after the RaceChip cart. */
.sf-cart-clean{width:min(440px,100vw);padding:22px 24px 0;background:#f5f5f5;flex-direction:column;overflow:hidden}
.sf-cart-clean[open]{display:flex}
.sf-cart-clean .sf-cart-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}
.sf-cart-clean .sf-cart-kicker{margin:0 0 4px;font-size:11px;letter-spacing:.14em;color:#6b6f6c}
.sf-cart-clean h2{margin:0;font-size:22px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}
.sf-cart-clean .sf-cart-x{all:unset;box-sizing:border-box;width:38px;height:38px;border:1px solid #cfd2d0;border-radius:50%;display:grid;place-items:center;font-size:22px;line-height:1;cursor:pointer;color:#111}
.sf-cart-clean [data-cart-lines]{flex:1;overflow-y:auto;margin:0;padding:0;list-style:none}
.sf-cart-clean [data-cart-lines]>li{display:grid;grid-template-columns:56px minmax(0,1fr) auto;grid-template-areas:"img info price" "img step bin";gap:6px 12px;align-items:center;padding:14px 0;border-top:1px solid #dcdedd}
.sf-cart-clean [data-cart-lines]>li:not(:has(.ttb-cart-thumb)){grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"info price" "step bin"}
.sf-cart-clean .ttb-cart-thumb{grid-area:img;width:56px;height:56px;object-fit:contain;background:#ececec;border-radius:4px}
.sf-cart-clean .ttb-cart-info{grid-area:info;min-width:0}
.sf-cart-clean .ttb-cart-name{margin:0;font-size:14px;font-weight:700;line-height:1.25}
.sf-cart-clean .ttb-cart-sku,.sf-cart-clean .ttb-cart-context{margin:2px 0 0;font-size:12px;color:#5d625f}
.sf-cart-clean .ttb-cart-price{grid-area:price;margin:0;font-size:14px;font-weight:700;white-space:nowrap;text-align:right}
.sf-cart-clean .ttb-cart-stepper{grid-area:step;display:inline-flex;align-items:center;border:1px solid #cfd2d0;border-radius:4px;background:#fff;justify-self:start}
.sf-cart-clean .ttb-cart-step{all:unset;box-sizing:border-box;width:30px;height:30px;display:grid;place-items:center;cursor:pointer;font-size:16px}
.sf-cart-clean .ttb-cart-stepper input{all:unset;box-sizing:border-box;width:34px;height:30px;text-align:center;font-size:13px;font-weight:700;-moz-appearance:textfield}
.sf-cart-clean .ttb-cart-stepper input::-webkit-outer-spin-button,.sf-cart-clean .ttb-cart-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.sf-cart-clean .ttb-cart-remove{all:unset;grid-area:bin;justify-self:end;cursor:pointer;color:#6b6f6c;padding:6px}
.sf-cart-clean .ttb-cart-remove:hover{color:#111}
.sf-cart-clean .sf-cart-summary{position:static;margin:0 -24px;padding:16px 24px calc(18px + env(safe-area-inset-bottom,0px));background:#f5f5f5;border-top:1px solid #dcdedd;gap:8px}
.sf-cart-clean .sf-cart-total{display:flex;justify-content:space-between;margin:0;font-size:15px;color:#111}
.sf-cart-clean .sf-cart-note{margin:0 0 6px;font-size:12px;color:#6b6f6c}
.sf-cart-clean .sf-cart-summary .sf-checkout{display:block;box-sizing:border-box;width:100%;padding:15px;background:#111;color:#fff;border:0;text-align:center;font-size:13px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none}
.sf-cart-clean .sf-cart-summary .sf-continue{font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:6px}
.sf-cart-clean [role=status]:empty{display:none}
/* PRO cart drawer, softer: a small floating card under the header instead of a full-height panel. */
.sf-cart-clean{inset:72px 24px auto auto;height:auto;max-height:calc(100dvh - 96px);width:min(380px,calc(100vw - 32px));padding:18px 20px 0;border-radius:14px;background:#fff;box-shadow:0 12px 40px rgba(0,0,0,.22)}
.sf-cart-clean::backdrop{background:rgba(0,0,0,.18)}
.sf-cart-clean[open]{animation:none}
.sf-cart-clean .sf-cart-head{margin-bottom:6px;align-items:center}
.sf-cart-clean .sf-cart-kicker{display:none}
.sf-cart-clean h2{font-size:15px;font-weight:600;letter-spacing:0;text-transform:none}
.sf-cart-clean h2 [data-cart-count]{color:#8a8e8b;font-weight:500;margin-left:2px}
.sf-cart-clean h2 [data-cart-count]::before{content:"("}.sf-cart-clean h2 [data-cart-count]::after{content:")"}
.sf-cart-clean .sf-cart-x{width:30px;height:30px;font-size:18px;border-color:#e1e3e2}
.sf-cart-clean [data-cart-lines]>li{padding:12px 0;border-top-color:#eceeed}
.sf-cart-clean .ttb-cart-thumb{width:48px;height:48px;background:#f3f4f3}
.sf-cart-clean [data-cart-lines]>li{grid-template-columns:48px minmax(0,1fr) auto}
.sf-cart-clean .ttb-cart-name{font-size:13px;font-weight:600}
.sf-cart-clean .ttb-cart-price{font-size:13px;font-weight:600}
.sf-cart-clean .ttb-cart-stepper{border-color:#e1e3e2;border-radius:8px}
.sf-cart-clean .ttb-cart-step,.sf-cart-clean .ttb-cart-stepper input{height:26px}
.sf-cart-clean .sf-cart-summary{margin:0 -20px;padding:14px 20px 16px;background:#fff;border-top-color:#eceeed;border-radius:0 0 14px 14px}
.sf-cart-clean .sf-cart-total{font-size:14px}
.sf-cart-clean .sf-cart-summary .sf-checkout{padding:12px;border-radius:10px;font-size:12px;letter-spacing:.06em;background:#1d221f}
.sf-cart-clean .sf-cart-summary .sf-continue{font-size:11px;letter-spacing:.06em;text-transform:none;font-weight:500}
@media(max-width:40rem){.sf-cart-clean{inset:64px 12px auto 12px;width:auto}}
/* PRO cart card: below the header (it covered the page's information), compact title that wins over the page's heading styles. */
dialog.sf-cart.sf-cart-clean{inset:150px 24px auto auto;max-height:calc(100dvh - 172px)}
dialog.sf-cart.sf-cart-clean h2#cart-title{font-size:15px!important;line-height:1.3!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;margin:0!important}
dialog.sf-cart.sf-cart-clean h2#cart-title [data-cart-count]{font-size:15px!important;color:#8a8e8b!important}
dialog.sf-cart.sf-cart-clean .ttb-cart-name,dialog.sf-cart.sf-cart-clean .ttb-cart-price{font-size:13px!important}
@media(max-width:40rem){dialog.sf-cart.sf-cart-clean{inset:100px 12px auto 12px}}

/* Cart lines on phones: image | name, article number, quantity | price and bin on the right. (A two-column rule for small screens broke the grid and clipped the quantity.) */
@media(max-width:899px){
 .sf-cart.sf-cart-clean [data-cart-lines]>li{display:grid!important;grid-template-columns:56px minmax(0,1fr) auto!important;grid-template-areas:"img info price" "img step bin"!important;gap:6px 12px!important;align-items:center}
 .sf-cart.sf-cart-clean [data-cart-lines]>li:not(:has(.ttb-cart-thumb)){grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"info price" "step bin"!important}
 .sf-cart.sf-cart-clean .ttb-cart-stepper{display:inline-flex!important;justify-self:start;min-width:0;overflow:visible}
 .sf-cart.sf-cart-clean .ttb-cart-step{width:34px!important;height:34px!important;font-size:18px!important}
 .sf-cart.sf-cart-clean .ttb-cart-stepper input{width:38px!important;height:34px!important;font-size:15px!important}
 .sf-cart.sf-cart-clean .ttb-cart-price{justify-self:end;align-self:start;text-align:right}
 .sf-cart.sf-cart-clean .ttb-cart-remove{justify-self:end;align-self:center}
}

/* The quantity x unit price under the line total in the cart drawer (as on the cart page). */
.sf-cart-clean .ttb-cart-unit{display:block;margin-top:2px;font-size:11px;font-weight:400;color:#6b6f6c;white-space:nowrap}
/* The PRO cart card in the open shops (Direct, Gap): the shop themes style every button, so the card's own controls are reset and drawn again exactly as in PRO. */
body.direct dialog.sf-cart.sf-cart-clean,body.gap dialog.sf-cart.sf-cart-clean{inset:84px 24px auto auto;margin:0;max-height:calc(100dvh - 104px);color:#14181a;font-family:inherit}
@media(max-width:40rem){body.direct dialog.sf-cart.sf-cart-clean,body.gap dialog.sf-cart.sf-cart-clean{inset:72px 12px auto 12px;width:auto}}
dialog.sf-cart.sf-cart-clean button{all:unset;box-sizing:border-box;cursor:pointer;font-family:inherit}
dialog.sf-cart.sf-cart-clean button:focus-visible,dialog.sf-cart.sf-cart-clean a:focus-visible{outline:2px solid #14181a;outline-offset:2px}
dialog.sf-cart.sf-cart-clean .sf-cart-x{display:grid!important;place-items:center;width:30px!important;height:30px!important;border:1px solid #e1e3e2!important;border-radius:50%!important;background:transparent!important;color:#14181a!important;font-size:18px!important;line-height:1}
dialog.sf-cart.sf-cart-clean .ttb-cart-stepper{display:inline-flex!important;align-items:center;border:1px solid #e1e3e2!important;border-radius:8px!important;background:#fff!important;overflow:hidden}
dialog.sf-cart.sf-cart-clean .ttb-cart-step{display:grid!important;place-items:center;width:30px!important;height:26px!important;background:transparent!important;color:#14181a!important;font-size:16px}
dialog.sf-cart.sf-cart-clean .ttb-cart-stepper input{all:unset;box-sizing:border-box;width:34px;height:26px;text-align:center;font-size:13px;font-weight:700;color:#14181a;-moz-appearance:textfield}
dialog.sf-cart.sf-cart-clean .ttb-cart-remove{display:grid!important;place-items:center;width:30px!important;height:30px!important;background:transparent!important;color:#6b6f6c!important;border-radius:8px}
dialog.sf-cart.sf-cart-clean .ttb-cart-remove:hover{color:#14181a!important;background:#eef0ee!important}
dialog.sf-cart.sf-cart-clean .sf-continue{display:block!important;width:auto!important;margin:10px auto 0!important;padding:10px 14px!important;background:transparent!important;border:0!important;color:#14181a!important;font-size:15px!important;font-weight:600!important;letter-spacing:.02em!important;text-transform:none!important;text-decoration:underline!important;text-align:center}
dialog.sf-cart.sf-cart-clean .sf-cart-summary .sf-checkout{display:block!important;box-sizing:border-box;width:100%!important;padding:13px 12px!important;border:0!important;border-radius:10px!important;background:#1d221f!important;color:#fff!important;font-size:12px!important;font-weight:700!important;letter-spacing:.06em!important;text-align:center;text-transform:uppercase;text-decoration:none!important}
dialog.sf-cart.sf-cart-clean .sf-cart-summary .sf-checkout:hover{background:#000!important}
dialog.sf-cart.sf-cart-clean h2,dialog.sf-cart.sf-cart-clean p,dialog.sf-cart.sf-cart-clean li{color:inherit}
dialog.sf-cart.sf-cart-clean .ttb-cart-sku,dialog.sf-cart.sf-cart-clean .ttb-cart-context,dialog.sf-cart.sf-cart-clean .sf-cart-note{color:#5d625f}
/* PRO cart card, one definition for every shop: all measures are stated here and forced, so no shop theme (Direct, Gap) can change how it looks. The harness tests/cart-card-look.py draws it in each shop's CSS and compares. */
html body dialog.sf-cart.sf-cart-clean{box-sizing:border-box!important;width:min(380px,calc(100vw - 32px))!important;max-width:none!important;padding:18px 20px 0!important;border:0!important;border-radius:14px!important;background:#fff!important;box-shadow:0 12px 40px rgba(0,0,0,.22)!important;color:#14181a!important;overflow:hidden!important;line-height:1.35}
html body dialog.sf-cart.sf-cart-clean[open]{display:flex!important;flex-direction:column!important}
html body dialog.sf-cart.sf-cart-clean .sf-cart-head{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:16px!important;margin:0 0 6px!important;padding:0!important}
html body dialog.sf-cart.sf-cart-clean .sf-cart-head>div{margin:0!important;padding:0!important}
html body dialog.sf-cart.sf-cart-clean [data-cart-empty]{margin:10px 0 14px!important;font-size:14px!important}
html body dialog.sf-cart.sf-cart-clean [data-cart-lines]{flex:1!important;overflow-y:auto!important;margin:0!important;padding:0!important;list-style:none!important;border:0!important}
html body dialog.sf-cart.sf-cart-clean [data-cart-lines]>li{display:grid!important;grid-template-columns:48px minmax(0,1fr) auto!important;gap:6px 12px!important;align-items:center!important;margin:0!important;padding:12px 0!important;border:0!important;border-top:1px solid #eceeed!important;background:transparent!important;border-radius:0!important}
html body dialog.sf-cart.sf-cart-clean [data-cart-lines]>li:not(:has(.ttb-cart-thumb)){grid-template-columns:minmax(0,1fr) auto!important}
html body dialog.sf-cart.sf-cart-clean .ttb-cart-thumb{display:block!important;width:48px!important;height:48px!important;margin:0!important;padding:0!important;border:0!important;border-radius:4px!important;background:#f3f4f3!important;object-fit:contain!important}
html body dialog.sf-cart.sf-cart-clean .ttb-cart-info,html body dialog.sf-cart.sf-cart-clean .ttb-cart-info p,html body dialog.sf-cart.sf-cart-clean .ttb-cart-price{margin:0!important;padding:0!important}
html body dialog.sf-cart.sf-cart-clean .ttb-cart-sku,html body dialog.sf-cart.sf-cart-clean .ttb-cart-context{margin:2px 0 0!important}
html body dialog.sf-cart.sf-cart-clean .ttb-cart-price{font-size:13px!important;font-weight:600!important;text-align:right!important;white-space:nowrap!important}
html body dialog.sf-cart.sf-cart-clean .sf-cart-summary{position:static!important;display:grid!important;gap:8px!important;margin:0 -20px!important;padding:14px 20px 16px!important;background:#fff!important;border:0!important;border-top:1px solid #eceeed!important;border-radius:0 0 14px 14px!important}
html body dialog.sf-cart.sf-cart-clean .sf-cart-total{display:flex!important;justify-content:space-between!important;margin:0!important;padding:0!important;font-size:14px!important;color:#14181a!important}
html body dialog.sf-cart.sf-cart-clean .sf-cart-note{margin:0 0 4px!important;padding:0!important;font-size:12px!important}
html body dialog.sf-cart.sf-cart-clean .sf-cart-summary [role=status]:empty{display:none!important}
html body dialog.sf-cart.sf-cart-clean .ttb-cart-remove svg{display:block!important;width:18px!important;height:18px!important;max-width:none!important}
html body dialog.sf-cart.sf-cart-clean .sf-cart-x:focus-visible,html body dialog.sf-cart.sf-cart-clean button:focus-visible{outline:2px solid rgba(20,24,26,.35)!important;outline-offset:2px!important}

/* PRO dialogs, drawer and buttons: rounded and modern. */
.parts-professional .sf-button{border-radius:999px}
dialog.sf-account.pro-account{border-radius:24px;overflow:hidden}
dialog.sf-account.pro-account :is(input:not([type=checkbox]):not([type=radio]),select){border-radius:999px;padding-left:20px;padding-right:20px}
dialog.sf-account.pro-account :is(.pro-account-primary,.pro-account-body button[type=submit]){border-radius:999px}
dialog.sf-account.pro-account .pro-account-close{border-radius:50%}
@media(min-width:640px){dialog.sf-cart.sf-cart-clean{border-radius:26px 0 0 26px}}
.sf-cart-clean :is(.sf-cart-checkout,.sf-cart-go,.sf-cart-summary a.sf-button,.sf-cart-summary button){border-radius:999px}
.sf-cart-clean .ttb-cart-stepper{border-radius:999px;overflow:hidden}
.sf-cart-clean .ttb-cart-thumb{border-radius:12px}
.sf-cart-clean .sf-cart-x{border-radius:50%}

/* Shop rule: add-to-cart buttons light up green for half a second after a click */
.parts-row-buybtn,.pd-buy button,.parts-buy-form button,.direct-buy button,.gap-buy button{transition:background-color .5s ease,box-shadow .5s ease}
.parts-row-buybtn.is-flash,.pd-buy button.is-flash,.parts-buy-form button.is-flash,.direct-buy button.is-flash,.gap-buy button.is-flash{background:#58b957!important;border-color:#58b957!important;color:#fff!important;box-shadow:0 0 0 3px rgba(88,185,87,.35);transition:none}

/* RaceChip lines in the cart: clean title, ticked extras and a list of extras to add or remove */
html body dialog.sf-cart.sf-cart-clean .ttb-cart-incl{margin:2px 0 0!important;font-size:12px!important;line-height:1.4!important;color:#33393a!important}
html body dialog.sf-cart.sf-cart-clean [data-cart-lines]>li>.ttb-cart-rc{grid-area:auto!important;grid-column:1/-1!important;display:block!important;width:auto!important;margin:8px 0 0!important;padding:12px 0 0!important;border-top:1px solid #ececec!important}
html body dialog.sf-cart.sf-cart-clean .ttb-cart-rc-h{margin:0 0 8px!important;font:700 10px/1.2 Arial,Helvetica,sans-serif!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:#5d625f!important;white-space:normal!important}
html body dialog.sf-cart.sf-cart-clean .ttb-cart-opt{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important;width:auto!important;min-height:0!important;margin:0 0 6px!important;padding:10px 12px!important;border:1px solid #e1e3e2!important;border-radius:8px!important;background:#fff!important;cursor:pointer;font:12px/1.3 Arial,Helvetica,sans-serif!important;color:#14181a!important;text-align:left!important;box-sizing:border-box!important}
html body dialog.sf-cart.sf-cart-clean .ttb-cart-opt.is-on{border-color:#c8e3c8!important;background:#f3faf3!important}
html body dialog.sf-cart.sf-cart-clean .ttb-cart-opt input{appearance:auto!important;-webkit-appearance:checkbox!important;width:15px!important;height:15px!important;min-height:0!important;margin:0!important;padding:0!important;accent-color:#58b957;flex:none!important}
html body dialog.sf-cart.sf-cart-clean .ttb-cart-opt-icon{flex:none;width:22px;height:22px;color:#14181a}
html body dialog.sf-cart.sf-cart-clean .ttb-cart-opt-name{flex:1 1 auto;min-width:0;font-weight:600;font-size:13px}
html body dialog.sf-cart.sf-cart-clean .ttb-cart-opt-price{flex:none;white-space:nowrap;font-size:12px;font-weight:700}

/* the cart is a little larger and scrolls as one piece; the summary with the buttons stays at the bottom */
html body dialog.sf-cart.sf-cart-clean{width:min(440px,calc(100vw - 24px))!important;max-height:calc(100dvh - 110px)!important;inset-block-start:96px!important;overflow-y:auto!important;overscroll-behavior:contain}
html body dialog.sf-cart.sf-cart-clean [data-cart-lines]{flex:none!important;overflow:visible!important}
html body dialog.sf-cart.sf-cart-clean .sf-cart-summary{position:sticky!important;bottom:0!important;z-index:2;flex:none!important}

/* own checkbox in the cart extras, so a shell's input styles (Gap) can not turn it into a black square */
html body dialog.sf-cart.sf-cart-clean .ttb-cart-opt input[type=checkbox]{appearance:none!important;-webkit-appearance:none!important;flex:none!important;width:16px!important;height:16px!important;min-width:16px!important;margin:0!important;padding:0!important;border:1.5px solid #8a8e8b!important;border-radius:4px!important;background:#fff!important;box-shadow:none!important}
html body dialog.sf-cart.sf-cart-clean .ttb-cart-opt input[type=checkbox]:checked{border-color:#58b957!important;background:#58b957 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-6.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% 100% no-repeat!important}

/* every form in every shop: a field the browser fills in stays a white box with black text (autofill otherwise paints it yellow/olive) */
:is(input,select,textarea):-webkit-autofill,:is(input,select,textarea):-webkit-autofill:hover,:is(input,select,textarea):-webkit-autofill:focus{background-color:#fff!important;-webkit-text-fill-color:#14181a!important;caret-color:#14181a;-webkit-box-shadow:0 0 0 1000px #fff inset!important;box-shadow:0 0 0 1000px #fff inset!important;transition:background-color 9999s ease-in-out 0s}

/* the VAT in the cart: its own row, as clear as the total, with air around it */
html body dialog.sf-cart.sf-cart-clean .sf-cart-note{display:grid!important;gap:10px!important;margin:8px 0 14px!important;padding:0!important}
html body dialog.sf-cart.sf-cart-clean .ttb-cart-vat{display:flex!important;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;margin:0 -14px!important;border-radius:10px;background:#f3f4f3;font:14px/1.3 Arial,Helvetica,sans-serif;color:#14181a}
html body dialog.sf-cart.sf-cart-clean .ttb-cart-vat strong{font-weight:700;white-space:nowrap}
html body dialog.sf-cart.sf-cart-clean .ttb-cart-vat.is-pay{background:none;padding:2px 0 0;margin:0!important;font-size:16px}
html body dialog.sf-cart.sf-cart-clean .sf-cart-total{margin-bottom:4px!important}

/* marking text with the mouse: a calm grey instead of the browser's own colour (the strong cyan on text and pictures) */
.ttb-storefront ::selection,.ttb-storefront ::-moz-selection{background:#d6dbd7;color:#101311}
.ttb-storefront img::selection,.ttb-storefront svg::selection{background:transparent}
.ttb-storefront.gap ::selection,.ttb-storefront.gap ::-moz-selection,.gap ::selection{background:#4a4f4c;color:#fff}
.ttb-storefront.parts-professional .catalog-sidebar ::selection,.ttb-storefront.parts-professional .parts-header ::selection{background:#4a4f4c;color:#fff}
/* Round "Tillbaka" button of Direct and PRO (Gap has its own, .gap-back): dark on light pages, white on dark pages (.sf-back--dark-page) */
.sf-backbar{margin:18px 0 22px}
.sf-back{display:inline-flex;align-items:center;gap:10px;padding:10px 22px;border:1px solid #101311;border-radius:999px;background:#fff;color:#101311;font:400 13px/1.2 Arial,Helvetica,sans-serif;text-decoration:none;transition:background .15s,color .15s}
.sf-back:hover,.sf-back:focus-visible{background:#101311;color:#fff;text-decoration:none}
.sf-back--dark-page{border-color:rgba(255,255,255,.6);background:transparent;color:#fff}
.sf-back--dark-page:hover,.sf-back--dark-page:focus-visible{background:#fff;color:#101311}
body.parts-catalogue .sf-backbar{max-width:1560px;width:calc(100% - 40px);margin:18px auto 0}

/* cart drawer: the picture and the name of a line are links when the shop knows where the line leads (cart-links.mjs) */
.ttb-cart-link{color:inherit;text-decoration:none}
.ttb-cart-link:has(>.ttb-cart-thumb){display:contents}
.ttb-cart-name .ttb-cart-link:hover,.ttb-cart-name .ttb-cart-link:focus-visible{text-decoration:underline}

/* PRO catalogue: the "Tillbaka" bar sits on a white strip with air below it before the hero picture; the button stays white (light grey on hover, never black) */
body.parts-professional.parts-catalogue:not(.gap):not(.direct) .sf-backbar{
  margin:0 auto!important;padding:18px 0 22px;position:relative;box-shadow:0 0 0 100vmax #fff;clip-path:inset(0 -100vmax);background:#fff;
}
body.parts-professional:not(.gap):not(.direct) .sf-back,
body.parts-professional:not(.gap):not(.direct) .sf-back:hover,
body.parts-professional:not(.gap):not(.direct) .sf-back:focus-visible{background:#fff!important;color:#0b0f14!important;border:1px solid #b9bec4!important;box-shadow:0 2px 10px rgba(20,24,26,.08)}
body.parts-professional:not(.gap):not(.direct) .sf-back:hover,
body.parts-professional:not(.gap):not(.direct) .sf-back:focus-visible{background:#f3f4f6!important;border-color:#202124!important}
/* PRO cart drawer: "Gå till varukorgen" as the same white pill with black text */
html body.parts-professional:not(.gap):not(.direct) .sf-cart :is(a.sf-checkout,.sf-checkout,.sf-cart-checkout,.sf-cart-go){
  background:#fff!important;color:#0b0f14!important;-webkit-text-fill-color:#0b0f14!important;border:1px solid #b9bec4!important;border-radius:999px!important;
  box-shadow:0 2px 10px rgba(20,24,26,.08)!important;font:600 14px/1.2 Arial,Helvetica,sans-serif!important;text-decoration:none!important;
}
html body.parts-professional:not(.gap):not(.direct) .sf-cart a.sf-checkout:hover{background:#f3f4f6!important;border-color:#202124!important}
