/* roboto-regular - latin */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/roboto-v20-latin-regular.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../fonts/roboto-v20-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('../fonts/roboto-v20-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */ url('../fonts/roboto-v20-latin-regular.woff') format('woff'), /* Modern Browsers */ url('../fonts/roboto-v20-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */ url('../fonts/roboto-v20-latin-regular.svg#Roboto') format('svg'); /* Legacy iOS */
}

/* roboto-500 - latin */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 500;
    src: url('../fonts/roboto-v20-latin-500.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../fonts/roboto-v20-latin-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('../fonts/roboto-v20-latin-500.woff2') format('woff2'), /* Super Modern Browsers */ url('../fonts/roboto-v20-latin-500.woff') format('woff'), /* Modern Browsers */ url('../fonts/roboto-v20-latin-500.ttf') format('truetype'), /* Safari, Android, iOS */ url('../fonts/roboto-v20-latin-500.svg#Roboto') format('svg'); /* Legacy iOS */
}

/* roboto-regular - latin */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/roboto-v20-latin-regular.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../fonts/roboto-v20-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('../fonts/roboto-v20-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */ url('../fonts/roboto-v20-latin-regular.woff') format('woff'), /* Modern Browsers */ url('../fonts/roboto-v20-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */ url('../fonts/roboto-v20-latin-regular.svg#Roboto') format('svg'); /* Legacy iOS */
}

/* roboto-700 - latin */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/roboto-v20-latin-700.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../fonts/roboto-v20-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('../fonts/roboto-v20-latin-700.woff2') format('woff2'), /* Super Modern Browsers */ url('../fonts/roboto-v20-latin-700.woff') format('woff'), /* Modern Browsers */ url('../fonts/roboto-v20-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */ url('../fonts/roboto-v20-latin-700.svg#Roboto') format('svg'); /* Legacy iOS */
}

@font-face {
    font-family: 'Durst Icons';
    src: url('../fonts/icomoon.eot?euzxd0');
    src: url('../fonts/icomoon.eot?euzxd0#iefix') format('embedded-opentype'),
    url('../fonts/icomoon.ttf?euzxd0') format('truetype'),
    url('../fonts/icomoon.woff?euzxd0') format('woff'),
    url('../fonts/icomoon.svg?euzxd0#icomoon') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

body, input, select {
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
}

.nav-tabs a,
a {
    color: var(--font-color-links);
}

.nav-tabs a:hover,
a:hover, a:focus, a:active {

    color: var(--higlight-color);

}


/*General Header*/
@media (min-width: 1200px) {
    .container {
        max-width: 1280px;
    }


    .sppb-container {
        max-width: 1280px
    }

    body.helix-ultimate .sppb-row-container {
        max-width: 1280px;
    }

    .sppb-row-container {
        width: 1270px;
    }
}

.shop-cart p, .shop-checkout p {
    margin-bottom: 0;
}

.shop-cart .name, .shop-checkout .name {
    font-weight: 700;
}

.smartshop-cart i {
    font-size: 200%;
}
.smartshop-cart__products {
    margin-left:-270px;
}

.advert-social {
    background: var(--header-first-row-color);
    padding: 0.3rem;
    color: white;
    font-size: 85%;
}

.advert-social a {
    color: white;

}

#sp-header {
    box-shadow: none;
    height: 40px;
    background: var(--second-header-background-color);

}
@media (min-width: 992px ){

    #middle-row {
        padding: 0.75rem 0.75rem 0;
    }

}
body.ltr #offcanvas-toggler.offcanvas-toggler-right {
    float: initial;
    margin-left: 0;
}

#sp-header .sp-megamenu-parent > li > a {
    color: var(--second-header-font-color);
}

#sp-header .sp-megamenu-parent > li:hover {
    background-color: var(--second-header-item-hover-color);
}

#sp-header .sp-megamenu-parent > li:hover > a {
    color: var(--second-header-item-hover-font-color);
}

.sp-megamenu-parent > li > a, .sp-megamenu-parent > li > span {
    line-height: 40px;

}

.sp-megamenu-parent {
    float: unset;
}

#sp-header-1st-row {
    width: 100%;
    background: white;
    box-shadow: 0px 5px 4px -3px rgba(0, 0, 0, 0.10);
}

#sp-header-1st-row {
    position: sticky !important;
    z-index: 99;
    top: 0;
}

#sp-header-1st-row #offcanvas-toggler > .fa {
   color:var(--font-color-general);
}

#sp-header.header-sticky {
    position: unset;
}

#sp-header .sp-megamenu-parent {

    width: fit-content;
    width: -moz-fit-content;
    margin: auto;
}

.sp-megamenu-parent.user-menu > li > a {
    padding: 0.5rem 0;
    line-height: unset;
}

.user-menu .icon-user a:before {
    content: "\e950";
    font-family: 'Durst Icons' !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 200%;
    padding: 0.5rem 0;
}
.logo-image-phone, .logo-image {
    object-fit:contain;
}
.user-menu {
    margin: 0;
}

#search_place .sp-module {
    width: 100%;
}

.lang-inline .lang-active a {
    color: var(--higlight-color);
}

.smartshop-cart__link:hover {
    color: var(--higlight-color) !important;
}


#sp-main-body {
    padding: 30px 0 100px 0;
    flex-grow: 1;
}

.body-innerwrapper {
    min-height: calc(100vh);
    display: flex;
    flex-direction: column;
    overflow-x: initial;
}

.breadcrumb {
    font-size: 0.75rem;
    background-color: transparent;
    padding-left: 0;
    margin-top: 10px;
    margin-bottom: 0;
}

#sp-breadcrumb {
    min-height: 0;


}
.powered p {
    margin-bottom: 0;
}
/*Promo Bar*/

.ja-promo-bar .buttons .closed {
    display: none;
}

.ja-promo-bar .buttons span {
    background: none;
    cursor: pointer;
    display: inline-block;
    position: absolute;
    right: 0;
    height: 40px;
    text-indent: 0px;
    font-size: 1.75rem;
    padding: 0.4rem 0.5rem;
    width: 40px;
}
    /*Search bar*/
.durst_search input:focus {
    border: none !important;
}

.durst_search .offlajn-ajax-search-container {
    padding: 0 !important;
}

.durst_search .magnifier:before {
    content: "\e94b";
    font-family: 'Durst Icons' !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 36px;
    display: block;
    font-size: 1.5rem;
    padding: 0 0.3rem;

    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background: #17171C;
    color: white;
}


.plugin-title.first {
    display: none;
}

.alert {
    border-radius: var(--border-radius);
}
/*shadow */
.shadow {
    box-shadow: 1px 1px 2px 1px rgb(0 0 0 / 9%) !important;
}
.card {
    border-radius: var(--border-radius);
}
.list-group-item:first-child {
    border-top-left-radius: var(--border-radius);
    border-top-right-radius: var(--border-radius);
}
.list-group-item:last-child {
    border-bottom-right-radius: var(--border-radius);
    border-bottom-left-radius: var(--border-radius);
}
    /*Icons*/
[class^="icon-"], [class*=" icon-"] {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: 'Durst Icons' !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;

    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

    display: initial;
    width: initial;
    height: initial;
    margin-top: 0;
    *margin-right: 0;

    vertical-align: text-top;
    background-image: initial;
    background-position: initial;
    background-repeat: initial;
}



.icon-alert-full-01 .path1:before {
    content: "\e900";
    color: rgb(0, 0, 0);
}

.icon-alert-full-01 .path2:before {
    content: "\e901";
    margin-left: -1em;
    color: rgb(0, 0, 0);
}

.icon-alert-full-01 .path3:before {
    content: "\e902";
    margin-left: -1em;
    color: rgb(255, 255, 255);
}

.icon-alert-full-01 .path4:before {
    content: "\e903";
    margin-left: -1em;
    color: rgb(255, 255, 255);
}

