/* CSS Document */
@charset "UTF-8";


/* merriweather-regular - latin */
@font-face {
    font-family: 'Merriweather';
    font-display: auto;
    font-style: normal;
    font-weight: 400;
    src: local('Merriweather Regular'), local('Merriweather-Regular'),
        url('../fonts/Merriweather-Regular.ttf') format('truetype')
}

/* merriweather-700 - latin */
@font-face {
    font-family: 'Merriweather';
    font-display: auto;
    font-style: normal;
    font-weight: 700;
    src: local('Merriweather Bold'), local('Merriweather-Bold'),
        url('../fonts/Merriweather-Bold.ttf') format('truetype')
}

@font-face {
    font-family: 'Merriweather';
    font-display: auto;
    font-style: normal;
    font-weight: 300;
    src: local('Merriweather Regular'), local('Merriweather-Regular'),
        url('../fonts/Merriweather-Regular.ttf') format('truetype')
}

/* merriweather-700 - latin */
@font-face {
    font-family: 'Merriweather';
    font-display: auto;
    font-style: normal;
    font-weight: 600;
    src: local('Merriweather Bold'), local('Merriweather-Bold'),
        url('../fonts/Merriweather-Bold.ttf') format('truetype');
}

@font-face {
    font-family: 'Nexa Light';
    font-display: auto;
    font-style: normal;
    font-weight: 300;
    src: local('Nexa Light'), local('Nexa-Light'),
        url('../fonts/Fontfabric-Nexa-Light.otf') format('opentype');
}

@font-face {
    font-family: 'Nexa Bold';
    font-display: auto;
    font-style: normal;
    font-weight: 700;
    src: local('Nexa Bold'), local('Nexa-Bold'),
        url('../fonts/Fontfabric-NexaBold.otf') format('opentype');
}

@font-face {
    font-family: 'Born Ready';
    font-display: auto;
    font-style: normal;
    font-weight: 400;
    src: local('Born Ready Regular'), local('Born-Ready-Regular'),
        url('../fonts/NickyLaatz-BornReadyRegular.otf') format('opentype');
}

@font-face {
    font-family: 'Born Ready';
    font-display: auto;
    font-style: normal;
    font-weight: 400;
    src: local('Born Ready Slanted Regular'), local('Born-Ready-Slanted-Regular'),
        url('../fonts/NickyLaatz-BornReadySlantedRegular.otf') format('opentype');
}

@font-face {
    font-family: 'Born Ready';
    font-display: auto;
    font-style: normal;
    font-weight: 400;
    src: local('Born Ready Upright Regular'), local('Born-Ready-Upright-Regular'),
        url('../fonts/NickyLaatz-BornReadyUprightRegular.otf') format('opentype');
}

body,
p,
div.vc_gitem-zone.vc_gitem-zone-c div,
.vc_custom_heading.vc_gitem-post-data.vc_gitem-post-data-source-post_excerpt div,
textarea {
    font-family: 'Nexa Light' !important;
}

h1,
h2,
h3,
h4,
b,
strong,
button,
.button,
input {
    font-family: 'Nexa Bold' !important;
}

h2 {
    line-height: 1.5
}

.archive.tax-product_cat.term-blumen nav.woocommerce-pagination,
nav.woocommerce-pagination {
    display: block !important;
}

.prdctfltr_add_scroll {
    display: block;
}


/*Extra Klasse Born Ready*/

.born-ready-font {
    font-family: 'Born Ready' !important;
}

body {
    font-display: auto;
}


/*---------------------------------Header-Anpassungen---------------------------------------*/
.woocommerce-checkout.woocommerce-order-received header#hmain #logo {
    text-align: left;
    border-bottom: none;
}

#widgets-header>div.grid.grid-2 {
    position: relative;
}

#widgets-header>div.grid.grid-2 div#widget_shopping_cart {
    top: 0;
    position: absolute;
    display: flex;
    justify-content: flex-end;
    right: 0;
}

header#hmain #logo a.logo-img img {
    padding-top: 0;
    margin-top: -10px;
}

.socialmedia {
    float: none;
    margin-top: 5%;
    z-index: 999;
    position: fixed;
    right: 0;
}

.socialmedia a {
    display: block;
    background-image: url(/wp-content/uploads/2019/07/icon-bg-dunkellila.png);
    background-color: transparent;
    background-repeat: no-repeat;
    background-size: contain;
    height: auto;
    color: #fff;
    margin: 5px 0;
}


.socialmedia a i {
    font-size: 1.7em;
}

.yt {
    line-height: 27px;
    padding: 4px 17px;
}

.insta,
.pinterest,
.fb {
    padding-top: 4px;
    border-radius: 0;
}

.widget_shopping_cart .cart-icon .cart-icon-img {
    color: #835ba2;
    text-shadow: none;
    font-size: 30px;
    padding: 4px 4px 6px 4px;
}

.widget_shopping_cart .cart-icon .cart-count {
    background: rgba(167, 140, 190, .7);
    right: 5px;
    bottom: 25px;
}



@media (max-width: 1080px) {
    header#hmain {
        background: rgba(255, 255, 255, 0.95) none repeat scroll 0 0 !important;
        padding: 5px 10px 12px;
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 99999;
    }
}

@media (max-width: 660px) {
    .widget_shopping_cart .cart-icon .cart-count {
        right: -3px;
        bottom: 20px;
    }

    /*Anpassung logo für Sansung Galaxy S20*/
    header#hmain #logo a.logo-img img {
        max-width: 90% !important;
    }


}

@media (max-width: 530px) {
    .widget_shopping_cart .cart-icon .cart-count {
        bottom: 19px;
        right: 4px;
    }

    .widget_shopping_cart .cart-icon .cart-icon-img {
        padding: 0;
    }

    /*Anpassung logo für Sansung Galaxy S20*/
    header#hmain #logo a.logo-img img {
        max-width: 90% !important;
    }


}

@media (max-width: 400px) {

    /*Anpassung logo für Sansung Galaxy S20*/
    header#hmain #logo a.logo-img img {
        max-width: 90% !important;
    }
}

.widget_shopping_cart p.cart-text,
.widget_shopping_cart .cart-price {
    display: block;
    font-size: 11px;
    font-weight: 300;
    color: #3A3A3A;
    text-align: center;
}

a.wc-forward.cart-link {
    font-size: 0;
}

a.wc-forward.cart-link:before {
    content: "Warenkorb";
    display: block;
    font-size: 11px;
    font-weight: 300;
    color: #3A3A3A;
    margin-bottom: 5px;
}

.icon-nav {
    display: flex;
    margin-right: 20px;
}

.widget_shopping_cart_content {
    /*    display: inline-block;*/
    text-align: center;
    display: flex;
    flex-direction: column-reverse;
}

.icon-nav a {
    width: 60px;
    text-align: center;
    margin: 0 5px;
    cursor: pointer;
}

.icon-nav a i.fa.fa-paper-plane {
    color: #835ba2;
    font-size: 30px;
    padding: 4px 4px 6px 4px;
}

.ivon-nax-sub {
    font-size: 11px;
    font-weight: 300;
    color: #3A3A3A;
}

@media (max-width: 931px) and (min-width: 851px) {
    #widgets-header {
        height: auto;
    }

    header#hmain #logo {
        height: 70px;
    }
}

@media (max-width: 660px) {

    header#hmain #widgets-header #logo a img,
    header#hmain #widgets-header #logo a {
        max-height: 50px !important;
    }
}

@media (max-width: 530px) {
    header#hmain #widgets-header #logo a.logo-img {
        height: 50px;
        max-height: 50px !important;
        vertical-align: bottom;
    }
}

/*general maring-top-fix for mobile devices*/
@media (max-width: 1080px) and (min-width: 661px) {

    #main-wrapper {
        margin-top: 130px;
    }
}


@media (max-width: 660px) {
    #main-wrapper {
        /*        margin-top: 60px; neu wg. neuem header*/
        margin-top: 70px;
    }
}

@media (max-width: 530px) {
    #main-wrapper {
        margin-top: 60px;
    }
}



/*--------------------------------Navigation-3-Stufen-Version 1---------------------------------*/

/*
header#hmain .navbar ul li:hover > ul {
    width: 968px;
    max-width: 100%;
    left: 468px;
}

header#hmain .navbar ul li ul.submenu-columnized > li {
   display: block;
    width: 200px;
}

header#hmain .navbar ul li ul li ul {
    display: inline-block;
    width: 200px;
}

header#hmain .navbar ul.sub-menu>li.menu-item-has-children {
    
}

header#hmain .navbar ul.sub-menu>li.menu-item-has-children>ul.sub-menu {
    position: absolute;
    top:0;
    left:200px;
    padding:0.5em;
    display: none;
    width: 200px;
}

header#hmain .navbar ul.sub-menu>li.menu-item-has-children:hover>ul.sub-menu {
    display:block;
}

header#hmain .navbar ul li ul.submenu-columnized > li a {
    padding:0 10px !important;
    line-height: 2rem !important;
}


header#hmain .navbar ul.sub-menu>li.menu-item-has-children>a:after {
    content: ">";
    position: absolute;
    top: 0;
    right: 20px;
    display: none;
}

header#hmain .navbar ul.sub-menu>li.menu-item-has-children:hover>a::after {
    display: block;
}

header#hmain .navbar ul li > ul {
    background: none;
    border:none;
    background-color: none;
}

.navbar>div>ul#menu-header>li>ul {
    background-color: rgba(255, 255, 255, 0.86);
    box-shadow: 0px 5px 5px rgba(51, 51, 51, 0.25);
}

.page-id-112255 .navbar>div>ul#menu-header>li>ul{
    background-color:none;
background: -moz-linear-gradient(left, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
background: -webkit-linear-gradient(left, rgba(255,255,255,1) 0%,rgba(255,255,255,1) 50%,rgba(255,255,255,0) 100%);
background: linear-gradient(to right, rgba(255,255,255,1) 0%,rgba(255,255,255,1) 50%,rgba(255,255,255,0) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00ffffff',GradientType=1 );
}


header#hmain .navbar ul li:hover > a {
    color: #a78bbd;
}
*/


/*--------------------------------Navigation-3-Stufen-Version 2---------------------------------*/

header#hmain .navbar ul.nav>li>ul {
    width: 968px;
    max-width: 100%;
    left: 50%;
    transform: translateX(-50%);
    padding-left: 0;
    padding-right: 0;
}

header#hmain .navbar ul li:hover>ul {
    display: flex;
}


header#hmain .navbar ul.sub-menu>li.menu-item-has-children>ul.sub-menu {
    display: block;
    width: 200px;
}

header#hmain .navbar ul li ul.submenu-columnized>li a {
    padding: 0 10px !important;
    line-height: 2rem !important;
}


/*
header#hmain .navbar ul.sub-menu>li.menu-item-has-children>a:after {
    content: ">";
    position: absolute;
    top: 0;
    right: 20px;
    display: none;
}
*/

header#hmain .navbar ul.sub-menu>li.menu-item-has-children:hover>a::after {
    display: block;
}

header#hmain .navbar ul li>ul {
    background: none;
    border: none;
    background-color: none;
}

.navbar>div>ul#menu-header>li>ul {
    background-color: #fff;
    /*    box-shadow: 0px 5px 5px rgba(51, 51, 51, 0.25);*/
    /* box-shadow: -3px -3px 10px #0000003d inset;*/
    box-shadow: -1px -1px 10px #ccc inset;
}


/*

.page-id-112255 .navbar>div>ul#menu-header>li>ul{
    background-color:none;
background: -moz-linear-gradient(left, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
background: -webkit-linear-gradient(left, rgba(255,255,255,1) 0%,rgba(255,255,255,1) 50%,rgba(255,255,255,0) 100%);
background: linear-gradient(to right, rgba(255,255,255,1) 0%,rgba(255,255,255,1) 50%,rgba(255,255,255,0) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00ffffff',GradientType=1 );
}
*/


header#hmain .navbar ul li:hover>a {
    color: #a78bbd;
}

@media screen and (max-width: 1080px) {

    .navbar>div>ul#menu-header>li>ul ul {
        box-shadow: -1px -1px 5px #c1c1c1 inset;
    }
}




/*---------------------------------Ende-Navigation-3-Stufen----------------------------------*/

/*---------------single product-------------*/
.jb-dynamic-pricing-price-left-box .quantity label {
    display: none !important;
}

.cart_item td.product-quantity .quantity label {
    display: none !important;
}


/*-Bewertung Single Product-*/

.single-product #reviews.woocommerce-Reviews #comments ol.commentlist .comment_container .comment-text {
    float: none;
    margin-bottom: 25px;
}

.single-product #reviews.woocommerce-Reviews #comments ol.commentlist .comment_container .comment-text p.meta {
    display: inline;
}

/*-----------------aditional products, keep normal size----------*/
ul.products.columns-2 li.product {
    width: 23%;
}

/*---------------single product & variable products pricing box & buttons-------------*/
.jb-dynamic-pricing-box {
    width: 279px !important;
    float: right !important;
    margin: 10px 0 0 0 !important;
    box-sizing: border-box !important;
}

.jb-dynamic-pricing-header-box {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-end !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
}

.jb-dynamic-pricing-header-left-box {
    width: 82px !important;
    flex: 0 0 82px !important;
    float: none !important;
    text-align: center !important;
    font-size: 14px !important;
    color: #4b5563 !important;
    font-family: 'Nexa Light', sans-serif !important;
    line-height: 1 !important;
}

.jb-dynamic-pricing-header-right-box {
    width: 197px !important;
    flex: 0 0 197px !important;
    float: none !important;
    text-align: center !important;
    font-size: 14px !important;
    color: #4b5563 !important;
    font-family: 'Nexa Light', sans-serif !important;
    line-height: 1 !important;
}

.jb-dynamic-pricing-price-box {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    background: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.jb-dynamic-pricing-price-left-box {
    width: 82px !important;
    flex: 0 0 82px !important;
    float: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.jb-dynamic-pricing-price-left-box .quantity {
    width: auto !important;
    max-width: none !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
}

.jb-dynamic-pricing-price-left-box .quantity input.input-text.qty,
.jb-dynamic-pricing-price-left-box .input-text {
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 0 0 4px !important;
    border: 1px solid #c9c9c9 !important;
    border-radius: 4px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    font-family: 'Nexa Bold', sans-serif !important;
    color: #1f2937 !important;
    text-align: center !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
}

.jb-dynamic-pricing-price-right-box {
    width: 197px !important;
    flex: 0 0 197px !important;
    min-height: 46px !important;
    float: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.jb-dynamic-pricing-price-right-box p.jb-dynamic-pricing-price {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    font-family: 'Nexa Bold', sans-serif !important;
    color: #1f2937 !important;
    line-height: 1 !important;
    text-align: center !important;
}

.jb-dynamic-pricing-price-right-box b,
.jb-dynamic-pricing-price-right-box .jb-dynamic-pricing-price-per-unit,
.jb-dynamic-pricing-price-right-box b > small.jb-dynamic-pricing-price-per-unit {
    display: block !important;
    width: 100% !important;
    margin-top: 5px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #4b5563 !important;
    text-align: center !important;
    line-height: 1.2 !important;
}

.jb-dynamic-pricing-button-box {
    clear: both !important;
    width: 100% !important;
    flex-basis: 100% !important;
    margin-top: 14px !important;
    padding: 0 !important;
}

.jb-dynamic-pricing-button-box .single_add_to_cart_button,
.single_add_to_cart_button.jb_add_to_cart_button,
#variations-oos-contact-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 279px !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    background-color: #835ba2 !important;
    border: 2px solid #835ba2 !important;
    border-radius: 4px !important;
    color: #ffffff !important;
    font-family: 'Nexa Bold', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    line-height: 1.2 !important;
    text-align: center !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}

.jb-dynamic-pricing-button-box .single_add_to_cart_button[style*="display: none"],
.single_add_to_cart_button.jb_add_to_cart_button[style*="display: none"] {
    display: none !important;
}

.jb-dynamic-pricing-button-box .single_add_to_cart_button:hover,
.single_add_to_cart_button.jb_add_to_cart_button:hover,
#variations-oos-contact-btn:hover {
    background-color: #6f478c !important;
    border-color: #6f478c !important;
    color: #ffffff !important;
}

/* Preserve the inquiry button visibility controlled by the selected variation. */
#variations-oos-contact-btn[style*="display: none"] {
    display: none !important;
}

#variations-oos-contact-btn[style*="display: flex"],
#variations-oos-contact-btn[style*="display: block"] {
    display: flex !important;
}

/* Blumenplaner button */
.add-to-eventplaner.button-eventplaner-action {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 279px !important;
    height: 48px !important;
    min-height: 48px !important;
    margin-top: 10px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 16px !important;
    float: right !important;
    background-color: #bc9ed3 !important;
    border: 2px solid #bc9ed3 !important;
    border-radius: 4px !important;
    color: #ffffff !important;
    font-family: 'Nexa Bold', sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    line-height: 1.2 !important;
    text-align: center !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    transition: background-color 0.2s ease, border-color 0.2s ease !important;
}

.add-to-eventplaner.button-eventplaner-action:hover {
    background-color: #aa89c4 !important;
    border-color: #aa89c4 !important;
    color: #ffffff !important;
}

.add-to-eventplaner.button-eventplaner-action img {
    height: 20px !important;
    margin-right: 8px !important;
    flex-shrink: 0 !important;
}


/*---------------checkout-------------*/
#step-wrapper-address #my_checkbox_field:before {
    content: 'Bitte stimme den Versandinformationen zu';
    display: block;
    text-align: left;
    margin-left: 5%;
    color: #de0000;
}


#bl-instock-btn {
    display: inline-block;
    margin-top: 13px;
}

#bt-delete-filters {
    display: block;
    margin-top: 13px;
    margin-left: -13px;
    font-weight: bold;
}

.page-id-6 p.form-row {
    text-align: left;
}

/*-------------PayPal Bestellbutton-------------- */

.woocommerce-multistep-checkout .step-buttons {
    border-top: none !important;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#step-wrapper-order .step-buttons {
    margin-top: 0 !important;
}

.paypal-button-label-container {
    background: #119051;
    width: 100%;
    height: 100% !important;
    margin: 0 !important;
}

.paypal-button-label-container img.paypal-logo.paypal-logo-paypal.paypal-logo-color-blue {
    display: none;
}

.paypal-button-label-container:after {
    content: 'Jetzt kaufen und mit PayPal bezahlen';
    color: #fff;
    display: block;
}

/**/
/*-------------PayPal Bestellbutton Übersetzung-------------- */

.wc-gzd-order-submit>.place-order button.button.alt {
    font-size: 0px;
}

.wc-gzd-order-submit>.place-order button.button.alt:before {
    content: "Jetzt zahlungspflichtig bestellen";
    font-size: 13px;
    line-height: 2.5;
}

/*Heidelpay NEU*/

.payment_box.payment_method_hp_dd label,
.payment_box.payment_method_hp_dd input {
    display: block;
}

/*Fixed Buttons im Mobile*/

/*Ausblenden Callus-box im Checkout*/

@media screen and (min-width: 476px) {

    .checkout-btn-pseudo {
        display: none;
    }
}

