﻿
    :root{

        /* Customer */
        --dgb-primary: #F7F2E7;
        --dgb-text: #202020;
        --dgb-lightgray: #FAFAFA;
        --dgb-gray: #F1F2F2;
        --dgb-white: #ffffff;
        --dgb-dark: #202020;
        --dgb-darker: #101010;
        --dgb-hover:#909090;
        --dgb-radius: 10px;
        --cst-font-family:"Poppins", "Segoe UI", "Arial", sans-serif;

        /* Bilonline */
        --bo-topbar:var(--dgb-primary);

    }

    body{
        font-family: var(--cst-font-family);
    }

    h1, h2, h3, h4, h5, h6{
        font-family: "Poppins", "Segoe UI", "Arial", sans-serif;
    }

    .bo-container-xl{
        width: 100%;
        max-width: 1720px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }

    @media (max-width: 992px) {
        .bo-container-xl{
            padding-left: 1rem;
            padding-right: 1rem;
        }
    }

    @media (max-width: 576px) {
        .bo-container-xl{
            padding-left: 0.75rem;
            padding-right: 0.75rem;
        }
    }


/* ============================= */
/*          Buttons              */
/* ============================= */


    .lb-show-cta{
        display: block;
        background: var(--dgb-dark);
        color: var(--dgb-white);
        padding: 0.9375rem 1.125rem;
        border-radius: .5rem;
        font-size: 1rem;
        font-weight: 500;
        text-decoration: none;
        transition: 0.25s ease;
        border-radius: 0.5rem;
        width: fit-content;
    }

    .lb-show-cta:hover{
        background: var(--dgb-primary);
        color: white;
    }


    .bo-primary__cta {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        background: var(--bo-hover);
        color: rgba(255, 255, 255);
        padding: 0.9375rem 1.125rem;
        font-size: 1rem;
        font-weight: 500;
        text-decoration: none;
        border: 1px solid rgba(255, 255, 255, .12);
        border-radius: 6.225rem;
        transition: 0.25s ease;
    }

    .bo-primary__cta:hover {
        background: var(--bo-hover);
        color: white;
    }

    .bo-secondary__cta {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        background: #F1F1F2;
        color: rgb(0, 0, 0);
        padding: 0.9375rem 1.125rem;
        font-size: 1rem;
        font-weight: 500;
        text-decoration: none;
        border: 1px solid rgba(255, 255, 255, .12);
        border-radius: 6.225rem;
        transition: 0.25s ease;
    }

    .bo-secondary__cta:hover {
        background: #dadadb;
    }

    
    .bo-logo-box{
        border-radius: var(--dgb-radius);
    }

    .bo-logo{
        width: 100%;
    }

    .bo-btn-icon {
        width: 32px;
        height: 32px;
    }

    @media (max-width: 992px) {

        .lb-logo{
            width:160px;
        }

    }

    .bo-hero-content{
        position: relative;
        z-index: 2;
        max-width: 1720px;
        color: white;
    }

    .lb-hero-cta{
        display: inline-block;
        background: var(--dgb-primary);
        color: var(--dgb-text);
        padding: 0.9375rem 1.125rem;
        font-size: 1rem;
        font-weight: 500;
        text-decoration: none;
        transition: 0.25s ease;
        border-radius: 0.625rem;
    }

        .lb-hero-cta:hover{
            background: var(--dgb-hover);
            color: white;
        }

    .bo-section-senaste{
        width: 100%;
        background: var(--dgb-gray);
        padding: 7.5rem 0;
    }

    .bo-section-dark{
        width: 100%;
        background: radial-gradient(1200px 500px at 20% 50%, rgba(255, 255, 255, 0.06), transparent 60%),
            linear-gradient(90deg, #070707 0%, #111111 55%, #070707 100%);
        padding: 7.5rem 0;
    }

    .bo-section-gray{
        width: 100%;
        background: var(--dgb-gray);
        padding: 9.325rem 0;
    }

    .bo-section-white {
        width: 100%;
        background: var(--dgb-white);
        padding: 7.5rem 0;
    }
    
    .bo-section-full{
        position: relative;
        height: auto;
        background-image: url(../images/lb-section-hero.webp);
        background-size: cover;
        background-position: center;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        overflow: hidden;
        padding:9.375rem 0;
    }

    .bo-section-semi{
        position: relative;
        height: auto;
        background-image: url(../images/lb-section-hero.webp);
        background-size: cover;
        background-position: center;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        overflow: hidden;
        padding: 9.375rem;
        max-width: 1720px;
        margin: 0 auto;
        border-radius: 1rem;
    }

    
    .bo-flip-row{
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 6rem;
        margin-bottom: 7.5rem;
    }

    .bo-flip-row:last-child{
        margin-bottom: 0;
    }

    .bo-flip-row.flipped{
        flex-direction: row-reverse;
    }

    .bo-flip-img-wrap{
        flex: 1;
        display: flex;
        justify-content: center;
    }

    .bo-flip-img{
        width: 100%;
        max-width: 76rem; /* ca 760px */
        border-radius: 1rem;
    }

    .bo-flip-vid{
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: inherit;
        display: block;
    }

    .bo-flip-text{
        flex: 1;
        max-width: 46rem;
    }

    .bo-flip-title{
        color: #191919;
        font-size: 1.875rem;
        font-style: normal;
        font-weight: 800;
        line-height: normal;
        letter-spacing: -0.02rem;
        margin-bottom: 1rem;
    }

    .bo-flip-body{
        font-size: 1rem;
        font-weight: 400;
        line-height: 1.625rem;
        margin-bottom: 1rem;
        color: #202020;
        max-width: 45rem;
    }

    .bo-flip-text{
        display: inline-block;
        margin-top: 1rem;
    }

    @media (max-width: 992px) {

        .bo-flip-row, .bo-flip-row.flipped{
            flex-direction: column;
            text-align: center;
        }

        .bo-flip-text{
            max-width: 100%;
        }

        .bo-flip-img{
            max-width: 100%;
        }
    }


    .lb-latest-slider-wrapper{
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 2rem;
    }

    .dgb-latest-card{
        display: block;
        text-align: center;
        max-width: 42rem;
        text-decoration: none;
        color: #191919;
    }

    .dgb-latest-img-wrap{
        overflow: hidden;
        border-radius: .8rem;
        margin-bottom: 2rem;
    }

    .dgb-latest-img{
        width: 100%;
        transition: transform .35s ease;
    }

    .dgb-latest-card:hover .dgb-latest-img{
        transform: scale(1.06);
    }

    .lb-latest-title{
        font-size: 1.25rem;
        font-weight: 800;
    }

    .dgb-latest-info{
        display: flex;
        justify-content: left;
        gap: 2rem;
        font-size: 1.065rem;
        font-weight:500;
        color: #2b2b2b;
    }

    .dgb-price-tag{
        display: inline-block;
        padding: 0.5rem 0;
        border-radius: 0.25rem;
        font-size: 1.25rem;
        font-weight: 700;
        color:var(--dgb-hover);
    }

    .dgb-month-tag{
        color:#969CB8;
        font-weight:600;
    }

    

    @media (max-width: 768px) {
        .dgb-latest-info{
            flex-direction: column;
        }
    }

    /* General UL */

    .bo-ul-general{
        list-style: none;
        padding: 0;
    }

        .bo-ul-general li{
            display: flex;
            align-items: center;
            gap: .25rem;
            padding:.25rem;
            font-weight:500;
        }


    /* Accordion */
    .dgb-accordion .accordion-item{
        border: none!important;
        margin-bottom: 1rem;
        border-radius: .6rem;
        overflow: hidden;
    }

    .dgb-faq-btn{
        background: var(--dgb-gray);
        border-radius: .6rem !important;
        padding: 1.25rem 1rem;
        font-size: 1rem;
        font-weight: 500;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .accordion-button:not(.collapsed){
        background: #fff;
        box-shadow: none;
        border: none !important;
    }

    .accordion-button:focus{
        border-color: transparent !important;
        box-shadow: none !important;
    }

    .accordion-button:not(.collapsed)::after{
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23DB5E4A' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6-.708 0-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
    }

    .accordion-button:not(.collapsed){
        color:var(--dgb-primary);
    }

    /* GRID */
    .dhb-usp-grid{
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 6rem;
        margin: 4rem 0;
    }

    .dhb-usp-card{
        text-align: center;
        font-family: "Inter", sans-serif;
    }

    .dhb-usp-img-wrap{
        position: relative;
        overflow: hidden;
        border-radius: 12px;
        height: 260px;
    }

        .dhb-usp-img-wrap img{
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform .6s ease, filter .6s ease;
        }

    .dhb-usp-colorwash{
        position: absolute;
        inset: 0;
        background: var(--dgb-hover); 
        mix-blend-mode: multiply;
        opacity: 0;
        transition: opacity .5s ease;
        z-index: 2;
    }

    .dhb-usp-title{
        position: absolute;
        z-index: 3;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        color: #fff;
        margin: 0;
        font-size: 1.8rem;
        font-weight: 700;
        text-shadow: 0 3px 12px rgba(0, 0, 0, 0.45);
    }

    .dhb-usp-img-wrap:hover img{
        transform: scale(1.12);
    }

    .dhb-usp-img-wrap:hover .dhb-usp-colorwash{
        opacity: 1;
        cursor: pointer;
    }

    @media (max-width: 768px) {

        .dhb-usp-grid{
            grid-template-columns: 1fr; /* En kolumn */
            gap: 2rem;
            padding: 0 1rem; /* Lite luft */
        }

        .dhb-usp-img-wrap{
            height: 200px; /* Lite kortare bild på mobil */
        }

        .dhb-usp-title{
            font-size: 1.6rem;
            text-align: center;
            width: 90%;
        }

    }


    
    /* New */

    .lb-container-slider{
        padding:6.25rem 0;
    }

    .bo-hero-overlay{
        position: absolute;
        inset: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 1;
    }

    .lb-section-title{
        font-size: 2.375rem;
        font-style: normal;
        font-weight: 700;
        line-height: normal;
        letter-spacing: -0.02rem;
        text-shadow: 0 2px 2px rgba(0, 0, 0, 0.25);
    }

    .lb-section-text{
        font-size: 1.125rem;
        font-style: normal;
        font-weight: 400;
        line-height: 1.875rem;/* 166.667% */
        max-width: 48rem;
    }


    /* New */
    
    .bo-service-grid{
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap:1rem;
    }

    .bo-service-item{
        display: flex;
        flex-direction: column;
        background: var(--dgb-gray);
        border-radius: 1rem;
        padding: 2rem;
        gap: .5rem;
    }

    .bo-service-title{
        color: var(--dgb-dark);
        font-size: 1.375rem;
        font-style: normal;
        font-weight: 800;
        line-height: normal;
        letter-spacing: -0.02rem;
        margin-bottom: 1rem;
    }

    .bo-hours{
        display: grid;
        grid-template-columns: auto auto;
        row-gap: .6rem;
        column-gap: 2rem;
    }

    .bo-hours .day{
        font-size: 1rem;
        opacity: 0.9;
        font-weight: 600;
        line-height: 1.85rem;
        /* 185% */
    }

    .bo-hours .time{
        font-size: 1rem;
        opacity: 0.9;
    }

    @media (max-width: 768px) {
        .bo-hours{
            grid-template-columns: 1fr 1fr;
            justify-content: center;
        }
    }

    .bo-hours-title{
        margin-bottom: 2rem;
        font-size: 1.325rem;
        font-style: normal;
        font-weight: 700;
        line-height: 1.2375rem; /* 110% */
        letter-spacing: -0.045rem;
        color: var(--dgb-dark);
    }

    /* Headers som kan användas till sektioner */

    .bo-section-header{
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 0.625rem;
        border-radius: 6.25rem;
        font-weight: 700;
        width: fit-content;
    }

    
    /* Denna tillhör "grid-row" > bygg en ny för Bilonline */

    .bo-flip-content{
        display: flex;
        margin-top: 1rem;
        flex: 1;
        max-width: 46rem;
        background:var(--dgb-lightgray);
        padding:2rem;
    }

    @media (max-width: 992px) {

        .bo-flip-content{
            max-width: 100%;
        }

    }

    @media (max-width: 768px) {

        .bo-flip-content{
            padding: 0;
            flex-direction: column;
        }

    }


    /* Nya klasser för Hero (Video + Bild med fallback) */



    /* ==============================
    BO HERO
    ============================== */
    :root {
        --bo-hero-primary: rgba(255, 255, 255, .08);
        --bo-text: #0A0808;
        --bo-hover: #1f1f1f;
        --bo-hero-overlay: rgba(0, 0, 0, 0.25);
    }

    /* Base */
    .bo-hero {
        position: relative;
        isolation: isolate;
        overflow: hidden;

        /* mer modern viewport-höjd: */
        min-height: min(100vh, 100svh);

        display: flex;
        align-items: center;
        justify-content: flex-start;
    }

    .bo-hero::before {
        content: "";
        position: absolute;
        inset: 0;
        background: var(--bo-hero-overlay);
        z-index: 1;
    }

    /* Video variant */
    .bo-hero--image {
        background-image: var(--bo-hero-bg);
        background-size: cover;
        background-position: center;
    }

    /* Video variant */
    .bo-hero__media {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: 0;
    }

    /* Content */
    .bo-hero__content {
        position: relative;
        z-index: 2;
        max-width: 40rem;
        color: #fff;
        /* om du vill “bo spacing” utan extra wrappers */
        padding-inline: clamp(1rem, 3vw, 3rem);
        text-align:center;
    }

    .bo-hero__title {
        font-weight: 600;
        letter-spacing: -0.02rem;
        text-shadow: 0 2px 2px rgba(0, 0, 0, 0.25);
        font-size: clamp(2rem, 2vw + 1.25rem, 3.375rem);
    }

    .bo-hero__pretitle {
        color: var(--bo-primary);
        font-weight: 900;
        letter-spacing: -0.02rem;
        padding: 0 10px;
        font-size: inherit;
    }

    .bo-hero__text {
        font-size: 1.125rem;
        font-weight: 400;
        line-height: 1.875rem;
        max-width: 48rem;
    }

    .bo-hero__btn-group {
        display: flex;
        flex-wrap: wrap;
        gap: 1rem;
        justify-content: center;
    }

    .bo-hero__cta {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;

        background: var(--bo-hero-primary);
        color: rgba(255, 255, 255);

        padding: 0.9375rem 1.125rem;
        font-size: 1rem;
        font-weight: 500;

        text-decoration: none;
        border: 1px solid rgba(255, 255, 255, .12);
        border-radius: 6.225rem;
        transition: 0.25s ease;
    }

    .bo-hero__cta:hover {
        background: var(--bo-hover);
        color: #fff;
    }

    .bo-hero__cta:focus-visible {
        outline: 3px solid rgba(255, 255, 255, 0.75);
        outline-offset: 3px;
    }

    /* A11y/perf: respektera reduced motion */
    @media (prefers-reduced-motion: reduce) {
        .bo-hero--video {
            background-image: var(--bo-hero-fallback-bg);
            background-size: cover;
            background-position: center;
        }

        .bo-hero__media {
            display: none;
        }
    }


    /* ==============================
    BO FOOTER (flat + soft mode)
    ============================== */

    .bo-footer {
        /* toggles */
        --bo-footer-bg: var(--dgb-darker);
        /*--bo-footer-image: none;*/ 
        --bo-footer-image: url("../images/cst-hero-main.webp");
        --bo-footer-overlay: rgba(0, 0, 0, .62);
        --bo-footer-highlight: rgba(255, 255, 255, .06);
        --bo-footer-accent: rgba(219, 94, 74, .10); /* sänk till .06 för ännu mer subtilt */

        position: relative;
        isolation: isolate;
        overflow: hidden;

        background: var(--bo-footer-bg);
        padding: 8rem 0 4rem 0;
        color: var(--dgb-white);
        border-top: 1px solid rgba(255, 255, 255, .10);
    }

    /* Bildlager */
    .bo-footer::before {
        content: "";
        position: absolute;
        inset: 0;
        background-image: var(--bo-footer-image);
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        z-index: -2;
    }

    /* Soft overlay (flat + Apple-ish) */
    .bo-footer::after {
        content: "";
        position: absolute;
        inset: 0;
        background:
            radial-gradient(1000px 500px at 20% 15%, var(--bo-footer-highlight), transparent 62%),
            radial-gradient(900px 420px at 80% 8%, var(--bo-footer-accent), transparent 60%),
            linear-gradient(180deg, rgba(0, 0, 0, .40), rgba(0, 0, 0, .86)),
            linear-gradient(180deg, var(--bo-footer-overlay), rgba(0, 0, 0, .88));
        z-index: -1;
        pointer-events: none;
    }

    /* Grid */
    .bo-footer-grid {
        display: grid;
        grid-template-columns: 2fr 1fr 1fr 1fr;
        gap: clamp(2rem, 4vw, 4rem);
        align-items: flex-start;
    }

    /* HR – tona ner (om du använder hr i kolumner) */
    .bo-footer-col hr {
        border: 0;
        height: 1px;
        background: rgba(255, 0, 0, 0.5);
        margin: 1.5rem 0;
    }

    /* Titles / text */
    .bo-footer-title {
        margin-bottom: 1.5rem;
        font-size: 1.125rem;
        font-weight: 700;
        line-height: 1.2375rem;
        letter-spacing: -0.045rem;
        color: var(--dgb-white);
    }

    .bo-footer-txt {
        color: rgba(255, 255, 255, .72);
        /* lite mjukare än dgb-hover */
        font-size: .95rem;
        line-height: 1.75;
    }

    /* Lists */
    .bo-footer-list {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .bo-footer-list li {
        margin-bottom: 1rem;
    }

    .bo-footer-list a {
        color: rgba(255, 255, 255, .88);
        text-decoration: none;
        font-size: 1rem;
        font-weight: 600;
        line-height: 1.85rem;
        transition: opacity .18s ease, color .18s ease;
    }

    .bo-footer-list a:hover {
        color: rgba(255, 255, 255, 1);
    }

    /* Hours */
    .bo-footer-hours {
        display: grid;
        grid-template-columns: auto auto;
        row-gap: .6rem;
        column-gap: 2rem;
        color: rgba(255, 255, 255, .88);
    }

    .bo-footer-hours .day {
        font-size: 1rem;
        opacity: 0.92;
        font-weight: 600;
        line-height: 1.85rem;
    }

    .bo-footer-hours .time {
        font-size: 1rem;
        opacity: 0.82;
    }

    /* Buttons */
    .bo-footer-btn {
        display: flex;
        align-items: center;
        gap: .8rem;
        margin-bottom: 1rem;
        font-size: 1rem;
        width: fit-content;
        color: rgba(255, 255, 255, .88);
        text-decoration: none;
    }

    .bo-footer-btn img {
        width: 1.5rem;
        height: 1.5rem;
        aspect-ratio: 1/1;
        filter: brightness(0) invert(1);
        opacity: .9;
    }

    /* Socials */
    .bo-footer-socials {
        display: flex;
        gap: 1rem;
        margin-top: 1rem;
    }

    .bo-footer-socials img {
        width: 2rem;
        height: 2rem;
        filter: brightness(0) invert(1);
        opacity: 0.85;
        transition: opacity .2s ease;
    }

    .bo-footer-socials img:hover {
        opacity: 1;
    }

    /* Copy */
    .bo-footer-copy {
        text-align: center;
        margin-top: 7.5rem;
        font-size: 0.875rem;
        font-weight: 500;
        line-height: 1.85rem;
        color: rgba(255, 255, 255, .75);
    }

    /* CTA */
    .bo-footer-cta {
        display: inline-flex;
        align-items: center;
        background: rgba(255, 255, 255, .08);
        color: rgba(255, 255, 255, .92);
        padding: 0.9375rem 1.125rem;
        border-radius: 6.25rem;
        font-size: 1rem;
        font-weight: 600;
        text-decoration: none;
        border: 1px solid rgba(255, 255, 255, .12);
        transition: 0.25s ease;
        width: fit-content;
    }

    .bo-footer-cta:hover {
        background: var(--dgb-primary);
        border-color: transparent;
        color: white;
    }

    /* Responsive */
    @media (max-width: 992px) {
        .bo-footer-grid {
            grid-template-columns: repeat(2, 1fr);
            gap: 4rem;
        }
    }

    @media (max-width: 768px) {
        .bo-footer-grid {
            grid-template-columns: 1fr;
            gap: 3rem;
            text-align: center;
        }

        .bo-footer-hours {
            grid-template-columns: 1fr 1fr;
            justify-content: center;
        }

        .bo-footer-btn {
            justify-content: center;
        }

        .bo-footer-socials {
            justify-content: center;
        }
    }


    .bo-map-wrap {
        width: 100%;
        border-radius: .65rem;
        overflow: hidden;
        position: relative;
        box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
    }

    .bo-map-img {
        width: 100%;
        height: auto;
        display: block;
        object-fit: cover;
        /* Base animation settings */
        transition: transform .6s cubic-bezier(.25, .8, .25, 1);
        will-change: transform;
    }

    /* Smooth zoom in */
    .bob-map-wrap:hover .dgb-map-img {
        transform: scale(1.015);
        transition: transform .8s cubic-bezier(.22, .61, .36, 1);
    }