.icon-angle-down-01:before {
    content: "\e904";
}

.icon-angle-left-01:before {
    content: "\e905";
}

.icon-angle-right-01:before {
    content: "\e906";
}

.icon-angle-up-01:before {
    content: "\e907";
}

.icon-bring-to-front-01:before {
    content: "\e908";
}

.icon-bring-to-front-step-01:before {
    content: "\e909";
}

.icon-check-01:before {
    content: "\e90a";
}

.icon-check-full-01 .path1:before {
    content: "\e90b";
    color: rgb(0, 0, 0);
}

.icon-check-full-01 .path2:before {
    content: "\e90c";
    margin-left: -1em;
    color: rgb(0, 0, 0);
}

.icon-check-full-01 .path3:before {
    content: "\e90d";
    margin-left: -1em;
    color: rgb(255, 255, 255);
}

.icon-check-small-01:before {
    content: "\e90e";
}

.icon-contact-partner-01:before {
    content: "\e90f";
}

.icon-copy-01:before {
    content: "\e910";
}

.icon-dimension-01:before {
    content: "\e911";
}

.icon-download-neu-01:before {
    content: "\e912";
}

.icon-edit-01:before {
    content: "\e913";
}

.icon-ersetzen-01:before {
    content: "\e914";
}

.icon-first-01:before {
    content: "\e915";
}

.icon-fit-height-01:before {
    content: "\e916";
}

.icon-fit-width-01:before {
    content: "\e917";
}

.icon-formen-01:before {
    content: "\e918";
}

.icon-fullsreen-01:before {
    content: "\e919";
}

.icon-img-front-back-01:before {
    content: "\e91a";
}

.icon-jobs-01:before {
    content: "\e91b";
}

.icon-klimaneutral-01:before {
    content: "\e91c";
}

.icon-last-01:before {
    content: "\e91d";
}

.icon-log-out-01:before {
    content: "\e91e";
}

.icon-maintenance-5-01:before {
    content: "\e91f";
}

.icon-medium-type-non-perforated-01:before {
    content: "\e920";
}

.icon-menue-hambuger-01:before {
    content: "\e921";
}

.icon-minus-01:before {
    content: "\e922";
}

.icon-mouse-move-01:before {
    content: "\e923";
}

.icon-mouse-transform-rotate-01:before {
    content: "\e924";
}

.icon-mouse-transform-scale-01:before {
    content: "\e925";
}

.icon-opacity-01:before {
    content: "\e926";
}

.icon-orders-01:before {
    content: "\e927";
}

.icon-pagination-9-01:before {
    content: "\e928";
}

.icon-pagination-10-01:before {
    content: "\e929";
}

.icon-pattern-design-01:before {
    content: "\e92a";
}

.icon-photo-01:before {
    content: "\e92b";
}

.icon-phototheque-01:before {
    content: "\e92c";
}

.icon-pipette-01:before {
    content: "\e92d";
}

.icon-plus-01:before {
    content: "\e92e";
}

.icon-product-01:before {
    content: "\e92f";
}

.icon-rotate-left-01:before {
    content: "\e930";
}

.icon-rotate-right-01:before {
    content: "\e931";
}

.icon-send-to-back-01:before {
    content: "\e932";
}

.icon-send-to-back-step-01:before {
    content: "\e933";
}

.icon-settings-neu-01:before {
    content: "\e934";
}

.icon-shop-01:before {
    content: "\e935";
}

.icon-spiegeln-horizontal-01:before {
    content: "\e936";
}

.icon-spiegeln-vertikal-01:before {
    content: "\e937";
}

.icon-star-01:before {
    content: "\e938";
}

.icon-star-favorite-01:before {
    content: "\e939";
}

.icon-substrate-01:before {
    content: "\e93a";
}

.icon-template-01:before {
    content: "\e93b";
}

.icon-text-align-center-01:before {
    content: "\e93c";
}

.icon-text-align-left-01:before {
    content: "\e93d";
}

.icon-text-align-right-01:before {
    content: "\e93e";
}

.icon-times-01:before {
    content: "\e93f";
}

.icon-times-full-01 .path1:before {
    content: "\e940";
    color: rgb(0, 0, 0);
}

.icon-times-full-01 .path2:before {
    content: "\e941";
    margin-left: -1em;
    color: rgb(0, 0, 0);
}

.icon-times-full-01 .path3:before {
    content: "\e942";
    margin-left: -1em;
    color: rgb(255, 255, 255);
}

.icon-times-full-01 .path4:before {
    content: "\e943";
    margin-left: -1em;
    color: rgb(255, 255, 255);
}

.icon-time-shipping-01:before {
    content: "\e944";
}

.icon-times-small-01:before {
    content: "\e945";
}

.icon-tool-image-01:before {
    content: "\e946";
}

.icon-tool-redo-01:before {
    content: "\e947";
}

.icon-tool-rotate-01:before {
    content: "\e948";
}

.icon-tool-text-01:before {
    content: "\e949";
}

.icon-tool-undo-01:before {
    content: "\e94a";
}

.icon-tool-zoom-01:before {
    content: "\e94b";
}

.icon-tool-zoom-in-01:before {
    content: "\e94c";
}

.icon-tool-zoom-out-01:before {
    content: "\e94d";
}

.icon-trash-2-01:before {
    content: "\e94e";
}

.icon-upload-neu-01:before {
    content: "\e94f";
}

.icon-user-01:before {
    content: "\e950";
}

.icon-verschieben-01:before {
    content: "\e951";
}

/*Category*/

.category-products .product_label {

    left: -14px;
}

.category-products .cart-product__form {

    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.category-products .cart-product__short-description {
    flex-grow: 1;
}

.cart-product__plus-shipping {
    font-size: 80%;
    font-weight: 400;
}

/*cart module*/

.smartshop-cart__badge {
    background-color: var(--higlight-color);
}

.shop-cart .angebote_erstellen {
    width: 100%;
}

/*Product*/
.product_upper_part {
    display: flex;
    justify-content: space-between;
}

.plus_tax_plusshipping a:hover, .plus_tax_plusshipping a:focus, .plus_tax_plusshipping a:active {
    color: var(--font-color-links-hover);
}

.plus_tax_plusshipping a {
    text-decoration: underline;
}

.carousel-indicators {
    position: initial;
    right: 0;
    bottom: 0px;
    left: 0;
    z-index: initial;
    padding-left: 0px;
    margin-right: initial;
    margin-left: 0px;
    list-style: initial;
    display: initial;
}

.image_carousel_wrapper {
    height:100%;
    overflow: hidden;
}

.image_carousel {

    overflow-x: hidden;
    overflow-y: scroll;
    height: 100%;
    scroll-padding-top: 0px;
    scroll-behavior: smooth;
    scroll-snap-type: y;
    flex-direction: column;
    margin-bottom: 0;
    justify-content: flex-start;
    padding-right: 14px;
    width: calc(100% + 20px);
    min-width:89px;
    display: flex;

}

.carousel-indicators [data-bs-target] {
    border-top:0;
    border-bottom:0;
}

.list_product_image_thumb_item img {
    filter: grayscale(1);
    border: 1px solid transparent;
    cursor: pointer;
    margin-bottom: calc(100%/5);
    scroll-margin-top:0px;
    scroll-snap-type: y;

}

#list_product_image_thumb {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: end;
}

.product_upper_part .sticky-top {
    position: initial !important;
    top: 70px !important;
    z-index: 0 !important;
}

.jshop_prod_attributes label {
    padding-right: 0;
}

.group-attributes.border {

    border-color: var(--sppb-menu-text-hover-color)!important;
}
.upper-group-attributes {

    background-color: var(--sppb-menu-text-hover-color);
    color: white;

}
.upper-group-attributes h5 {

    font-weight: 400;
    font-size: 1rem;
}
.nativeMultiuploadProgressHeader {
    margin-bottom: 0;
}

