/* ============================= */
/*          BILONLINE            */
/* ============================= */

    body.bo-body {
        --black: #0A0A0A;
        --gray: #81848C;
        --light: #F1F2F2;
        --font-main: 'Outfit', sans-serif;        
    }

    html:has(body.bo-body) {
        overflow-x: hidden;
    }
    
    html:has(body.bo-body), body.bo-body {
  		max-width: 100%;
  		overflow-x: clip; /* modern: skapar inte en scroll-container */
	}

	@supports not (overflow: clip){
  		html:has(body.bo-body), body.bo-body { overflow-x: hidden; }
	}

    body.bo-body {
        padding:0;
        margin: 0;
        background: #fff;
        font-family: var(--font-main)!important;
        color: var(--black);
        -webkit-font-smoothing: antialiased;
    }

    .container-clean {
        max-width: 1100px;
        margin: 100px auto;
        padding: 20px;
        text-align: center;
    }

    .py-8 {
        padding-top: 8rem !important;
        padding-bottom: 8rem !important;
    }
    
    @media (min-width: 992px) {
    .py-lg-8 {
        padding-top: 8rem !important;
        padding-bottom: 8rem !important;
    	}
	}

    .main-container1,
    .main-container2,
    .main-container3,
    .main-container4,
    .main-container5,
    .main-container6{
    	padding:0!important;
    }
    
    .main-container7{
    	padding:9.375rem 0!important;
    }
    
    .main-containernavbar,
    .main-containerfooter{
    	padding:0!important;
    }
    
    .bo-senastefordonslider-container{
    	max-width:1720px!important;
    }


/* ============================= */
/*          GENERAL              */
/* ============================= */

    /*..Inputs & Forms..*/

    .tb-form{
        max-width:50rem;
    }

    .tb-input,
    .tb-textarea {
        background: #f2f2f2;
        border: none;
        border-radius: 0;
        color: #111;
    }

    body.bo-body .form-floating > label {
        padding: 0.8rem 1rem;
        color: #777;
    }

    body.bo-body .form-floating > .form-control:focus ~ label,
    body.bo-body .form-floating > .form-control:not(:placeholder-shown) ~ label {
        opacity: 0.85;
    }

    .tb-input:focus,
    .tb-textarea:focus {
        background: #e9e9e9;
        box-shadow: none;
        border: none;
    }

    body.bo-body .form-floating textarea {
        padding-top: 1.4rem;
    }

    body.bo-body .was-validated .form-control:invalid,
    body.bo-body .form-control.is-invalid {
        border-color: #dc3545 !important;
    }

    body.bo-body .form-floating>.form-control:focus~label::after{
        background:none;
    }

    /*..Sidstandard..*/

    .tb-section-header {
        display: flex;
        padding: 1rem 4rem;
        justify-content: center;
        align-items: center;
        width: fit-content;
        background: var(--black);
        margin: 0 auto;
    }

    .tb-section-header :is(h1, h2) {
        color: #FFF;
        font-style: normal;
        font-weight: 900;
        font-size: clamp(1.75rem, 1.5rem + 1vw, 2.25rem);
        letter-spacing: -0.06094rem;
        margin: 0;
    }