@media screen and (max-width: 475px) {

    .woocommerce-cart #callus-box {
        display: none;
    }

    .woocommerce-cart #orddd-availability {
        display: none !important;
    }

    .checkout-btn-pseudo {
        display: inline-block;
        /*    background-color: #119051;*/
        background-color: #835ba2;
        border-radius: 3px;
        vertical-align: top;
        border: none;
        /*font-family: 'Merriweather', serif;*/
        font-family: 'Nexa Bold';
        cursor: pointer;
        -webkit-appearance: none;
        text-decoration: none !important;
    }



    .entry-content .checkout-btn-pseudo a {
        color: #fff;
    }

    div#bt-proceed-to-checkout {
        transform: translateY(-120px);
    }

    .woocommerce-cart td.actions>input.button,
    .checkout-btn-pseudo {
        position: fixed;
        box-shadow: 1px 1px 5px #000;
        bottom: 10px;
        left: 10px;
        z-index: 6;
        margin: 0;
        padding: 0.8em 1em;
        line-height: 2.3em;
        font-size: 1em;
    }

    .checkout-btn-pseudo {
        right: 10px;
        left: unset;
    }

    .woocommerce-cart .cart td.actions {
        display: block;
        text-align: left;
    }

    .woocommerce-cart .cart td.actions .coupon {
        display: block;
        width: 100%;
        margin-bottom: 10px;
    }

    .woocommerce-cart .cart td.actions #coupon_code {
        width: 100%;
        box-sizing: border-box;
        margin: 0 0 10px;
    }

    .woocommerce-cart .cart td.actions .button {
        display: block;
        width: 100%;
        box-sizing: border-box;
        margin: 0 0 10px !important;
        min-height: 44px;
        padding: 0.85em 1em;
        line-height: 1.2;
        text-align: center;
    }

}




/*---------------footer widgets -------------*/
.column.widget.bl_footer_nav {
    border-left: none !important;
}

.bl_footer_nav ul li a:hover {
    text-decoration: underline !important;
}

/*---------------product-details, thumbnails and text row -------------*/
.woocommerce-product-gallery .flex-viewport {
    float: none;

}

.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image {
    display: flex !important;
    align-items: center;
}


.woocommerce-product-gallery__image.flex-active-slide {
    min-height: auto;
}

.woocommerce-product-gallery .flex-control-nav li {
    float: left;
    width: 18%;
    margin-bottom: 0px;
}

.single-product .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs li {
    overflow: hidden;
    box-sizing: border-box;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    height: auto;
    display: block;
}

.woocommerce-product-gallery .flex-vertical-thumbnails {
    float: none;
    width: 100%;
    height: auto !important;
}

flex-vertical-thumbnails {
    /*height:auto !important;*/
}

.woocommerce-3 .product .images {
    width: 50%;
}

/*border next to active thumbn*/
.woocommerce-product-gallery .flex-control-nav li.active:after {
    display: none;
}

.woocommerce-product-gallery .flex-vertical-thumbnails {
    padding: 0px;
}


/* Fix Thumbnails change position to invisible */
.single-product div.flex-vertical-thumbnails ol.flex-control-nav.flex-control-thumbs {
    transform: translate3d(0px, 0px, 0px) !important;
}

@media only screen and (min-width: 1024px) {
    div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper img {
        max-width: 100%;
        height: auto;
        width: 450px;
    }
}

.woocommerce-product-gallery .flex-viewport {
    width: 100%
}

.woocommerce-3 .product .summary {
    width: 50%;
}

div.product .summary {
    padding-left: 10px;
}





/*-----------------------------------Navigation justify + Footer Widgets---------*/

@media only screen and (min-width: 1081px) {
    header#hmain .navbar ul {
        display: flex;
        justify-content: space-around;
    }

    li#menu-item-4248 {
        margin-left: -10px;
    }

    #widgets-footer #text-4 {
        /*width: 100%;*/
    }

}

@media (max-width: 660px) {
    header#hmain .header-inner .container {
        background-color: #fff !important;
    }
}

/*---icons in Mobil in der Side-Nav anzeigen und sonst nicht ---*/
@media (min-width: 660px) {
    div#widget_shopping_cart.header-widgets-mobile {
        display: none;
    }
}

@media (max-width: 1080px) {

    .header-widgets-desktop .blog,
    .header-widgets-desktop .blog,
    .header-widgets-desktop .contact {
        display: none;
    }

    header#hmain .header-widgets-mobile.widget_shopping_cart#widget_shopping_cart {
        display: block;
        position: relative;
        right: 0;
        top: 0;
        margin-right: 0;
    }

    header#hmain .header-widgets-mobile.widget_shopping_cart#widget_shopping_cart .icon-nav {
        justify-content: center;
    }

    header#hmain .header-widgets-mobile.widget_shopping_cart#widget_shopping_cart .icon-nav a {
        margin: 10px 20px;
    }

    header#hmain .header-widgets-mobile.widget_shopping_cart#widget_shopping_cart .widget_shopping_cart_content,
    header#hmain .header-widgets-mobile#widget_shopping_cart .mobile.mobile-nav {
        display: none;
    }


}

@media (max-width: 530px) {
    .mobile-nav {
        margin-right: 40px;
    }
}




/*---mehrstufige Navigaion in Mobil korrigieren---*/
@media (max-width: 660px) {
    header#hmain nav.navbar ul#menu-header li:hover>ul.sub-menu {
        left: 0;
    }

    header#hmain .navbar ul.nav>li>ul {
        width: 968px;
        max-width: 100%;
        left: 0;
        transform: translateX(0);

    }
}

/*---mobile Navigation---*/

@media (max-width: 1080px) {


    header#hmain nav.navbar {
        margin: 0;
        background: rgba(255, 255, 255, 0) none repeat scroll 0 0;
        display: none;
        border: none;
    }

    header#hmain nav.navbar ul#menu-header li ul.sub-menu {
        display: none;
        margin: 0;
        border: none;
        font-size: 1em !important;
        padding: 0;
        background: transparent;
        position: inherit;
        width: 100%;
    }



    /*
header#hmain nav.navbar ul#menu-header.nav.slimmenu, header#hmain nav.navbar ul#menu-header.nav.slimmenu li ul.sub-menu.submenu-columnized.active {
    width: calc(100% - 30px);
} 
*/

    header#hmain .navbar ul.nav>li>ul {
        left: unset;
        transform: none;
    }

    header#hmain nav.navbar ul#menu-header li {
        display: block;
        width: 100%;
        padding: 0;
        position: relative;
        line-height: 2.5em;
        z-index: auto;
    }


    header#hmain nav.navbar ul#menu-header li a {
        display: block;
        width: 100%;
        border-bottom: 1px solid #CCC;
        text-align: center;
        padding: 0 !important;
        line-height: 2.5em !important;
        font-weight: normal;
        font-size: 1em !important;
        cursor: pointer;
        margin: 0;
    }

    header#hmain nav.navbar ul#menu-header.nav.slimmenu {
        width: calc(100% - 30px);
    }



    header#hmain nav.navbar ul#menu-header>li>a {
        padding-left: 30px !important;
        text-align: left;
        font-size: 1.2em !important;
    }



    header#hmain nav.navbar ul#menu-header>li>a {
        padding-left: 30px !important;
        text-align: left;
        font-size: 1.2em !important;
    }

    header#hmain nav.navbar ul#menu-header>li>ul>li>a {
        padding-left: 60px !important;
        text-align: left;
        font-size: 1.1em !important;
        width: 100%;
    }

    header#hmain nav.navbar ul#menu-header>li>ul>li>ul>li>a {
        padding-left: 90px !important;
        text-align: left;
        width: 100%;
    }

    a.mobile-nav-trigger>i.fa.fa-close:before {
        content: url(../img/mob-nav-x.png);
    }

    header#hmain nav.navbar ul#menu-header>li.menu-item-has-children .sub-menu-trigger {
        position: absolute;
        right: 0;
        top: 0;
        display: inline-block;
        z-index: 999;
        font-size: 1.5em;
        padding: 0 1em;
        cursor: pointer;
        line-height: 1.67em;
        color: #333;
        background-color: #EEE;
    }


    ul#menu-header>li.menu-item-has-children>a:hover:after,
    ul#menu-header>li.menu-item-has-children:hover>a:after {
        display: none;
    }


}

@media (max-width: 660px) {


    header#hmain nav.navbar ul#menu-header.nav.slimmenu>li.menu-item-has-children>.sub-menu-trigger {
        right: 0;
    }

    header#hmain nav.navbar ul#menu-header.nav.slimmenu,
    header#hmain nav.navbar ul#menu-header li a,
    header#hmain nav.navbar ul#menu-header.nav.slimmenu>li>a {
        width: 100%;
    }



}




/*-----------------Algolia Suchfunktion-------------*/

.ais-hierarchical-menu--item.ais-hierarchical-menu--item__active>div>a {
    color: #835ba2;
}


a.alg-cta--blue.alg-button--small.alg-button--themebutton {
    display: none;
}

aside#ais-facets {
    /* font-family: 'Merriweather', serif;*/
    font-family: 'Nexa Light';
}

/*-Produktkategorien ausblenden----*/
#facet-categories {
    /*display: none;*/
}



/* Rausgenommen, weil sonst der Button für die Sidebar im Mobilbereich weg ist
div#algolia-selectors {
    display: none;
}*/

/*---Bildformat---*/

/*Algolia Farbkacheln*/
.alg-color-widget {
    width: 56px;
    height: 56px;
    border: 2px solid #fff;
    float: left;
}

.alg-color-widget-gruen {
    background-color: #159051;
}

.alg-color-widget-rot {
    background-color: #c20a23;
}

.alg-color-widget-pink {
    background-color: #f7007c;
}

.alg-color-widget-weiss {
    background-color: #ffffff;
    box-shadow: inset 0 0 1px #000;
}

.alg-color-widget-rosa {
    background-color: #f4b0c9;
}

.alg-color-widget-orange {
    background-color: #eb7c4c;
}

.alg-color-widget-violett {
    background-color: #895699;
}

.alg-color-widget-gelb {
    background-color: #f4dc0d;
}

.alg-color-widget-creme {
    background-color: #ffe3c1;
}

.alg-color-widget-gemischt {
    background-image: url(/wp-content/uploads/2015/11/Unbenannt-1.jpg);
    background-size: cover;
}

.alg-color-widget-blau {
    background-color: #0086c9;
}

.alg-color-widget-lachs {
    background-color: #ff937c;
}

.alg-color-widget-apricot {
    background-color: #fab983;

}

.alg-color-widget-schwarz {
    background-color: #434547;
}

.ais-menu--item__active .alg-color-widget {
    border-color: #000;
}

.alg-hit__content figure {
    width: 100%;
    height: auto !important;
}

#facet-colors::after {
    content: "";
    clear: both;
    display: block;
}




.alg-container--lg #ais-facets {
    float: right;
}

.ais-facets {
    padding-left: 2em;
    display: block;
}



#facet-attribute-farbe-der-blume::after {
    content: " ";
    clear: both;
    display: block;
    width: 100%;
}

/*Farbe-Filter höher setzen, wenn keine Verfügbarkeit darüber angezeigt wird*/
.ais-facets#oos-filter {
    margin-bottom: 0px;
}

.ais-facets#oos-filter>div {
    margin-bottom: 2rem;
}

.ais-facets#oos-filter>div#oos-filter {
    margin-bottom: 0;
}

#oos-filter .ais-refinement-list--label,
#oos-filter2 .ais-refinement-list--label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    line-height: 1.5;
    cursor: pointer;
}

#oos-filter .ais-refinement-list--checkbox,
#oos-filter2 .ais-refinement-list--checkbox {
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    margin: 2px 0 0;
    accent-color: #835ba2;
}

.bl-availability-label {
    flex: 1;
    min-width: 0;
}


.btcp-dynamic-pricing-price-left-box .composite_button .legal-price-info {
    display: none !important;
}


/*Produkt- und Preisdarstellung*/
article.alg-hit {
    border: none;
    height: 100%;
    /*    font-family: 'Merriweather', serif;*/
    font-family: 'Nexa Light';
}

.alg-hit__content {
    height: 100%;
    position: relative;
}

.alg-hit__content:after {
    content: "";
    height: 45px;
    display: block;
}

.alg-hit__content>a.button {
    position: absolute;
    bottom: 0px;
    padding: 0.4em 1.5em;
    width: 100%;
    text-align: center;
}

@media screen and (max-width: 375px) {
    .alg-hit__content>a.button {
        padding: 0.4em 1em;
        font-size: 13px;
        line-height: 1.5em;
    }

}


.alg-hit .alg-hit__details .alg-hit__currentprice {
    color: #333;
    /*  font-family: 'Merriweather', serif;*/
    font-family: 'Nexa Light';
    font-size: 18px;

}

span.alg-price-ab {
    font-size: 13px;
}


.alg-hit .alg-hit__details .alg-hit__priceholder {
    margin: 0;
    width: 100%;
    box-sizing: border-box;
    overflow-wrap: anywhere;
    position: absolute;
    bottom: 50px;
    left: 50%;
    transform: translateX(-50%);

}

h2.alg-hit__title {
    margin-top: 0;
    margin-bottom: 5px;
}

.alg-hit .alg-hit__details .alg-hit__title a {
    font-size: 13px;
    font-weight: 600;
    text-align: center;
    margin: 0;
    height: auto;
    display: block;
    overflow: visible;
    /*  font-family: 'Merriweather', serif;*/
    font-family: 'Nexa Bold';
}


/*Stars*/

.alg-hit .alg-stars {

    height: 15px;
    width: 4.9em;
    display: inline-block;
}

.alg-hit .alg-stars,
alg-no-stars {
    display: inline-block;
    overflow: hidden;
    position: relative;
    height: 1em;
    line-height: 1em;
    font-size: 1em;
    width: 5.4em;
}

.alg-hit .alg-stars::before {
    content: "\f006\f006\f006\f006\f006";
    color: #F2C200;
    float: left;
    top: 0;
    left: 0;
    position: absolute;
    font-family: 'FontAwesome';
}

span.alg-rating {
    overflow: hidden;
    float: left;
    top: 0;
    left: 0;
    position: absolute;
    padding-top: 1.5em;
}

span.alg-rating::before {
    content: "\f005\f005\f005\f005\f005";
    top: 0;
    color: #f2c200;
    position: absolute;
    left: 0;
    font-family: 'FontAwesome';
}

/*Überschriften bekommen dynaische Höhe im Raster, damit Bewertungssterne nicht verdeckt werden*/
li.product>a>div:first-of-type {
    margin-top: 6px !important;
    margin-bottom: 0;
    height: auto !important;
    max-width: 100%;
}

/**/



/*Navigation einblenden */
@media (min-width: 932px) {
    header#hmain nav.navbar {
        display: none;
    }

    .woocommerce-checkout:not(.woocommerce-order-received) header#hmain nav.navbar {
        display: none !important;
    }

}

/*"Filtern" im mobilen Button auch anzeigen*/
#oos-filter2 {
    display: none;
    padding-left: 0px;
    padding-top: 10px;
    margin-bottom: 10px;
}

#oos-filter2 span.ais-refinement-list--count {
    display: none;
}

@media (max-width: 783px) {
    #oos-filter2 {
        display: block;
    }
}



/*Filterleiste in Mobiler Ansicht über die gesamte Breite*/
#algolia-mobile-filters button {
    color: #697782 !important;
}

/*Filterbutton mit Text versehen*/
#algolia-mobile-filters button::before {
    content: "Filtern";
}


/*mittlere Filterleiste soll ebenfalls rechts floaten*/
.alg-container--md #ais-facets {
    float: right;
}



/*show more übersetzen*/
.ais-show-more.ais-show-more__inactive {
    font-size: 0px;
}

.ais-show-more.ais-show-more__inactive::before {
    content: "mehr anzeigen";
    font-size: 14px;
}

.ais-show-more.ais-show-more__active {
    font-size: 0px;
}

.ais-show-more.ais-show-more__active::before {
    content: "weniger anzeigen";
    font-size: 14px;
}


/*Sortierung raus*/
#algolia-sort-by {
    display: none;
}


/*ganze Ergbnis-Kachel klickbar */
alg-hit__content {
    position: relative;
}


.alg-hit .alg-hit__overlay .alg-cta--transparent {
    color: white;
    border: none;
    background-color: transparent;
    font-weight: 600;
    margin-bottom: 0;
    transform: translateY(0px);
    height: 100%;
    width: 100%;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;

}

.ais-hits--item {
    cursor: pointer;
}

.ais-hits--item *:hover,
.ais-hits--item,
{
background-color: transparent !important;
}

.alg-hit:hover .alg-hit__overlay {
    opacity: 0;
}

/* Sale-Overlay*/
.alg-hit__ribbon {}

.alg-hit .alg-hit__details {
    text-align: center;
    padding: 1em 0.5em;
    text-align: center;
    padding-bottom: 80px;
}


/*--- alle Filter löschen Button ---*/
#bt-clear-all {
    display: inline-block;
    padding: 8px;
    margin-bottom: 7px;
    background-color: #835ba2 !important;
    border-radius: 15px;
}

#bt-clear-all a {
    color: #fff;
}

/*Verfügbarkeits-Filter anzahl ausblende */
#oos-filter .ais-refinement-list--count {
    display: none;
}

/*Verfügbarkeits-Filter nicht kürzen*/
.ais-refinement-list--label {
    white-space: inherit;
}

/* Algolia-Filter-Button in kleineren Größen*/

@media (max-width: 784px) {

    /*Cart & Menue-Button*/

    #widgets-header>div.grid.grid-2 div#widget_shopping_cart {
        width: auto;
        right: 35px;
    }
}

@media (max-width: 530px) {

    /*Cart & Menue-Button*/

    #widgets-header>div.grid.grid-2 div#widget_shopping_cart {
        right: 15px;
    }

    aside#ais-facets+main#ais-main div#algolia-selectors div#algolia-mobile-filters button {
        background-color: #835ba2 !important;
    }

    .alg-container--xs #ais-facets.ais-facets--visible+main#ais-main div#algolia-selectors div#algolia-mobile-filters button {
        background-color: #a191ad !important;
    }

    header#hmain .widget_shopping_cart:not(.header-widgets-mobile) {
        font-size: 35px;
        min-width: 100px;
        position: fixed;
        right: 54px;
        top: 24px;
    }


    /*
.alg-container--xs #algolia-selectors .algolia-filters button {
    width: 35px !important;
    height: 35px;
}
*/
}

@media (max-width: 561px) and (min-width: 531px) {
    .alg-container--xs #algolia-selectors .algolia-filters button {
        width: 40px !important;
        height: 40px;
    }
}


@media (max-width: 660px) {
    #widget_shopping_cart {
        position: fixed;
        right: 59px;
        top: 19px;
    }
}

/*------------------2 Produktspalten im Mobilen Bereich______________*/
@media (max-width: 660px) {

    .woocommerce ul.products li.product,
    .woocommerce ul.products:not(.columns-2):not(.columns-3) li.product {
        width: 47% !important;
    }
}


/*------------------Ende 2 Produktspalten im Mobilen Bereich______________*/




@media (max-width: 660px) {
    div#algolia-selectors {
        position: fixed;
        z-index: 999999;
        top: 13px;
        right: 8px;
        margin-top: 0 !important;
    }
}