#product-current-price {
    font-size: 1.25rem;
}

.product_better_price {
    color: var(--higlight-color);
}

.native-uploads-previews .native-uploads-preview .native-uploads-preview__imgInfo, .nativeProgressUpload .nativeProgressUpload-imageInfo .nativeProgressUpload-imageInfo__wrapper {
    padding: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-radius: 0;
    text-align: center;
}

.native-uploads-previews .native-uploads-preview .native-uploads-preview__description-link, .nativeProgressUpload .nativeProgressUpload-imageInfo .nativeProgressUpload-imageInfo__description-link {
    color: var(--font-color-general);
}

.native-uploads-previews .native-uploads-preview .native-uploads-preview__describeInput, .nativeProgressUpload .nativeProgressUpload-imageInfo .nativeProgressUpload-imageInfo__describeInput {

    padding: 0.625rem;
    line-height: 1.5;
    font-size: 1rem;
    margin-top: 0px;
    border: 1px solid;
    border-color: var(--select-input-color-border);
    color: var(--select-input-color-border);
}

.nativeProgressUpload .nativeProgressUpload-imageInfo .nativeProgressUpload-imageInfo__removeFile {
    position: absolute;
    top: -12px;
    right: 0;
}

.nativeProgressUpload .nativeProgressUpload-imageInfo .nativeProgressUpload-imageInfo__removeFileLink {
    display: inline-block;
    color: white;
    background-color: var(--font-color-general);
    border: 0;
    height: 20px;
    width: 20px;
    border-radius: 50%;
    padding: 0;
    text-align: center;
}

.nativeProgressUpload .nativeProgressUpload-imageInfo .nativeProgressUpload-imageInfo__removeFileLink:hover {
    background-color: var(--higlight-color);
}

.nativeMultiuploadProgressHeader .nativeMultiuploadProgressHeader__newUpload .nativeMultiuploadProgressHeader__newUploadLink {
    display: inline-block;
    padding: 0.625rem;
    border: 1px solid;
    border-radius: var(--border-radius);
}

.native-uploads-previews .native-uploads-preview .native-uploads-preview__describeInput::-webkit-input-placeholder, .nativeProgressUpload .nativeProgressUpload-imageInfo .nativeProgressUpload-imageInfo__describeInput::-webkit-input-placeholder {
    text-align: left;
    font-weight: 400;
}

#productForm li.mb-4.shop_editor_btn {
    margin-bottom: 1.5rem !important;
}

.nativeMultiuploadProgressHeader .nativeMultiuploadProgressHeader__max {
    color: var(--font-color-general);
    font-size: initial;
}

.upload_button_row:not(:first-child) {
    margin-top: 1.5rem;
}

.free-attributes input {
    height: initial !important;
}
#productForm .free-attr input {
    text-align: left;
}

/* .inputbox.freeattr {
    width: 1% !important;
    flex: 1 1 auto;
} */

#productForm .free-attributes .col {
    display: unset;
    width: initial;
    padding-right: 15px;
    position: relative;
    margin-bottom: 1rem;
    padding-left: 15px;
    vertical-align: top;
    line-height: 1rem;
}

.input-group-text {

    padding: .7rem;
    font-size: 1rem;
    line-height: 1.5;
    color: var(--font-color-general);
    background-color: #e9ecef;
    border: 1px solid var(--select-input-color-border);
    border-radius: var(--border-radius);
}

#product-details__short-description {
    font-size: 0.875rem;
}

.product_label {
    z-index: 1;
    top: 5px;
}

.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
    color: var(--font-color-general);
    background-color: #fff;
    border-color: var(--font-color-general);
}

.nav-tabs .nav-link {
    border: none;
    border-bottom: 2px solid transparent;
    border-top-left-radius: unset;
    border-top-right-radius: unset;
    font-size: 1.7rem;
    font-weight: 400;

}
.nav-tabs {
    border-bottom: 0;
}

#description__text, .shop.category-list {
    font-weight: 400;
}


@media (min-width: 768px) {
    .nativeProgressUpload-imageInfo {
        width: calc(200% + 30px);
    }

    .product_upper_part .sticky-top {
        position: sticky !important;
        top: 140px !important;
    }
}

@media (max-width: 767px) {
    #product-details__uploads {
        padding-right: 0 !important;
    }

    .shop_editor_btn {
        padding-left: 0 !important;
    }
}
/*Rating and Review*/
.rating.rating--static .rating__label.checked .rating__icon--star {
    color: black;

}
.rating.rating--static .rating__icon--star, .rating .rating__input:checked ~ .rating__label .rating__icon--star {
    color: #ddd;
}
.rating .rating__icon--star {
    color: orange;
}
.rating .rating__icon {
    pointer-events: none;
    font-size: 1.25rem;
}

/*Buttons*/
.shop.product-details .btn {
    padding: 0.625rem !important;

}

.btn {
    border-radius: var(--border-radius);
    border: 2px solid transparent;
    font-weight: 500;
}

#btn_add_product_to_editor, .product_stone .nativeProgressUpload .nativeProgressUpload__btn {
    line-height: 1.5;
    border-radius: var(--border-radius);
    background-color: var(--secondary-button-color);
    color: var(--secondary-button-color-font);
    border: 2px solid transparent;
    font-weight: 500;


}

.shop .btn, .btn-primary, .sppb-btn-primary {
    color: var(--secondary-button-color-font);
    border-color: var(--primary-button-color);
    background-color: var(--primary-button-color);
}
.shop a,
.shop a:hover,
.shop .nav-link,
.shop .nav-link:hover {
    /* color: var(--secondary-button-color-font); */
    color: var(--font-color-links);
}

.shop .btn-outline-primary,
.btn-outline-primary {
    color: var(--primary-button-outline-color);
    background-color: transparent;
    background-image: none;
    border-color: var(--primary-button-outline-color);
}

.btn-secondary {
    background-color: var(--secondary-button-color);
    border-color: transparent;
}

.shop .btn-outline-secondary, 
.btn-outline-secondary {
    color: var(--secondary-button-outline-font-color);
    background-color: transparent;
    background-image: none;
    border-color: var(--secondary-button-outline-color);
}
.shop .btn-outline-light,
.btn-outline-light {
    color: var(--font-color-general);
    background-color: transparent;
    background-image: none;
    border: 1px solid;
    border-color: var(--select-input-color-border);
}

.shop .btn-outline-light.focus, .shop .btn-outline-light:focus,
.btn-outline-light.focus, .btn-outline-light:focus {
    color: var(--font-color-general);
}

.nativeProgressUpload .nativeProgressUpload__btn {
    display: block;
    padding: 0.625rem;
    font-size: inherit;
    text-align: center;
    border-radius: var(--border-radius);
    border-color: var(--primary-button-outline-color);
    border: 2px solid;
    color: var(--primary-button-outline-color);
    text-decoration: none !important;
    background-color: transparent;
}

/* button hover*/
.shop .nativeProgressUpload .nativeProgressUpload__btn:hover, .shop .btn-outline-primary:hover, .shop .btn-outline-secondary:hover, 
.nativeProgressUpload .nativeProgressUpload__btn:hover, .btn-outline-primary:hover, .btn-outline-secondary:hover {
    cursor: pointer;
    background: var(--primary-button-outline-hover-color);
    color: #fff;
    border-color: var(--primary-button-outline-hover-color);

}

.shop .btn-primary:hover, .shop .sppb-btn-primary:hover,
.btn-primary:hover, .sppb-btn-primary:hover {
    border-color: var(--primary-button-color-hover);
    background-color: var(--primary-button-color-hover);
}

.btn-outline-primary:not(:disabled):not(.disabled).active, .btn-outline-primary:not(:disabled):not(.disabled):active, .show > .btn-outline-primary.dropdown-toggle {
    color: #fff;
    background-color: var(--primary-button-color-hover);
    border-color: var(--primary-button-color-hover);
}