/* ============================= */
/*          HERO                 */
/* ============================= */

    .tb-hero {
        position: relative;
        height: 100vh;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .tb-hero-main {
        background: url('/images/sektioner/uploads/cst-hero__kopa.webp') center/cover no-repeat;
    }

    .tb-hero-bilar {
        background: url('/images/sektioner/uploads/cst-hero__kopa.webp') center/cover no-repeat;
    }

    .tb-hero-tjanster {
        background: url('/images/sektioner/uploads/cst-hero__tjanster.webp') center/cover no-repeat;
    }

    .tb-hero-kontakt {
        background: url('/images/sektioner/uploads/cst-hero__kontakt.webp') center/cover no-repeat;
    }

    .tb-hero-salj {
        background: url('/images/sektioner/uploads/cst-hero__salja.webp') center/cover no-repeat;
    }

    .tb-hero-sekretess {
        background: url('/images/sektioner/uploads/cst-hero__sekretess.webp') center/cover no-repeat;
    }

    .tb-hero-overlay {
        position: absolute;
        inset: 0;
        background: rgba(0,0,0,0.55);
    }

    .tb-hero-content {
        position: relative;
        z-index: 10;
        max-width: 38.5rem;
    }

        .tb-hero-content h1 {
            font-size: clamp(2rem, 4.2vw, 3.25rem);
            font-style: normal;
            font-weight: 900;
            letter-spacing: -0.09rem;
            color: #fff;
            margin: 1rem 0;
        }

        .tb-hero-content p {
            color: #FFF;
            text-align: center;
            font-size: 1.1rem;
            font-style: normal;
            font-weight: 500;
            line-height: 1.625rem; /* 162.5% */
            padding: 1rem;
        }

    .tb-hero-text {
        max-width: 550px;
    }

/* ============================= */
/*          SECTIONS             */
/* ============================= */

    .tb-section-white {
        background: #fff;
        width: 100%;
        padding: 7.5rem 0;
    }

    .tb-section-gray {
        background: #f1f2f2;
        width: 100%;
        padding:7.5rem 0;
    }
    
    .tb-section-parallax {
        position: relative;
        width: 100%;
        height: 70vh;
        overflow: hidden;
    }

    .tb-parallax-bg {
        position: absolute;
        inset: -10vh 0;
        background: url(/images/sektioner/uploads/cst-section-parallax__start.webp) bottom / cover no-repeat;
        transform: scale(1.06);
        will-change: transform;
    }

    @media (max-width: 991.98px) {
        .tb-parallax-bg {
            transform: scale(1.08);
        }
    }

    @media (prefers-reduced-motion: reduce) {
        .tb-parallax-bg {
            transform: scale(1.06);
            will-change: auto;
        }
    }
        
       @media (max-width: 576px) {
    	.tb-section-white, 
    	.tb-section-gray {
        	padding:2.5rem 0;
    	}
	}     
        
/* ============================= */
/*          ACCORDION            */
/* ============================= */

    .accordion-tb {
        max-width: 75rem;
        /*margin: 0 auto 6rem;*/
    }

    .accordion-btn-tb {
        width: 100%;
        background: #e7e8e8;
        padding: 1rem;
        font-size: 1.1rem;
        display: flex;
        justify-content: space-between;
        align-items: center;
        border: none;
        cursor: pointer;
        transition: background .25s ease;
        text-align: left;
    }

    .accordion-btn-tb:hover {
        background: #dedede;
    }

    .plus {
        font-size: 1.25rem;
        font-weight:800;
    }
    
    .accordion-body-tb {
        background: #f7f7f7;
        padding: 1.5rem;
        font-size: 1rem;
    }

    .accordion-btn-tb .plus {
        transition: .25s ease;
    }

    .accordion-btn-tb.open .plus {
        transform: rotate(180deg);
    }

/* ============================= */
/*          SLIDER               */
/* ============================= */

    .aa-marquee-swiper {
        width: 100%;
        padding: 1rem 0;
    }

    .aa-marquee-slide {
        width: auto!important; /* VIKTIGT för slidesPerView:auto */
    }

    .aa-marquee-slide img {
        display: block;
        width: 280px; /* eller valfri kortbredd */
        height: auto;
        border-radius: 10px;
    }

/* ============================= */
/*          TB-FULL-W            */
/* ============================= */

    .tb-col-content {
        padding: 6.25rem!important; /* ~100px */
    }

    .tb-col-image {
        position: relative;
        overflow: hidden;
    }

    .tb-image-cover {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .tb-two-cols.tb-flip {
        flex-direction: row-reverse;
    }

    .tb-section-title {
        font-size: clamp(1.5rem, 3.2vw, 2.2rem);
        font-weight: 800;
        margin-bottom: 0.5rem;
    }

    .tb-title-underline {
        width: 40px;
        height: 2px;
        background: #000;
        margin: 1rem 0;
    }

    .tb-section-text {
        font-size: 1.1rem;
        line-height: 1.7;
        max-width: 600px;
    }

    .tb-section-ul {
        list-style: none;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: .5rem;
        font-size: 1.1rem;
    }

    .tb-section-ul li {
        display: flex;
        flex-direction: row;
        align-items:center;
        gap:.25rem;
        padding:.25rem;
    }

    @media (max-width: 991px) {

        .tb-two-cols.tb-flip {
            flex-direction: column; /* always stack on mobile */
        }

        .tb-col-content {
            padding: 3rem 1.5rem;
        }

        .tb-image-cover {
            height: 320px;
            object-position: center;
        }
    }

    @media (max-width: 991px) {
        .tb-two-cols {
            flex-direction: column;
        }
    }

    .tb-two-cols.tb-flip {
        flex-direction: row-reverse;
    }

    @media (max-width: 991px) {
        .tb-two-cols.tb-flip-mobile {
            flex-direction: column-reverse;
        }
    }
    
    
    @media (max-width: 576px) {
    .tb-col-content {
        padding:3rem 1rem !important;
    }
    
    .tb-section-text{
    	font-size:.95rem;
    }
    
    .tb-section-ul{
    	font-size:.95rem;
    }

	}

/* ============================= */
/*          TB-KON               */
/* ============================= */

    .tb-contact-split {
        min-height: 400px;
        display: flex;
        gap: 3rem; /* <-- gap mellan boxarna */
    }

    .tb-contact-split p {
        font-weight: 500;
        font-size: 1.0625rem;
    }

    .tb-contact-left {
        background: #000;
        color: #fff;
        padding: 4rem 2rem;
    }

    .tb-contact-right {
        background: #f2f2f2;
        color: #000;
        padding: 4rem 2rem;
    }

    .tb-contact-left,
    .tb-contact-right {
        flex: 1 1 50%;
        flex-direction: column;
        justify-content: flex-start; /* was center */
        padding-top: 4rem; /* NEW */
        padding-bottom: 4rem;
    }

    .tb-contact-icon {
        font-size: 3rem;
        margin-bottom: 1.5rem;
    }

    .tb-contact-title {
        font-size: 1.5rem;
        font-weight: 800;
        margin-bottom: 1rem;
        margin-top: 1rem;
    }

    .tb-contact-item,
    .tb-hours-block {
    
    }

        .tb-contact-item h4,
        .tb-hours-block h4 {
            font-size: 1.2rem;
            font-weight: 700;
        }

        .tb-contact-item p {
            color: #ccc;
        }

        .tb-hours-block p {
            color: #444;
        }

    @media (max-width: 991px) {
        .tb-contact-split {
            flex-direction: column;
            gap: 2rem; /* mindre gap på mobil */
        }
    }

/* ============================= */
/*          GRID                 */
/* ============================= */
.tb-intro-image {
        text-align: center;
    }

    .tb-intro-img {
        width: 100%;
        height: auto;
    }
    
    .tb-intro-cols.tb-flip {
        flex-direction: row-reverse;
    }

    @media (max-width: 991px) {
        .tb-intro-cols {
            flex-direction: column; /* Bild alltid först på mobil */
        }
    }

    @media (max-width: 991px) {
        .tb-intro-cols.tb-flip {
            flex-direction: column; /* mobile override */
        }
    }
    
    @media (min-width: 992px){
  		.tb-intro-cols.tb-flip{
    	--bs-gutter-x: clamp(2rem, 3.5vw, 5rem);
  		}
	}
    
/* ============================= */
/*          GSAP-MAP             */
/* ============================= */

    .tb-section-map {
        width: 100%;
        padding: 0;
    }

    .tb-map-wrapper {
        position: relative;
        width: 100%;
        height: 70vh; /* adjust if you want bigger map */
        overflow: hidden;
    }

    .tb-map-embed {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        will-change: transform;
        transform: translateY(0);
    }
 
/* ============================= */
/*          TB-COLS              */
/* ============================= */    
    
    
/* Wrapper som klipper bilden så den inte sticker ut */
.tb-col-image{
  position: relative;
  overflow: hidden;
}

/* Själva bilden får subtil rörelse */
.tb-col-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.05);
  animation: tbKenBurns 18s ease-in-out infinite alternate;
  will-change: transform;
}