@media (max-width: 783px) and (min-width: 661px) {
    header#hmain {
        position: fixed;
        z-index: 99999;
        top: 0;
        width: 100%;
        background-color: #fff;
    }

    #widget_shopping_cart {
        position: fixed;
        right: 63px;
        top: 43px;
    }

    div#algolia-selectors {
        position: fixed;
        z-index: 999999;
        top: 13px;
        right: 8px;
    }
}

@media (max-width: 931px) {
    #algolia-mobile-filters button {
        font-size: 0px;
        background-size: 26px;
        /*    background-color: #119051;*/
        background-color: #835ba2;
        background-image:
            url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400'><style>.st0{fill:white;}</style><path d='M376.5 46.1H29.7c-9.4 0-14.2 11.4-7.5 18.1L160.1 202c2 2 3.1 4.7 3.1 7.5v156.2c0 8.8 10.1 13.8 17.1 8.4l58.6-45.5c2.6-2 4.1-5.1 4.1-8.4V209.5c0-2.8 1.1-5.5 3.1-7.5L383.9 64.2c6.7-6.7 2-18.1-7.4-18.1z' class='st0'/></svg>");
        background-position: center;
        width: 40px !important;
        height: 40px;
        border-radius: 40px;
        box-shadow: none;
        border: none;
    }
}

/*Algolia Trockenblumen*/


.ais-hits.ais-hits__empty span.dryf {
    width: 100%;
    margin-top: 25px;
    color: #fff;
    padding: 8px;
    margin-bottom: 7px;
    background-color: #835ba2;
    border-radius: 15px;
}

.ais-hits.ais-hits__empty span.dryf a {
    color: #fff;
}



/*---------------Stock-Filter Button-----------*





/*-------------------------Zahlungsarten-Übersicht im Checkout------------*/
.page-id-6 .payment_box {
    padding-left: 26px;
}

.page-id-6 .wc_payment_methods li {
    margin-bottom: 25px;
}

.page-id-6 .wc_payment_methods li.payment_method_HeidelpayCw_CreditCard {
    margin-top: -7px;
}

.page-id-6 .payment_method_HeidelpayCw_CreditCard>img {
    top: 0.5em;
}

/*------------Reduzierte Produkte------------------------*/
#content>div.wc-jb-stock-check-overlay-box+div {
    position: relative;
}


.badge {
    /*background-image: url(/wp-content/uploads/2019/04/faenhchen-lila-small.png);*/
    background-image: url(/wp-content/uploads/2019/07/faehnchen-hell.png);
    height: 100px;
    width: 100px;
    border: none;
    color: #fff;
    font-size: 15px;
    padding-top: 20px;
    padding-left: 40px;
    border-radius: 0;
}

.single-product .summary.entry-summary .badge {
    position: absolute !important;
    padding-left: 50px;
    top: .6em !important;
    left: 324px;
}

@media screen and (max-width: 1024px) {

    .single-product .badge {
        left: calc(50% - 126px);
    }

}

@media screen and (max-width: 561px) {

    .single-product .summary.entry-summary .badge {
        left: calc(100% - 126px);
    }

}

@media screen and (max-width: 401px) {

    .single-product .summary.entry-summary .badge {
        /*    top: 30px;*/
    }

}

span.woocommerce-Price-amount.amount {
    color: #333;
}

/*------------Blumen-Blog-Blogartikel----*/
.single-post h1.entry-title {
    line-height: 1.5;
}

.single-post .entry-meta {
    margin-top: 15px;
}

.single-post header.entry-header {
    margin-bottom: 1em;
}

.single-post span.by-author {
    display: none;
}

.single-post .single-additional-post {
    width: 33%;
    float: left;
    padding-right: 30px;
    padding-bottom: 30px;
}

.single-post h3.assistive-text {
    font-size: 1.3em;
    margin: 0.8em 0;
    margin-bottom: 0.8em;
    line-height: 1.5em;
}

.single-additional-post h2.entry-title {
    font-size: 16px;
    line-height: 2;
    text-align: center;
    /* font-family: Merriweather;*/
    font-family: 'Nexa Bold';
    font-weight: 700;
    font-style: normal;
}

.single-additional-post .entry-content a {
    text-decoration: none;
    color: #333;
}

.single-additional-post .column {
    font-size: 14px;
    text-align: justify;
    /*  font-family: 'Merriweather';*/
    font-family: 'Nexa Light';
    font-weight: 400;
    font-style: normal;
    line-height: 1.8em;
}

@media screen and (max-width: 767px) {
    .single-post .single-additional-post {
        width: 100%;
    }
}

/*------------Blumen-Blog-Übersicht----*/
div.bl-articles {
    display: flex;
    flex-wrap: wrap;
}

/*------------Ende: Blumen-Blog-Übersicht----*/


/*------------Blumen-Blog-Schlagwortseiten----*/

.tag article,
.category article,
.author article {
    width: 50%;
    padding-right: 10px;
    padding-bottom: 10px;
    float: left;
}

@media screen and (max-width: 767px) {

    .tag article,
    .category article,
    .author article {
        width: 100%;
    }
}

.tag .entry-content a,
.category .entry-content a,
.author .entry-content a {
    text-decoration: none;
    color: #333;
}

.tag h2.entry-title,
.category h2.entry-title,
.author h2.entry-title {
    font-size: 16px;
    line-height: 2;
    text-align: center;
    /*font-family: Merriweather;*/
    font-family: 'Nexa Bold';
    font-weight: 700;
    font-style: normal;
    min-height: 73px;
}



.tag .entry-meta,
.tag footer.entry-meta,
.category .entry-meta,
.category footer.entry-meta,
.author .entry-meta,
.author footer.entry-meta {
    display: none !important;
}

.tag div.bl-articles .column,
.category .column,
.author .column {
    font-size: 14px;
    text-align: justify;
    /* font-family: 'Merriweather';*/
    font-family: 'Nexa Light';
    font-weight: 400;
    font-style: normal;
    line-height: 1.8em;
}


/*Anpassungen 11.12.18 - fraglich ob möglich*/

.tag .hentry .entry-header,
.category .hentry .entry-header,
.author .hentry .entry-header {
    min-height: 170px;
}

.tag .hentry .wp-post-image,
.category .hentry .wp-post-image,
.author .hentry .wp-post-image {
    height: 200px;
    object-fit: cover;
}

.tag div.bl-articles .column,
.category .column,
.author .column {
    min-height: 170px;
}

/*------------Blumen-Blog-Blogartikel----*/

.single-post h1.entry-title {
    line-height: 1.5;
}

.single-post .entry-meta {
    margin-top: 15px;
}

.single-post header.entry-header {
    margin-bottom: 1em;
}

.single-post span.by-author {
    display: none;
}

.single-post .single-additional-post {
    width: 33%;
    float: left;
    padding-right: 30px;
    padding-bottom: 30px;
}

.single-post h3.assistive-text {
    font-size: 1.3em;
    margin: 0.8em 0;
    margin-bottom: 0.8em;
    line-height: 1.5em;
}

.single-additional-post h2.entry-title {
    font-size: 16px;
    line-height: 2;
    text-align: center;
    /* font-family: Merriweather;*/
    font-family: 'Nexa Bold';
    font-weight: 700;
    font-style: normal;
}

.single-additional-post .entry-content a {
    text-decoration: none;
    color: #333;
}

.single-additional-post .column {
    font-size: 14px;
    text-align: justify;
    /*font-family: 'Merriweather';*/
    font-family: 'Nexa Light';
    font-weight: 400;
    font-style: normal;
    line-height: 1.8em;
}

@media screen and (max-width: 767px) {
    .single-post .single-additional-post {
        width: 100%;
    }
}


/*--------------Blog-Kategorie-Seiten-Paginierung-----------*/

ul#main-pag.bt-pagination {
    list-style: none;
    display: initial;
}

ul#main-pag.bt-pagination li.bt-pagination-item {
    float: left;
    width: 30px;
    height: 30px;
    border: solid 1px #ccc;
    position: relative;
}

ul#main-pag.bt-pagination li.bt-pagination-item a.bt-pagination-link,
ul#main-pag.bt-pagination li.bt-pagination-item span.bt-pagination-link {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    padding: 5px 9px;
}

/*--------------Ende-Blog-Kategorie-Seiten-Paginierung-----------*/

/*-----------------------Autorenbox unter Blogeinträgen---------------------------------*/

div#author-info {
    display: flex;
    align-items: center;
    border-right: solid 14px rgba(0, 0, 0, 0.05);
    padding-right: 35px;
    margin-top: 20px;
    text-align: justify;
}


div#author-info div#author-avatar {
    width: 25%;
    float: left;
    position: relative;
}


div#author-info div#author-avatar img {
    width: 70%;
    height: auto;
    position: absolute;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    top: 50%;
}


div#author-info div#author-description {
    width: 75%;
    float: left;
}


div#author-link {
    margin-top: 8px;
}

div#author-info div#author-avatar:after,
div#author-info div#author-description:after {
    content: ".";
    clear: both;
    display: block;
    visibility: hidden;
    /*    height: 0px;*/
}

@media (max-width: 450px) {

    div#author-info {
        flex-direction: column;
    }

    div#author-info div#author-avatar {
        width: 100%;
    }

    div#author-info div#author-avatar img {
        position: relative;
        transform: translateX(-50%);
    }

    div#author-info div#author-description {
        width: 100%;
    }

}

/*-----------------------Ende:Autorenbox unter Blogeinträgen---------------------------------*/


/*--------------- Telefonbutton in mobiler Ansicht einblenden ------------*/
#callus-box {
    /*  background-color: #119051; */
    background-color: #835ba2;
    display: none;
    padding: 13px 10px 10px 10px;
    border-radius: 4px;
    position: fixed;
    box-shadow: 1px 1px 5px #000;
    bottom: 10px;
    right: 10px;
    z-index: 6;
}

#callus-box i {
    color: #fff;
    font-size: 20px;
}

@media screen and (max-width: 475px) {

    #callus-box {
        display: initial;
    }
}

/*---------------------------------Bestellprozess, Datepicker, Firefox width fix, Übersetzung "clear"------------------*/
#ui-datepicker-div {
    width: auto;
}

button.ui-datepicker-close.ui-state-default.ui-priority-primary.ui-corner-all::before {
    content: "leeren";
    font-size: 16px;
    padding: 5px;
    margin: 3px;
}

button.ui-datepicker-close.ui-state-default.ui-priority-primary.ui-corner-all {
    font-size: 0;
    background: #835ba2 !important;
    border-color: #835ba2 !important;
}

/*Terminwahlfelder im Checkout ohne Hover*/
.ui-datepicker-calendar td {
    pointer-events: none;
}

.ui-datepicker-calendar td>a {
    pointer-events: all;
}

/**/

body .ui-datepicker td a.ui-state-default,
body .ui-datepicker td.available-deliveries a,
body .ui-datepicker.orddd-is-empty td.ui-datepicker-current-day a,
body .ui-datepicker.orddd-is-empty td.ui-datepicker-current-day a.ui-state-active {
    background: #835ba2 !important;
    background-image: none !important;
    color: #fff !important;
    border: none;
    text-align: center;
    display: block;
    padding: 5px 10px;
    font-weight: normal;
}

body .ui-datepicker td span.ui-state-default {
    background: transparent !important;
    background-image: none !important;
    color: inherit;
    border: none;
    text-align: center;
    display: block;
    padding: 5px 10px;
    font-weight: normal;
}

body .ui-datepicker:not(.orddd-is-empty) td.ui-datepicker-current-day>a,
body .ui-datepicker:not(.orddd-is-empty) td.ui-datepicker-current-day a.ui-state-default,
body .ui-datepicker:not(.orddd-is-empty) td.ui-datepicker-current-day a.ui-state-active {
    background: #8CA668 !important;
    background-image: none !important;
    color: #ffffff !important;
}

body .ui-datepicker td a.bl-range-highlight-start,
body .ui-datepicker td span.bl-range-highlight-start {
    background: #8CA668 !important;
    background-image: none !important;
    color: #ffffff !important;
}

body .ui-datepicker table.ui-datepicker-calendar {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
}

.hasDatepicker>.ui-datepicker-inline,
#ui-datepicker-div.ui-datepicker {
    width: auto;
    max-width: 100%;
}

.hasDatepicker>.ui-datepicker-inline table thead th,
.hasDatepicker>.ui-datepicker-inline table tbody td,
.ui-datepicker-calendar thead th,
.ui-datepicker-calendar tbody td {
    padding: 0.25rem !important;
    box-sizing: border-box;
}

body .ui-datepicker td.ui-datepicker-current-day {
    padding: 0.25rem !important;
}

.entry-content table:not(.ui-datepicker-calendar) tbody tr td {
    padding: 0.5em 1em;
}

/*---------------------------------Ende, Bestellprozess, Datepicker, Firefox width fix, Übersetzung "clear"------------------*/
/*----------------------------------Bestellprozess, Mobile Ansicht------------------------*/
/*Ausgeblendete Elemente im Checkout*/
/*Iconleiste mit Warenkorb, Eventplaner, Kontakt und Blog*/
.woocommerce-checkout:not(.woocommerce-order-received) #widgets-header>div.grid.grid-2 div#widget_shopping_cart.widget.column.widget_shopping_cart {
    display: none;
}



.checkout-menu {
    display: none;
}

div#widgets-footer div#text-4,
div#widgets-footer div#bl_multinav_footer_widget-2,
div#widgets-footer div#bl_multinav_footer_widget-3 {
    width: 33%;
}

.woocommerce-checkout .checkout-menu {
    display: block;
}

.woocommerce-checkout .socialmedia,
.woocommerce-checkout .slogan,
.woocommerce-checkout .menu-footer-shop-container,
.woocommerce-checkout div#bl_multinav_footer_widget-2,
.woocommerce-checkout #text-4,
.woocommerce-checkout div#bl_multinav_footer_widget-3,
.woocommerce-checkout ul#menu-footer-menue-rechtliches li#menu-item-3271,
.woocommerce-checkout ul#menu-footer-menue-rechtliches li#menu-item-50269,
.woocommerce-checkout .footer-msg {
    display: none;
}


.woocommerce-checkout #custom_html-2 {
    width: 100%;
    text-align: center;
}

.woocommerce-checkout #customer_details {
    padding-bottom: 20px;
}

.woocommerce-checkout .infotext {
    bottom: -50px;
    width: 100vw;
    max-width: 968px;
    line-height: 1.5;
    font-size: 12px;
}

.woocommerce-checkout .infotext2 {
    width: 100vw;
    max-width: 968px;
    bottom: -80px;
    font-size: 12px;
}

.woocommerce-checkout .checkout-menu a {
    margin: 0 25px;
}

.woocommerce-checkout #widgets-footer {
    padding-bottom: 0 !important;
}

.woocommerce-checkout footer#bottom {
    padding-top: 0;
}

.woocommerce-checkout footer#bottom .container {
    margin-bottom: 0;
}

@media (max-width: 660px) {

    .woocommerce-checkout footer#bottom {
        padding: 0;
    }

    .woocommerce-checkout footer#bottom .container {
        margin: 0;
        width: 100%;
    }

    .woocommerce-checkout #widgets-footer .grid #custom_html-2 {
        width: 100%;
    }

    .woocommerce-checkout .checkout-menu a {
        margin: 0 15px;
    }
}

@media (max-width: 550px) {

    .woocommerce-checkout .infotext {
        bottom: -120px;
        max-width: 100%;
    }

    .woocommerce-checkout .infotext2 {
        bottom: -155px;
        max-width: 100%;
    }


    .woocommerce-checkout .checkout-menu a {
        display: block;
    }

    div#widgets-footer div#text-4,
    div#widgets-footer div#bl_multinav_footer_widget-2,
    div#widgets-footer div#bl_multinav_footer_widget-3 {
        width: 100%;
    }

    #ui-datepicker-div.ui-datepicker.ui-widget.ui-widget-content.ui-helper-clearfix.ui-corner-all {
        left: 0px !important;
    }

}

/*Ende Ausgeblendete Elemente im Checkout*/

/*Shipping-Header-Cart*/

.shipping.icon {
    width: 50px;
    font-size: 50px;
    height: 50px;
    margin-right: 20px;
}


@media (max-width: 820px) {
    .shipping.header {
        line-height: 1.5em !important;
    }

}

@media (max-width: 550px) {
    .shipping.icon {
        float: none;
        display: block;
        line-height: inherit;
        margin: 10px auto;
        padding: 0;
    }
}

/*Product-Thumbnails*/
@media (max-width: 450px) {

    table.shop_table.cart th.product-quantity,
    table.shop_table.cart th.product-subtotal,
    table.shop_table.cart th.product-remove {
        display: none;
    }


    table.shop_table th.product-name {
        position: relative;
        left: 50%;
        transform: translateX(-50%);
    }

    table.shop_table td.product-thumbnail {
        display: block;
        max-width: 100%;
        padding: 0 !important;
        margin: 10px 0;
        position: relative;
        /*    left: calc(50% - 73px);*/
        left: 0;
    }

    table.shop_table.cart td.product-name,
    table.shop_table.cart td.product-quantity {
        float: left;
    }


    table.shop_table.cart td.product-quantity {
        width: 50%;
        display: flex;
        margin-left: -5px;
    }


    table.shop_table.cart td.product-subtotal {
        float: right;
        width: 50%;
        display: flex;
        padding-top: 2em;
    }


    table.shop_table tr.cart_item td {
        border-bottom: none;
    }

    table.shop_table.cart td.product-remove {
        padding: 0 15px !important;
    }

    table.shop_table.cart td.product-remove a.remove {
        font-size: 25px;
    }

    table.shop_table.cart td.product-quantity:before {
        content: "Anzahl";
        display: block;
        padding-right: 5px;
        padding-top: 15px;
        font-size: 0.9em;
    }

    table.shop_table.cart td.product-subtotal:before {
        content: "Summe";
        display: block;
        padding-right: 5px;
        font-size: 0.9em;
    }



    /*
table.shop_table td.product-thumbnail img {
    width: 100%;
    height: auto;
    margin-top: 60px;
}
*/

    table.shop_table td.product-thumbnail img {
        width: 300px !important;
        height: auto !important;
        max-width: 60vw;
        display: block;
        margin-top: 20px;

    }


    tbody tr.cart_item:first-of-type td.product-thumbnail img {
        margin-top: 10px;
    }



}

/*--größere X zum Entfernen von Produkten--*/

td.product-remove {
    font-size: 20px;
    font-weight: 600;

}

/*schmalere Darstellung Kalender und Eingabefelder bei kleinen Geräten*/

@media (max-width: 560px) {
    #ui-datepicker-div.ui-datepicker.ui-widget.ui-widget-content.ui-helper-clearfix.ui-corner-all {
        left: 0px !important;
    }



    span.woocommerce-input-wrapper {
        display: block;
    }
}

/*THANKYOU PAGE AFTER CHECKOUT*/

body.woocommerce-checkout .bt-back-shop-cont {
    text-align: center;
    margin-top: 35px;
}


body.woocommerce-checkout .bt-back-shop-cont a.button.bt-back-to-shop {
    padding: 1.2em 5em;
}

body.woocommerce-order-received .bl-thankyou-delivery-summary {
    background: #f2f2f2;
    border: 1px solid #dedede;
    border-radius: 4px;
    box-sizing: border-box;
    color: #333;
    margin: 22px 0 20px;
    padding: 16px 18px;
    width: 100%;
}