#btn_add_product_to_editor:hover, .btn-secondary:hover {
    background-color: var(--secondary-button-color-hover);
    border-color: transparent;
}

.shop .btn-outline-light:hover, .shop .btn-outline-light:not(:disabled):not(.disabled).active, .shop .btn-outline-light:not(:disabled):not(.disabled):active, .shop .show > .btn-outline-light.dropdown-toggle {
    color: #fff;
    background-color: var(--primary-button-outline-hover-color);
    border-color: var(--primary-button-color);
}

.btn-outline-primary:not(:disabled):not(.disabled).active:focus, .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .show > .btn-outline-primary.dropdown-toggle:focus {
    box-shadow: none;
}


.btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .show > .btn-primary.dropdown-toggle {
    border-color: var(--primary-button-color-hover);
    background-color: var(--primary-button-color-hover);
}

.btn-primary.focus, .btn-primary:focus, .btn.focus, .btn:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .btn-primary:not(:disabled):not(.disabled):active:focus, .show > .btn-primary.dropdown-toggle:focus {
    box-shadow: none;
}

.shop.product-details .plusminus-btn {
    width: 3rem;
    height: 48px;
    font-size: 1.35rem;
    padding: 0 !important;
}

.list_additional_information_item:nth-child(2n+1) {

    border-top: 1px solid var(--select-input-color-border);
    border-bottom: 1px solid var(--select-input-color-border);

}

/*.list_additional_information_item:last-child {
    border-bottom: 1px solid var(--select-input-color-border);
}*/

.list_additional_information_item:first-child {
    margin-top: 3.125rem;
}

.list_additional_information_item a {

    padding: 0.844rem 1.2rem;
    font-size: 1.125rem;
    display: block;
}

.list_additional_information_item a:hover {

    color: var(--font-color-general);
    background-color: #f3f3f3;
}

.list_additional_information_item :focus, .list_addtional_information_item a:active {
    color: var(--font-color-general);
}

.list_additional_information_item i {

    margin-top: 5px;
    float: right;
}

.collapsed .icon-angle-up-01 {
    transform: rotate(180deg);
}

.download a, .extra_fields_el {

    font-size: 90%;
    font-weight: 400;
}

.download a {
    text-decoration: underline;
}

.download a:hover {
    color: var(--higlight-color);
    background-color: transparent;
}

.download a i {
    float: none;
    margin-right: 10px;
    font-size: 180%;
    color: var(--higlight-color);
}

.list_additional_information_item_content {

    padding: 0.844rem 1.2rem;
}
#demofile_download a {
    padding:0;
    line-height:2;
}

.extra_fields_name {
    font-weight: 500;
}

/*Tooltip*/
.tooltip-inner {
    max-width: 200px;
    padding: .25rem .5rem;
    color: var(--tooltipFontColor);
    text-align: center;
    background-color: var(--tooltipBackground);
    border-radius: .25rem;
}

/*Bulk price table*/
.productBulkPrice:nth-child(2n+1) {
    background-color: #f3f3f3;

}

.productBulkPrice {
    font-weight: 400;
    font-size: 90%;
    padding: 0.3rem 0.7rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}


/*Selects*/
select.form-control:not([multiple]), select.inputbox:not([multiple]), select:not([multiple]) {
    height: initial;
}

.attr-select-wrap,
label.select {
    position: relative;
    width: 100%;
}

label.select:after, .attr-select-wrap:after, .select .select-option:after  {
    /*content: "\e904";*/
    /*font-family: "Durst Icons";*/
    /*position: absolute;*/
    /*top: 50%;*/
    /*right: 2%;*/
    /*pointer-events: none;*/
}

.shop .attr-select-wrap .input_type_radio {
    margin-right: 10px;
}

.shop .attr-select-wrap .input_type_radio:last-child {
    margin-right: 0;
}

.select .select-option:after {
    top:20%;
}

.selectwrapperlabel:after {
    /*content: "\e904";*/
    /*font-family: "Durst Icons";*/
    /*position: absolute;*/
    /*top: 50%;*/
    /*right: 2%;*/
    /*pointer-events: none*/
}

.shop.product-details input[type="text"]:not(.form-control), .shop.product-details input[type="email"]:not(.form-control), .shop.product-details input[type="url"]:not(.form-control), .shop.product-details input[type="date"]:not(.form-control), .shop.product-details input[type="password"]:not(.form-control), .shop.product-details input[type="search"]:not(.form-control), .shop.product-details input[type="tel"]:not(.form-control), .shop.product-details input[type="number"]:not(.form-control), .shop.product-details select:not(.form-control) {
    display: block;
    width: 100%;
    padding: 0.7rem;
    font-size: 1rem;
    line-height: 1.5;
    font-weight: 500;
}

input[type="text"]:not(.form-control), input[type="email"]:not(.form-control), input[type="url"]:not(.form-control), input[type="date"]:not(.form-control), input[type="password"]:not(.form-control), input[type="search"]:not(.form-control), input[type="tel"]:not(.form-control), input[type="number"]:not(.form-control) {

    color: var(--font-color-general);
    background-color: var(--select-input-color-background);
    background-image: none;
    background-clip: padding-box;
    border: 1px solid var(--select-input-color-border);
    border-radius: var(--border-radius);
    transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    font-weight: 400;
}

select:not(.form-control){
    color: var(--font-color-general);
    background-color: var(--select-input-color-background);
    /*background-image: none;*/
    background-clip: padding-box;
    border: 1px solid var(--select-input-color-border);
    border-radius: var(--border-radius);
    transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    font-weight: 400;

    /*added to display the arrow on select*/
    padding-right: 4.125rem;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
    background-position: right .75rem center,center right 2.25rem;
    background-size: 16px 12px,calc(.75em + .375rem) calc(.75em + .375rem);
    background-repeat: no-repeat;
}

.addressPopup__search #search_text {
    border: 1px solid;
    border-radius: initial;
    background-color:initial;
    color: initial;
    padding: 4px 6px;
}
.addressPopup__search .js-stools-container-bar {
    padding:0;
}
#addressPopupAddNewAddress{
    box-shadow: none;
}


input[type="number"]:not(.form-control) {
    -moz-appearance: textfield;
}

input[type="number"]::-webkit-outer-spin-button, input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="text"]:not(.form-control):focus, input[type="email"]:not(.form-control):focus, input[type="url"]:not(.form-control):focus, input[type="date"]:not(.form-control):focus, input[type="password"]:not(.form-control):focus, input[type="search"]:not(.form-control):focus, input[type="tel"]:not(.form-control):focus, input[type="number"]:not(.form-control):focus, select:not(.form-control):focus {
    color: var(--font-color-general);
    background-color: var(--select-input-color-background);
    border-color: var(--font-color-general);
    box-shadow: inset 0px 0px 0px 2px;
    outline: 0;
}

.form-control-sm, .input-group-sm > .form-control, .input-group-sm > .input-group-append > .btn, .input-group-sm > .input-group-append > .input-group-text, .input-group-sm > .input-group-prepend > .btn, .input-group-sm > .input-group-prepend > .input-group-text {
    border-radius: var(--border-radius);
}



.form-control {
    border-color: var(--select-input-color-border);
    color: var(--font-color-general);
    border-radius: var(--border-radius);
    font-weight: 400;


}

.form-control:focus {
    color: var(--font-color-general);
    background-color: #fff;
    border-color: var(--font-color-general);
    outline: 0;
    box-shadow: none;
}

/*cart and checkout*/
.shop-cart .list-group.cart-items .list-group-item {
    border: none;
    border-top: 1px solid #ededed;
    padding: 1.25rem 0;
}

.shop-cart .list-group.cart-items .list-group-item:nth-child(1) {
    border-top: none
}

.cart-list-header {
    background: #f7f7f7;
    padding: 0.75rem 1.25rem;
    font-weight: bold;
}