@keyframes tbKenBurns{
  0%   { transform: scale(1.05) translate3d(0, 0, 0); }
  100% { transform: scale(1.12) translate3d(-2%, -1.5%, 0); }
}

/* Respektera användare som vill ha mindre rörelse */
@media (prefers-reduced-motion: reduce){
  .tb-col-image img{
    animation: none;
    transform: none;
  }
}

/* ============================= */
/*          VIDEO HERO           */
/* ============================= */   

/* Endast denna hero */
.tb-hero--video{
  position: relative;
  overflow: hidden;
  min-height: 100vh;
}

/* Videon fyller hela heron */
.tb-hero--video .tb-hero-video{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

/* Overlay över videon */
.tb-hero--video .tb-hero-overlay{
  position: absolute;
  inset: 0;
  z-index: 1;
  /* justera till din smak */
  background: linear-gradient(to bottom, rgba(0,0,0,0.45), rgba(0,0,0,0.25));
}

/* Innehåll över overlay */
.tb-hero--video .tb-hero-content{
  position: relative;
  z-index: 2;
}

/* Respektera reduced motion */
@media (prefers-reduced-motion: reduce){
  .tb-hero--video .tb-hero-video{ display:none; }
}

/* ============================= */
/*          BUTTONS              */
/* ============================= */

/* --- HERO: pilen hoppar lite hela tiden --- */
.tb-btn-hero .tb-btn-arrow {
    display: inline-block;
    transform: translateX(0);
    animation: tbArrowNudge 1.2s ease-in-out infinite;
}

/* När man hovrar hero: lite mer “push” */
.tb-btn-hero:hover .tb-btn-arrow {
    animation-play-state: paused;
    /* valfritt: pausa nudge på hover */
    transform: translateX(4px);
    transition: transform 0.25s ease;
}

@keyframes tbArrowNudge {

    0%,
    100% {
        transform: translateX(0);
    }

    50% {
        transform: translateX(6px);
    }
}

/* Respektera reduced motion */
@media (prefers-reduced-motion: reduce) {
    .tb-btn-hero .tb-btn-arrow {
        animation: none;
    }
}

/* ============================= */
/*          FORM            	 */
/* ============================= */
    
    :root{

        /* Colors */
        --bo-cst-btn-primary:blue;
        --bo-cst-btn-secondary:orange;
        --bo-cst-btn-submit:green;
        --bo-cst-btn-danger:red;
        --bo-cst-btn-radius:.25rem;
        --bo-cst-btn-color__light:#fff;
        --bo-btn-btn-color__dark:#000;

    }
    
    /* Layout */
    .bo-flip-form {
        display: flex;
        flex-wrap: wrap;
        gap: 1.8rem;
        max-width: 900px;
        margin: 0 auto;
    }

    /* Groups */
    .bo-form-group.full {
        flex: 0 0 100%;
    }

    .bo-form-group.half {
        flex: 0 0 calc((100% - 1.8rem) / 2);
    }
    
    @media (max-width: 767.98px) {
    .bo-flip-form{
    	gap:1rem;
    	}
   
    .bo-form-group.half {
        flex: 0 0 100%;
        }
	}
 
    body.bo-body .form-floating>.form-control {
    	padding: 1rem;
    	min-height: calc(3.5rem + calc(var(--bs-border-width) * 2))!important;
    	background: var(--dgb-white);
    	border-radius: 0;
    	/* border: 1px solid #ebebeb; */
    	font-size: 1rem;
	}

    body.bo-body .form-floating>label {
        padding: 1rem!important;
        font-size: 1rem;
        color: #777;
    }

    body.bo-body .form-control:focus {
        border-color: var(--dgb-primary);
        box-shadow: 0 0 0 .25rem rgba(219, 94, 74, 0.15);
        background: #fff;
    }

    /* Buttons Inputs */

    .customform_file_upload {
        -webkit-appearance: none;
        appearance: none;
        border: 1px solid #ccc;
        background: #fff;
        color: inherit;
        font: inherit;
        line-height: 1.2;
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        padding: 0.65rem 0.85rem;
        border-radius: 0.6rem;
        cursor: pointer;
        text-decoration: none;
    }

    button.customform_file_upload {
        margin: 0;
    }

    .customform_file_upload svg {
        width: 1.25rem;
        height: 1.25rem;
        flex: 0 0 auto;
    }

    body.bo-body .form-check-input {
        width: 1.25em!important;
        height: 1.25em!important;
        margin-top:0 !important;
    }

    body.bo-body .form-floating>.form-control-plaintext~label::after,
    body.bo-body .form-floating>.form-control:focus~label::after,
    body.bo-body .form-floating>.form-control:not(:placeholder-shown)~label::after,
    body.bo-body .form-floating>.form-select~label::after {
        background: 0;
    }

    .bo-checkbox-wrap {
        display: flex;
        align-items: center;
        gap: .6rem;
        width: 100%;
    }

    /* Form floating > Textarea */
    body.bo-body .form-floating textarea.form-control {
        height: auto !important;
        min-height: 100px; /* ändra efter smak */
        resize: vertical;
        padding-top: 1.4rem;
        padding-bottom: .8rem;
    }

    body.bo-body .form-floating>textarea.form-control:focus~label,
    body.bo-body .form-floating>textarea.form-control:not(:placeholder-shown)~label {
        opacity: .65;
        transform: scale(.85) translateY(-.6rem) translateX(.15rem);
    }

    /*Filuppladdning: label och button ska se identiska ut */
    .bo-file-upload-wrap {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.5rem 0.75rem;
    }

    .bo-file-list,
    .bo-file-size {
        flex: 0 0 100%;
    }

    body.bo-body .form-control:focus {
        border-color: #e5cbeb;
        box-shadow: 0 0 0 .25rem rgba(189, 113, 102, 0.15);
        background: #fff;
    }
    
    
/* =====================================================
    Theme inputs
===================================================== */
--bo-theme-primary: #0A0A0A!important;
--bo-theme-primary-soft: #f1f2f2!important;
--bo-theme-primary-muted: #eaeaea!important;
--bo-theme-primary-strong: #0a0a0a!important;
--bo-theme-on-primary: #ffffff!important;
--bo-theme-accent: pink!important;
--bo-theme-link: var(--bo-theme-primary)!important;
--bo-theme-link-hover: var(--bo-theme-primary-strong)!important;


/* ============================= */
/*    BILONLINE SCROLL-TOP	     */
/* ============================= */

.scrolltop-bo {
  position: fixed;
  inset-inline-end: 2rem;
  inset-block-end: calc(1rem + env(safe-area-inset-bottom, 0));
  z-index: 1000;
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  border: 2px solid #fff!important;
  border-radius: 999px;
  background: #1e1e1c!important;
  color: #fff!important;
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(10px) scale(.94);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
  transition: opacity .22s ease, transform .22s ease, visibility .22s ease, box-shadow .22s ease;
}

/* =========================================================
   Bilonline - Reset
========================================================= */
   
   .bo-car-card-content__pills{
   		display:none;
   }
   
   .bo-btn-sidebar-cta{
    	justify-content:flex-start;
    	padding:1rem;
	}
	
	.bo-specgrid--v5 .bo-spec-row, .bo-specgrid--v5 .bo-spec-row{
		border-radius:var(--bo-radius-none);
	}

	.bo-specs-card{
		border-radius:var(--bo-radius-none);
	}

	.consent-btn {
    	background: var(--black) !important;
	}

/* Customer button contract */
body.bo-body .bo-btn {
    border-radius: 0;
}

body.bo-body .tb-customer-btn {
    width: fit-content;
    min-height: 3.25rem;
    padding: 1rem 1.25rem;
    font-size: 1rem;
    font-weight: 600;
}

body.bo-body .bo-btn--primary {
    --bo-btn-bg: #0a0a0a;
    --bo-btn-color: #ffffff;
    --bo-btn-border: #0a0a0a;
    --bo-btn-hover-bg: #242424;
    --bo-btn-hover-color: #ffffff;
    --bo-btn-hover-border: #242424;
    --bo-btn-active-bg: #000000;
    --bo-btn-active-color: #ffffff;
    --bo-btn-active-border: #000000;
}

body.bo-body .bo-btn--secondary {
    --bo-btn-bg: #ffffff;
    --bo-btn-color: #0a0a0a;
    --bo-btn-border: #d9d9d9;
    --bo-btn-hover-bg: #f1f2f2;
    --bo-btn-hover-color: #0a0a0a;
    --bo-btn-hover-border: #b8b8b8;
    --bo-btn-active-bg: #eaeaea;
    --bo-btn-active-color: #0a0a0a;
    --bo-btn-active-border: #a8a8a8;
}

body.bo-body .bo-btn--outline {
    --bo-btn-bg: transparent;
    --bo-btn-color: #0a0a0a;
    --bo-btn-border: #0a0a0a;
    --bo-btn-hover-bg: #0a0a0a;
    --bo-btn-hover-color: #ffffff;
    --bo-btn-hover-border: #0a0a0a;
    --bo-btn-active-bg: #242424;
    --bo-btn-active-color: #ffffff;
    --bo-btn-active-border: #242424;
}

body.bo-body .bo-btn--outline.tb-btn-on-dark {
    --bo-btn-color: #ffffff;
    --bo-btn-border: rgba(255, 255, 255, 0.72);
    --bo-btn-hover-bg: #ffffff;
    --bo-btn-hover-color: #0a0a0a;
    --bo-btn-hover-border: #ffffff;
    --bo-btn-active-bg: #f1f2f2;
    --bo-btn-active-color: #0a0a0a;
    --bo-btn-active-border: #f1f2f2;
}

body.bo-body .customform_submit_btn {
    width: fit-content;
}

/* Customer form presentation */
body.bo-body .bo-flip-form .form-control:focus {
    border-color: #0a0a0a;
    box-shadow: 0 0 0 0.2rem rgba(10, 10, 10, 0.12);
}

body.bo-body .bo-flip-form .form-check-input:checked {
    background-color: #0a0a0a;
    border-color: #0a0a0a;
}

/* FAQ disclosure indicator */
body.bo-body .accordion-btn-tb .plus {
    position: relative;
    flex: 0 0 1.5rem;
    width: 1.5rem;
    height: 1.5rem;
    font-size: 0;
}

body.bo-body .accordion-btn-tb .plus::before,
body.bo-body .accordion-btn-tb .plus::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.75rem;
    height: 1.5px;
    border-radius: 999px;
    background: currentColor;
    transform: translate(-50%, -50%);
    transition: transform 0.2s ease, opacity 0.2s ease;
}