body.woocommerce-order-received .bl-thankyou-delivery-summary .bl-range-title {
    color: #815aa2;
    display: block;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .02em;
    margin-bottom: 6px;
    text-transform: uppercase;
}

body.woocommerce-order-received .bl-thankyou-delivery-summary .bl-range-dates {
    color: #333;
    display: block;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.35;
}

/*----------------------------------ENDE: Bestellprozess, Mobile Ansicht------------------------*/



/*-----------------Shipping-note-Produktdetailseite & Warenkorb--------------*/

.single-product .blumigo-shipping-note {
    text-align: center;
    margin-bottom: 25px;
    border: solid 1px #c5c5c5;
    font-weight: 600;
    margin-top: -1.5em;
    background-color: rgba(129, 91, 162, .4);
}

.woocommerce-cart td.product-name span.bt-cart-special-shipping {
    background-color: rgba(129, 91, 162, .4);
    padding: 8px;
    top: 15px;
    position: relative;
}

.woocommerce-cart div#bt-cart-shipping-notes {
    position: relative;
    text-align: center;
    margin: 25px 0;
    border: solid 1px #c5c5c5;
    font-weight: 600;
    background-color: rgba(129, 91, 162, .4);
}

.woocommerce-cart div#bt-cart-shipping-notes p.bt-shipping-outer {
    cursor: pointer;
    margin: 0;
    padding: 1em 0;
}

.woocommerce-cart div#bt-cart-shipping-notes p.bt-shipping-outer:hover {
    background-color: rgba(129, 91, 162, .6);
}

.woocommerce-cart div#bt-cart-shipping-notes>p.bt-shipping-outer:before {
    content: "\f0d7";
    font-family: 'FontAwesome';
    color: #666;
    font-size: 20px;
    position: absolute;
    left: 20px;
    font-weight: 400;
}

.woocommerce-cart div#bt-cart-shipping-notes>p.bt-shipping-outer.open:before {
    transform: rotate(180deg);
}

.woocommerce-cart div#bt-cart-shipping-notes>p.bt-shipping-outer.open {
    background-color: rgba(129, 91, 162, .6);
}

.woocommerce-cart div#bt-cart-shipping-notes>p.bt-shipping-inner {
    padding: 0 .5em;
}


@media only screen and (max-width: 450px) {

    .woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item td.product-name {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }
}

@media only screen and (max-width: 450px) and (min-width: 410px) {
    .woocommerce-cart div#bt-cart-shipping-notes p.bt-shipping-outer {
        padding: 1em 2em;
    }

    .woocommerce-cart div#bt-cart-shipping-notes>p.bt-shipping-outer:before {
        left: 15px;
    }

}


@media only screen and (max-width: 409px) and (min-width: 340px) {
    .woocommerce-cart div#bt-cart-shipping-notes p.bt-shipping-outer {
        padding: 1em 1.5em;
    }
}

/*
@media only screen and (max-width: 400px) and (min-width: 360px){
.woocommerce-cart div#bt-cart-shipping-notes p.bt-shipping-outer {
    padding-left: 2em;
}
}

@media only screen and (max-width: 359px) and (min-width: 340px){
.woocommerce-cart div#bt-cart-shipping-notes p.bt-shipping-outer {
    padding-left: 1.5em;
}
}
*/


/*-----------------Ende: Shipping-note--------------*/


/*----------------Mobile Navigation auf Tablets-----*/


@media (min-width: 1366px) {

    /*Navigation einblenden */
    header#hmain nav.navbar {
        display: inherit !important;
    }

    /*Navigation justify + Footer Widgets*/

    header#hmain .navbar ul {
        display: flex;
        justify-content: space-around;
    }

    li#menu-item-4248 {
        margin-left: -10px;
    }

    #widgets-footer #text-4 {
        /*width: 100%;*/
    }

    /*---icons in Mobil in der Side-Nav anzeigen und sonst nicht ---*/
    div#widget_shopping_cart.header-widgets-mobile {
        display: none;
    }




    .widget.column.widget_shopping_cart.header-widgets-desktop>.mobile.mobile-nav>a.mobile-nav-trigger {
        line-height: 1;
    }
}

@media (max-width: 1080px) {


    /*
nav.navbar {
    display: none !important;
}
*/

    header#hmain nav.navbar .menu-left {
        display: block;
        width: 100%;
    }

    .mobile-nav {
        background-color: #835ba2;
        /*background-color: #119051;*/
        border-radius: 40px;
        display: inline-block;
        font-size: 25px;
        height: 40px;
        /*line-height: 40px;*/
        text-align: center;
        width: 40px;
        position: relative;
    }

    .mobile-nav .mobile-nav-trigger {
        color: #FFF;
        text-shadow: 0 0 1px #333;
        /* position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);*/
        line-height: 0;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .mobile-nav .mobile-nav-trigger i.fa {
        line-height: 0;
    }


    header#hmain .header-inner>.container {
        background-color: #fff !important;
        width: 100%;
    }



    .header-widgets-desktop .blog,
    .header-widgets-desktop .blog,
    .header-widgets-desktop .contact {
        display: none;
    }

    header#hmain .header-widgets-mobile.widget_shopping_cart#widget_shopping_cart {
        display: block;
        position: relative;
        right: 0;
        top: 0;
        margin-right: 0;
    }

    header#hmain .header-widgets-mobile.widget_shopping_cart#widget_shopping_cart .icon-nav {
        justify-content: center;
    }

    header#hmain .header-widgets-mobile.widget_shopping_cart#widget_shopping_cart .icon-nav a {
        margin: 10px 20px;
    }

    header#hmain .header-widgets-mobile.widget_shopping_cart#widget_shopping_cart .widget_shopping_cart_content,
    header#hmain .header-widgets-mobile#widget_shopping_cart .mobile.mobile-nav {
        display: none;
    }


}


/*----------------------------colour scheme----------------------*/


a.button,
button,
.vc_btn3.vc_btn3-color-success,
.vc_btn3.vc_btn3-color-success.vc_btn3-style-flat,
.button,
input[type=submit],
button,
.comment-reply-link,
.tagcloud a,
.slogan,
.ais-range-slider--connect,
.alg-hit .alg-hit__ribbon,
.alg-hit .alg-hit__overlay .alg-cta--blue,
.ais-hierarchical-menu--item.ais-hierarchical-menu--item__active>div>a .ais-hierarchical-menu--count,
#ais-facets .ais-facets__wrapper .ais-hierarchical-menu--item__active>div>a .ais-hierarchical-menu--count,
#ais-facets .ais-facets__wrapper .ais-hierarchical-menu--list__lvl1 .ais-hierarchical-menu--item__active>div>a .ais-hierarchical-menu--count,
.ais-current-refined-values--item a,
.vc_tta-color-green.vc_tta-style-flat .vc_tta-panel .vc_tta-panel-heading,
.mobile-nav,
.vc_tta-color-green.vc_tta-style-flat .vc_tta-panel.vc_active .vc_tta-panel-heading {
    background-color: #835ba2 !important;
}

.entry-content a {
    color: #835ba2;
}

/*
.alg-hit .alg-hit__details .alg-hit__title a em, .alg-primary-color, 
.ais-hierarchical-menu--item.ais-hierarchical-menu--item__active > div > a {
    color:#835ba2 !important;
}
*/


p.button-wrap a.button.button-secondary.button-close.vp-modal-close {
    background-color: #038f51 !important;
    border: none;
    color: white !important;
}

p.button-wrap a.button.button-secondary.button-close.vp-modal-close:hover {
    background-color: #00b064 !important;
}

p.button-wrap a.button.button-go-to-cart,
.vp-add-to-cart-success .button-wrap a.button.button-go-to-cart {
    color: #ffffff !important;
}

p.button-wrap a.button.button-go-to-cart:hover,
.vp-add-to-cart-success .button-wrap a.button.button-go-to-cart:hover {
    color: #ffffff !important;
}

.vp-add-to-cart-success h3 {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
    font-size: 1.8em !important;
    line-height: 1.2 !important;
}

.woocommerce-message .button-wrap a.button,
.vp-add-to-cart-success .button-wrap a.button {
    text-decoration: none !important;
}

a.button:hover,
button:hover,
.vc_btn3.vc_btn3-color-success:hover,
.vc_btn3.vc_btn3-color-success.vc_btn3-style-flat:hover,
.vc_btn3.vc_btn3-color-success:focus,
.vc_btn3.vc_btn3-color-success.vc_btn3-style-flat:focus,
.button:hover,
input[type=submit]:hover,
button:hover,
#bt-clear-all:hover,
.ais-current-refined-values--item a:hover,
.ais-refinement-list--item.ais-refinement-list--item__active .ais-refinement-list--count,
.wpb-js-composer .vc_tta-color-green.vc_tta-style-flat .vc_tta-panel .vc_tta-panel-heading:hover {
    background-color: #a191ad !important;
}

.entry-content a:active,
.entry-content a:hover,
.ais-pagination .ais-pagination--link:hover,
.ais-refinement-list--item__active label,
.ais-refinement-list label:hover,
.ais-facets a:hover,
.ais-pagination .ais-pagination--item__active .ais-pagination--link {
    color: #a191ad;
}

.entry-content li.product h3,
.entry-content span.price span.from,
table.shop_table tbody td.product-name a {
    color: #333;
}

.ais-current-refined-values--item a {
    color: #fff;
}

.wc_jb_flowersaison_info_box_span {
    border-color: #835ba2;
    background: #d7cae0;
}

/*Google Analytics Opt Out - SHOPVOTE*/

.gaoop {
    display: flex;
    padding-left: 5px;
    padding-right: 5px;
}

.gaoop-opt-out-content {
    width: auto;
    margin: 0 5px;
}

a.gaoop-close-icon {
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
}

div#sv-badget-box {
    bottom: 60px !important;
    z-index: 1;
}

/*Shopvote Info */
footer .shopvote-info {
    font-size: 0.8em;
}

@media (max-width: 450px) {

    a.gaoop-close-icon img {
        width: 20px;
        height: 20px;
    }

    /*div#sv-badget-box {
    bottom: 250px !important;
} */
}


/*SUCHE IM HEADER + Anpassungen für Mobile*/

.header-widgets-desktop .icon-nav a.search,
div#widget_shopping_cart .icon-nav a.search {
    border-right: solid 3px #f8f8f8;
    max-height: 55px;
}

.header-widgets-desktop .icon-nav a.search img,
div#widget_shopping_cart .icon-nav a.search img {
    max-height: 38px
}


@media (max-width: 1080px) {
    .header-widgets-desktop a.search {
        display: none;
    }
}

@media (max-width: 450px) {

    .header-widgets-desktop .icon-nav a.search img,
    div#widget_shopping_cart .icon-nav a.search img,
    div#widget_shopping_cart .icon-nav a img {
        max-height: 34px
    }

    .icon-nav a i.fa.fa-paper-plane {
        font-size: 25px;
    }

    div.menu-left #widget_shopping_cart {
        margin: 10px 0;
    }

    .icon-nav {
        margin-right: 0;
    }


    header#hmain .header-widgets-mobile.widget_shopping_cart#widget_shopping_cart .icon-nav a {
        margin: 2px;
    }

}

/*UPSELLS*/

.single-product .vp-product-grid-wrapper section.up-sells.upsells.products {
    width: 100%;
    display: block;
}

.vp-add-to-cart-success ul.products li.product {
    width: 23%;
}

.vp-add-to-cart-success ul.products li.product>a>div {
    max-width: 100%;
}


.vp-add-to-cart-success ul.products li.product a.button {
    margin-top: 1em;
}

@media (max-width: 599px) {
    .single-product .product section.upsells ul.products li.product {
        /*width: 50% !important;*/
    }
}

@media (max-width: 450px) {

    .single-product .product section.upsells ul.products li.product,
    .single-product .vp-add-to-cart-success section.up-sells.upsells.products ul.products li.product.type-product.status-publish.has-post-thumbnail {
        /*width: 100% !important;*/
    }
}

/*VERWANDTE PRODUKTE*/

body.single-product div#verwandte-produkte li.product {
    /*width: 20%;*/
}

@media (max-width: 660px) {
    body.single-product div#verwandte-produkte li.product {
        width: 100%;
    }
}

/*Pop UP - Product in Cart*/

body.single-product .pp_pic_holder.pp_woocommerce {
    top: 75px !important;
}

body.single-product .pp_pic_holder.pp_woocommerce .ppt {
    width: 0 !important;
    margin: 0;
    height: 0;
}

/*PRODUCT RATING SHOP*/
.columns-3 ul.products li.product a>div {
    display: block;
}

.columns-3 ul.products.columns-3 li.product .star-rating {
    margin: 0 auto;
}

.jb-dynamic-pricing-price-right-box p.jb-dynamic-pricing-price {
    display: block;
    font-size: 2em;
    margin-block-start: 0.67em;
    margin-block-end: 0.67em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    font-weight: bold;
    margin-top: 10px;
    margin-bottom: 5px;
    font-family: 'Nexa Bold' !important;
}

/*Preisdarstellung im VC Gridbuilder */

.bl-default-price {
    height: 47px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.bl-default-price span.woocommerce-Price-amount.amount bdi {
    font-size: 1.3em;
    display: block;
    padding-bottom: 0.3em;
    font-weight: 600;
}



.vc_gitem-woocommerce.vc_gitem-woocommerce-product-price.bl-price-flag.vc_gitem-align-center {
    background-color: rgba(167, 140, 190, .7);
    padding: 14px;
    border-radius: 5px;
    font-size: 1.3em;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 47px;
}


.bl-price-flag span.woocommerce-Price-amount.amount bdi {
    color: #fff;
}

.bl-price-big {
    height: 47px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.bl-price-big span.woocommerce-Price-amount.amount bdi {
    font-size: 1.5em;
    display: block;
    padding-bottom: 0.3em;
    font-weight: 600;
}

/*Produktkachel Überarbeitung*/




ul.products {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
}

ul.products li,
ul.products li.product {
    margin-left: 0 !important;
    margin-right: 0 !important;
    display: flex;
    flex-direction: column;
}

ul.products li {
    flex-direction: row;
    display: flex;
    justify-content: space-between;
}

ul.products li>a:first-of-type {
    display: none;
}

.columns-2 ul.products li.product>a.button {
    margin: 0 auto;
    height: auto;
}

li.product a.woocommerce-LoopProduct-link+a {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: space-between;
    flex: 1;
}

li.product .star-rating {
    width: 100% !important;
}

li.product .star-rating::before {
    left: 50%;
    transform: translateX(-50%);
}

li.product .star-rating span {
    width: 100% !important;
}

li.product .star-rating span::before {
    left: 50%;
    transform: translateX(-50%);
}

li.product>a>div:first-of-type {
    margin-top: 6px !important;
    margin-bottom: 0;
}

li.product a.button {
    width: 100%;
}

li.product>a>div:first-of-type {
    height: auto !important;
    max-width: 100%;
}

.hasDatepicker>.ui-datepicker-inline {
    width: auto;
}

.hasDatepicker>.ui-datepicker-inline table thead th {
    padding-left: 1px;
    padding-right: 1px;
}

.hasDatepicker>.ui-datepicker-inline table tbody td {
    padding-left: 1px;
    padding-right: 1px;
}

.wc-block-components-notice-banner.is-success,
.wc-block-components-notice-banner.is-info {
    background-color: #EEE !important;
    border: none !important;
    font-size: 13px !important;
}

.wc-block-components-notice-banner.is-success>svg,
.wc-block-components-notice-banner.is-info>svg {
    background-color: #444444 !important;
}

.wc-block-components-notice-banner.is-error {
    background-color: #f9e9e7 !important;
    border: 1px solid #edc7c1 !important;
    border-left: 5px solid #913526 !important;
    border-radius: 4px !important;
    color: #913526 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    margin: 18px 0 24px !important;
    padding: 14px 18px !important;
    box-shadow: 0 2px 8px rgba(145, 53, 38, .08) !important;
}

.wc-block-components-notice-banner.is-error>.wc-block-components-notice-banner__content>ul {
    list-style: none;
    margin: 0 !important;
    padding: 0 !important;
    text-indent: 0;
}

@media (max-width: 767px) {
    .wc-block-components-notice-banner.is-success>svg {
        display: none;
    }

    .wc-block-components-notice-banner>.wc-block-components-notice-banner__content ol,
    .wc-block-components-notice-banner>.wc-block-components-notice-banner__content ul {
        margin: 0 !important;
    }
}

.ntg-h3 {
    display: flex;
    justify-content: space-between;
}

.flex-control-thumbs img {
    height: auto;
}

/* Order Withdrawal Form Styling */
.woocommerce-form-order-withdrawal-request {
    margin-top: 25px;
}
.woocommerce-form-order-withdrawal-request .form-row {
    margin-bottom: 25px;
    display: block;
}
.woocommerce-form-order-withdrawal-request .form-row label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: #333;
}
.woocommerce-form-order-withdrawal-request .form-row input.input-text,
.woocommerce-form-order-withdrawal-request .form-row select {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-sizing: border-box;
    font-size: 15px;
    background-color: #fff;
    transition: border-color 0.3s;
}
.woocommerce-form-order-withdrawal-request .form-row input.input-text:focus,
.woocommerce-form-order-withdrawal-request .form-row select:focus {
    border-color: #835ba2;
    outline: none;
}

.woocommerce-form-order-withdrawal-request .form-row-first {
    width: 48%;
    float: left;
}
.woocommerce-form-order-withdrawal-request .form-row-last {
    width: 48%;
    float: right;
}
@media (max-width: 767px) {
    .woocommerce-form-order-withdrawal-request .form-row-first,
    .woocommerce-form-order-withdrawal-request .form-row-last {
        width: 100%;
        float: none;
    }
}

.woocommerce-form-order-withdrawal-request .eu-owb-order-item-select-wrapper {
    background: #f9f9f9;
    padding: 20px;
    border-radius: 4px;
    border: 1px solid #eee;
    margin-bottom: 25px;
}

.woocommerce-form-order-withdrawal-request table.order-withdrawal-request-items-table {
    width: 100%;
    margin-top: 15px;
    border-collapse: collapse;
}
.woocommerce-form-order-withdrawal-request table.order-withdrawal-request-items-table th,
.woocommerce-form-order-withdrawal-request table.order-withdrawal-request-items-table td {
    padding: 12px 10px;
    border-bottom: 1px solid #eaeaea;
    text-align: left;
    vertical-align: middle;
}
.woocommerce-form-order-withdrawal-request table.order-withdrawal-request-items-table th {
    background: #f1f1f1;
    font-weight: 600;
}
.woocommerce-form-order-withdrawal-request .product-quantity input.qty {
    width: 60px;
    text-align: center;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
}
.woocommerce-form-order-withdrawal-request .form-row-submit {
    margin-top: 30px;
}
.woocommerce-form-order-withdrawal-request .woocommerce-form-return_request__submit {
    background-color: #835ba2;
    color: #fff;
    padding: 15px 30px;
    border: none;
    border-radius: 4px;
    font-size: 16px;
    cursor: pointer;
    font-weight: bold;
    text-transform: uppercase;
    transition: background-color 0.3s;
}
.woocommerce-form-order-withdrawal-request .woocommerce-form-return_request__submit:hover {
    background-color: #6a4982;
}

/* Terminwahlfelder im Checkout (Adresseingabe) komplett ausblenden laut Kundenwunsch PDF */
.woocommerce-checkout .orddd-checkout-fields,
.woocommerce-checkout #orddd_datepicker_0,
.woocommerce-checkout #e_deliverydate_field,
.woocommerce-checkout #e_deliverydate_0_field,
.woocommerce-checkout #bl-delivery-range-info,
.woocommerce-checkout #orddd-availability,
.woocommerce-checkout .orddd_delivery_date_field,
.woocommerce-checkout .orddd_field_note {
    display: none !important;
}

/* Warenkorb Mobile: saubere Produktkarte statt gequetschter Tabelle */
@media (max-width: 600px) {
    .woocommerce-cart #orddd-availability {
        display: none !important;
    }

    .woocommerce-cart table.shop_table.cart {
        display: block;
        width: 100%;
        padding: 0;
        border: 0;
    }

    .woocommerce-cart table.shop_table.cart thead {
        display: none;
    }

    .woocommerce-cart table.shop_table.cart tbody,
    .woocommerce-cart table.shop_table.cart tr,
    .woocommerce-cart table.shop_table.cart td {
        display: block;
        width: 100%;
        box-sizing: border-box;
        float: none;
    }

    .woocommerce-cart table.shop_table.cart tr.cart_item {
        position: relative;
        margin: 0 0 18px;
        padding: 18px;
        background: #fff;
        border: 1px solid #ede8f2;
        border-radius: 0 !important;
        box-shadow: 0 3px 14px rgba(0, 0, 0, 0.04);
    }

    .woocommerce-cart table.shop_table.cart tr.cart_item td {
        padding: 0;
        border: 0;
        text-align: center;
    }

    .woocommerce-cart table.shop_table.cart td.product-remove {
        position: absolute;
        top: 10px;
        right: 10px;
        z-index: 2;
        width: auto;
        padding: 0 !important;
        font-size: 0;
    }

    .woocommerce-cart table.shop_table.cart td.product-remove a.remove {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 30px;
        height: 30px;
        font-size: 22px;
        line-height: 1;
        color: #835ba2 !important;
        text-decoration: none;
    }

    .woocommerce-cart table.shop_table.cart td.product-thumbnail {
        display: block !important;
        max-width: none;
        margin: 0 0 14px;
        padding: 0 !important;
    }

    .woocommerce-cart table.shop_table.cart td.product-thumbnail a {
        display: inline-block;
    }

    .woocommerce-cart table.shop_table.cart td.product-thumbnail img {
        display: block;
        width: 100% !important;
        max-width: 190px !important;
        height: auto !important;
        margin: 0 auto !important;
    }

    .woocommerce-cart table.shop_table.cart td.product-name {
        margin: 0 0 12px;
        color: #1e1b26;
        font-size: 14px;
        line-height: 1.35;
    }

    .woocommerce-cart table.shop_table.cart td.product-name::before,
    .woocommerce-cart table.shop_table.cart td.product-price {
        display: none !important;
    }

    .woocommerce-cart table.shop_table.cart td.product-name a {
        color: #1e1b26;
        font-size: 14px;
        font-weight: 600;
        text-decoration: none;
    }

    .woocommerce-cart table.shop_table.cart td.product-quantity,
    .woocommerce-cart table.shop_table.cart td.product-subtotal {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        padding: 10px 0 0;
        margin-top: 10px;
        border-top: 1px solid #eee;
        text-align: left;
        font-size: 14px;
    }

    .woocommerce-cart table.shop_table.cart td.product-quantity::before,
    .woocommerce-cart table.shop_table.cart td.product-subtotal::before {
        display: block;
        padding: 0;
        color: #666;
        font-size: 14px;
        line-height: 1.2;
    }

    .woocommerce-cart table.shop_table.cart td.product-quantity::before {
        content: "Anzahl";
    }

    .woocommerce-cart table.shop_table.cart td.product-subtotal::before {
        content: "Summe";
    }

    .woocommerce-cart table.shop_table.cart td.product-quantity .quantity {
        margin: 0;
    }

    .woocommerce-cart table.shop_table.cart td.product-quantity input.qty {
        width: 54px;
        height: 40px;
        padding: 0;
        font-size: 14px;
        text-align: center;
        border-radius: 0 !important;
    }

    .woocommerce-cart table.shop_table.cart td.product-subtotal .amount {
        font-size: 14px;
        font-weight: 600;
        white-space: nowrap;
    }

    .woocommerce-cart table.shop_table.cart td.actions {
        margin-top: 10px;
        padding: 0;
        background: transparent;
        text-align: left;
    }

    .woocommerce-cart table.shop_table.cart td.actions .coupon {
        display: block;
        width: 100%;
        margin: 0 0 10px;
    }

    .woocommerce-cart table.shop_table.cart td.actions #coupon_code,
    .woocommerce-cart table.shop_table.cart td.actions .button {
        display: block;
        width: 100%;
        box-sizing: border-box;
        margin: 0 0 10px !important;
        border-radius: 0 !important;
        font-size: 14px !important;
    }

    .woocommerce-cart table.shop_table.cart td.actions #coupon_code {
        min-height: 42px;
    }

    .woocommerce-cart table.shop_table.cart td.actions .button {
        min-height: 44px;
        padding: 0.8em 1em;
        line-height: 1.2;
        text-align: center;
    }

    /* Cart Mobile Layout */
    .woocommerce-cart .cart-collaterals {
        margin-top: 16px;
    }

    .woocommerce-cart .cart-collaterals .cart_totals {
        display: flex !important;
        flex-direction: column !important;
        gap: 14px;
        text-align: left;
        width: 100% !important;
    }

    .woocommerce-cart .bl-cart-card {
        padding: 14px 16px !important;
        margin-bottom: 0 !important;
    }

    .woocommerce-cart .bl-cart-card-title {
        font-size: 16px !important;
        margin-bottom: 10px !important;
    }
}