.cart-list-title.quantity {
    text-align: center;
}

.delivery_time_cart, .production_time_cart {
    font-weight: 700;
}

.native-uploads-previews .native-uploads-preview .native-uploads-preview__description-link {
    font-size: unset;
}

.price-checkout-discount, #updateCartForm {
    box-shadow: 1px 1px 2px 1px rgb(0 0 0 / 9%);
}

li.total-price-cart, li.fullsumm {
    border: none;
    border-top: 1px solid #dee2e6;

}

.shop-cart .list-group-item:hover, .shop-checkout .list-group-item:hover {
    z-index: inherit;
}

.list-group.cart-items {
    padding: 0 1.25rem;
}

.shop-cart input::-webkit-outer-spin-button,
.shop-cart input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}


.shop-cart input[type=number] {
    -moz-appearance: textfield;
}

.shop-cart .plusminus-btn {
    width: 1.75rem;
}


/** Checkout **/
.shop-checkout fieldset, .smallcart {
    box-shadow: 1px 1px 2px 1px rgb(0 0 0 / 9%);
    padding: 1rem 1.5rem;
    margin: 15px 0;
}

.form-group.address label.textfield-label {
    position: relative;
    top: 7px;
    left: 10px;
    background-image: linear-gradient(transparent 0.8rem, rgba(0, 0, 0, .15) 0.8rem, white 0.84rem, transparent 0.9rem);
    padding: 1px 5px 0px;
    display: initial;
}

@-moz-document url-prefix() {
    .form-group.address label.textfield-label {

        top: 6px;

    }
}



.sticky-price-box {
    position: sticky;
    top: 140px;
}

/** Checkout progress banner **/
.checkout_step:after, .checkout_step:before {
    content: " ";
    display: block;
    width: 0;
    height: 0;
    border-width: 20px 0px 20px 16px;
    border-style: solid;
    border-color: transparent transparent transparent #dee2e6;
    position: absolute;
    top: -1px;
    right: -15px;
}

.checkout_step:before {

    border-color: transparent transparent transparent white;
    z-index: 9;
    right: -15px;
}

.checkout_step_second:before {
    border-color: transparent transparent transparent white;
    right: -14px
}

.checkout_step.active {
    border-color: #343a40 !important;

}

.checkout_step.active:before {
    border-color: transparent transparent transparent #343a40;
    right: -15px;
}

.checkout_step, .checkout_step_last {
    height: 40px
}

.steps_banner {
    padding-bottom: 3rem;
}

#sp-checkout-header .logo {
    text-align: center;
    padding: 0.5rem 0 0 0;
}

#shop-qcheckout .tax_list_value {
	
	border:0 !important;
	padding-left:0 !important;
	padding-right:0 !important;
	padding-bottom:0 !important;
}

/*whatsapp button*/
.wptwa-toggle {
    bottom: 28px;
    right: 84px;
}

.wptwa-box.wptwa-js-ready {

    right: 84px;
}

.section_with_whats_app {

    z-index: 10 !important;
}

/*adresses*/

.user-addresses .user-address--default, .user-addresses .user-address:hover, .user-addresses__new--default, .user-addresses__new:hover {
    font-weight: 500;
    border: none;

}

.user-addresses .user-address, .user-addresses__new {
    overflow: hidden;
    position: relative;
    display: block;
    border: none;
    padding-right: 5rem;
    box-shadow: 1px 1px 2px 1px rgb(0 0 0 / 9%);
}

.user-addresses .user-address__default-text, .user-addresses__new__default-text {
    margin: 0;
    font-size: 12px;
    color: var(--higlight-color);

}

.user-addresses .user-address__default, .user-addresses__new__default {
    border: 1px solid var(--select-input-color-border);
    padding: 80px 95px 10px 100px;
    -webkit-transform: rotate(
            40deg
    );
    transform: rotate(
            40deg
    );
}



/*myaccount*/
.myaccountmenu .list-group-item.active {
    background-color: initial;
    font-weight: 500;
    color:var(--font-color-general);

}
.myaccountmenu .list-group-item {
    margin-bottom: 0;
    border:none;
    border-bottom: 1px solid var(--select-input-color-border);
    font-weight: 400;

}

.myaccountmenu .list-group-item:last-child {
    border-bottom-right-radius: var(--border-radius);
    border-bottom-left-radius: var(--border-radius);
}
.myaccountmenu .list-group-item:first-child{
    border-top-left-radius: var(--border-radius);
    border-top-right-radius: var(--border-radius);
}
.myAccountCards__card  {

    margin-bottom: 1.5rem;
}
.myAccountCards__card [class^="icon-"]{
    line-height: 5rem;
}

.myAccountCards__card .card {

    height: 100%;
    line-height: 1.75rem;
}

.myAccountCards__card .fas.fa-user-shield {
    text-align: center;
    line-height: 5rem;
}
.myAccountCards__card .fas.fa-user-shield:before {

    display: block;
    width: 100%;
    font-size: 50px;
}
.myAccountCards__card:hover {
    opacity: 1;
}

.myAccountCards__card:hover .icon-dark:before {
    color:var(--higlight-color);
}

.durst_search_button {

    background: var(--primary-button-color);
    color: white;
    padding: 0;
    width: 56px;
    height: 40px;
}

.durst_search_button i {

    font-size: 1.5rem;
    line-height: 2rem ;
}

.durst_search_delete {
    display: none;
    position: absolute !important;
    right: 0px;
    background: transparent;
}


.durst_search_delete i {

    border-radius: 50%;
}


/* remove upload in cart */
.cart-items-wrapper-right .nativeProgressUpload .nativeProgressUpload-imageInfo .nativeProgressUpload-imageInfo__removeFileLink {
    background: none;
    color: black;
    display: block;
    text-align: left;
    width: auto;
    height: auto;
    margin-top: 1rem;
}

.cart-items-wrapper-right .nativeProgressUpload .nativeProgressUpload-imageInfo .nativeProgressUpload-imageInfo__removeFileLink:hover {
    background: none;
    color: var(--higlight-color);
}

.cart-items-wrapper-right .nativeProgressUpload .nativeProgressUpload-imageInfo .nativeProgressUpload-imageInfo__removeFile {
    position: initial;
    top: auto;
    right: auto;
    margin-top: 2rem;
    display: block;
}
/* body .ja-promo-bar .inner {
    background-color: var(--hig6it9y7up8plight-color) !important;
    border-bottom: 1px solid var(--higlight-color) !important;
} */
.font-weight-bold {
    font-weight: 700!important;
}
.small, small {
    font-size: 80%;
}
.font-weight-normal {
    font-weight: 400!important;
}
.text-muted {
    color: #6c757d!important;
}
label {
    margin-bottom: 0.5rem;
}

/* SmartShop compatibility 6.0 */
#productForm li.shop_editor_btn br {
    display: none;
}

#productForm li.shop_editor_btn #btn_add_product_to_download_diecut {
    width: 100%;
    margin-top: 5px;
}

/* SmartShop compatibility v7 */
.com-jshopping h1 {
    font-size: 1.875rem;
    margin-bottom: 1.25rem;
    font-weight: 500;
}

.shop .form-group .text-danger {
    height: inherit;
    font-size: 1rem;
}

.shop .btn-outline-light, .btn-outline-light {
    display: flex;
    justify-content: center;
    align-items: center;
}

.com-jshopping #calcule-price-message1 {
    font-weight: normal;
    color: #0c5460;
    background-color: #d1ecf1;
    border-color: #bee5eb;
    position: relative;
    padding: 0.75rem 1.25rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: 0.25rem;
}

.com-jshopping #calcule-price-message1 dt {
    color: #062c33;
}

.com-jshopping #calcule-price-message1 .message ul {
    list-style: none;
    padding-left: 0;
}

/* Carousel */
.list_product_image_thumb_item:hover img,
.shop .carousel-indicators .active [data-bs-target] {
    opacity: 1;
}