body.bo-body .accordion-btn-tb .plus::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

body.bo-body .accordion-btn-tb[aria-expanded="true"] .plus::after {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(90deg) scaleX(0);
}

/* Form privacy links */
body.bo-body .bo-checkbox-wrap .form-check-label a {
    color: #6f747a;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s ease;
}

body.bo-body .bo-checkbox-wrap .form-check-label a:hover,
body.bo-body .bo-checkbox-wrap .form-check-label a:focus-visible {
    color: #0a0a0a;
    text-decoration: none;
}

body.bo-body .bo-checkbox-wrap .form-check-label a:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}

/* Intro spacing: rely on Bootstrap gutters, add only vertical mobile rhythm */
@media (max-width: 991.98px) {
    body.bo-body .tb-intro-cols {
        row-gap: 1.5rem;
    }
}

/* Vehicle listing follows the customer desktop container */
body.bo-body #container2.main-container8 {
    width: 100%;
    max-width: 1720px !important;
    padding-inline: 1rem;
}

/* Full-width customer breadcrumb band */
body.bo-body:has(#bodycontainer .tb-hero) .bo-breadcrumb-shell {
    visibility: hidden;
    width: 100%;
    max-width: none !important;
    margin-inline: 0;
    padding: 0 !important;
    background: #0a0a0a;
}