/* ==========================================================================
   Blumigo Free Shipping Message Card (Versandkostenfrei-Meldung)
   ========================================================================== */

.woocommerce-cart .shipping.message,
.shipping.message.bl-shipping-message-card {
    background: #ffffff !important;
    border: 1px solid #ede8f2 !important;
    border-radius: 0 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03) !important;
    padding: 16px 24px !important;
    margin: 0 0 20px 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    box-sizing: border-box !important;
    color: #1e1b26 !important;
    line-height: 1.4 !important;
    text-align: left !important;
}

.woocommerce-cart .shipping.message .shipping-left,
.shipping.message.bl-shipping-message-card .shipping-left {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    flex: 1 1 auto !important;
}

.woocommerce-cart .shipping.message .shipping.icon,
.shipping.message.bl-shipping-message-card .shipping.icon,
.shipping.message i.fa-truck {
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 32px !important;
    color: #835ba2 !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    width: auto !important;
    height: auto !important;
    flex-shrink: 0 !important;
}

.woocommerce-cart .shipping.message .shipping-text,
.shipping.message.bl-shipping-message-card .shipping-text {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    text-align: left !important;
}

.woocommerce-cart .shipping.message .shipping.header,
.shipping.message.bl-shipping-message-card .shipping.header {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #1e1b26 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.35 !important;
}

.woocommerce-cart .shipping.message .shipping-subtext,
.shipping.message.bl-shipping-message-card .shipping-subtext {
    font-size: 13px !important;
    color: #6b7280 !important;
    margin: 0 !important;
    line-height: 1.35 !important;
}

.woocommerce-cart .shipping.message .shipping-subtext b,
.shipping.message.bl-shipping-message-card .shipping-subtext b {
    color: #1e1b26 !important;
    font-weight: 700 !important;
}

.woocommerce-cart .shipping.message .button.shipping,
.shipping.message.bl-shipping-message-card .button.shipping {
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 18px !important;
    background-color: #835ba2 !important;
    border: 1px solid #835ba2 !important;
    border-radius: 0 !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 38px !important;
    cursor: pointer !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    transition: background-color 0.15s ease, border-color 0.15s ease !important;
    flex-shrink: 0 !important;
}

.woocommerce-cart .shipping.message .button.shipping:hover,
.shipping.message.bl-shipping-message-card .button.shipping:hover {
    background-color: #6e468d !important;
    border-color: #6e468d !important;
    color: #ffffff !important;
}

@media (max-width: 680px) {
    .woocommerce-cart .shipping.message,
    .shipping.message.bl-shipping-message-card {
        flex-direction: column !important;
        align-items: stretch !important;
        padding: 14px 16px !important;
        gap: 12px !important;
    }

    .woocommerce-cart .shipping.message .shipping-left,
    .shipping.message.bl-shipping-message-card .shipping-left {
        align-items: center !important;
    }

    .woocommerce-cart .shipping.message .button.shipping,
    .shipping.message.bl-shipping-message-card .button.shipping {
        width: 100% !important;
        text-align: center !important;
        display: flex !important;
    }
}

/* ==========================================================================
   Blumigo Cart Items Table & Coupon Card Styling (Desktop & Tablet)
   ========================================================================== */

@media (min-width: 601px) {
    .woocommerce-cart form.woocommerce-cart-form {
        background: #ffffff;
        border: 1px solid #ede8f2;
        border-radius: 0 !important;
        padding: 22px 24px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
        box-sizing: border-box;
        margin-bottom: 24px;
    }

    .woocommerce-cart table.shop_table.cart {
        width: 100% !important;
        border: none !important;
        border-collapse: collapse !important;
        background: transparent !important;
        margin: 0 !important;
        table-layout: auto !important;
    }

    .woocommerce-cart table.shop_table.cart thead th {
        background: transparent !important;
        border-top: none !important;
        border-left: none !important;
        border-right: none !important;
        border-bottom: 1px solid #ede8f2 !important;
        padding: 0 14px 12px 14px !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        color: #6b7280 !important;
        letter-spacing: 0.02em !important;
        line-height: 1.4 !important;
    }

    .woocommerce-cart table.shop_table.cart thead th.product-remove {
        width: 32px !important;
        max-width: 32px !important;
        padding-left: 0 !important;
        padding-right: 6px !important;
    }

    .woocommerce-cart table.shop_table.cart thead th.product-thumbnail {
        width: 76px !important;
        max-width: 76px !important;
        padding-left: 0 !important;
        padding-right: 16px !important;
    }

    .woocommerce-cart table.shop_table.cart thead th.product-name {
        text-align: left !important;
        padding-left: 0 !important;
    }

    .woocommerce-cart table.shop_table.cart thead th.product-price {
        width: 120px !important;
        text-align: right !important;
    }

    .woocommerce-cart table.shop_table.cart thead th.product-quantity {
        width: 90px !important;
        text-align: center !important;
    }

    .woocommerce-cart table.shop_table.cart thead th.product-subtotal {
        width: 120px !important;
        text-align: right !important;
        padding-right: 0 !important;
    }

    .woocommerce-cart table.shop_table.cart tr.cart_item td {
        border-top: none !important;
        border-left: none !important;
        border-right: none !important;
        border-bottom: 1px solid #f3eff7 !important;
        padding: 16px 14px !important;
        vertical-align: middle !important;
        background: transparent !important;
    }

    /* Remove column */
    .woocommerce-cart table.shop_table.cart td.product-remove {
        width: 32px !important;
        max-width: 32px !important;
        padding-left: 0 !important;
        padding-right: 6px !important;
        text-align: center !important;
    }

    .woocommerce-cart table.shop_table.cart td.product-remove a.remove {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 28px !important;
        height: 28px !important;
        border-radius: 0 !important;
        color: #a098aa !important;
        font-size: 20px !important;
        line-height: 1 !important;
        text-decoration: none !important;
        transition: color 0.15s ease, background-color 0.15s ease !important;
    }

    .woocommerce-cart table.shop_table.cart td.product-remove a.remove:hover {
        color: #835ba2 !important;
        background-color: #f8f4fd !important;
    }

    /* Thumbnail column */
    .woocommerce-cart table.shop_table.cart td.product-thumbnail {
        width: 76px !important;
        max-width: 76px !important;
        padding-left: 0 !important;
        padding-right: 16px !important;
        text-align: left !important;
    }

    .woocommerce-cart table.shop_table.cart td.product-thumbnail img {
        width: 68px !important;
        height: 68px !important;
        object-fit: cover !important;
        border: 1px solid #ede8f2 !important;
        border-radius: 0 !important;
        display: block !important;
        box-sizing: border-box !important;
        transition: opacity 0.15s ease !important;
    }

    .woocommerce-cart table.shop_table.cart td.product-thumbnail a:hover img {
        opacity: 0.85 !important;
    }

    /* Product Name */
    .woocommerce-cart table.shop_table.cart td.product-name {
        text-align: left !important;
        padding-left: 0 !important;
    }

    .woocommerce-cart table.shop_table.cart td.product-name a {
        font-size: 14px !important;
        font-weight: 600 !important;
        color: #1e1b26 !important;
        text-decoration: none !important;
        line-height: 1.4 !important;
        transition: color 0.15s ease !important;
    }

    .woocommerce-cart table.shop_table.cart td.product-name a:hover {
        color: #835ba2 !important;
    }

    .woocommerce-cart table.shop_table.cart td.product-name .variation {
        margin-top: 4px !important;
        font-size: 12.5px !important;
        color: #6b7280 !important;
    }

    /* Price */
    .woocommerce-cart table.shop_table.cart td.product-price {
        width: 120px !important;
        text-align: right !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        color: #1e1b26 !important;
        white-space: nowrap !important;
    }

    .woocommerce-cart table.shop_table.cart td.product-price small,
    .woocommerce-cart table.shop_table.cart td.product-price .woocommerce-price-suffix,
    .woocommerce-cart table.shop_table.cart td.product-price .unit-price,
    .woocommerce-cart table.shop_table.cart td.product-price .price-unit {
        display: block !important;
        font-size: 12px !important;
        font-weight: 400 !important;
        color: #6b7280 !important;
        margin-top: 3px !important;
    }

    /* Quantity */
    .woocommerce-cart table.shop_table.cart td.product-quantity {
        width: 90px !important;
        text-align: center !important;
    }

    .woocommerce-cart table.shop_table.cart td.product-quantity .quantity {
        display: inline-block !important;
        margin: 0 !important;
    }

    .woocommerce-cart table.shop_table.cart td.product-quantity input.qty {
        width: 56px !important;
        height: 40px !important;
        border: 1px solid #d1d5db !important;
        border-radius: 0 !important;
        background: #ffffff !important;
        text-align: center !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        color: #1e1b26 !important;
        box-sizing: border-box !important;
        padding: 0 !important;
        transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
    }

    .woocommerce-cart table.shop_table.cart td.product-quantity input.qty:focus {
        border-color: #835ba2 !important;
        box-shadow: 0 0 0 1px #835ba2 !important;
        outline: none !important;
    }

    /* Subtotal */
    .woocommerce-cart table.shop_table.cart td.product-subtotal {
        width: 120px !important;
        text-align: right !important;
        padding-right: 0 !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        color: #1e1b26 !important;
        white-space: nowrap !important;
    }

    /* Actions Row (Coupon & Update Cart) */
    .woocommerce-cart table.shop_table.cart td.actions {
        display: table-cell !important;
        text-align: right !important;
        vertical-align: middle !important;
        padding: 20px 0 0 0 !important;
        border-top: 1px solid #ede8f2 !important;
        border-bottom: none !important;
        border-left: none !important;
        border-right: none !important;
        background: transparent !important;
        white-space: nowrap !important;
    }

    .woocommerce-cart table.shop_table.cart td.actions .coupon {
        display: inline-flex !important;
        align-items: center !important;
        vertical-align: middle !important;
        gap: 8px !important;
        margin: 0 12px 0 0 !important;
        float: none !important;
    }

    .woocommerce-cart table.shop_table.cart td.actions #coupon_code {
        display: inline-block !important;
        vertical-align: middle !important;
        height: 40px !important;
        min-height: 40px !important;
        width: 200px !important;
        border: 1px solid #d1d5db !important;
        border-radius: 0 !important;
        padding: 0 14px !important;
        font-size: 14px !important;
        color: #1e1b26 !important;
        background: #ffffff !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
    }

    .woocommerce-cart table.shop_table.cart td.actions #coupon_code:focus {
        border-color: #835ba2 !important;
        box-shadow: 0 0 0 1px #835ba2 !important;
        outline: none !important;
    }

    .woocommerce-cart table.shop_table.cart td.actions #coupon_code::placeholder {
        color: #9ca3af !important;
    }

    .woocommerce-cart table.shop_table.cart td.actions .coupon button[name="apply_coupon"],
    .woocommerce-cart table.shop_table.cart td.actions button[name="apply_coupon"] {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        vertical-align: middle !important;
        height: 40px !important;
        min-height: 40px !important;
        padding: 0 18px !important;
        background-color: #835ba2 !important;
        border: 1px solid #835ba2 !important;
        border-radius: 0 !important;
        color: #ffffff !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        line-height: 1 !important;
        cursor: pointer !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        white-space: nowrap !important;
        transition: background-color 0.15s ease, border-color 0.15s ease !important;
    }

    .woocommerce-cart table.shop_table.cart td.actions .coupon button[name="apply_coupon"]:hover,
    .woocommerce-cart table.shop_table.cart td.actions button[name="apply_coupon"]:hover {
        background-color: #6e468d !important;
        border-color: #6e468d !important;
    }

    .woocommerce-cart table.shop_table.cart td.actions button[name="update_cart"] {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        vertical-align: middle !important;
        height: 40px !important;
        min-height: 40px !important;
        padding: 0 18px !important;
        background-color: #835ba2 !important;
        border: 1px solid #835ba2 !important;
        border-radius: 0 !important;
        color: #ffffff !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        line-height: 1 !important;
        cursor: pointer !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        white-space: nowrap !important;
        transition: background-color 0.15s ease, border-color 0.15s ease !important;
    }

    .woocommerce-cart table.shop_table.cart td.actions button[name="update_cart"]:hover {
        background-color: #6e468d !important;
        border-color: #6e468d !important;
    }

    .woocommerce-cart table.shop_table.cart td.actions button[name="update_cart"]:disabled,
    .woocommerce-cart table.shop_table.cart td.actions button[name="update_cart"][aria-disabled="true"] {
        opacity: 0.5 !important;
        cursor: not-allowed !important;
    }
}

/* ==========================================================================
   Blumigo Cart Modern Card Layout (Versandart -> Liefertermin -> Totals)
   ========================================================================== */

.woocommerce-cart .cart_totals {
    width: 100%;
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left;
}

.woocommerce-cart .cart_totals h2 {
    display: none !important;
}

/* Card base */
.woocommerce-cart .bl-cart-card {
    background: #fff;
    border: 1px solid #ede8f2;
    border-radius: 0 !important;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
    box-sizing: border-box;
    margin-bottom: 20px;
    text-align: left;
}

.woocommerce-cart .bl-cart-card-title {
    font-size: 17px;
    font-weight: 700;
    color: #1e1b26;
    margin: 0 0 14px;
    line-height: 1.25;
    text-align: left;
}

/* Shipping table resets */
.woocommerce-cart table.bl-shipping-table {
    display: block;
    width: 100% !important;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent !important;
}

.woocommerce-cart table.bl-shipping-table tbody,
.woocommerce-cart table.bl-shipping-table tr,
.woocommerce-cart table.bl-shipping-table th,
.woocommerce-cart table.bl-shipping-table td {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent !important;
}