.list_product_image_thumb_item img.active {
    filter: unset;
    scroll-margin-top:50px;
    scroll-snap-align: start;
    transition:scroll-margin-top 2s;
    transition-delay: 1s;
}

/* Product View */
#productForm .list-inline-item:first-child {
    margin-top: auto !important;
}

.shop.product-details .free-attributes .input-group {
    width: inherit;
}

.shop .free-attr-multiple .free-attr-input-wrap .free-attr__field {
    flex: 90;
}

.shop .free-attr-multiple .free-attr-input-wrap .free-attr__unit {
    flex: 10;
}

.free-attr__unit .input-group-text {
    border-left: 0px;
}

/* Cart */
.shop.shop-cart .price-checkout-discount [for^="rabatt"] {
    padding-left: 0 !important;
    padding-top: 0 !important;
}

.shop.shop-cart .cart-item-action a.text-primary {
    color: var(--secondary-button-color) !important;
}

.shop.shop-cart .cart-item-action a.text-primary:hover {
    color: var(--secondary-button-color-hover) !important;
}

/* Checkout */
#checkout-calculation-block, #checkout-calculation-block li  {
    background-color: var(--bs-gray-100);

}
#checkout-calculation-block{
    box-shadow: 1px 1px 2px 1px rgb(0 0 0 / 9%);
}

.shop.shop-checkout legend {
    padding-bottom: .3rem;
    margin-bottom: .8rem;
    border-bottom: 1px solid #dee2e6!important;
}

.shop.shop-checkout #qc_payments_methods {
    margin-top: 10px;
}

.shop.shop-checkout .address-change-actn-wrap i {
    transition: color 400ms;
}

.shop.shop-checkout .address-change-actn-wrap:hover i,
.shop.shop-checkout .address-change-actn-wrap:hover a {
    color: var(--higlight-color);
}

.addressPopup__search .icon-remove,
 .addressPopup__search .icon-search {
    font-family: 'Font Awesome 5 Free' !important;
    font-weight: 900;
}
 .addressPopup__search .icon-search:before {
    content: "\f002";
}
 .addressPopup__search .icon-remove:before {
    content: "\f00d";
}

.shop .checkout-cart .cart-products li.cart-products__item {
    border-width: 0 0 1px;
}

.shop .checkout-cart .cart-products li.cart-products__item:last-child {
    border-bottom-width: 0;
}

.shop ul.quick-checkout-calc li {
    border: none;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 0 !important; 
}
.shop.shop-registration form > .form-group {
    margin-bottom: 15px;
}

/* === Produktgalerie: Thumbnails unter das große Bild (Desktop) === */
@media (min-width: 768px) {
  .col-md-2.d-md-flex:has(.image_carousel) + .col {
    order: 1;
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
  .col-md-2.d-md-flex:has(.image_carousel) {
    order: 2;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    margin-top: 12px;
  }
  .col-md-2.d-md-flex:has(.image_carousel) .image_carousel_wrapper {
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
  }
  .col-md-2.d-md-flex:has(.image_carousel) .image_carousel.carousel-indicators {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: flex-start;
    gap: 8px;
    height: auto !important;
    overflow: visible !important;
  }
  .col-md-2.d-md-flex:has(.image_carousel) .list_product_image_thumb_item {
    flex: 0 0 auto;
    width: 88px !important;
    height: auto !important;
  }
  .col-md-2.d-md-flex:has(.image_carousel) .list_product_image_thumb_item img {
    width: 100% !important;
    height: auto !important;
    display: block;
  }
}

/* === Produktseite: Upload-Buttons tauschen (Jetzt gestalten links, Datei auswählen rechts) === */
/* Warenkorb-Button bleibt an Originalposition (nach den Upload-Buttons). */
.list-inline.d-flex.flex-wrap.my-4 > li:nth-child(1) { order: 2; padding-left: 6px; }
.list-inline.d-flex.flex-wrap.my-4 > li:nth-child(2) { order: 1; padding-right: 6px; }
.list-inline.d-flex.flex-wrap.my-4 > li:nth-child(3) { order: 3; }
.list-inline.d-flex.flex-wrap.my-4 > li:nth-child(4) { order: 4; }

/* === "Beschreibung"-Tab-Leiste ausblenden (Inhalt bleibt sichtbar) === */
section.mt-2 > ul.nav.nav-tabs {
  display: none !important;
}

/* === Wunschgrößen-Button: Teal statt Standard-Gruen === */
/* Echte Klasse im Button-HTML ist "sppb-btn-success gb-glow-on-hover" (keine */
/* "gb-wunschbutton"-Klasse vorhanden) - Kombination genutzt, damit nur dieser */
/* Button-Typ betroffen ist, nicht alle sppb-btn-success im Shop. */
a.sppb-btn.sppb-btn-success.gb-glow-on-hover,
.gb-wunschbutton {
  background-color: #1EB0A9 !important;
  border-color: #1EB0A9 !important;
  color: #FFFFFF !important;
}
a.sppb-btn.sppb-btn-success.gb-glow-on-hover:hover,
.gb-wunschbutton:hover {
  background-color: #49C6C0 !important;
  border-color: #49C6C0 !important;
  color: #FFFFFF !important;
}

/* === Mengenfeld: kompakter + auf gleicher Hoehe wie Gesamtpreis === */
/* "Menge"-Label steht per JS (custom.js) VOR .input-group im selben */
/* .product__quantity-Block - hier per Flex nebeneinander statt gestapelt. */
.product__quantity {
  display: flex;
  align-items: center;
  gap: 10px;
}
.product__quantity label.select {
  margin-bottom: 0;
  white-space: nowrap;
}
.product__quantity .input-group {
  display: flex;
  flex-wrap: nowrap;
  max-width: 170px;
}
.product__quantity .input-group > div {
  flex: 0 0 auto;
}
.shop.product-details .product__quantity .plusminus-btn {
  width: 2.25rem;
  height: 2.25rem;
  font-size: 1rem;
  padding: 0 !important;
}
.product__quantity #quantity {
  width: 4.5rem;
  flex: 0 0 auto;
  padding: 0.375rem 0.25rem;
  font-size: 0.9rem;
  -moz-appearance: textfield;
}
.product__quantity #quantity::-webkit-outer-spin-button,
.product__quantity #quantity::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* === Attribut-Radiobuttons (Halterung, Format usw.) als gleichmaessige Karten === */
/* Betrifft alle .jshop_prod_attributes-Gruppen mit Radio-Auswahl (2 oder 3 */
/* Optionen), egal ob Halterung, Format oder andere - Struktur ist ueberall */
/* gleich: span[id^="block_attr_sel_"] > span.input_type_radio > label. */
.jshop_prod_attributes span[id^="block_attr_sel_"] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}
.jshop_prod_attributes .input_type_radio {
  flex: 1 1 0;
  min-width: 125px;
  margin-right: 0 !important;
  display: flex; /* macht das Label gleich hoch wie die Nachbar-Karten */
}
.jshop_prod_attributes .input_type_radio label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  width: 100%;
  margin-bottom: 0;
  padding: 10px 12px;
  border: 1px solid var(--select-input-color-border);
  border-radius: var(--border-radius);
  cursor: pointer;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}
.jshop_prod_attributes .input_type_radio label:hover {
  border-color: #1EB0A9;
}
.jshop_prod_attributes .input_type_radio:has(input:checked) label {
  border-color: #1EB0A9;
  background-color: rgba(30, 176, 169, 0.08);
}
.jshop_prod_attributes .input_type_radio input[type="radio"] {
  flex: 0 0 auto;
  margin-top: 3px;
  accent-color: #1EB0A9;
}
.jshop_prod_attributes .radio_attr_label {
  flex: 1 1 auto;
  line-height: 1.3;
}

