/* =========================================================
   DV BIKES GLOBAL DESIGN
   ========================================================= */

:root{
    --dvb-primary:#634C9F;
    --dvb-primary-dark:#4C377E;
    --dvb-primary-soft:#F3EFF7;
    --dvb-ink:#24172A;
    --dvb-text:#574F59;
    --dvb-line:#E6DDE9;
    --dvb-bg:#FAF8FB;
    --dvb-max:1700px;
}

/* Hide original Grogin/demo header + footer */
body header.site-header,
body #masthead,
body .global-notification,
body footer.site-footer,
body #colophon{
    display:none !important;
}

body{
    overflow-x:hidden;
}

.dvb-container{
    width:calc(100% - 36px);
    max-width:var(--dvb-max);
    margin-left:auto;
    margin-right:auto;
}

/* ---------------- HEADER ---------------- */

#dvb-global-header{
    width:100%;
    background:#fff;
    position:relative;
    z-index:9990;
    font-family:Inter,Arial,sans-serif;
}

.dvb-topbar{
    background:var(--dvb-primary);
    color:#fff;
}

.dvb-topbar-inner{
    min-height:38px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.dvb-topbar-left,
.dvb-topbar-right{
    display:flex;
    align-items:center;
    gap:26px;
}

.dvb-topbar span,
.dvb-topbar a{
    color:#fff !important;
    font-size:12px;
    font-weight:700;
    text-decoration:none !important;
}

.dvb-main-header{
    border-bottom:1px solid var(--dvb-line);
    background:#fff;
}

.dvb-header-row{
    min-height:106px;
    display:grid;
    grid-template-columns:270px minmax(360px,1fr) auto;
    gap:36px;
    align-items:center;
}

.dvb-logo{
    display:flex !important;
    flex-direction:column;
    color:#171717 !important;
    text-decoration:none !important;
}

.dvb-logo strong{
    font-size:38px;
    line-height:.9;
    font-weight:900;
    letter-spacing:-2px;
}

.dvb-logo strong span{
    color:var(--dvb-primary);
}

.dvb-logo small{
    margin-top:9px;
    color:#777;
    font-size:9px;
    font-weight:800;
    letter-spacing:2px;
}

.dvb-search{
    height:56px;
    display:flex;
    overflow:hidden;
    border:1px solid #D8CADA;
    border-radius:7px;
    background:#fff;
}

.dvb-search input{
    flex:1;
    min-width:0;
    margin:0 !important;
    padding:0 20px !important;
    border:0 !important;
    outline:0 !important;
    background:#fff !important;
    box-shadow:none !important;
    font-size:14px !important;
}

.dvb-search button{
    width:64px;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:var(--dvb-primary) !important;
    color:#fff !important;
}

.dvb-search svg{
    width:24px;
    height:24px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
}

.dvb-header-actions{
    display:flex;
    align-items:center;
    gap:12px;
}

.dvb-header-action{
    min-height:56px;
    padding:0 15px;
    border:1px solid #E4D9E6;
    border-radius:7px;
    display:flex !important;
    align-items:center;
    gap:9px;
    color:#352339 !important;
    text-decoration:none !important;
    font-size:11px;
    font-weight:800;
}

.dvb-header-action svg{
    width:23px;
    height:23px;
    fill:none;
    stroke:var(--dvb-primary);
    stroke-width:1.8;
}

.dvb-cart-link{
    background:var(--dvb-primary);
    border-color:var(--dvb-primary);
    color:#fff !important;
}

.dvb-cart-link svg{
    stroke:#fff;
}

.dvb-cart-icon-wrap{
    position:relative;
    display:flex;
}

.dvb-cart-count{
    position:absolute;
    right:-10px;
    top:-10px;
    width:20px;
    height:20px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    color:var(--dvb-primary);
    font-size:9px;
    font-weight:900;
}

.dvb-global-nav{
    border-bottom:1px solid var(--dvb-line);
    background:#fff;
}

.dvb-nav-row{
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
}

.dvb-nav-links{
    display:flex;
    align-items:center;
    gap:4px;
}

.dvb-nav-links a,
.dvb-track-link{
    min-height:58px;
    padding:0 14px;
    display:flex !important;
    align-items:center;
    color:#39253D !important;
    text-decoration:none !important;
    font-size:12px;
    font-weight:800;
}

.dvb-nav-links a:hover{
    color:var(--dvb-primary) !important;
}

.dvb-track-link{
    min-height:40px;
    background:var(--dvb-primary);
    border-radius:6px;
    color:#fff !important;
}

.dvb-mobile-toggle,
.dvb-mobile-menu{
    display:none;
}

/* ---------------- PRODUCT PAGE ---------------- */

body.single-product{
    background:#fff;
}

body.single-product .site-content,
body.single-product #content,
body.single-product .container,
body.single-product .site-main{
    max-width:none !important;
}

body.single-product .woocommerce{
    width:calc(100% - 48px);
    max-width:1600px;
    margin:38px auto 70px !important;
}

body.single-product .woocommerce-breadcrumb{
    margin:0 0 24px !important;
    color:#8A7E8D !important;
    font-size:12px !important;
}

body.single-product .woocommerce-breadcrumb a{
    color:#7C6E80 !important;
}

/* Main product layout */
body.single-product div.product{
    position:relative;
}

body.single-product div.product .woocommerce-product-gallery{
    width:51% !important;
    margin:0 !important;
    padding:22px !important;
    border:1px solid #E5D6E8;
    border-radius:18px;
    background:#fff;
}

body.single-product div.product .summary{
    width:46% !important;
    margin:0 !important;
    padding:25px 22px 22px !important;
    border-radius:18px;
    background:#fff;
}

body.single-product div.product .woocommerce-product-gallery__image{
    min-height:620px;
    display:flex !important;
    align-items:center;
    justify-content:center;
}

body.single-product div.product .woocommerce-product-gallery__image img{
    width:100% !important;
    height:600px !important;
    object-fit:contain !important;
}

body.single-product .flex-control-thumbs{
    display:grid !important;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:8px;
    margin-top:14px !important;
}

body.single-product .flex-control-thumbs li{
    width:auto !important;
    margin:0 !important;
    border:1px solid #E7DEE9;
    border-radius:9px;
    overflow:hidden;
}

body.single-product .flex-control-thumbs img{
    height:95px !important;
    object-fit:contain !important;
    padding:5px;
}

/* Brand and title */
.dvb-product-brand{
    margin-bottom:10px;
    color:var(--dvb-primary);
    font-size:11px;
    font-weight:900;
    letter-spacing:1.4px;
    text-transform:uppercase;
}

body.single-product .product_title{
    margin:0 0 18px !important;
    color:#4B1A46 !important;
    font-size:40px !important;
    line-height:1.08 !important;
    font-weight:850 !important;
    letter-spacing:-1.4px !important;
}

/* Trust boxes */
.dvb-trust-grid{
    margin:18px 0 23px;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

.dvb-trust-box{
    min-height:92px;
    padding:16px 18px;
    display:flex;
    align-items:center;
    gap:14px;
    border:1px solid #DDBFD8;
    border-radius:13px;
    background:#F7F0F6;
    color:#51404F;
}

.dvb-trust-box strong{
    font-size:13px;
    line-height:1.3;
}

.dvb-trust-wide{
    grid-column:1 / -1;
}

.dvb-trust-icon{
    width:42px;
    height:42px;
    flex:0 0 42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    background:#fff;
    color:var(--dvb-primary);
    font-size:17px;
    font-weight:900;
}

.dvb-out{
    opacity:.7;
}

/* Price */
body.single-product .summary p.price,
body.single-product .summary span.price{
    margin:20px 0 !important;
    color:var(--dvb-primary) !important;
    font-size:34px !important;
    line-height:1.2 !important;
    font-weight:850 !important;
}

body.single-product .summary .price del{
    color:#B3261E !important;
    font-size:17px !important;
    opacity:1 !important;
}

body.single-product .summary .price ins{
    color:var(--dvb-primary) !important;
    text-decoration:none !important;
}

/* Short description */
body.single-product .woocommerce-product-details__short-description{
    margin:12px 0 18px;
    color:#675D68;
    font-size:13px;
    line-height:1.65;
}

/* Variations */
body.single-product table.variations{
    margin:18px 0 !important;
}

body.single-product table.variations th,
body.single-product table.variations td{
    padding:8px 8px 8px 0 !important;
}

body.single-product table.variations label{
    color:#442F47;
    font-size:12px;
    font-weight:800;
}

body.single-product table.variations select{
    min-height:48px;
    border:1px solid #DCCFDF;
    border-radius:8px;
    background:#fff;
}

/* Quantity + Cart */
body.single-product form.cart{
    margin:24px 0 !important;
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

body.single-product form.cart .quantity{
    min-height:52px;
}

body.single-product form.cart .qty{
    min-height:52px;
    border:1px solid #D8CCD9 !important;
    border-radius:7px !important;
}

body.single-product .single_add_to_cart_button{
    min-height:52px !important;
    padding:0 28px !important;
    border-radius:7px !important;
    background:var(--dvb-primary) !important;
    color:#fff !important;
    font-size:12px !important;
    font-weight:850 !important;
    letter-spacing:.3px;
    text-transform:uppercase;
}

body.single-product .single_add_to_cart_button:hover{
    background:var(--dvb-primary-dark) !important;
}

/* Meta */
.dvb-quick-meta{
    padding:16px 0 0;
    border-top:1px solid #EAE2EC;
    display:flex;
    flex-wrap:wrap;
    gap:8px 20px;
    color:#766B77;
    font-size:10px;
}

.dvb-quick-meta b{
    color:#4F3D51;
}

/* Tabs / description */
body.single-product .woocommerce-tabs{
    clear:both;
    width:100%;
    padding-top:55px;
}

body.single-product .woocommerce-tabs ul.tabs{
    margin:0 !important;
    padding:0 !important;
    display:flex;
    flex-wrap:wrap;
    gap:3px;
    border:0 !important;
}

body.single-product .woocommerce-tabs ul.tabs:before,
body.single-product .woocommerce-tabs ul.tabs li:before,
body.single-product .woocommerce-tabs ul.tabs li:after{
    display:none !important;
}

body.single-product .woocommerce-tabs ul.tabs li{
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:12px 12px 0 0 !important;
    background:#EEE5EC !important;
}

body.single-product .woocommerce-tabs ul.tabs li a{
    padding:17px 24px !important;
    color:#654C61 !important;
    font-size:11px !important;
    font-weight:850 !important;
}

body.single-product .woocommerce-tabs ul.tabs li.active{
    background:var(--dvb-primary) !important;
}

body.single-product .woocommerce-tabs ul.tabs li.active a{
    color:#fff !important;
}

body.single-product .woocommerce-tabs .panel{
    margin:0 !important;
    padding:38px 40px 45px !important;
    border:1px solid #E5D6E8;
    border-radius:0 14px 14px 14px;
    background:#fff;
    color:#554B56;
    font-size:13px;
    line-height:1.75;
}

body.single-product .woocommerce-tabs .panel h2{
    color:#4B1A46 !important;
    font-size:29px !important;
    font-weight:850 !important;
}

body.single-product .woocommerce-tabs .panel h3{
    color:#4B1A46 !important;
    font-size:20px !important;
    font-weight:800 !important;
}

/* Information table */
.dvb-product-info-wrap h2,
.dvb-safety-wrap h2{
    margin-top:0 !important;
}

.dvb-info-table{
    overflow:hidden;
    border:1px solid #E7DEE9;
    border-radius:10px;
}

.dvb-info-row{
    display:grid;
    grid-template-columns:34% 66%;
    border-bottom:1px solid #ECE5ED;
}

.dvb-info-row:last-child{
    border-bottom:0;
}

.dvb-info-label,
.dvb-info-value{
    padding:13px 16px;
}

.dvb-info-label{
    background:#F8F5F9;
    color:#5A4559;
    font-weight:800;
}

.dvb-info-value{
    color:#5E565F;
}

.dvb-purchase-note,
.dvb-safety-block{
    margin-top:20px;
    padding:18px;
    border:1px solid #E6D9E7;
    border-radius:10px;
    background:#FBF9FC;
}

.dvb-document-list{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
}

.dvb-document-list a{
    padding:10px 14px;
    border-radius:6px;
    background:var(--dvb-primary);
    color:#fff !important;
    text-decoration:none !important;
}

.dvb-warning{
    border-color:#E6BDB8;
    background:#FFF6F4;
}

/* Related / upsells */
body.single-product .related.products,
body.single-product .upsells.products{
    clear:both;
    width:100%;
    padding-top:65px;
}

body.single-product .related.products > h2,
body.single-product .upsells.products > h2{
    margin:0 0 28px !important;
    padding-left:22px;
    border-left:5px solid var(--dvb-primary);
    color:#4B1A46 !important;
    font-size:36px !important;
    line-height:1.08 !important;
    font-weight:850 !important;
    letter-spacing:-1.3px !important;
}

body.single-product .related.products ul.products,
body.single-product .upsells.products ul.products{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px !important;
}

body.single-product .related.products ul.products li.product,
body.single-product .upsells.products ul.products li.product{
    width:auto !important;
    margin:0 !important;
    padding:0 0 16px !important;
    overflow:hidden;
    border:1px solid #E4D9E6;
    border-radius:14px;
    background:#fff;
}

body.single-product .related.products li.product img,
body.single-product .upsells.products li.product img{
    width:100% !important;
    height:280px !important;
    padding:12px !important;
    object-fit:contain !important;
    background:#fff;
}

body.single-product .related.products li.product h2,
body.single-product .upsells.products li.product h2{
    min-height:58px;
    margin:0 !important;
    padding:0 16px !important;
    color:#4B1A46 !important;
    font-size:14px !important;
    line-height:1.35 !important;
    font-weight:800 !important;
}

body.single-product .related.products li.product .price,
body.single-product .upsells.products li.product .price{
    padding:0 16px;
    color:var(--dvb-primary) !important;
    font-size:18px !important;
    font-weight:850 !important;
}

body.single-product .related.products li.product .button,
body.single-product .upsells.products li.product .button{
    margin:10px 16px 0 !important;
    min-height:44px;
    display:flex !important;
    align-items:center;
    justify-content:center;
    border-radius:7px !important;
    background:var(--dvb-primary) !important;
    color:#fff !important;
    font-size:10px !important;
    font-weight:850 !important;
}

/* ---------------- FOOTER ---------------- */

#dvb-global-footer{
    margin-top:80px;
    font-family:Inter,Arial,sans-serif;
}

.dvb-footer-advice{
    padding:46px 0;
    background:linear-gradient(110deg,#54204F,#773766);
    color:#fff;
}

.dvb-advice-row{
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    gap:35px;
}

.dvb-advice-kicker{
    color:#E8DDE7;
    font-size:9px;
    font-weight:850;
    letter-spacing:1.6px;
}

.dvb-footer-advice h2{
    margin:8px 0 10px !important;
    color:#fff !important;
    font-size:34px !important;
    font-weight:850 !important;
}

.dvb-footer-advice p{
    max-width:800px;
    margin:0 !important;
    color:rgba(255,255,255,.78) !important;
    font-size:12px !important;
    line-height:1.6 !important;
}

.dvb-advice-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.dvb-advice-actions a{
    min-height:50px;
    padding:0 20px;
    display:flex !important;
    align-items:center;
    border-radius:7px;
    text-decoration:none !important;
    font-size:10px;
    font-weight:850;
    text-transform:uppercase;
}

.dvb-advice-primary{
    background:#fff;
    color:#5A2653 !important;
}

.dvb-advice-secondary{
    border:1px solid rgba(255,255,255,.5);
    color:#fff !important;
}

.dvb-footer-benefits{
    padding:26px 0;
    background:#343434;
    color:#fff;
}

.dvb-benefit-row{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.dvb-benefit-row div{
    padding-right:20px;
    border-right:1px solid rgba(255,255,255,.13);
}

.dvb-benefit-row div:last-child{
    border-right:0;
}

.dvb-benefit-row b,
.dvb-benefit-row span{
    display:block;
}

.dvb-benefit-row b{
    margin-bottom:5px;
    font-size:12px;
}

.dvb-benefit-row span{
    color:#C9C9C9;
    font-size:10px;
}

.dvb-footer-main{
    background:#2E2E2E;
    color:#fff;
}

.dvb-footer-grid{
    padding:55px 0 45px;
    display:grid;
    grid-template-columns:1.25fr repeat(3,1fr);
    gap:55px;
}

.dvb-footer-logo{
    color:#fff;
    font-size:34px;
    font-weight:900;
    letter-spacing:-1.5px;
}

.dvb-footer-logo span{
    color:#BFA6CB;
}

.dvb-footer-brand p{
    max-width:390px;
    color:#BEBEBE;
    font-size:11px;
    line-height:1.75;
}

.dvb-footer-grid h3{
    margin:0 0 18px !important;
    color:#fff !important;
    font-size:13px !important;
    text-transform:uppercase;
    font-weight:850 !important;
}

.dvb-footer-grid > div:not(.dvb-footer-brand){
    display:flex;
    flex-direction:column;
    gap:11px;
}

.dvb-footer-grid a{
    color:#C1C1C1 !important;
    text-decoration:none !important;
    font-size:10.5px;
}

.dvb-footer-grid a:hover{
    color:#fff !important;
}

.dvb-footer-bottom{
    min-height:62px;
    border-top:1px solid rgba(255,255,255,.12);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    color:#8F8F8F;
    font-size:9px;
}

.dvb-footer-bottom div{
    display:flex;
    gap:18px;
}

.dvb-footer-bottom a{
    color:#A9A9A9 !important;
    text-decoration:none !important;
}

/* ---------------- RESPONSIVE ---------------- */

@media(max-width:1100px){
    .dvb-header-row{
        grid-template-columns:210px 1fr auto;
        gap:18px;
    }

    .dvb-logo strong{
        font-size:30px;
    }

    .dvb-header-action span:not(.dvb-cart-icon-wrap){
        display:none;
    }

    body.single-product div.product .woocommerce-product-gallery,
    body.single-product div.product .summary{
        width:49% !important;
    }

    body.single-product div.product .woocommerce-product-gallery__image{
        min-height:470px;
    }

    body.single-product div.product .woocommerce-product-gallery__image img{
        height:450px !important;
    }

    body.single-product .related.products ul.products,
    body.single-product .upsells.products ul.products{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:767px){
    .dvb-container{
        width:calc(100% - 20px);
    }

    .dvb-topbar-inner{
        min-height:32px;
        justify-content:center;
    }

    .dvb-topbar-left span:not(:first-child),
    .dvb-topbar-right{
        display:none;
    }

    .dvb-topbar span{
        font-size:9px;
    }

    .dvb-header-row{
        padding:9px 0;
        min-height:auto;
        grid-template-columns:40px 1fr 40px;
        gap:7px;
    }

    .dvb-mobile-toggle{
        width:40px;
        height:40px;
        padding:0;
        display:flex;
        align-items:center;
        justify-content:center;
        border:1px solid #DDD;
        border-radius:5px;
        background:#fff;
        color:var(--dvb-primary);
        font-size:18px;
    }

    .dvb-logo{
        align-items:center;
    }

    .dvb-logo strong{
        font-size:23px;
    }

    .dvb-logo small{
        display:none;
    }

    .dvb-search{
        grid-column:1/-1;
        height:44px;
    }

    .dvb-header-actions .dvb-header-action{
        display:none !important;
    }

    .dvb-header-actions .dvb-cart-link{
        width:40px;
        min-height:40px;
        padding:0;
        display:flex !important;
        justify-content:center;
        border-radius:50%;
    }

    .dvb-cart-link > span:last-child{
        display:none;
    }

    .dvb-global-nav{
        display:none;
    }

    .dvb-mobile-menu.open{
        display:block;
        padding:8px 14px 14px;
        border-bottom:1px solid var(--dvb-line);
        background:#fff;
    }

    .dvb-mobile-menu a{
        display:block;
        padding:12px 2px;
        border-bottom:1px solid #EEE;
        color:#36273A !important;
        text-decoration:none !important;
        font-size:11px;
        font-weight:800;
    }

    body.single-product .woocommerce{
        width:calc(100% - 12px);
        margin-top:18px !important;
    }

    body.single-product div.product .woocommerce-product-gallery,
    body.single-product div.product .summary{
        float:none !important;
        width:100% !important;
    }

    body.single-product div.product .woocommerce-product-gallery{
        padding:10px !important;
        border-radius:12px;
    }

    body.single-product div.product .summary{
        padding:24px 12px !important;
    }

    body.single-product div.product .woocommerce-product-gallery__image{
        min-height:340px;
    }

    body.single-product div.product .woocommerce-product-gallery__image img{
        height:330px !important;
    }

    body.single-product .flex-control-thumbs img{
        height:65px !important;
    }

    body.single-product .product_title{
        font-size:28px !important;
    }

    .dvb-trust-box{
        min-height:75px;
        padding:12px;
    }

    .dvb-trust-box strong{
        font-size:10px;
    }

    .dvb-trust-icon{
        width:34px;
        height:34px;
        flex-basis:34px;
    }

    body.single-product .summary p.price,
    body.single-product .summary span.price{
        font-size:28px !important;
    }

    body.single-product .woocommerce-tabs{
        padding-top:30px;
    }

    body.single-product .woocommerce-tabs ul.tabs{
        display:grid;
        grid-template-columns:repeat(2,1fr);
    }

    body.single-product .woocommerce-tabs ul.tabs li{
        border-radius:7px !important;
    }

    body.single-product .woocommerce-tabs ul.tabs li a{
        padding:12px 10px !important;
        font-size:9px !important;
        text-align:center;
    }

    body.single-product .woocommerce-tabs .panel{
        margin-top:8px !important;
        padding:22px 16px !important;
        border-radius:10px;
    }

    body.single-product .woocommerce-tabs .panel h2{
        font-size:23px !important;
    }

    .dvb-info-row{
        grid-template-columns:1fr;
    }

    .dvb-info-label{
        padding-bottom:6px;
    }

    .dvb-info-value{
        padding-top:6px;
    }

    body.single-product .related.products,
    body.single-product .upsells.products{
        padding-top:40px;
    }

    body.single-product .related.products > h2,
    body.single-product .upsells.products > h2{
        font-size:25px !important;
    }

    body.single-product .related.products ul.products,
    body.single-product .upsells.products ul.products{
        grid-template-columns:repeat(2,1fr);
        gap:6px !important;
    }

    body.single-product .related.products li.product img,
    body.single-product .upsells.products li.product img{
        height:180px !important;
    }

    body.single-product .related.products li.product h2,
    body.single-product .upsells.products li.product h2{
        min-height:52px;
        padding:0 10px !important;
        font-size:10px !important;
    }

    body.single-product .related.products li.product .price,
    body.single-product .upsells.products li.product .price{
        padding:0 10px;
        font-size:14px !important;
    }

    body.single-product .related.products li.product .button,
    body.single-product .upsells.products li.product .button{
        margin:8px 10px 0 !important;
        min-height:36px;
        font-size:8px !important;
    }

    .dvb-advice-row{
        grid-template-columns:1fr;
    }

    .dvb-footer-advice h2{
        font-size:27px !important;
    }

    .dvb-benefit-row{
        grid-template-columns:1fr;
        gap:15px;
    }

    .dvb-benefit-row div{
        padding:0 0 15px;
        border-right:0;
        border-bottom:1px solid rgba(255,255,255,.12);
    }

    .dvb-footer-grid{
        grid-template-columns:1fr;
        gap:30px;
        padding:42px 0;
    }

    .dvb-footer-bottom{
        padding:14px 0;
        display:block;
    }

    .dvb-footer-bottom div{
        margin-top:8px;
        flex-wrap:wrap;
    }
}


/* =========================================================
   V1.1 CORRECTIONS — DUPLICATES / ARCHIVES / PRODUCT LAYOUT
   ========================================================= */

/* The home HTML pack already contained a header/footer. Keep only the plugin globals. */
body.home .dv1-top,
body.home .dv1-head,
body.home .dv1-nav,
body.home .dv1-mobilemenu,
body .dv-footer,
body .dv7{
    display:none !important;
}

/* Remove the grocery demo category banner when JS identifies it. */
.dvb-hide-demo-banner{
    display:none !important;
}

/* Category/shop layout */
body.tax-product_cat .woocommerce,
body.post-type-archive-product .woocommerce,
body.tax-product_tag .woocommerce{
    width:calc(100% - 48px);
    max-width:1700px;
    margin:32px auto 70px !important;
}

.dvb-archive-intro{
    margin:22px 0 28px;
    padding:30px 34px;
    border:1px solid #E4D9E6;
    border-radius:12px;
    background:linear-gradient(115deg,#F5F0F7,#fff);
}

.dvb-archive-intro > span{
    color:var(--dvb-primary);
    font-size:9px;
    font-weight:900;
    letter-spacing:1.5px;
}

.dvb-archive-intro h1{
    margin:8px 0 8px !important;
    color:#4B1A46 !important;
    font-size:34px !important;
    line-height:1.05 !important;
    font-weight:850 !important;
}

.dvb-archive-intro p{
    max-width:800px;
    margin:0 !important;
    color:#6F6470 !important;
    font-size:12px !important;
    line-height:1.6 !important;
}

body.tax-product_cat ul.products,
body.post-type-archive-product ul.products,
body.tax-product_tag ul.products{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:12px !important;
}

body.tax-product_cat ul.products li.product,
body.post-type-archive-product ul.products li.product,
body.tax-product_tag ul.products li.product{
    width:auto !important;
    margin:0 !important;
}

/* Predictable two-column product top, independent from Grogin's old layout. */
body.single-product .dvb-product-top{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:28px !important;
    align-items:start !important;
    width:100% !important;
}

body.single-product .dvb-product-top > .woocommerce-product-gallery,
body.single-product .dvb-product-top > .summary{
    float:none !important;
    width:100% !important;
    max-width:none !important;
}

body.single-product .dvb-product-top > .summary{
    display:block !important;
    position:relative !important;
}

body.single-product .dvb-product-top .summary > *{
    position:static !important;
    float:none !important;
}

body.single-product .dvb-product-top .summary .price{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
}

body.single-product .dvb-product-top .summary form.cart,
body.single-product .dvb-product-top .summary table.variations,
body.single-product .dvb-product-top .summary .variations_form,
body.single-product .dvb-product-top .summary .single_variation_wrap{
    width:100% !important;
    max-width:none !important;
}

/* Tabs: remove theme focus/outline artefacts visible in the screenshot. */
body.single-product .woocommerce-tabs ul.tabs li,
body.single-product .woocommerce-tabs ul.tabs li a{
    outline:0 !important;
    box-shadow:none !important;
}

/* Hide any old standard/theme related block; our own block remains visible. */
body.single-product .related.products:not(.dvb-related-custom){
    display:none !important;
}

/* Custom related products */
.dvb-related-custom{
    clear:both;
    width:100%;
    padding-top:64px;
}

.dvb-related-heading{
    margin-bottom:25px;
    padding-left:22px;
    border-left:5px solid var(--dvb-primary);
}

.dvb-related-heading span{
    display:inline-block;
    margin-bottom:8px;
    padding:6px 12px;
    border-radius:30px;
    background:#F2EAF1;
    color:#6A315F;
    font-size:8px;
    font-weight:900;
    letter-spacing:1.2px;
}

.dvb-related-heading h2{
    margin:0 !important;
    color:#4B1A46 !important;
    font-size:34px !important;
    line-height:1.08 !important;
    font-weight:850 !important;
}

.dvb-related-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
}

.dvb-related-card{
    overflow:hidden;
    border:1px solid #E4D9E6;
    border-radius:14px;
    background:#fff;
}

.dvb-related-image{
    height:285px;
    display:flex !important;
    align-items:center;
    justify-content:center;
    background:#fff;
}

.dvb-related-image img{
    width:94%;
    height:94%;
    padding:12px;
    object-fit:contain;
}

.dvb-related-body{
    padding:17px 18px 19px;
}

.dvb-related-body h3{
    min-height:48px;
    margin:0 0 12px !important;
    font-size:14px !important;
    line-height:1.35 !important;
    font-weight:800 !important;
}

.dvb-related-body h3 a{
    color:#4B1A46 !important;
    text-decoration:none !important;
}

.dvb-related-price{
    min-height:28px;
    color:var(--dvb-primary);
    font-size:18px;
    font-weight:850;
}

.dvb-related-price del{
    color:#B3261E;
    font-size:12px;
}

.dvb-related-price ins{
    text-decoration:none;
}

.dvb-related-button{
    min-height:44px;
    margin-top:14px;
    display:flex !important;
    align-items:center;
    justify-content:center;
    border-radius:7px;
    background:var(--dvb-primary);
    color:#fff !important;
    text-decoration:none !important;
    font-size:9px;
    font-weight:850;
    text-transform:uppercase;
}

/* Recently viewed: preserve it, but align it with the new site. */
.dvb-recent-section{
    clear:both;
    margin-top:58px !important;
}

.dvb-recent-section > h2,
.dvb-recent-section > h3,
.dvb-recent-section .module-header h2,
.dvb-recent-section .module-header h3{
    color:#4B1A46 !important;
    font-size:28px !important;
    font-weight:850 !important;
}

.dvb-recent-section ul.products{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:12px !important;
}

.dvb-recent-section ul.products li.product{
    width:auto !important;
    margin:0 !important;
}

/* =========================================================
   GLOBAL FOOTER V1.1 — COMPLETE GERMAN LIGHT FOOTER
   ========================================================= */

#dvb-global-footer{
    margin-top:80px;
    background:#F3F3F3;
    color:#1E1E1E;
    font-family:Inter,Arial,sans-serif;
    border-top:1px solid #E1E1E1;
}

.dvb-footer-helpbar{
    border-bottom:1px solid #DCDCDC;
    background:#F7F7F7;
}

.dvb-helpbar-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
}

.dvb-helpbar-grid > div{
    min-height:88px;
    padding:20px 28px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border-right:1px solid #DDD;
}

.dvb-helpbar-grid > div:last-child{
    border-right:0;
}

.dvb-helpbar-grid strong{
    margin-bottom:5px;
    color:#222;
    font-size:13px;
}

.dvb-helpbar-grid span{
    color:#777;
    font-size:10px;
}

.dvb-footer-main-light{
    background:#F3F3F3;
}

.dvb-footer-grid-light{
    padding:55px 0 45px;
    display:grid;
    grid-template-columns:1.25fr 1.2fr 1fr 1fr;
    gap:54px;
}

.dvb-footer-grid-light > div:not(.dvb-footer-brand-light):not(.dvb-footer-contact-light){
    display:flex;
    flex-direction:column;
    gap:11px;
}

.dvb-footer-brand-light{
    padding-right:30px;
    border-right:1px solid #DADADA;
}

.dvb-footer-logo-light{
    margin-bottom:20px;
    color:#111;
    font-size:44px;
    line-height:.95;
    font-weight:900;
    letter-spacing:-2px;
}

.dvb-footer-logo-light span{
    color:var(--dvb-primary);
}

.dvb-footer-brand-light p{
    max-width:430px;
    margin:0 !important;
    color:#747474 !important;
    font-size:13px !important;
    line-height:1.7 !important;
}

.dvb-footer-grid-light h3{
    margin:0 0 18px !important;
    color:#202020 !important;
    font-size:16px !important;
    font-weight:850 !important;
}

.dvb-footer-grid-light a{
    color:#282828 !important;
    text-decoration:none !important;
    font-size:12px;
    line-height:1.45;
}

.dvb-footer-grid-light a:hover{
    color:var(--dvb-primary) !important;
}

.dvb-footer-contact-light{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
}

.dvb-footer-phone{
    margin-bottom:12px;
    font-size:24px !important;
    font-weight:850;
}

.dvb-footer-email{
    margin-bottom:15px;
    color:var(--dvb-primary) !important;
    font-size:19px !important;
    font-weight:850;
    word-break:break-word;
}

.dvb-footer-address{
    margin-bottom:14px;
    color:#555;
    font-size:12px;
    line-height:1.6;
}

.dvb-footer-contact-button{
    margin-top:4px;
    padding:10px 13px;
    border:1px solid #D0C5D5;
    border-radius:5px;
    background:#fff;
    color:var(--dvb-primary) !important;
    font-size:9px !important;
    font-weight:850;
    text-transform:uppercase;
}

.dvb-footer-trust-light{
    min-height:62px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border-top:1px solid #DADADA;
    border-bottom:1px solid #DADADA;
}

.dvb-footer-trust-light a{
    display:flex !important;
    align-items:center;
    justify-content:center;
    border-right:1px solid #DADADA;
    color:#202020 !important;
    text-decoration:none !important;
    font-size:12px;
    font-weight:800;
}

.dvb-footer-trust-light a:last-child{
    border-right:0;
}

.dvb-footer-bottom-light{
    min-height:78px;
    display:grid;
    grid-template-columns:1.2fr 1fr auto;
    gap:25px;
    align-items:center;
    color:#858585;
    font-size:10px;
}

.dvb-footer-bottom-links{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:14px;
}

.dvb-footer-bottom-links a{
    color:#666 !important;
    text-decoration:none !important;
}

.dvb-payment-methods{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:6px;
}

.dvb-payment-methods span{
    padding:7px 10px;
    border:1px solid #D7D7D7;
    border-radius:20px;
    background:#fff;
    color:#444;
    font-size:8px;
    font-weight:800;
}

/* Retire the old dark-footer rules from visual flow even though their markup no longer exists. */
.dvb-footer-advice,
.dvb-footer-benefits,
.dvb-footer-main{
    display:none !important;
}

@media(max-width:1100px){
    body.tax-product_cat ul.products,
    body.post-type-archive-product ul.products,
    body.tax-product_tag ul.products,
    .dvb-related-grid,
    .dvb-recent-section ul.products{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .dvb-footer-grid-light{
        grid-template-columns:repeat(2,1fr);
    }

    .dvb-footer-brand-light{
        border-right:0;
    }
}

@media(max-width:767px){
    body.tax-product_cat .woocommerce,
    body.post-type-archive-product .woocommerce,
    body.tax-product_tag .woocommerce{
        width:calc(100% - 12px);
        margin-top:18px !important;
    }

    .dvb-archive-intro{
        padding:20px 18px;
    }

    .dvb-archive-intro h1{
        font-size:25px !important;
    }

    body.single-product .dvb-product-top{
        grid-template-columns:1fr !important;
        gap:12px !important;
    }

    .dvb-related-heading h2{
        font-size:25px !important;
    }

    .dvb-related-image{
        height:180px;
    }

    .dvb-related-body{
        padding:11px;
    }

    .dvb-related-body h3{
        min-height:43px;
        font-size:10px !important;
    }

    .dvb-related-price{
        font-size:14px;
    }

    .dvb-related-button{
        min-height:36px;
        font-size:7.5px;
    }

    .dvb-helpbar-grid{
        grid-template-columns:1fr;
    }

    .dvb-helpbar-grid > div{
        min-height:70px;
        padding:15px;
        border-right:0;
        border-bottom:1px solid #DDD;
    }

    .dvb-footer-grid-light{
        padding:40px 0 32px;
        grid-template-columns:1fr;
        gap:30px;
    }

    .dvb-footer-logo-light{
        font-size:36px;
    }

    .dvb-footer-trust-light{
        grid-template-columns:1fr;
    }

    .dvb-footer-trust-light a{
        min-height:48px;
        border-right:0;
        border-bottom:1px solid #DDD;
    }

    .dvb-footer-bottom-light{
        padding:18px 0;
        grid-template-columns:1fr;
        text-align:center;
    }

    .dvb-payment-methods{
        justify-content:center;
    }
}