.woocommerce-cart table.bl-shipping-table th {
    font-size: 13px;
    font-weight: 500;
    color: #6b7280;
    margin: 0 0 8px;
    text-align: left;
}

.woocommerce-cart table.bl-shipping-table td::before {
    display: none !important;
}

/* Shipping method items */
.woocommerce-cart ul#shipping_method.bl-shipping-methods-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.woocommerce-cart ul#shipping_method.bl-shipping-methods-list li.bl-shipping-method-item {
    display: flex;
    align-items: center;
    padding: 10px 14px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 0 !important;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
    gap: 12px;
    margin: 0;
    user-select: none;
    box-sizing: border-box;
}

.woocommerce-cart ul#shipping_method.bl-shipping-methods-list li.bl-shipping-method-item:hover {
    border-color: #d1c4e9;
}

.woocommerce-cart ul#shipping_method.bl-shipping-methods-list li.bl-shipping-method-item.is-selected,
.woocommerce-cart ul#shipping_method.bl-shipping-methods-list li.bl-shipping-method-item:has(input:checked) {
    background: #f8f4fd;
    border-color: #dfd3ef;
}

.woocommerce-cart ul#shipping_method.bl-shipping-methods-list input.shipping_method {
    accent-color: #815aa2;
    width: 18px;
    height: 18px;
    margin: 0;
    cursor: pointer;
    flex-shrink: 0;
}

.woocommerce-cart ul#shipping_method.bl-shipping-methods-list label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    margin: 0;
    cursor: pointer;
    line-height: 1.3;
}

.woocommerce-cart ul#shipping_method.bl-shipping-methods-list .bl-shipping-title {
    font-size: 14px;
    font-weight: 500;
    color: #222;
    line-height: 1.3;
}

.woocommerce-cart ul#shipping_method.bl-shipping-methods-list .bl-shipping-price {
    font-size: 14px;
    font-weight: 600;
    color: #222;
    margin-left: auto;
    white-space: nowrap;
    flex-shrink: 0;
}

@media (max-width: 600px) {
    .woocommerce-cart ul#shipping_method.bl-shipping-methods-list {
        gap: 6px;
    }

    .woocommerce-cart ul#shipping_method.bl-shipping-methods-list li.bl-shipping-method-item {
        padding: 9px 12px;
        gap: 10px;
    }
}

/* Totals Summary Card */
.woocommerce-cart .bl-cart-totals-card table.bl-totals-table {
    display: table;
    width: 100% !important;
    margin: 0 0 14px;
    border-collapse: collapse;
    background: transparent !important;
    border: 0;
}

.woocommerce-cart .bl-cart-totals-card table.bl-totals-table tbody {
    display: table-row-group;
    width: 100%;
}

.woocommerce-cart .bl-cart-totals-card table.bl-totals-table tr {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
    border: 0 !important;
}

.woocommerce-cart .bl-cart-totals-card table.bl-totals-table th,
.woocommerce-cart .bl-cart-totals-card table.bl-totals-table td {
    padding: 0;
    border: 0 !important;
    background: transparent !important;
}

.woocommerce-cart .bl-cart-totals-card table.bl-totals-table th {
    text-align: left;
    font-size: 14px;
    color: #1e1b26;
    font-weight: 400;
}

.woocommerce-cart .bl-cart-totals-card table.bl-totals-table td {
    text-align: right;
    font-size: 14px;
    color: #1e1b26;
    font-weight: 400;
    white-space: nowrap;
}

.woocommerce-cart .bl-cart-totals-card table.bl-totals-table td::before {
    display: none !important;
}

/* Single elegant divider before order total */
.woocommerce-cart .bl-cart-totals-card table.bl-totals-table tr.order-total {
    padding: 10px 0 4px;
    border-top: 1px solid #e5e0eb !important;
    margin-top: 6px;
}

.woocommerce-cart .bl-cart-totals-card table.bl-totals-table tr.order-total th {
    font-size: 16px;
    font-weight: 700;
    color: #0f172a;
}

.woocommerce-cart .bl-cart-totals-card table.bl-totals-table tr.order-total td,
.woocommerce-cart .bl-cart-totals-card table.bl-totals-table tr.order-total strong,
.woocommerce-cart .bl-cart-totals-card table.bl-totals-table tr.order-total strong .amount,
.woocommerce-cart .bl-cart-totals-card table.bl-totals-table tr.order-total .amount {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
}

/* Taxes row subtle styling */
.woocommerce-cart .bl-cart-totals-card table.bl-totals-table tr.tax-total,
.woocommerce-cart .bl-cart-totals-card table.bl-totals-table tr.tax-rate {
    padding: 2px 0 6px;
}

.woocommerce-cart .bl-cart-totals-card table.bl-totals-table tr.tax-total th,
.woocommerce-cart .bl-cart-totals-card table.bl-totals-table tr.tax-rate th,
.woocommerce-cart .bl-cart-totals-card table.bl-totals-table tr.tax-total td,
.woocommerce-cart .bl-cart-totals-card table.bl-totals-table tr.tax-rate td {
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #71717a !important;
}

.woocommerce-cart .bl-cart-totals-card .wc-proceed-to-checkout {
    margin-top: auto;
    padding-top: 12px;
}

.woocommerce-cart .bl-cart-totals-card .checkout-button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    min-height: 46px;
    padding: 12px 24px;
    background: #815aa2 !important;
    color: #fff !important;
    font-size: 15px;
    font-weight: 700;
    border-radius: 0 !important;
    text-align: center;
    text-decoration: none !important;
    box-sizing: border-box;
    transition: background 0.15s ease;
    box-shadow: 0 2px 6px rgba(129, 90, 162, 0.25);
}

.woocommerce-cart .bl-cart-totals-card .checkout-button:hover {
    background: #6f478f !important;
}

/* Desktop 2-Column Cart Collaterals Layout */
@media (min-width: 769px) {
    .woocommerce-cart .cart-collaterals {
        margin-top: 28px;
    }

    .woocommerce-cart .cart_totals {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
            "shipping delivery"
            "totals totals";
        gap: 24px;
        align-items: start;
        text-align: left;
        width: 100% !important;
    }

    .woocommerce-cart .bl-cart-shipping-card {
        grid-area: shipping;
        margin-bottom: 0;
        display: flex;
        flex-direction: column;
    }

    .woocommerce-cart #blumigo-delivery-calendar {
        grid-area: delivery;
        grid-column: auto;
        margin-bottom: 0;
        width: 100%;
    }

    .woocommerce-cart .bl-cart-totals-card {
        grid-area: totals;
        grid-column: 1 / -1;
        margin-bottom: 0;
        display: flex;
        flex-direction: column;
    }

    .woocommerce-cart .bl-cart-totals-card .bl-totals-grid-wrap {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        gap: 32px;
    }

    .woocommerce-cart .bl-cart-totals-card table.bl-totals-table {
        flex: 1;
        max-width: 580px;
        margin-bottom: 0 !important;
    }

    .woocommerce-cart .bl-cart-totals-card .bl-totals-action-wrap {
        flex: 0 0 340px;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
    }

    .woocommerce-cart .bl-cart-totals-card .wc-proceed-to-checkout {
        margin-top: 0;
        padding-top: 0;
    }
}

@media (min-width: 769px) and (max-width: 991px) {
    .woocommerce-cart .bl-cart-totals-card .bl-totals-grid-wrap {
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
    }

    .woocommerce-cart .bl-cart-totals-card table.bl-totals-table {
        max-width: 100%;
    }

    .woocommerce-cart .bl-cart-totals-card .bl-totals-action-wrap {
        flex: auto;
    }
}


/* ==========================================================================
   Blumigo Checkout Address & Header Styling (Mockup Alignment)
   ========================================================================== */

/* Remove heavy border-bottom from entry on checkout / cart */
.woocommerce-checkout .hentry,
.woocommerce-checkout article.hentry,
.woocommerce-order-received .hentry,
.woocommerce-cart .hentry {
    border-bottom: none !important;
}

/* Checkout columns layout alignment */
.woocommerce-checkout #customer_details {
    display: flex !important;
    align-items: flex-start !important;
    padding-bottom: 20px !important;
}

.woocommerce-checkout #customer_details .column.col-1,
.woocommerce-checkout #customer_details .column.col-2 {
    display: block !important;
    float: none !important;
    width: 50% !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    vertical-align: top !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout #customer_details .column.col-1 {
    padding-right: 5% !important;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Headings */
.woocommerce-checkout h3.blumigo-checkout-heading {
    font-size: 19px !important;
    font-weight: 700 !important;
    color: #222 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    line-height: 26px !important;
    height: 26px !important;
    letter-spacing: -0.2px !important;
}

/* Billing & Shipping header rows: exactly matched height, baseline and margin */
.blumigo-billing-header-row,
.blumigo-shipping-header-row {
    display: flex !important;
    align-items: center !important;
    height: 26px !important;
    min-height: 26px !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
    box-sizing: border-box !important;
}

.blumigo-shipping-header-row {
    justify-content: space-between !important;
    gap: 8px !important;
}

.blumigo-billing-header-row .blumigo-billing-heading,
.blumigo-shipping-header-row .blumigo-shipping-heading {
    margin: 0 !important;
    height: 26px !important;
    line-height: 26px !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}

.blumigo-shipping-header-row #ship-to-different-address {
    margin: 0 !important;
    height: 26px !important;
    display: flex !important;
    align-items: center !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #222 !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    line-height: 26px !important;
}

.blumigo-shipping-header-row #ship-to-different-address label.checkbox {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    cursor: pointer !important;
    font-weight: 500 !important;
    font-size: 13px !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
}

.blumigo-shipping-header-row #ship-to-different-address label.checkbox span {
    white-space: nowrap !important;
    display: inline-block !important;
    line-height: 1.2 !important;
}

.blumigo-shipping-header-row #ship-to-different-address input#ship-to-different-address-checkbox {
    margin: 0 !important;
    width: 16px !important;
    height: 16px !important;
    cursor: pointer !important;
    accent-color: #119051 !important;
    position: relative !important;
    top: -1px !important;
    vertical-align: middle !important;
    flex-shrink: 0 !important;
}

/* Notice box: "Gut zu wissen: Der Lieferung liegt keine Rechnung bei..." */
.blumigo-shipping-notice-box {
    background-color: #f2f2f2 !important;
    border-radius: 3px !important;
    padding: 14px 18px !important;
    margin-top: 0 !important;
    margin-bottom: 22px !important;
    font-size: 13.5px !important;
    line-height: 1.45 !important;
    color: #444 !important;
    box-sizing: border-box !important;
}

.blumigo-shipping-notice-box strong {
    color: #222 !important;
    font-weight: 700 !important;
}

/* Ensure first billing row top aligns precisely with shipping notice box */
.woocommerce-checkout .woocommerce-billing-fields p.form-row:first-child,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > p.form-row:first-of-type,
.woocommerce-checkout .woocommerce-billing-fields p.form-row#billing_first_name_field {
    margin-top: 0 !important;
}

/* Form row layout: 30% label on left, 70% input-wrapper on right */
.woocommerce-checkout .woocommerce-billing-fields p.form-row:not(.create-account),
.woocommerce-checkout .woocommerce-shipping-fields .shipping_address p.form-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    text-align: left !important;
    margin: 12px 0 !important;
}

.woocommerce-checkout .woocommerce-billing-fields p.form-row:not(.create-account) > label,
.woocommerce-checkout .woocommerce-shipping-fields .shipping_address p.form-row > label {
    width: 30% !important;
    max-width: 30% !important;
    flex: 0 0 30% !important;
    box-sizing: border-box !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 8px 12px 0 0 !important;
    font-size: 13.5px !important;
    line-height: 1.3 !important;
    color: #222 !important;
}

/* (optional) indicator directly beneath label */
.woocommerce-checkout p.form-row label span.optional {
    display: block !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    color: #777 !important;
    margin-top: 2px !important;
    line-height: 1.2 !important;
}

/* Input wrapper container */
.woocommerce-checkout .woocommerce-billing-fields p.form-row:not(.create-account) > .woocommerce-input-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields .shipping_address p.form-row > .woocommerce-input-wrapper {
    width: 70% !important;
    max-width: 70% !important;
    flex: 0 0 70% !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

.woocommerce-checkout .woocommerce-billing-fields p.form-row:not(.create-account) > .woocommerce-input-wrapper > input,
.woocommerce-checkout .woocommerce-billing-fields p.form-row:not(.create-account) > .woocommerce-input-wrapper > select,
.woocommerce-checkout .woocommerce-billing-fields p.form-row:not(.create-account) > .woocommerce-input-wrapper > .select2-container,
.woocommerce-checkout .woocommerce-shipping-fields .shipping_address p.form-row > .woocommerce-input-wrapper > input,
.woocommerce-checkout .woocommerce-shipping-fields .shipping_address p.form-row > .woocommerce-input-wrapper > select,
.woocommerce-checkout .woocommerce-shipping-fields .shipping_address p.form-row > .woocommerce-input-wrapper > .select2-container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    display: block !important;
    box-sizing: border-box !important;
}

/* Uniform styling for text inputs on checkout */
.woocommerce-checkout .woocommerce-billing-fields p.form-row:not(.create-account) > .woocommerce-input-wrapper > input,
.woocommerce-checkout .woocommerce-shipping-fields .shipping_address p.form-row > .woocommerce-input-wrapper > input,
.woocommerce-checkout .woocommerce-account-fields div.create-account input#account_password {
    border: 1px solid #CCC !important;
    border-radius: 0 !important;
    background-color: #fff !important;
    box-sizing: border-box !important;
    padding: 8px 10px !important;
    height: 38px !important;
    min-height: 38px !important;
    font-size: 14px !important;
    line-height: 20px !important;
    color: #222 !important;
    font-family: inherit !important;
}

/* Dropdown (select) styling - matching the clean input look with custom subtle chevron */
.woocommerce-checkout .woocommerce-billing-fields p.form-row:not(.create-account) > .woocommerce-input-wrapper > select,
.woocommerce-checkout .woocommerce-shipping-fields .shipping_address p.form-row > .woocommerce-input-wrapper > select,
.woocommerce-checkout select#billing_country,
.woocommerce-checkout select#shipping_country,
.woocommerce-checkout select.country_to_state,
.woocommerce-checkout select.country_select {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    height: 38px !important;
    min-height: 38px !important;
    border: 1px solid #CCC !important;
    border-radius: 0 !important;
    background-color: #fff !important;
    color: #222 !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 20px !important;
    padding: 8px 34px 8px 10px !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="%23555555" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>') !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
    background-size: 14px 14px !important;
    cursor: pointer !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Focus styles */
.woocommerce-checkout .woocommerce-billing-fields p.form-row:not(.create-account) > .woocommerce-input-wrapper > input:focus,
.woocommerce-checkout .woocommerce-shipping-fields .shipping_address p.form-row > .woocommerce-input-wrapper > input:focus,
.woocommerce-checkout .woocommerce-account-fields div.create-account input#account_password:focus,
.woocommerce-checkout select#billing_country:focus,
.woocommerce-checkout select#shipping_country:focus,
.woocommerce-checkout select.country_to_state:focus,
.woocommerce-checkout select.country_select:focus {
    border-color: #999 !important;
    outline: none !important;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.08) !important;
}

/* Select2 / SelectWoo compatibility if active */
.woocommerce-checkout .select2-container--default .select2-selection--single {
    border: 1px solid #CCC !important;
    border-radius: 0 !important;
    background-color: #fff !important;
    height: 38px !important;
    min-height: 38px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 36px !important;
    padding-left: 10px !important;
    padding-right: 34px !important;
    color: #222 !important;
    font-size: 14px !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 36px !important;
    right: 8px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 20px !important;
}

/* Field helper descriptions directly under inputs without extra gap */
.woocommerce-checkout p.form-row span.description {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 4px 0 0 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    color: #777 !important;
    text-align: left !important;
    clear: both !important;
}

/* ==========================================================================
   Kundenkonto erstellen Callout Box (Exact Mockup Match)
   ========================================================================== */
.woocommerce-checkout .blumigo-create-account-box {
    background-color: #f4f4f4 !important;
    border-radius: 2px !important;
    padding: 16px 20px !important;
    margin: 22px 0 16px 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    clear: both !important;
    text-align: left !important;
}

.woocommerce-checkout .blumigo-create-account-box p,
.woocommerce-checkout .blumigo-create-account-box p.form-row,
.woocommerce-checkout .blumigo-create-account-box p.form-row-wide,
.woocommerce-checkout .blumigo-create-account-box p.create-account {
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    display: block !important;
    width: 100% !important;
    float: none !important;
    clear: both !important;
}

.woocommerce-checkout .blumigo-create-account-box label,
.woocommerce-checkout .blumigo-create-account-box label.checkbox,
.woocommerce-checkout .blumigo-create-account-box p.form-row-wide label.checkbox {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    width: 100% !important;
    cursor: pointer !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    line-height: 1.3 !important;
    float: none !important;
}

.woocommerce-checkout .blumigo-create-account-box input#createaccount,
.woocommerce-checkout .blumigo-create-account-box .input-checkbox,
.woocommerce-checkout .blumigo-create-account-box p.form-row-wide .input-checkbox {
    float: none !important;
    margin: 2px 0 0 0 !important;
    width: 18px !important;
    min-width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
    cursor: pointer !important;
    accent-color: #119051 !important;
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    display: inline-block !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout .blumigo-create-account-box .blumigo-create-account-text-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    text-align: left !important;
    gap: 4px !important;
    flex: 1 1 auto !important;
}

.woocommerce-checkout .blumigo-create-account-box .blumigo-create-account-title {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #111 !important;
    line-height: 1.25 !important;
    display: block !important;
    text-align: left !important;
}

.woocommerce-checkout .blumigo-create-account-box .blumigo-create-account-desc {
    font-size: 12px !important;
    font-weight: 400 !important;
    color: #666 !important;
    line-height: 1.35 !important;
    display: block !important;
    text-align: left !important;
}

/* Password field dropdown if checked */
.woocommerce-checkout .woocommerce-account-fields div.create-account {
    margin: 14px 0 0 0 !important;
    padding: 0 !important;
    text-align: left !important;
    width: 100% !important;
}

.woocommerce-checkout .woocommerce-account-fields div.create-account p.form-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    text-align: left !important;
    margin: 12px 0 !important;
    width: 100% !important;
}

.woocommerce-checkout .woocommerce-account-fields div.create-account p.form-row > label {
    width: 30% !important;
    max-width: 30% !important;
    flex: 0 0 30% !important;
    box-sizing: border-box !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 8px 12px 0 0 !important;
    font-size: 13.5px !important;
    line-height: 1.3 !important;
    color: #222 !important;
}

.woocommerce-checkout .woocommerce-account-fields div.create-account p.form-row > .woocommerce-input-wrapper {
    width: 70% !important;
    max-width: 70% !important;
    flex: 0 0 70% !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    position: relative !important;
}

/* Password input & wrapper */
.woocommerce-checkout .woocommerce-account-fields .password-input,
.woocommerce-checkout .password-input {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-checkout .woocommerce-account-fields .password-input input[type="password"],
.woocommerce-checkout .woocommerce-account-fields .password-input input[type="text"],
.woocommerce-checkout .woocommerce-account-fields div.create-account input#account_password {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding-right: 40px !important;
}