/* === Lange Auswahltexte in Dropdowns kuerzen, Pfeil immer sichtbar === */
/* Eine aeltere, spezifischere Regel (.shop.product-details select:not(.form- */
/* control)) ueberschrieb den fuer den Pfeil reservierten Platz auf nur 11px */
/* statt 66px - hier alles zum Pfeil in einer Regel gebuendelt mit !important, */
/* damit nichts mehr dazwischenfunkt. */
select:not(.form-control) {
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  padding-right: 2.5rem !important;
  background-repeat: no-repeat !important;
  background-position: right 0.7rem center !important;
  background-size: 16px 12px !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%231EB0A9' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='M2 5l6 6 6-6'/%3e%3c/svg%3e") !important;
}

/* === Freies Attribut "Durchmesser" (data-free-attr-id=12, Produkt "Glasbild */
/* rund individuell"): Eingabefeld linksbuendig zum Label darueber. Nur fuer */
/* dieses eine Attribut - andere freie Attribute nicht betroffen. */
/* WICHTIG: Nicht das Padding war der Fehler, sondern justify-content:flex-end */
/* auf .free-attr__col2 (Flex-Container) - dadurch stand die eigentliche Box */
/* (Zahl + "cm") rechts in ihrem eigenen, breiteren Container statt links. */
.free-attr[data-free-attr-id="12"] .free-attr__col2 {
  padding-left: 0 !important;
  justify-content: flex-start !important;
}

/* ==========================================================================
   STARTSEITE RESPONSIV (05.10.2026)
   Ziel: kein seitliches Scrollen und nichts Abgeschnittenes auf Desktop,
   Laptop, Tablet (quer/hoch) und Handy (quer/hoch).
   Getestet in der Vorschau bei 1440, 1280, 1024, 768, 812 und 375 px Breite.
   Rueckgaengig machen: diesen ganzen Block loeschen (oder das Backup
   v7-custom-css-backups/custom.css_VOR-STARTSEITE-RESPONSIV_2026-10-05.css
   wieder hochladen).
   ========================================================================== */

/* 1) Seitenbreite: Helix-Zeilen und Page-Builder-Zeilen haben Negativraender
      (-12 bzw. -15 px) und ein Karussell ist breiter als der Bildschirm.
      Dadurch ragte die Seite 15 bis 100 px nach rechts und auf dem Handy
      entstand rechts ein weisser Streifen. "clip" schneidet das Ueberstehende
      ab, ohne den Kopfbereich (sticky) oder das Layout zu veraendern. */
.body-wrapper {
    overflow-x: clip;
}

@supports not (overflow-x: clip) {
    .body-wrapper {
        overflow-x: hidden;
    }
}

/* 2) Abschnitt "Glas ist nicht gleich Glas": Die sechs roten Acryl-Zeilen sind
      per Transform 40 px nach rechts und 20 px nach oben versetzt, damit sie
      unter den gruenen Glas-Zeilen stehen. Unter 1400 px Breite wurden sie
      dadurch am rechten Rand abgeschnitten (Laptop, Tablet, Handy). Dort bleibt
      der Versatz nach oben, und statt 40 px Transform nach rechts gibt es 40 px
      Abstand links (gleiche Optik, aber nichts steht ueber). Gilt nur fuer
      diese sechs Zeilen, nicht fuer die Absaetze darum herum. */
@media (max-width: 1399px) {
    #sppb-addon-wrapper-dc3a0f6a-a6bc-4b42-a710-3385505d8246 .sppb-addon-text-block,
    #sppb-addon-wrapper-ddef7c30-724f-4b6c-9a76-8c4054f667cb .sppb-addon-text-block,
    #sppb-addon-wrapper-c37e6ad0-365c-4fe1-94d8-49126473a83a .sppb-addon-text-block,
    #sppb-addon-wrapper-25fa9a66-8400-4d1a-a009-63699497da4b .sppb-addon-text-block,
    #sppb-addon-wrapper-1091b476-e1c2-4256-94e0-8acfe273e08a .sppb-addon-text-block,
    #sppb-addon-wrapper-07203a22-e378-4eef-a889-bedddf75e6ea .sppb-addon-text-block {
        transform: translateY(-20px) !important;
        margin-left: 40px !important;
    }
}


/* ==========================================================================
   STARTSEITE HERO FEINSCHLIFF (05.10.2026)
   Betrifft den oberen Bereich der Startseite, der auf Tablet und Handy
   angezeigt wird (Abschnitt "section-id-...618c582f9472", sichtbar unter
   1200 px; der Desktop-Hero ist ein eigener Abschnitt und bleibt unberuehrt).
   Vorher: Ueberschrift, Text, Liste und Buttons klebten ohne Seitenrand an
   der Bildschirmkante, die Unterzeile war groesser als die Ueberschrift,
   die Buttons ragten bis zum Rand.
   Rueckgaengig machen: diesen ganzen Block loeschen.
   ========================================================================== */

@media (max-width: 1199px) {
    /* Inhalt mittig, maximal 760 px breit, mit Seitenrand */
    #section-id-8b5a554d-fa63-47eb-b7fe-618c582f9472 .sppb-column[id*="6735a2d1"] > .sppb-column-addons {
        max-width: 760px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 16px;
        padding-right: 16px;
    }

    /* Bild bleibt so breit wie der Inhaltsbereich inkl. Rand (nur der aeussere
       Container, sonst wuerde der Rand doppelt abgezogen) */
    #section-id-8b5a554d-fa63-47eb-b7fe-618c582f9472 .sppb-addon-wrapper[id$="3fd0ce5d"] {
        margin-left: -16px;
        margin-right: -16px;
    }

}

@media (max-width: 575px) {
    /* Beide Buttons untereinander, volle Breite, fingertauglich */
    #section-id-8b5a554d-fa63-47eb-b7fe-618c582f9472 .sppb-row-column[id*="f075230b"],
    #section-id-8b5a554d-fa63-47eb-b7fe-618c582f9472 .sppb-row-column[id*="234341ff"] {
        flex: 0 0 100%;
        max-width: 100%;
        width: 100%;
    }

    #section-id-8b5a554d-fa63-47eb-b7fe-618c582f9472 .sppb-column[id*="f075230b"],
    #section-id-8b5a554d-fa63-47eb-b7fe-618c582f9472 .sppb-column[id*="234341ff"] {
        padding-left: 0;
    }

    #section-id-8b5a554d-fa63-47eb-b7fe-618c582f9472 .sppb-column[id*="f075230b"] .sppb-column-addons,
    #section-id-8b5a554d-fa63-47eb-b7fe-618c582f9472 .sppb-column[id*="234341ff"] .sppb-column-addons {
        padding: 0 16px 10px;
    }

    #section-id-8b5a554d-fa63-47eb-b7fe-618c582f9472 .sppb-column[id*="f075230b"] .sppb-btn,
    #section-id-8b5a554d-fa63-47eb-b7fe-618c582f9472 .sppb-column[id*="234341ff"] .sppb-btn {
        display: block;
        width: 100%;
        text-align: center;
    }

    /* Haekchen-Liste etwas kleiner, damit weniger Zeilen umbrechen */
    #section-id-8b5a554d-fa63-47eb-b7fe-618c582f9472 .sppb-column[id*="6735a2d1"] p {
        font-size: 15px;
        line-height: 1.45;
    }

    /* Vertrauensleiste (12.000+ Kunden ...) mit etwas Abstand zum Rand */
    #section-id-8b5a554d-fa63-47eb-b7fe-618c582f9472 .sppb-column[id*="359ef6b9"] .sppb-column-addons,
    #section-id-8b5a554d-fa63-47eb-b7fe-618c582f9472 .sppb-column[id*="46529586"] .sppb-column-addons,
    #section-id-8b5a554d-fa63-47eb-b7fe-618c582f9472 .sppb-column[id*="b5bcd3e3"] .sppb-column-addons {
        padding-left: 6px;
        padding-right: 6px;
    }
}