body.bo-body:has(#bodycontainer .tb-hero) .bo-breadcrumb-shell.tb-breadcrumb-ready {
    visibility: visible;
}

body.bo-body .bo-breadcrumb {
    width: 100%;
    max-width: 1720px;
    margin-inline: auto;
    padding: 0.9rem 1rem;
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.035em;
    text-transform: uppercase;
}

body.bo-body .bo-breadcrumb__link {
    color: rgba(255, 255, 255, 0.62);
}

body.bo-body .bo-breadcrumb__item + .bo-breadcrumb__item::before {
    color: rgba(255, 255, 255, 0.42);
    content: "›";
}

body.bo-body .bo-breadcrumb__link:hover,
body.bo-body .bo-breadcrumb__link:focus-visible,
body.bo-body .bo-breadcrumb__current {
    color: #ffffff;
}

@media (max-width: 767.98px) {
    body.bo-body .bo-breadcrumb {
        padding-block: 0.75rem;
        padding-inline: 1rem;
        font-size: 0.75rem;
        letter-spacing: 0.025em;
    }

    body.bo-body .bo-breadcrumb__list {
        gap: 0.375rem;
    }

    body.bo-body .bo-breadcrumb__item + .bo-breadcrumb__item::before {
        margin-inline-end: 0.375rem;
    }
}