/* Show/hide password button - remove purple background, style as subtle icon button inside field */
.woocommerce-checkout button.show-password-input,
.woocommerce-checkout .password-input button.show-password-input,
.woocommerce-checkout .woocommerce-account-fields button.show-password-input {
    position: absolute !important;
    right: 8px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 28px !important;
    height: 28px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 5 !important;
    border-radius: 0 !important;
    outline: none !important;
    text-transform: none !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

.woocommerce-checkout button.show-password-input:hover,
.woocommerce-checkout button.show-password-input:focus,
.woocommerce-checkout .password-input button.show-password-input:hover,
.woocommerce-checkout .password-input button.show-password-input:focus,
.woocommerce-checkout .woocommerce-account-fields button.show-password-input:hover,
.woocommerce-checkout .woocommerce-account-fields button.show-password-input:focus {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.woocommerce-checkout button.show-password-input::before {
    content: "" !important;
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    background-position: center !important;
    opacity: 0.45 !important;
    transition: opacity 0.2s ease !important;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="%23333333" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/></svg>') !important;
}

.woocommerce-checkout button.show-password-input:hover::before,
.woocommerce-checkout button.show-password-input:focus::before {
    opacity: 0.9 !important;
}

.woocommerce-checkout button.show-password-input.display-password::before {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="%23333333" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"/><line x1="1" y1="1" x2="23" y2="23"/></svg>') !important;
}

/* Password strength meter and hint */
.woocommerce-checkout .woocommerce-account-fields .woocommerce-password-strength {
    text-align: center !important;
    font-weight: 600 !important;
    padding: 6px 12px !important;
    margin-top: 6px !important;
    font-size: 11.5px !important;
    line-height: 1.3 !important;
    border-radius: 3px !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

.woocommerce-checkout .woocommerce-account-fields .woocommerce-password-strength.short,
.woocommerce-checkout .woocommerce-account-fields .woocommerce-password-strength.bad {
    background-color: #fbeae5 !important;
    color: #c02b0a !important;
    border: 1px solid #f5c6cb !important;
}

.woocommerce-checkout .woocommerce-account-fields .woocommerce-password-strength.good {
    background-color: #fef9e7 !important;
    color: #936500 !important;
    border: 1px solid #faebcc !important;
}

.woocommerce-checkout .woocommerce-account-fields .woocommerce-password-strength.strong {
    background-color: #eafaf1 !important;
    color: #119051 !important;
    border: 1px solid #c3e6cb !important;
}

.woocommerce-checkout .woocommerce-account-fields .woocommerce-password-hint {
    display: block !important;
    margin: 5px 0 0 0 !important;
    font-size: 11px !important;
    color: #666 !important;
    line-height: 1.35 !important;
    text-align: left !important;
}

/* Inline live validation styles & WooCommerce invalid required fields */
.woocommerce-checkout .blumigo-input-error,
.woocommerce-checkout .woocommerce-billing-fields p.form-row.woocommerce-invalid:not(.woocommerce-validated) > .woocommerce-input-wrapper > input,
.woocommerce-checkout .woocommerce-billing-fields p.form-row.woocommerce-invalid:not(.woocommerce-validated) > .woocommerce-input-wrapper > select,
.woocommerce-checkout .woocommerce-billing-fields p.form-row.woocommerce-invalid:not(.woocommerce-validated) > .woocommerce-input-wrapper > .select2-container .select2-selection,
.woocommerce-checkout .woocommerce-shipping-fields p.form-row.woocommerce-invalid:not(.woocommerce-validated) > .woocommerce-input-wrapper > input,
.woocommerce-checkout .woocommerce-shipping-fields p.form-row.woocommerce-invalid:not(.woocommerce-validated) > .woocommerce-input-wrapper > select {
    border-color: #d9381e !important;
    background-color: #fffaf9 !important;
    box-shadow: 0 0 0 1px #d9381e !important;
}

.woocommerce-checkout .blumigo-inline-error {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 4px 0 0 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    color: #d9381e !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    text-align: left !important;
    clear: both !important;
}

.woocommerce-checkout .woocommerce-billing-fields p.form-row.woocommerce-invalid-required-field:not(.woocommerce-validated) > .woocommerce-input-wrapper:after,
.woocommerce-checkout .woocommerce-shipping-fields p.form-row.woocommerce-invalid-required-field:not(.woocommerce-validated) > .woocommerce-input-wrapper:after {
    content: 'Bitte fülle dieses Feld aus.';
    display: block !important;
    width: 100% !important;
    margin: 4px 0 0 0 !important;
    color: #d9381e !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    text-align: left !important;
}

.woocommerce-checkout .woocommerce-billing-fields p.form-row.blumigo-field-has-error > .woocommerce-input-wrapper:after,
.woocommerce-checkout .woocommerce-shipping-fields p.form-row.blumigo-field-has-error > .woocommerce-input-wrapper:after {
    display: none !important;
}

@media (max-width: 768px) {
    .woocommerce-checkout #customer_details {
        flex-direction: column !important;
    }

    .woocommerce-checkout #customer_details .column.col-1,
    .woocommerce-checkout #customer_details .column.col-2 {
        width: 100% !important;
        padding-right: 0 !important;
    }

    .woocommerce-checkout .woocommerce-billing-fields p.form-row:not(.create-account),
    .woocommerce-checkout .woocommerce-shipping-fields .shipping_address p.form-row,
    .woocommerce-checkout .woocommerce-account-fields div.create-account p.form-row {
        flex-direction: column !important;
    }

    .woocommerce-checkout .woocommerce-billing-fields p.form-row:not(.create-account) > label,
    .woocommerce-checkout .woocommerce-shipping-fields .shipping_address p.form-row > label,
    .woocommerce-checkout .woocommerce-account-fields div.create-account p.form-row > label {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        padding: 0 0 6px 0 !important;
    }

    .woocommerce-checkout .woocommerce-billing-fields p.form-row:not(.create-account) > .woocommerce-input-wrapper,
    .woocommerce-checkout .woocommerce-shipping-fields .shipping_address p.form-row > .woocommerce-input-wrapper,
    .woocommerce-checkout .woocommerce-account-fields div.create-account p.form-row > .woocommerce-input-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }

    .blumigo-shipping-header-row {
        flex-direction: column !important;
        align-items: flex-start !important;
        height: auto !important;
        gap: 8px !important;
    }
}

/* ==========================================================================
   Blumigo Greeting Card / Gift Wrap (Sind die Blumen ein Geschenk?)
   ========================================================================== */

#gemagiftfront.bl-cart-card,
.blumigo-giftwrap-card {
    background: #ffffff !important;
    border: 1px solid #ede8f2 !important;
    border-radius: 0 !important;
    padding: 24px !important;
    margin: 28px 0 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03) !important;
    box-sizing: border-box !important;
    width: 100% !important;
    float: none !important;
    clear: both !important;
    text-align: left !important;
}

/* Header */
.blumigo-giftwrap-card .bl-giftcard-header {
    margin-bottom: 20px !important;
    text-align: left !important;
}

.blumigo-giftwrap-card .bl-giftcard-title-row {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 6px !important;
}

.blumigo-giftwrap-card .bl-giftcard-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #815aa2 !important;
    flex-shrink: 0 !important;
}

.blumigo-giftwrap-card .bl-cart-card-title {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #1e1b26 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.25 !important;
    text-align: left !important;
}

.blumigo-giftwrap-card .bl-giftcard-subtitle {
    font-size: 14px !important;
    color: #6b7280 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
    text-align: left !important;
}

/* Status banner if already in cart */
.blumigo-giftwrap-card .bl-giftcard-status-banner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    background-color: #f7f2fc !important;
    border: 1px solid #e2d5ef !important;
    border-radius: 4px !important;
    padding: 10px 14px !important;
    margin-bottom: 20px !important;
    font-size: 14px !important;
    color: #3b2054 !important;
}

.blumigo-giftwrap-card .bl-status-content {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

.blumigo-giftwrap-card .bl-status-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    background: #815aa2 !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    padding: 3px 8px !important;
    border-radius: 3px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.4px !important;
}

.blumigo-giftwrap-card .bl-status-card-name {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #1e1b26 !important;
}

.blumigo-giftwrap-card .bl-status-hint {
    font-size: 12.5px !important;
    color: #71717a !important;
}

/* Form */
.blumigo-giftwrap-card .bl-giftcard-form {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

/* Cards Grid */
.blumigo-giftwrap-card .bl-giftcard-grid {
    display: grid !important;
    grid-template-columns: repeat(7, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
}

/* Card Tile */
.blumigo-giftwrap-card .bl-giftcard-item {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: center !important;
    background: #ffffff !important;
    border: 1.5px solid #ede8f2 !important;
    border-radius: 4px !important;
    padding: 10px 8px 12px !important;
    cursor: pointer !important;
    user-select: none !important;
    transition: all 0.18s ease !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    text-decoration: none !important;
}

.blumigo-giftwrap-card .bl-giftcard-item:hover {
    border-color: #cbb7df !important;
    box-shadow: 0 4px 12px rgba(129, 90, 162, 0.08) !important;
    transform: translateY(-2px) !important;
}

.blumigo-giftwrap-card .bl-giftcard-item.is-selected,
.blumigo-giftwrap-card .bl-giftcard-item:has(input:checked) {
    border-color: #815aa2 !important;
    background: #faf7fc !important;
    box-shadow: 0 0 0 1px #815aa2, 0 4px 14px rgba(129, 90, 162, 0.14) !important;
}

/* Hide native radio input cleanly */
.blumigo-giftwrap-card .bl-giftcard-radio {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    pointer-events: none !important;
}

/* Custom Indicator Dot / Checkmark */
.blumigo-giftwrap-card .bl-giftcard-indicator {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    width: 18px !important;
    height: 18px !important;
    border-radius: 50% !important;
    border: 1.5px solid #d1d5db !important;
    background: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.18s ease !important;
    z-index: 2 !important;
    box-sizing: border-box !important;
}

.blumigo-giftwrap-card .bl-giftcard-indicator svg {
    opacity: 0 !important;
    transform: scale(0.6) !important;
    transition: all 0.15s ease !important;
    color: #ffffff !important;
}

.blumigo-giftwrap-card .bl-giftcard-item:hover .bl-giftcard-indicator {
    border-color: #815aa2 !important;
}

.blumigo-giftwrap-card .bl-giftcard-item.is-selected .bl-giftcard-indicator,
.blumigo-giftwrap-card .bl-giftcard-item:has(input:checked) .bl-giftcard-indicator {
    border-color: #815aa2 !important;
    background: #815aa2 !important;
}

.blumigo-giftwrap-card .bl-giftcard-item.is-selected .bl-giftcard-indicator svg,
.blumigo-giftwrap-card .bl-giftcard-item:has(input:checked) .bl-giftcard-indicator svg {
    opacity: 1 !important;
    transform: scale(1) !important;
}

/* Image Wrap */
.blumigo-giftwrap-card .bl-giftcard-img-wrap {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 3px !important;
    overflow: hidden !important;
    background: #fafafa !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 14px !important;
    margin-bottom: 8px !important;
    box-sizing: border-box !important;
}

.blumigo-giftwrap-card .bl-giftcard-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    display: block !important;
    transition: transform 0.2s ease !important;
}

.blumigo-giftwrap-card .bl-giftcard-item:hover .bl-giftcard-img {
    transform: scale(1.03) !important;
}

/* Card Info */
.blumigo-giftwrap-card .bl-giftcard-info {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 4px !important;
}

.blumigo-giftwrap-card .bl-giftcard-name {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #1e1b26 !important;
    line-height: 1.25 !important;
    min-height: 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    word-break: break-word !important;
}

.blumigo-giftwrap-card .bl-giftcard-price {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #815aa2 !important;
    text-align: center !important;
    line-height: 1 !important;
}

.blumigo-giftwrap-card .bl-giftcard-price .woocommerce-Price-amount {
    color: #815aa2 !important;
}

/* Notes Area */
.blumigo-giftwrap-card .bl-giftcard-notes-group {
    border-top: 1px solid #f0ecf4 !important;
    padding-top: 20px !important;
    margin-top: 22px !important;
    width: 100% !important;
    text-align: left !important;
}

.blumigo-giftwrap-card .bl-giftcard-notes-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-bottom: 8px !important;
}

.blumigo-giftwrap-card .bl-notes-title {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #1e1b26 !important;
    display: block !important;
    margin: 0 !important;
}

.blumigo-giftwrap-card .bl-notes-hint {
    font-size: 12.5px !important;
    font-weight: 400 !important;
    color: #6b7280 !important;
    display: block !important;
}

.blumigo-giftwrap-card .bl-giftcard-textarea-wrapper {
    position: relative !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.blumigo-giftwrap-card textarea#gema75_wc_giftwrap_notes {
    width: 100% !important;
    min-height: 96px !important;
    max-height: 240px !important;
    border: 1px solid #d1d5db !important;
    border-radius: 2px !important;
    background-color: #ffffff !important;
    box-sizing: border-box !important;
    padding: 12px 14px 28px 14px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #222 !important;
    font-family: inherit !important;
    resize: vertical !important;
    outline: none !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

.blumigo-giftwrap-card textarea#gema75_wc_giftwrap_notes:focus {
    border-color: #815aa2 !important;
    box-shadow: 0 0 0 3px rgba(129, 90, 162, 0.15) !important;
    outline: none !important;
}

.blumigo-giftwrap-card .bl-char-counter {
    position: absolute !important;
    right: 12px !important;
    bottom: 8px !important;
    font-size: 11px !important;
    color: #8c8c8c !important;
    pointer-events: none !important;
    line-height: 1 !important;
}

/* Actions Row */
.blumigo-giftwrap-card .bl-giftcard-actions {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin-top: 16px !important;
}

.blumigo-giftwrap-card .bl-giftcard-actions-left {
    display: flex !important;
    align-items: center !important;
}

.blumigo-giftwrap-card .bl-giftcard-actions-right {
    display: flex !important;
    align-items: center !important;
    margin-left: auto !important;
}

/* Primary Button */
.blumigo-giftwrap-card button.bl-giftcard-btn-submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 44px !important;
    padding: 11px 24px !important;
    background: #815aa2 !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px !important;
    border-radius: 0 !important;
    border: none !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    text-decoration: none !important;
    box-shadow: 0 2px 6px rgba(129, 90, 162, 0.22) !important;
    transition: background-color 0.15s ease, transform 0.1s ease !important;
}

.blumigo-giftwrap-card button.bl-giftcard-btn-submit:hover {
    background: #6e468d !important;
    transform: translateY(-1px) !important;
}

.blumigo-giftwrap-card button.bl-giftcard-btn-submit:active {
    transform: translateY(0) !important;
}

/* Secondary Remove Button */
.blumigo-giftwrap-card button.bl-giftcard-btn-remove {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: transparent !important;
    border: none !important;
    color: #888888 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    padding: 8px 10px !important;
    border-radius: 3px !important;
    transition: all 0.15s ease !important;
    text-decoration: underline !important;
}

.blumigo-giftwrap-card button.bl-giftcard-btn-remove:hover {
    color: #dc2626 !important;
    background: #fef2f2 !important;
    text-decoration: none !important;
}

/* Responsive Grid */
@media (max-width: 1024px) {
    .blumigo-giftwrap-card .bl-giftcard-grid {
        grid-template-columns: repeat(4, 1fr) !important;
    }
}

@media (max-width: 680px) {
    .blumigo-giftwrap-card {
        padding: 16px !important;
    }

    .blumigo-giftwrap-card .bl-giftcard-grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 8px !important;
    }

    .blumigo-giftwrap-card .bl-giftcard-notes-header {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 4px !important;
    }

    .blumigo-giftwrap-card .bl-giftcard-actions {
        flex-direction: column-reverse !important;
        width: 100% !important;
        align-items: stretch !important;
    }

    .blumigo-giftwrap-card .bl-giftcard-actions-right,
    .blumigo-giftwrap-card .bl-giftcard-actions-left {
        width: 100% !important;
        margin-left: 0 !important;
    }

    .blumigo-giftwrap-card button.bl-giftcard-btn-submit {
        width: 100% !important;
    }

    .blumigo-giftwrap-card button.bl-giftcard-btn-remove {
        width: 100% !important;
        justify-content: center !important;
    }
}