/* ==========================================================================
   STARTSEITE FEINSCHLIFF 2 (05.10.2026)
   Hauptueberschrift- und Unterzeilen-Groesse im Hero, Testimonial-Titelfarbe
   und der Abstand unter "Glas ist nicht gleich Glas" sind NICHT mehr hier,
   sondern im Page Builder (pro Geraet eingestellt, Backend-Editor).
   Hier bleiben nur zwei Kleinigkeiten, die der Builder nicht sauber kann.
   Rueckgaengig machen: diesen ganzen Block loeschen.
   ========================================================================== */

@media (max-width: 575px) {
    /* Untertitel des Testimonial-Abschnitts mit Seitenrand statt 8 px an der Kante */
    #section-id-797faa2e-1947-4a9c-93b4-dd267fbf3afc .sppb-addon-text-block p {
        padding-left: 16px;
        padding-right: 16px;
    }

    /* Vertrauensleiste im Hero: Schrift etwas kleiner, damit "12.000+ Kunden"
       nicht am Rand klebt */
    #section-id-8b5a554d-fa63-47eb-b7fe-618c582f9472 .sppb-column[id*="359ef6b9"] p {
        font-size: 13px !important;
    }
}

/* ==========================================================================
   STARTSEITE 3-SCHRITTE-ABSCHNITT (05.10.2026)
   Abschnitt "So einfach kommt Dein Foto aufs Glas" (Desktop-Version): Die
   Beschreibung unter Schritt 1 ist per Transform 30 px nach links und die unter
   Schritt 3 um 50 px nach rechts versetzt. Bis 1399 px Breite ragten sie dadurch
   ueber den Bildschirmrand (Laptop, Tablet). Dort bleibt nur der Versatz nach
   oben (-100 px), der seitliche Versatz entfaellt.
   Rueckgaengig machen: diesen ganzen Block loeschen.
   ========================================================================== */

@media (max-width: 1399px) {
    #sppb-addon-wrapper-409cdf48-22bf-45e2-939e-4eeeb9632fad .sppb-addon-title,
    #sppb-addon-wrapper-c2852489-b843-4380-90ce-558f9fbe6ac9 .sppb-addon-title {
        transform: translateY(-100px) !important;
    }
}

/* ==========================================================================
   WARENKORB-ZAEHLER IM KOPFBEREICH (05.10.2026)
   Das runde Zaehler-Badge ("0") am Warenkorb-Symbol stand 15 px rechts ausserhalb
   seines Symbols und ragte auf Handy und Laptop 3 px ueber den Bildschirmrand.
   Jetzt 8 px: ueberlappt das Symbol weiter, bleibt aber im Bild.
   Rueckgaengig machen: diesen ganzen Block loeschen.
   ========================================================================== */

.smartshop-cart__link .smartsop-cart__count {
    right: -8px !important;
}


/* ==========================================================================
   AUFSTELLER-SEITE (Page-Builder-ID 55): 3-SCHRITTE-TEXTE (05.10.2026)
   Die Beschreibung unter Schritt 1 ist per Transform 30 px nach links, die unter
   Schritt 3 um 50 px nach rechts versetzt. Zwischen 768 und 1399 px ragten die
   Texte dadurch ueber den Bildschirmrand (bei 1280 px: links 6 px, rechts 20 px
   abgeschnitten). Dort kleinerer seitlicher Versatz (-10 / +16 px), die 100 px
   nach oben bleiben. Ab 1400 px gilt weiter der Wert aus dem Page Builder.
   Rueckgaengig machen: diesen ganzen Block loeschen.
   ========================================================================== */

@media (max-width: 1399px) {
    #sppb-addon-wrapper-b3e7f5c0-a35c-488e-bdd7-a146419f9d76 .sppb-addon-title {
        transform: translate(-10px, -100px) !important;
    }
    #sppb-addon-wrapper-e9e6fbe2-a000-4e65-ac28-7bd60d8f9d9e .sppb-addon-title {
        transform: translate(16px, -100px) !important;
    }
}

/* ==========================================================================
   Icon-Schrift fuer das Hauptmenue (17.10.2026)
   Die Menue-Pfeile/Haus-Symbol nutzen "Font Awesome 5 Free". Die Schrift kommt sonst nur ueber
   den SP Page Builder; auf Seiten ohne Page Builder (Datenschutz, Impressum, Partnerprogramm)
   erschienen Quadrate. Hier wird dieselbe Schrift direkt eingebunden (Dateien des Page Builders).
   ========================================================================== */
@font-face {
    font-family: 'Font Awesome 5 Free';
    font-display: block;
    font-weight: 900;
    src: url("/components/com_sppagebuilder/assets/webfonts/fa-solid-900-6.woff2") format("woff2"),
         url("/components/com_sppagebuilder/assets/webfonts/fa-solid-900-6.ttf") format("truetype");
}
@font-face {
    font-family: 'Font Awesome 5 Free';
    font-display: block;
    font-weight: 400;
    src: url("/components/com_sppagebuilder/assets/webfonts/fa-regular-400-6.woff2") format("woff2"),
         url("/components/com_sppagebuilder/assets/webfonts/fa-regular-400-6.ttf") format("truetype");
}

/* Marken-Symbole (Facebook/Instagram in der Kopfzeile): gleiche Ursache wie oben, Schrift "Brands" */
@font-face {
    font-family: 'Font Awesome 5 Brands';
    font-display: block;
    font-weight: 400;
    src: url("/components/com_sppagebuilder/assets/webfonts/fa-brands-400-6.woff2") format("woff2"),
         url("/components/com_sppagebuilder/assets/webfonts/fa-brands-400-6.ttf") format("truetype");
}
.fa.fa-facebook, .fa.fa-instagram {
    font-family: 'Font Awesome 5 Brands';
    font-weight: 400;
}
.fa.fa-facebook:before { content: "\f39e"; }

/* ==========================================================================
   GUTSCHEIN-PRODUKTSEITE (Menuepunkt-ID 689, /gutscheine/gutschein):
   Layout-Feinschliff fuers €-Eingabefeld und das Mengenfeld (08.11.2026)
   Das €-Attribut-Feld (freeattribut[10]) stand per Default untereinander
   mit seinem "€"-Label und war unnoetig breit (size=40) - jetzt auf einer
   Zeile, mittig ausgerichtet, nur so breit wie ein paar Ziffern brauchen.
   Dem Mengenfeld fehlte jede Beschriftung - "Menge" per ::before ergaenzt,
   genau wie beim (inzwischen entfernten) €-Label-Hack weiter oben in dieser
   Datei, nur diesmal mit dem tatsaechlich zutreffenden Text.
   ========================================================================== */
body.itemid-689 .form-group.col.free-attr {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
}
body.itemid-689 .free-attr__label {
    display: inline-block !important;
    width: auto !important;
    margin-bottom: 0;
    white-space: nowrap;
    font-size: 1rem;
}
body.itemid-689 .free-attr__label::before {
    content: "Wunschbetrag ";
}
body.itemid-689 #freeattribut_10 {
    max-width: 110px;
    width: 110px;
    height: 2.25rem !important;
    padding-top: 0;
    padding-bottom: 0;
    text-align: center;
}
body.itemid-689 .free-attr__col2 {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    flex: 0 0 auto !important;
}
body.itemid-689 .free-attr__col2.free-attr__col2::after {
    content: "\f01e" !important;
    font-family: 'Font Awesome 5 Free' !important;
    font-weight: 900 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    margin-left: 8px;
    border: 2px solid #1EB0A9;
    border-radius: var(--border-radius, 4px);
    color: #1EB0A9;
    font-size: 1.1rem;
    cursor: pointer;
    flex: 0 0 auto;
}
body.itemid-689 .product__quantity::before {
    content: "Menge";
    display: block;
    font-weight: 600;
    margin-bottom: 6px;
}