/* Vehicle detail header */
body.bo-body.bo-car-page .tb-navbar {
    position: relative !important;
    inset: auto !important;
    background: #0a0a0a;
}

/* Vehicle detail container */
body.bo-body.bo-car-page #containerbilvisning {
    width: 100%;
    max-width: 1720px !important;
    padding-inline: 1rem;
}

/* Header CTA interaction */
body.bo-body .tb-navbar .tb-customer-btn:hover,
body.bo-body .tb-navbar .tb-customer-btn:focus-visible {
    transform: none;
}

body.bo-body .tb-navbar .tb-customer-btn svg path {
    fill: currentColor;
    transition: fill 0.2s ease;
}

/* Cinematic customer footer */
body.bo-body .tb-footer {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-rows: auto 1fr auto;
    min-height: clamp(760px, 82vh, 1040px);
    overflow: clip;
    padding: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    background: #07090b;
}

body.bo-body .tb-footer::before,
body.bo-body .tb-footer::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
}

body.bo-body .tb-footer::before {
    inset: -8% 0;
    z-index: 0;
    background: url('/images/sektioner/uploads/tb-footer-bg-desktop-2.webp') center 58% / cover no-repeat;
    filter: none;
    opacity: 1;
    transform: translate3d(0, var(--tb-footer-parallax, 0px), 0) scale(1.08);
    will-change: transform;
}