@media (max-width: 440px) {
    .blumigo-giftwrap-card .bl-giftcard-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* ==========================================================================
   Checkout Barrier (Out of Stock / Invalid Cart Protection)
   ========================================================================== */
.bl-checkout-blocked-notice {
    position: relative;
    display: block;
    background-color: #fff5f5;
    border: 1px solid #fed7d7;
    border-radius: 8px;
    padding: 16px 20px 16px 52px;
    margin: 0 0 16px 0;
    color: #4a5568;
    font-size: 14px;
    line-height: 1.55;
    box-shadow: 0 4px 14px rgba(229, 62, 62, 0.08);
    box-sizing: border-box;
}

.bl-checkout-blocked-content strong {
    color: #c53030;
    font-weight: 700;
}

.checkout-button.bl-checkout-button-disabled,
.checkout-button[disabled],
button.checkout-button:disabled,
a.checkout-button.bl-checkout-button-disabled {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    filter: grayscale(80%) !important;
    box-shadow: none !important;
    background-color: #a0aec0 !important;
    border-color: #a0aec0 !important;
}

/* ==========================================================================
   Modern WooCommerce Notices (Error, Info, Message / Success)
   ========================================================================== */

.woocommerce-error,
ul.woocommerce-error {
    position: relative !important;
    display: block !important;
    margin: 18px 0 24px !important;
    padding: 16px 20px 16px 52px !important;
    list-style: none !important;
    line-height: 1.55 !important;
    background-color: #fff5f5 !important;
    border: 1px solid #fed7d7 !important;
    border-radius: 8px !important;
    color: #4a5568 !important;
    font-size: 14px !important;
    box-shadow: 0 4px 14px rgba(229, 62, 62, 0.08) !important;
    box-sizing: border-box !important;
}

.woocommerce-error:before,
ul.woocommerce-error:before,
.bl-checkout-blocked-icon {
    content: "" !important;
    position: absolute !important;
    top: 17px !important;
    left: 18px !important;
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    background-color: #e53e3e !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='8' x2='12' y2='12'/%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'/%3E%3C/svg%3E") !important;
    background-size: 22px 22px !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    box-shadow: 0 2px 6px rgba(229, 62, 62, 0.3) !important;
}

.woocommerce-error li,
ul.woocommerce-error li {
    position: relative !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    color: #4a5568 !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    list-style: none !important;
}

ul.woocommerce-error li:not(:only-child) {
    padding-left: 14px !important;
}

ul.woocommerce-error li:not(:only-child)::before {
    content: "•" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    color: #e53e3e !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
}

.woocommerce-error li:last-child,
ul.woocommerce-error li:last-child {
    margin-bottom: 0 !important;
}

.woocommerce-error a,
ul.woocommerce-error a {
    color: #c53030 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    border-bottom: 1px dashed rgba(197, 48, 48, 0.45) !important;
    padding-bottom: 1px !important;
    transition: all 0.2s ease !important;
}

.woocommerce-error a:hover,
ul.woocommerce-error a:hover {
    color: #9b2c2c !important;
    border-bottom: 1px solid #9b2c2c !important;
}

.woocommerce-info {
    position: relative !important;
    display: block !important;
    margin: 18px 0 24px !important;
    padding: 16px 20px 16px 52px !important;
    line-height: 1.55 !important;
    background-color: #f7fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    color: #4a5568 !important;
    font-size: 14px !important;
    box-shadow: 0 4px 14px rgba(131, 91, 162, 0.08) !important;
    box-sizing: border-box !important;
}

.woocommerce-info:before {
    content: "" !important;
    position: absolute !important;
    top: 17px !important;
    left: 18px !important;
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    background-color: #835ba2 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='16' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'/%3E%3C/svg%3E") !important;
    background-size: 22px 22px !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    box-shadow: 0 2px 6px rgba(131, 91, 162, 0.3) !important;
}

.woocommerce-info a {
    color: #835ba2 !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
}

.woocommerce-message {
    position: relative !important;
    display: block !important;
    margin: 18px 0 24px !important;
    padding: 16px 20px 16px 52px !important;
    line-height: 1.55 !important;
    background-color: #f0fdf4 !important;
    border: 1px solid #bbf7d0 !important;
    border-radius: 8px !important;
    color: #276749 !important;
    font-size: 14px !important;
    box-shadow: 0 4px 14px rgba(22, 163, 74, 0.08) !important;
    box-sizing: border-box !important;
}

.woocommerce-message:before {
    content: "" !important;
    position: absolute !important;
    top: 17px !important;
    left: 18px !important;
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    background-color: #16a34a !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") !important;
    background-size: 16px 16px !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    box-shadow: 0 2px 6px rgba(22, 163, 74, 0.3) !important;
}

.woocommerce-message:has(.vp-add-to-cart-success):before {
    top: 20px !important;
}

.woocommerce-message a:not(.button) {
    color: #16a34a !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
}

/* ==========================================================================
   Modern Variable Product Swatches (Box / Pill Style)
   ========================================================================== */

table.variations.bl-swatches-active,
.single-product table.variations.bl-swatches-active,
div.product table.variations.bl-swatches-active {
    display: block !important;
    width: 100% !important;
    border: none !important;
    margin: 0 0 22px 0 !important;
    text-align: left !important;
}

table.variations.bl-swatches-active tbody,
table.variations.bl-swatches-active tr,
div.product table.variations.bl-swatches-active tr {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
}

table.variations.bl-swatches-active tr,
div.product table.variations.bl-swatches-active tr {
    margin-bottom: 20px !important;
}

table.variations.bl-swatches-active tr:last-child {
    margin-bottom: 10px !important;
}

table.variations.bl-swatches-active th.label,
div.product table.variations.bl-swatches-active th.label {
    display: block !important;
    width: 100% !important;
    padding: 0 0 8px 0 !important;
    min-width: auto !important;
    text-align: left !important;
    float: none !important;
}

table.variations.bl-swatches-active th.label label,
div.product table.variations.bl-swatches-active th.label label {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1f2937 !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    text-transform: none !important;
    letter-spacing: 0.01em !important;
}

table.variations.bl-swatches-active td.value,
div.product table.variations.bl-swatches-active td.value,
div.product table.variations.bl-swatches-active tr td {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    text-align: left !important;
    float: none !important;
    min-width: 0 !important;
}

table.variations.bl-swatches-active td.value select.blausfuehrung,
table.variations.bl-swatches-active td.value select {
    display: none !important;
}

.bl-swatches-container {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    align-items: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
}

.bl-swatch-box,
button.bl-swatch-box,
table.variations.bl-swatches-active .bl-swatch-box {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 11px 22px !important;
    min-height: 48px !important;
    background-color: #ffffff !important;
    border: 1.5px solid #cbd5e1 !important;
    border-radius: 5px !important;
    color: #1e293b !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    font-family: inherit !important;
    line-height: 1.35 !important;
    text-align: center !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    cursor: pointer !important;
    user-select: none !important;
    transition: all 0.18s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    box-sizing: border-box !important;
    text-decoration: none !important;
    outline: none !important;
}

.bl-swatch-box:hover:not(.is-disabled) {
    border-color: #835ba2 !important;
    color: #59257c !important;
    background-color: #faf5fc !important;
    box-shadow: 0 2px 5px rgba(131, 91, 162, 0.1) !important;
}

.bl-swatch-box.is-selected,
button.bl-swatch-box.is-selected,
table.variations.bl-swatches-active .bl-swatch-box.is-selected {
    border: 2px solid #835ba2 !important;
    background-color: #f3e8fa !important;
    color: #59257c !important;
    font-weight: 700 !important;
    box-shadow: 0 0 0 1px #835ba2, 0 2px 8px rgba(131, 91, 162, 0.18) !important;
}

.bl-swatch-box__check {
    display: none;
    width: 18px !important;
    height: 18px !important;
    margin-right: 8px !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
}

.bl-swatch-box.is-selected .bl-swatch-box__check {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.bl-swatch-box__check svg {
    width: 18px !important;
    height: 18px !important;
    stroke: #59257c !important;
    fill: none !important;
    display: block !important;
}

.bl-swatch-box__label {
    display: inline-block !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.bl-swatch-box.is-disabled,
button.bl-swatch-box.is-disabled {
    opacity: 0.45 !important;
    background-color: #f9fafb !important;
    border-color: #e5e7eb !important;
    color: #9ca3af !important;
    cursor: not-allowed !important;
    text-decoration: line-through !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    box-shadow: none !important;
    pointer-events: none !important;
}

table.variations.bl-swatches-active .reset_variations,
div.product .variations .reset_variations {
    display: none !important;
}

@media (max-width: 480px) {
    .bl-swatches-container {
        gap: 8px !important;
    }
    
    .bl-swatch-box {
        padding: 9px 14px !important;
        font-size: 13.5px !important;
        border-radius: 4px !important;
    }
}

/* ==========================================================================
   Modern UX Variation Selection Validation & Toast
   ========================================================================== */

/* Button Shake Animation when clicked without required options */
@keyframes bl-shake-btn {
    0%, 100% { transform: translateX(0); }
    15%, 55%, 85% { transform: translateX(-6px); }
    35%, 75% { transform: translateX(6px); }
}

.bl-shake-btn {
    animation: bl-shake-btn 0.45s cubic-bezier(0.36, 0.07, 0.19, 0.97) both !important;
}

/* Missing Option Inline Badge */
.bl-attribute-missing-hint {
    display: inline-block !important;
    margin-left: 8px !important;
    padding: 2px 9px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #e11d48 !important;
    background-color: #fff1f2 !important;
    border: 1px solid #fecdd3 !important;
    border-radius: 999px !important;
    line-height: 1.3 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    vertical-align: middle !important;
    animation: bl-fade-in-hint 0.25s ease-out !important;
}

@keyframes bl-fade-in-hint {
    from { opacity: 0; transform: translateY(-3px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Row error pulse */
@keyframes bl-swatch-error-pulse {
    0% { border-color: #cbd5e1; box-shadow: 0 0 0 0 rgba(225, 29, 72, 0.35); }
    50% { border-color: #f43f5e; box-shadow: 0 0 0 3px rgba(225, 29, 72, 0.18); }
    100% { border-color: #f43f5e; box-shadow: 0 0 0 0 rgba(225, 29, 72, 0); }
}

table.variations tr.bl-row-has-error .bl-swatch-box:not(.is-disabled) {
    border-color: #f43f5e !important;
    animation: bl-swatch-error-pulse 0.75s ease-out !important;
}

/* Refined, compact status pill above pricing box - snug fit, no empty voids */
.bl-variation-toast {
    display: none;
    width: auto !important;
    max-width: 279px !important;
    float: right !important;
    clear: right !important;
    margin: 0 0 10px 0 !important;
    padding: 6px 14px !important;
    background: #fbf7fd !important;
    border: 1px solid #d4bee8 !important;
    border-radius: 999px !important;
    box-shadow: 0 2px 6px rgba(131, 91, 162, 0.08) !important;
    align-items: center !important;
    gap: 8px !important;
    text-align: left !important;
    box-sizing: border-box !important;
    position: static !important;
    animation: bl-toast-pop 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.bl-variation-toast[style*="display: block"],
.bl-variation-toast[style*="display: inline-flex"] {
    display: inline-flex !important;
}

@keyframes bl-toast-pop {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}

.bl-variation-toast.is-warning {
    background: #fffbeb !important;
    border-color: #fcd34d !important;
    box-shadow: 0 2px 6px rgba(245, 158, 11, 0.08) !important;
}

.bl-variation-toast__icon {
    width: 16px !important;
    height: 16px !important;
    flex-shrink: 0 !important;
    color: #835ba2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.bl-variation-toast.is-warning .bl-variation-toast__icon {
    color: #d97706 !important;
}

.bl-variation-toast__icon svg {
    width: 16px !important;
    height: 16px !important;
    stroke: #835ba2 !important;
    fill: none !important;
    display: block !important;
}

.bl-variation-toast.is-warning .bl-variation-toast__icon svg {
    stroke: #d97706 !important;
}

.bl-variation-toast__text {
    flex-grow: 1 !important;
    font-size: 12.5px !important;
    line-height: 1.35 !important;
    color: #374151 !important;
    white-space: nowrap !important;
}

.bl-variation-toast__text strong {
    color: #59257c !important;
    font-weight: 700 !important;
}

.bl-variation-toast.is-warning .bl-variation-toast__text {
    color: #92400e !important;
}

@media (max-width: 480px) {
    .bl-variation-toast__text {
        white-space: normal !important;
    }
}

/* ==========================================================================
   Bulk Pricing Table (Mengenrabatte) - Classic Look with Refined Spacing
   ========================================================================== */

.bulk_pricing_discounts_wrapper {
    margin: 14px 0 18px 0;
    display: block;
    clear: both;
}

.bulk_pricing_discounts_wrapper > b:first-child,
.bulk_pricing_discounts_wrapper > strong:first-child {
    display: block;
    margin-bottom: 6px;
}

.bulk_pricing_discounts_wrapper > br {
    display: none;
}

.bulk_pricing_discounts,
.jb_bulk_pricing_discounts {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.bulk_pricing_discounts table,
.jb_bulk_pricing_discounts table {
    width: 100% !important;
    table-layout: fixed !important;
    border: 1px solid #ddd !important;
    border-collapse: separate !important;
    border-spacing: 3px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

.bulk_pricing_discounts table th,
.bulk_pricing_discounts table td,
.jb_bulk_pricing_discounts table th,
.jb_bulk_pricing_discounts table td {
    text-align: center !important;
    vertical-align: middle !important;
    border: 1px solid #eee !important;
    padding: 6px 4px !important;
    font-weight: 400 !important;
    background: transparent !important;
    color: inherit !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
}

/* ==========================================================================
   Checkout Multistep UX Improvements:
   1. Move privacy policy notice below Next-Step button (Step 1 Address)
   2. Top Quickstep button bar for logged-in customers
   ========================================================================== */

/* 1. Step 1: Reorder elements so button comes before privacy notice */
.woocommerce-multistep-checkout #step-wrapper-address.step-wrapper-active {
    display: flex !important;
    flex-direction: column !important;
}

.woocommerce-multistep-checkout #step-wrapper-address:not(.step-wrapper-active) {
    display: none !important;
}

.woocommerce-multistep-checkout #step-wrapper-address > #customer_details {
    order: 1 !important;
}

.woocommerce-multistep-checkout #step-wrapper-address > .step-buttons-address {
    order: 2 !important;
    margin-top: 15px !important;
}

.woocommerce-multistep-checkout #step-wrapper-address > p.data-privacy {
    order: 3 !important;
    margin-top: 14px !important;
    margin-bottom: 0 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: #666 !important;
}

.woocommerce-multistep-checkout #step-wrapper-address > p.data-privacy a {
    color: #815aa2 !important;
    text-decoration: underline !important;
}

/* 2. Top Quickstep bar for logged-in users */
.blumigo-checkout-top-quickstep {
    display: none;
    margin: 0 0 25px 0;
    padding: 14px 18px;
    background: #fbf9fc;
    border: 1px solid #e7deee;
    border-radius: 8px;
    box-sizing: border-box;
}

.woocommerce-multistep-checkout-active-address .blumigo-checkout-top-quickstep {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.blumigo-checkout-top-quickstep-info {
    display: flex;
    align-items: center;
    gap: 12px;
}

.blumigo-checkout-top-quickstep-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #ede6f3;
    color: #815aa2;
    flex-shrink: 0;
}

.blumigo-checkout-top-quickstep-text {
    display: flex;
    flex-direction: column;
}

.blumigo-checkout-top-quickstep-title {
    font-size: 15px;
    font-weight: 700;
    color: #2b2b2b;
    line-height: 1.3;
}

.blumigo-checkout-top-quickstep-subtitle {
    font-size: 13px;
    color: #666;
    line-height: 1.4;
}

.blumigo-top-next-step-button {
    background-color: #815aa2 !important;
    border: 1px solid #815aa2 !important;
    color: #fff !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    font-size: 13px !important;
    padding: 12px 22px !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 4px rgba(129, 90, 162, 0.2) !important;
}

.blumigo-top-next-step-button:hover {
    background-color: #6f4b8f !important;
    border-color: #6f4b8f !important;
    color: #fff !important;
    box-shadow: 0 3px 6px rgba(129, 90, 162, 0.3) !important;
}

@media (max-width: 768px) {
    .woocommerce-multistep-checkout-active-address .blumigo-checkout-top-quickstep {
        flex-direction: column;
        align-items: stretch;
        padding: 14px 14px;
        gap: 12px;
        margin-bottom: 20px;
    }

    .blumigo-top-next-step-button {
        width: 100% !important;
        text-align: center !important;
        padding: 12px 16px !important;
    }
}

/* ==========================================================================
   Mandatory Delivery (Garantierte Terminlieferung / Abholung)
   ========================================================================== */
.bl-cart-delivery-mandatory .bl-delivery-calendar-expanded {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: none !important;
    animation: none !important;
}

.bl-delivery-calendar__helper-notice {
    padding: 12px 18px !important;
    background: #faf8fc !important;
    border: 1px solid #ede8f2 !important;
    border-radius: 8px !important;
    margin-bottom: 14px !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

.bl-delivery-calendar__helper-notice .bl-helper-recommendation {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.bl-delivery-calendar-expanded .bl-delivery-calendar__calendar {
    border: 1px solid #e5e7eb !important;
    border-bottom: 0 !important;
    border-radius: 8px 8px 0 0 !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
}

.bl-delivery-calendar-expanded .bl-delivery-calendar__selection {
    min-height: auto !important;
    padding: 18px 20px 16px !important;
    border: 1px solid #e5e7eb !important;
    border-top: 1px solid #ede8f2 !important;
    border-radius: 0 0 8px 8px !important;
    background: #faf8fc !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

.bl-delivery-calendar-expanded .bl-delivery-calendar__selection .bl-range-title {
    font-family: 'Nexa Bold', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #1f2937 !important;
    margin-bottom: 2px !important;
}

.bl-delivery-calendar-expanded .bl-delivery-calendar__selection .bl-range-dates {
    font-family: 'Nexa Bold', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #111827 !important;
    margin-bottom: 2px !important;
}

.bl-delivery-calendar-expanded:has(.bl-delivery-calendar__time-slots) .bl-delivery-calendar__selection {
    border-bottom: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.bl-helper-recommendation {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 10px !important;
    margin-bottom: 2px !important;
    text-align: center !important;
    gap: 3px !important;
}

.bl-helper-event-text {
    font-size: 13px !important;
    line-height: 1.45 !important;
    color: #4b5563 !important;
    text-align: center !important;
}

a.bl-info-popup-link,
.bl-delivery-calendar__selection a.bl-info-popup-link,
.bl-delivery-calendar__helper-notice a.bl-info-popup-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    font-size: 14px !important;
    font-family: 'Nexa Bold', sans-serif !important;
    font-weight: 700 !important;
    color: #835ba2 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    margin-top: 3px !important;
    transition: color 0.15s ease !important;
}

a.bl-info-popup-link:hover,
.bl-delivery-calendar__selection a.bl-info-popup-link:hover,
.bl-delivery-calendar__helper-notice a.bl-info-popup-link:hover {
    color: #633f81 !important;
    text-decoration: none !important;
}

a.bl-info-popup-link .bl-arrow {
    display: inline-block !important;
    transition: transform 0.15s ease !important;
    font-size: 15px !important;
    line-height: 1 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
    font-weight: 700 !important;
}

a.bl-info-popup-link:hover .bl-arrow {
    transform: translateX(3px) !important;
}

.bl-guaranteed-warranty-hint {
    display: block !important;
    width: 100% !important;
    margin-top: 12px !important;
    padding-top: 12px !important;
    border-top: 1px solid #e5e7eb !important;
    font-size: 12.5px !important;
    line-height: 1.45 !important;
    color: #4b5563 !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

.bl-guaranteed-warranty-hint a {
    color: #835ba2 !important;
    font-family: 'Nexa Bold', sans-serif !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: color 0.15s ease !important;
}

.bl-guaranteed-warranty-hint a:hover {
    color: #633f81 !important;
    text-decoration: underline !important;
}

/* ==========================================================================
   Special Delivery Period Card (e.g. Advent / seasonal delivery)
   ========================================================================== */
.bl-special-period-card {
    background: #f8f6fc !important;
    border: 1px solid #ebe4f5 !important;
    border-radius: 12px !important;
    padding: 20px 22px !important;
    box-sizing: border-box !important;
    text-align: left !important;
    box-shadow: 0 1px 4px rgba(130, 88, 159, 0.03) !important;
}

.bl-special-period-card .bl-cart-card-title {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #16192e !important;
    margin: 0 0 14px 0 !important;
    line-height: 1.25 !important;
}

.bl-special-header {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    margin-bottom: 14px !important;
}

.bl-special-icon-img {
    width: 48px !important;
    height: 38px !important;
    object-fit: contain !important;
    flex-shrink: 0 !important;
}

.bl-special-icon-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #82589f !important;
}

.bl-special-intro {
    font-size: 13.5px !important;
    line-height: 1.45 !important;
    color: #2c3345 !important;
    font-weight: 500 !important;
}

.bl-special-highlight {
    background: #ffffff !important;
    border: 1px solid #ebe5f2 !important;
    border-radius: 8px !important;
    padding: 12px 14px !important;
    margin-bottom: 14px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    text-align: left !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
}

.bl-special-highlight-label {
    font-size: 12px !important;
    color: #64748b !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.bl-special-highlight-range {
    font-size: 15.5px !important;
    font-weight: 700 !important;
    color: #16192e !important;
    line-height: 1.35 !important;
}

.bl-special-note {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 12.5px !important;
    line-height: 1.4 !important;
    color: #64748b !important;
    text-align: left !important;
}

.bl-special-note-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #64748b !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
}

.bl-special-note-svg {
    display: block !important;
    width: 15px !important;
    height: 15px !important;
    color: #64748b !important;
}

.bl-special-note-text {
    flex-grow: 1 !important;
    font-size: 12.5px !important;
    line-height: 1.4 !important;
    color: #64748b !important;
}

@media (max-width: 600px) {
    .bl-special-note {
        align-items: flex-start !important;
    }
    .bl-special-note-icon {
        margin-top: 2px !important;
    }
}