body.bo-body .tb-footer::after {
    z-index: 0;
    background: rgba(5, 7, 9, 0.9);
}

body.bo-body .tb-footer > * {
    position: relative;
    z-index: 1;
}

body.bo-body .tb-footer-top {
    padding: clamp(4.5rem, 7vw, 7rem) 1rem clamp(2.75rem, 4vw, 4rem) !important;
}

body.bo-body .tb-footer-bottom-logo {
    width: clamp(190px, 17vw, 270px);
    height: auto;
    margin: 0;
}

body.bo-body .tb-footer-main {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0 0 clamp(4rem, 6vw, 6rem);
}

body.bo-body .tb-footer-main > .tb-container-xl {
    width: 100%;
}

body.bo-body .tb-footer-row {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(180px, 0.7fr) minmax(260px, 1fr);
    grid-template-areas:
        "brand menu hours"
        "brand social trust";
    gap: clamp(3rem, 5vw, 6rem) clamp(2.5rem, 5vw, 6rem);
    margin: 0;
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
}

body.bo-body .tb-footer-row > .tb-footer-col {
    width: auto;
    max-width: none;
    padding: 0;
}

body.bo-body .tb-footer-row > .tb-footer-col:nth-child(1) { grid-area: brand; }
body.bo-body .tb-footer-row > .tb-footer-col:nth-child(2) { grid-area: menu; }
body.bo-body .tb-footer-row > .tb-footer-col:nth-child(3) { grid-area: hours; }
body.bo-body .tb-footer-row > .tb-footer-col:nth-child(4) { grid-area: social; }
body.bo-body .tb-footer-row > .tb-footer-col:nth-child(5) { grid-area: trust; }

body.bo-body .tb-footer-title {
    margin: 0;
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    line-height: 1.4;
    text-transform: uppercase;
}

body.bo-body .tb-footer-underline {
    height: 1px;
    margin: 1rem 0 1.25rem;
    background: rgba(255, 255, 255, 0.14);
}

body.bo-body .tb-footer-desc {
    max-width: 36rem;
    margin: 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: clamp(1rem, 1vw, 1.125rem);
    line-height: 1.8;
}

body.bo-body .tb-footer-links,
body.bo-body .tb-footer-hours {
    margin: 0;
}

body.bo-body .tb-footer-links a,
body.bo-body .tb-footer-hours {
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.98rem;
}

body.bo-body .tb-footer-links a {
    display: inline-flex;
    transition: color 0.2s ease, transform 0.2s ease;
}

body.bo-body .tb-footer-links a:hover,
body.bo-body .tb-footer-links a:focus-visible {
    color: #ffffff;
    transform: translateX(3px);
}

body.bo-body .tb-footer-hours li {
    gap: 1.5rem;
    color: rgba(255, 255, 255, 0.68);
}

body.bo-body .tb-footer-social {
    gap: 0.75rem !important;
    margin-top: 0 !important;
}

body.bo-body .tb-footer-social a {
    width: 42px;
    height: 42px;
    color: rgba(255, 255, 255, 0.72);
    background: rgba(255, 255, 255, 0.035);
    border-color: rgba(255, 255, 255, 0.16);
}

body.bo-body .tb-footer-uc {
    gap: 0.75rem;
    margin-top: 0 !important;
}

body.bo-body .tb-footer-uc img {
    width: 82px;
    opacity: 0.78;
}

body.bo-body .tb-footer-bottom {
    padding: 1.5rem 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

body.bo-body .tb-footer-bottom p {
    margin: 0;
    color: rgba(255, 255, 255, 0.48);
    font-size: 0.78rem;
    letter-spacing: 0.06em;
}

@media (max-width: 991.98px) {
    body.bo-body .tb-footer {
        display: block;
        min-height: 0;
    }

    body.bo-body .tb-footer::before {
        inset: 0;
        background-image: url('/images/sektioner/uploads/tb-footer-bg-desktop-2.webp');
        background-position: center;
        transform: scale(1.04);
        will-change: auto;
    }

    body.bo-body .tb-footer-top {
        padding: 4rem 1rem 3rem !important;
    }

    body.bo-body .tb-footer-main {
        padding: 0 0 4rem;
    }

    body.bo-body .tb-footer-row {
        grid-template-columns: 1fr;
        grid-template-areas:
            "brand"
            "menu"
            "hours"
            "social"
            "trust";
        gap: 2.75rem;
    }

    body.bo-body .tb-footer-desc {
        max-width: 42rem;
    }
}

@media (max-width: 575.98px) {
    body.bo-body .tb-footer-top {
        padding: 3.5rem 1rem 2.5rem !important;
    }

    body.bo-body .tb-footer-main {
        padding-bottom: 3rem;
    }

    body.bo-body .tb-footer-row {
        gap: 2.25rem;
    }

    body.bo-body .tb-footer-hours li {
        gap: 1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.bo-body .tb-footer::before {
        transform: scale(1.04);
        will-change: auto;
    }

    body.bo-body .tb-footer-links a,
    body.bo-body .tb-footer-social a,
    body.bo-body .tb-footer-uc img {
        transition: none;
    }
}

/* Header switches only when the full navigation fits */
@media (min-width: 992px) and (max-width: 1279.98px) {
    body.bo-body .tb-navbar .tb-hamburger {
        display: inline-flex !important;
    }

    body.bo-body .tb-navbar .navbar-collapse.d-lg-flex,
    body.bo-body .tb-navbar .tb-container-xl > .d-none.d-lg-flex {
        display: none !important;
    }
}

/* Large desktop split-content alignment */
@media (min-width: 1800px) {
    body.bo-body.front #explore > .tb-two-cols:nth-of-type(-n + 3) > .tb-col-content {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
}






/* =========================================================
   RESPONSIV SEKTIONSRYTM OCH SYSTEMSIDOR
   ========================================================= */
body#integritet-body {
    --font-main: 'Outfit', sans-serif;
    font-family: var(--font-main) !important;
}

body#integritet-body :where(button, input, select, textarea) {
    font-family: inherit;
}

body.bo-body .tb-section-white,
body.bo-body .tb-section-gray {
    padding-block: clamp(3.5rem, 7vw, 7.5rem);
}

body.bo-body .tb-container-grid {
    row-gap: clamp(3rem, 6vw, 7.5rem);
}

body.bo-body .tb-section-header + :is(.tb-container-grid, .tb-container-xl, .container) {
    margin-top: clamp(2rem, 4vw, 4rem);
}

body.bo-body .tb-section-header + .tb-container-grid.py-lg-8,
body.bo-body .tb-section-header + .tb-container-xl.py-8 {
    padding-block: 0 !important;
}

body.bo-body :is(#faq, #partners) > .container.text-center {
    margin-top: clamp(2rem, 4vw, 4rem);
}

body.bo-body .bo-breadcrumb__item + .bo-breadcrumb__item::before {
    content: "\2022";
    font-size: .7em;
}

@media (max-width: 991.98px) {
    body.bo-body .tb-container-grid .tb-intro-cols > :is(.tb-intro-image, .tb-intro-content:has(> .tb-intro-img)),
    body.bo-body #faq .tb-container-grid .row > .tb-intro-image {
        order: -1;
    }

    body.bo-body #faq .tb-container-grid {
        width: calc(100% - 2rem);
        padding-inline: 0 !important;
    }

    body.bo-body #faq .tb-container-grid .row {
        margin-inline: 0;
        row-gap: clamp(1.5rem, 6vw, 2.5rem);
    }

    body.bo-body #faq .tb-container-grid .row > * {
        padding-inline: 0;
    }

    body.bo-body #faq .tb-intro-img {
        max-height: 26rem;
        object-fit: cover;
    }
}
/* === SLUT: RESPONSIV SEKTIONSRYTM OCH SYSTEMSIDOR === */

/* TB PARTNER MARQUEE: RAKA BILDHORN */
body.bo-body .aa-marquee-slide img {
    border-radius: 0;
}



/* IOS SAFARI: BEHALL KUNDTEMATS KONTROLLFARGER */
body.bo-body :where(.accordion-btn-tb, #boFilterGroups button) {
    color: #0a0a0a;
    -webkit-text-fill-color: currentColor;
    -webkit-appearance: none;
    appearance: none;
}

body.bo-body :where(.accordion-btn-tb, #boFilterGroups) span {
    -webkit-text-fill-color: currentColor;
}

