.elementor-6040 .elementor-element.elementor-element-5b150d6 .elementor-repeater-item-35b4446.jet-parallax-section__layout .jet-parallax-section__image{background-size:auto;}.elementor-6040 .elementor-element.elementor-element-800b01f .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:41px;font-weight:600;}.elementor-6040 .elementor-element.elementor-element-1e94e72.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:50px;}.elementor-6040 .elementor-element.elementor-element-1e94e72 .elementor-main-swiper{height:90px;}.elementor-6040 .elementor-element.elementor-element-1e94e72 .elementor-main-swiper .swiper-slide{background-color:var( --e-global-color-accent );}.elementor-6040 .elementor-element.elementor-element-1e94e72 .elementor-swiper-button{font-size:20px;}.elementor-6040 .elementor-element.elementor-element-1e94e72 .elementor-main-swiper:not(.elementor-thumbnails-swiper) .elementor-carousel-image{background-size:contain;}.elementor-6040 .elementor-element.elementor-element-5b150d6{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-6040 .elementor-element.elementor-element-3476fca{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-6040 .elementor-element.elementor-element-92829e6 > .elementor-widget-container{margin:0px 0px 00px 0px;padding:0px 0px 0px 0px;}.elementor-6040 .elementor-element.elementor-element-92829e6{text-align:start;}.elementor-6040 .elementor-element.elementor-element-92829e6 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:30px;font-weight:bold;}.elementor-6040 .elementor-element.elementor-element-1ae03ed iframe{height:400px;}.elementor-6040 .elementor-element.elementor-element-dd39a45{margin-top:0px;margin-bottom:30px;}.elementor-6040 .elementor-element.elementor-element-c6bd29f > .elementor-widget-container{margin:0px 0px 00px 0px;padding:0px 0px 0px 0px;}.elementor-6040 .elementor-element.elementor-element-c6bd29f{text-align:start;}.elementor-6040 .elementor-element.elementor-element-c6bd29f .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:30px;font-weight:bold;}.elementor-6040 .elementor-element.elementor-element-bd2921c{font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:400;}.elementor-6040 .elementor-element.elementor-element-29fba73 > .elementor-widget-container{margin:0px 0px 00px 0px;padding:0px 0px 0px 0px;}.elementor-6040 .elementor-element.elementor-element-29fba73{text-align:start;}.elementor-6040 .elementor-element.elementor-element-29fba73 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:30px;font-weight:bold;}.elementor-6040 .elementor-element.elementor-element-1295fae .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-6040 .elementor-element.elementor-element-1295fae .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-6040 .elementor-element.elementor-element-1295fae .elementor-field-group.recaptcha_v3-bottomleft, .elementor-6040 .elementor-element.elementor-element-1295fae .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-6040 .elementor-element.elementor-element-1295fae .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-6040 .elementor-element.elementor-element-1295fae .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-6040 .elementor-element.elementor-element-1295fae .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-6040 .elementor-element.elementor-element-1295fae .elementor-field-group > label{font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:400;}.elementor-6040 .elementor-element.elementor-element-1295fae .elementor-field-type-html{padding-bottom:0px;}.elementor-6040 .elementor-element.elementor-element-1295fae .elementor-field-group .elementor-field, .elementor-6040 .elementor-element.elementor-element-1295fae .elementor-field-subgroup label{font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:400;}.elementor-6040 .elementor-element.elementor-element-1295fae .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:var( --e-global-color-accent );}.elementor-6040 .elementor-element.elementor-element-1295fae .elementor-field-group .elementor-select-wrapper select{background-color:var( --e-global-color-accent );}.elementor-6040 .elementor-element.elementor-element-1295fae .elementor-button{border-style:solid;border-width:1px 1px 1px 1px;border-radius:0px 0px 0px 0px;}.elementor-6040 .elementor-element.elementor-element-1295fae .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-secondary );color:#ffffff;}.elementor-6040 .elementor-element.elementor-element-1295fae .elementor-button[type="submit"]{background-color:var( --e-global-color-secondary );color:#ffffff;}.elementor-6040 .elementor-element.elementor-element-1295fae .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-6040 .elementor-element.elementor-element-1295fae .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-6040 .elementor-element.elementor-element-1295fae .e-form__buttons__wrapper__button-next:hover{background-color:var( --e-global-color-accent );color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-6040 .elementor-element.elementor-element-1295fae .elementor-button[type="submit"]:hover{background-color:var( --e-global-color-accent );color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-6040 .elementor-element.elementor-element-1295fae .elementor-button[type="submit"]:hover svg *{fill:var( --e-global-color-secondary );}.elementor-6040 .elementor-element.elementor-element-1295fae .e-form__buttons__wrapper__button-previous:hover{color:var( --e-global-color-accent );}.elementor-6040 .elementor-element.elementor-element-1295fae{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:var( --e-global-color-accent );--e-form-steps-indicator-active-secondary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-secondary-color:var( --e-global-color-accent );--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}@media(min-width:768px){.elementor-6040 .elementor-element.elementor-element-a0cfe06{width:40%;}.elementor-6040 .elementor-element.elementor-element-6b1cbd6{width:60%;}}@media(max-width:1024px){.elementor-6040 .elementor-element.elementor-element-1e94e72.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:50px;}.elementor-6040 .elementor-element.elementor-element-92829e6{text-align:start;}.elementor-6040 .elementor-element.elementor-element-92829e6 .elementor-heading-title{font-size:20px;}.elementor-6040 .elementor-element.elementor-element-c6bd29f{text-align:start;}.elementor-6040 .elementor-element.elementor-element-c6bd29f .elementor-heading-title{font-size:20px;}.elementor-6040 .elementor-element.elementor-element-29fba73{text-align:start;}.elementor-6040 .elementor-element.elementor-element-29fba73 .elementor-heading-title{font-size:20px;}}@media(max-width:767px){.elementor-6040 .elementor-element.elementor-element-800b01f .elementor-heading-title{font-size:30px;}.elementor-6040 .elementor-element.elementor-element-1e94e72.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:10px;}.elementor-6040 .elementor-element.elementor-element-92829e6 .elementor-heading-title{font-size:18px;}.elementor-6040 .elementor-element.elementor-element-1ae03ed iframe{height:300px;}.elementor-6040 .elementor-element.elementor-element-c6bd29f .elementor-heading-title{font-size:18px;}.elementor-6040 .elementor-element.elementor-element-29fba73 .elementor-heading-title{font-size:18px;}.elementor-6040 .elementor-element.elementor-element-1295fae .elementor-field-group > label{font-size:16px;}.elementor-6040 .elementor-element.elementor-element-1295fae .elementor-field-group .elementor-field, .elementor-6040 .elementor-element.elementor-element-1295fae .elementor-field-subgroup label{font-size:18px;}}@media(max-width:1024px) and (min-width:768px){.elementor-6040 .elementor-element.elementor-element-d8242e5{width:100%;}.elementor-6040 .elementor-element.elementor-element-7e06972{width:100%;}.elementor-6040 .elementor-element.elementor-element-a0cfe06{width:100%;}.elementor-6040 .elementor-element.elementor-element-6b1cbd6{width:100%;}}/* Start custom CSS for shortcode, class: .elementor-element-36d46c3 *//* Progress */
.form-progress {
    width: 100%;
    margin-bottom: 30px;
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-end;
    align-items: stretch;
    gap: 12px;
}

.progress-bar {
    width: 100%;
    height: 10px;
    background: #eee;
    border-radius: 10px;
    overflow: hidden;
}

.progress-fill {
    height: 100%;
    width: 0%;
    background: #997154;
    transition: width 0.3s ease;
}

.progress-steps {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    cursor: pointer;
}

.progress-step:hover {
    opacity: 0.8;
}

.progress-step {
    display: flex;
    align-items: center;
    gap: 8px;
    opacity: 0.4;
    transition: 0.3s;
    font-size: 18px;
    font-weight: 500;
}

.progress-step.active {
    opacity: 1;
}

.step-number {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 2px solid #997154;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    background: #fff;
    transition: 0.3s;
}

.progress-step.active .step-number {
    background: #997154;
    color: #fff;
}

.step-text {
    /*white-space: nowrap;*/
    white-space: normal;
}

/* -------------- */

.variation-rows {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 20px;
}

.variation-row {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 10px;
}

.variation-rows .variation-row:first-child button.remove-variation {
    display: none;
}

.qty-control {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
    gap: 6px;
}

.product-item .product-selection-header > .quantity-wrapper input.qty-input, .variation-row .qty-control input.qty-input {
    width: calc(100% - 80px);
    flex-grow: 1;
    padding: 4px 8px;
    border: 1px solid #000000;
    border-radius: 4px;
}

.qty-control button {
    border-width: 0px;
    background-color: #997154;
    color: #FFFFFF;
    border-radius: 4px;
    width: 34px;
    cursor: pointer;
}

.qty-control button:hover, .qty-control button:focus {
    background-color: #000000;
    color: #FFFFFF;
}

button.remove-variation {
    border-width: 0px;
    background-color: #000000;
    color: #FFFFFF;
    border-radius: 4px;
    cursor: pointer;
    padding: 9px 11px 11px 11px;
    line-height: 1em;
    outline: 0px;
}

button.remove-variation:hover, button.remove-variation:focus {
    background-color: #997154;
    color: #FFFFFF;
}

button.add-variation {
    border-width: 0px;
    background-color: #000000;
    color: #FFFFFF;
    border-radius: 4px;
    cursor: pointer;
    padding: 10px 11px;
    line-height: 1.2em;
    font-size: 16px;
    font-weight: 600;
    outline: 0px;
}

button.add-variation:hover, button.add-variation:focus {
    background-color: #997154;
    color: #FFFFFF;
    outline-width: 0px;
}

/* Remove arrows in Chrome, Safari, Edge */
.qty-input::-webkit-outer-spin-button,
.qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Remove arrows in Firefox */
.qty-input {
    -moz-appearance: textfield;
}

/* -------------- */
.step {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 24px 40px;
}

.elementor-6040 .elementor-element.elementor-element-36d46c3 h3, .elementor-6040 .elementor-element.elementor-element-36d46c3 h4.category-title {
    width: 100%;
    margin: 0px;
    font-weight: 600;
}

.step.step-1 .field-row {
    width: calc((100% - 40px) / 2);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 8px;
}

.step.step-1 .field-row.firma {
    width: 100%;
}

.step.step-1 .field-row.vorwahl, .step.step-1 .field-row.postleitzahl {
    width: calc(((((100% - 40px) / 2) - 40px) / 100) * 30);
}

.step.step-1 .field-row.telefon, .step.step-1 .field-row.ort-stadt {
    width: calc(((((100% - 40px) / 2) - 40px) / 100) * 70);
}

.elementor-6040 .elementor-element.elementor-element-36d46c3 label {
    margin: 0px !important;
    line-height: 1.2em;
}

.elementor-6040 .elementor-element.elementor-element-36d46c3 .attribute-row label {
    margin-bottom: 10px !important;
    line-height: 1.2em;
}

.step.step-1 .field-row input, .step.step-final textarea.form-input, .step.step-1 select.form-input.required-field {
    padding: 8px 15px;
    border-radius: 4px;
    border: 1px solid #000000;
}

.step.step-1 select.form-input.required-field {
    height: 42px;
}

.elementor-6040 .elementor-element.elementor-element-36d46c3 button.next-step, .elementor-6040 .elementor-element.elementor-element-36d46c3 button.prev-step, .elementor-6040 .elementor-element.elementor-element-36d46c3 button.send-order, button.skip-to-final {
    padding: 10px 40px;
    font-size: 18px;
    background-color: #997154;
    border: 2px solid #997154;
    border-radius: 8px;
    color: #FFFFFF;
    cursor: pointer;
    transition: 0.3s;
    outline: 0px;
}

.elementor-6040 .elementor-element.elementor-element-36d46c3 button.next-step:hover, .elementor-6040 .elementor-element.elementor-element-36d46c3 button.next-step:focus, .elementor-6040 .elementor-element.elementor-element-36d46c3 button.send-order:hover, .elementor-6040 .elementor-element.elementor-element-36d46c3 button.send-order:focus, .elementor-6040 .elementor-element.elementor-element-36d46c3 button.skip-to-final:hover, .elementor-6040 .elementor-element.elementor-element-36d46c3 button.skip-to-final:focus {
    background-color: #000000;
    color: #FFFFFF;
    border: 2px solid #000000;
}

.elementor-6040 .elementor-element.elementor-element-36d46c3 button.next-step {
    background-color: #000000;
    border: 2px solid #000000;
    color: #FFFFFF;
}

.elementor-6040 .elementor-element.elementor-element-36d46c3 button.next-step:hover, .elementor-6040 .elementor-element.elementor-element-36d46c3 button.next-step:focus {
    background-color: #997154;
    color: #FFFFFF;
    border: 2px solid #997154;
}

.elementor-6040 .elementor-element.elementor-element-36d46c3 button.prev-step {
    background-color: #FFFFFF;
    border: 2px solid #000000;
    color: #000000;
}

.elementor-6040 .elementor-element.elementor-element-36d46c3 button.prev-step:hover, .elementor-6040 .elementor-element.elementor-element-36d46c3 button.prev-step:focus {
    background-color: #000000;
    color: #FFFFFF;
    border: 2px solid #000000;
}

.steps-buttons-top {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-bottom: 16px;
}

.steps-buttons-bottom {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-top: 16px;
}

/* -------------- */
.product-item {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    width: calc((100% - 120px) / 4);
    padding: 0px 0px 0px 0px;
    gap: 0px;
    border: 1px solid #000000;
    border-radius: 4px;
    background-color: #FFFFFF;
    box-shadow: 0px 0px 6px #00000040;
}

.product-item .product-selection-header > label {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    padding: 28px 28px 24px 28px;
    cursor: pointer;
    height: 300px;
    justify-content: space-between;
    font-size: 16px;
}

.product-item .product-selection-header > .quantity-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 0px 28px 16px 28px;
    gap: 10px;
}

.variation-row .quantity-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 10px;
}

.product-item .variation-selection-wrapper {
    padding: 0px;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 12px;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.35s ease, opacity 0.05s ease, padding 0.25s ease;
}

.product-item .variation-selection-wrapper.active {
    display: flex;
    max-height: fit-content;
    opacity: 1;
    padding: 0px 28px 28px 28px;
    gap: 20px;
}

.product-item input[type="checkbox"] {
    position: absolute !important;
    right: 6px !important;
    top: 6px !important;
    width: 20px;
    height: 20px;
    border: 2px solid #000000;
    cursor: pointer;
}

.product-item input[type="checkbox"]:checked {
  background-color: #000000;
  border-color: #000000;
}

.step.step-final label.checkbox-row {
    cursor: pointer;
}

.product-item select {
    padding: 8px 16px;
    border: 1px solid #000000;
    border-radius: 4px;
    width: 100%;
}

.product-item img {
    border-radius: 4px;
    width: 100%;
}

div#order-response {
    margin-top: 20px;
    text-align: center;
}

/* -------------- */
.step.step-final .field-row {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 10px;
}

.step.step-final .field-row label:first-child {
    font-size: 20px;
}

.step.step-final .field-row textarea.form-input {
    width: 100%;
}

/* Container for icon and message */
.product-info-wrapper {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 100;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    justify-content: flex-start;
}

/* The "i" Icon */
.product-info-trigger {
    width: 20px;
    height: 20px;
    background: #997154;
    color: #fff;
    border-radius: 50%;
    text-align: center;
    line-height: 20px;
    font-size: 13px;
    font-family: serif;
    font-style: italic;
    font-weight: bold;
    cursor: pointer;
    flex-shrink: 0;
}

/* The Message Box (Hidden by default) */
.product-info-message {
    display: none;
    background: #fff;
    color: #333;
    font-size: 14px;
    line-height: 1.4;
    padding: 12px 14px 10px 14px;
    margin-top: 8px;
    border: 1px solid #997154;
    border-radius: 4px;
    width: calc(100% - 10px);
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1);
    position: relative;
}

/* Optional: Small triangle pointing to the icon */
.product-info-message::before {
    content: "";
    position: absolute;
    top: -9px;
    left: 6px;
    transform: rotate(90deg);
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-right: 6px solid #997154;
}

/* Show state */
.product-info-wrapper.active .product-info-message {
    display: block;
}

.step.step-1 .field-row.gclid_stored {
    width: 100%;
    display: none;
}

@media (max-width: 1024px) {
    .step.step-1 {
        gap: 16px 20px;
    }
    
    .step.step-1 .field-row.vorwahl, .step.step-1 .field-row.postleitzahl {
        width: calc(((((100% - 20px) / 2) - 20px) / 100) * 30);
    }
    
    .step.step-1 .field-row.telefon, .step.step-1 .field-row.ort-stadt {
        width: calc(((((100% - 20px) / 2) - 20px) / 100) * 70);
    }
    
    .step {
        gap: 20px;
    }
    
    .step.step-1 .field-row {
        width: calc((100% - 20px) / 2);
    }
    
    /* -------------- */
    .product-item {
        width: calc((100% - 40px) / 3);
    }
    
    /* -------------- */
    .product-item .product-selection-header > .quantity-wrapper, .variation-row .quantity-wrapper {
        flex-direction: column;
        justify-content: flex-start;
        align-items: stretch;
    }

    .product-item .product-selection-header > label {
        height: 270px;
        font-size: 14px;
    }
    
    .product-item select {
        font-size: 14px;
    }
    
    .progress-step {
        font-size: 16px;
    }
}

@media (max-width: 767px) {
    .progress-steps {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 20px 40px;
        cursor: pointer;
    }

    .step.step-1 .field-row {
        width: 100%;
    }
    
    .step.step-1 .field-row.vorwahl, .step.step-1 .field-row.postleitzahl {
        width: calc(((100% - 20px) / 100) * 40);
    }
    
    .step.step-1 .field-row.telefon, .step.step-1 .field-row.ort-stadt {
        width: calc(((100% - 20px) / 100) * 60);
    }
    
    /* -------------- */
    .product-item {
        width: calc((100% - 20px) / 2);
    }
    
    /* -------------- */
    .progress-step {
        font-size: 12px;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        gap: 4px;
    }

    .product-item .product-selection-header > label {
        height: 235px;
    }
    
    .steps-buttons {
        flex-wrap: wrap;
    }
    
    button.skip-to-final {
        flex-grow: 1;
    }
    
    button.add-variation {
        font-size: 14px;
    }
    
    .steps-buttons-top, .steps-buttons-bottom {
        flex-wrap: wrap;
    }
    
    .elementor-6040 .elementor-element.elementor-element-36d46c3 button.next-step, .elementor-6040 .elementor-element.elementor-element-36d46c3 button.prev-step, .elementor-6040 .elementor-element.elementor-element-36d46c3 button.send-order, button.skip-to-final {
        flex-grow: 1;
    }
    
    .product-info-message {
        font-size: 12px;
    }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-36d46c3 *//* Progress */
.form-progress {
    width: 100%;
    margin-bottom: 30px;
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-end;
    align-items: stretch;
    gap: 12px;
}

.progress-bar {
    width: 100%;
    height: 10px;
    background: #eee;
    border-radius: 10px;
    overflow: hidden;
}

.progress-fill {
    height: 100%;
    width: 0%;
    background: #997154;
    transition: width 0.3s ease;
}

.progress-steps {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    cursor: pointer;
}

.progress-step:hover {
    opacity: 0.8;
}

.progress-step {
    display: flex;
    align-items: center;
    gap: 8px;
    opacity: 0.4;
    transition: 0.3s;
    font-size: 18px;
    font-weight: 500;
}

.progress-step.active {
    opacity: 1;
}

.step-number {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 2px solid #997154;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    background: #fff;
    transition: 0.3s;
}

.progress-step.active .step-number {
    background: #997154;
    color: #fff;
}

.step-text {
    /*white-space: nowrap;*/
    white-space: normal;
}

/* -------------- */

.variation-rows {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 20px;
}

.variation-row {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 10px;
}

.variation-rows .variation-row:first-child button.remove-variation {
    display: none;
}

.qty-control {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
    gap: 6px;
}

.product-item .product-selection-header > .quantity-wrapper input.qty-input, .variation-row .qty-control input.qty-input {
    width: calc(100% - 80px);
    flex-grow: 1;
    padding: 4px 8px;
    border: 1px solid #000000;
    border-radius: 4px;
}

.qty-control button {
    border-width: 0px;
    background-color: #997154;
    color: #FFFFFF;
    border-radius: 4px;
    width: 34px;
    cursor: pointer;
}

.qty-control button:hover, .qty-control button:focus {
    background-color: #000000;
    color: #FFFFFF;
}

button.remove-variation {
    border-width: 0px;
    background-color: #000000;
    color: #FFFFFF;
    border-radius: 4px;
    cursor: pointer;
    padding: 9px 11px 11px 11px;
    line-height: 1em;
    outline: 0px;
}

button.remove-variation:hover, button.remove-variation:focus {
    background-color: #997154;
    color: #FFFFFF;
}

button.add-variation {
    border-width: 0px;
    background-color: #000000;
    color: #FFFFFF;
    border-radius: 4px;
    cursor: pointer;
    padding: 10px 11px;
    line-height: 1.2em;
    font-size: 16px;
    font-weight: 600;
    outline: 0px;
}

button.add-variation:hover, button.add-variation:focus {
    background-color: #997154;
    color: #FFFFFF;
    outline-width: 0px;
}

/* Remove arrows in Chrome, Safari, Edge */
.qty-input::-webkit-outer-spin-button,
.qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Remove arrows in Firefox */
.qty-input {
    -moz-appearance: textfield;
}

/* -------------- */
.step {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 24px 40px;
}

.elementor-6040 .elementor-element.elementor-element-36d46c3 h3, .elementor-6040 .elementor-element.elementor-element-36d46c3 h4.category-title {
    width: 100%;
    margin: 0px;
    font-weight: 600;
}

.step.step-1 .field-row {
    width: calc((100% - 40px) / 2);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 8px;
}

.step.step-1 .field-row.firma {
    width: 100%;
}

.step.step-1 .field-row.vorwahl, .step.step-1 .field-row.postleitzahl {
    width: calc(((((100% - 40px) / 2) - 40px) / 100) * 30);
}

.step.step-1 .field-row.telefon, .step.step-1 .field-row.ort-stadt {
    width: calc(((((100% - 40px) / 2) - 40px) / 100) * 70);
}

.elementor-6040 .elementor-element.elementor-element-36d46c3 label {
    margin: 0px !important;
    line-height: 1.2em;
}

.elementor-6040 .elementor-element.elementor-element-36d46c3 .attribute-row label {
    margin-bottom: 10px !important;
    line-height: 1.2em;
}

.step.step-1 .field-row input, .step.step-final textarea.form-input, .step.step-1 select.form-input.required-field {
    padding: 8px 15px;
    border-radius: 4px;
    border: 1px solid #000000;
}

.step.step-1 select.form-input.required-field {
    height: 42px;
}

.elementor-6040 .elementor-element.elementor-element-36d46c3 button.next-step, .elementor-6040 .elementor-element.elementor-element-36d46c3 button.prev-step, .elementor-6040 .elementor-element.elementor-element-36d46c3 button.send-order, button.skip-to-final {
    padding: 10px 40px;
    font-size: 18px;
    background-color: #997154;
    border: 2px solid #997154;
    border-radius: 8px;
    color: #FFFFFF;
    cursor: pointer;
    transition: 0.3s;
    outline: 0px;
}

.elementor-6040 .elementor-element.elementor-element-36d46c3 button.next-step:hover, .elementor-6040 .elementor-element.elementor-element-36d46c3 button.next-step:focus, .elementor-6040 .elementor-element.elementor-element-36d46c3 button.send-order:hover, .elementor-6040 .elementor-element.elementor-element-36d46c3 button.send-order:focus, .elementor-6040 .elementor-element.elementor-element-36d46c3 button.skip-to-final:hover, .elementor-6040 .elementor-element.elementor-element-36d46c3 button.skip-to-final:focus {
    background-color: #000000;
    color: #FFFFFF;
    border: 2px solid #000000;
}

.elementor-6040 .elementor-element.elementor-element-36d46c3 button.next-step {
    background-color: #000000;
    border: 2px solid #000000;
    color: #FFFFFF;
}

.elementor-6040 .elementor-element.elementor-element-36d46c3 button.next-step:hover, .elementor-6040 .elementor-element.elementor-element-36d46c3 button.next-step:focus {
    background-color: #997154;
    color: #FFFFFF;
    border: 2px solid #997154;
}

.elementor-6040 .elementor-element.elementor-element-36d46c3 button.prev-step {
    background-color: #FFFFFF;
    border: 2px solid #000000;
    color: #000000;
}

.elementor-6040 .elementor-element.elementor-element-36d46c3 button.prev-step:hover, .elementor-6040 .elementor-element.elementor-element-36d46c3 button.prev-step:focus {
    background-color: #000000;
    color: #FFFFFF;
    border: 2px solid #000000;
}

.steps-buttons-top {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-bottom: 16px;
}

.steps-buttons-bottom {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-top: 16px;
}

/* -------------- */
.product-item {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    width: calc((100% - 120px) / 4);
    padding: 0px 0px 0px 0px;
    gap: 0px;
    border: 1px solid #000000;
    border-radius: 4px;
    background-color: #FFFFFF;
    box-shadow: 0px 0px 6px #00000040;
}

.product-item .product-selection-header > label {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    padding: 28px 28px 24px 28px;
    cursor: pointer;
    height: 300px;
    justify-content: space-between;
    font-size: 16px;
}

.product-item .product-selection-header > .quantity-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 0px 28px 16px 28px;
    gap: 10px;
}

.variation-row .quantity-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 10px;
}

.product-item .variation-selection-wrapper {
    padding: 0px;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 12px;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.35s ease, opacity 0.05s ease, padding 0.25s ease;
}

.product-item .variation-selection-wrapper.active {
    display: flex;
    max-height: fit-content;
    opacity: 1;
    padding: 0px 28px 28px 28px;
    gap: 20px;
}

.product-item input[type="checkbox"] {
    position: absolute !important;
    right: 6px !important;
    top: 6px !important;
    width: 20px;
    height: 20px;
    border: 2px solid #000000;
    cursor: pointer;
}

.product-item input[type="checkbox"]:checked {
  background-color: #000000;
  border-color: #000000;
}

.step.step-final label.checkbox-row {
    cursor: pointer;
}

.product-item select {
    padding: 8px 16px;
    border: 1px solid #000000;
    border-radius: 4px;
    width: 100%;
}

.product-item img {
    border-radius: 4px;
    width: 100%;
}

div#order-response {
    margin-top: 20px;
    text-align: center;
}

/* -------------- */
.step.step-final .field-row {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 10px;
}

.step.step-final .field-row label:first-child {
    font-size: 20px;
}

.step.step-final .field-row textarea.form-input {
    width: 100%;
}

/* Container for icon and message */
.product-info-wrapper {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 100;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    justify-content: flex-start;
}

/* The "i" Icon */
.product-info-trigger {
    width: 20px;
    height: 20px;
    background: #997154;
    color: #fff;
    border-radius: 50%;
    text-align: center;
    line-height: 20px;
    font-size: 13px;
    font-family: serif;
    font-style: italic;
    font-weight: bold;
    cursor: pointer;
    flex-shrink: 0;
}

/* The Message Box (Hidden by default) */
.product-info-message {
    display: none;
    background: #fff;
    color: #333;
    font-size: 14px;
    line-height: 1.4;
    padding: 12px 14px 10px 14px;
    margin-top: 8px;
    border: 1px solid #997154;
    border-radius: 4px;
    width: calc(100% - 10px);
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1);
    position: relative;
}

/* Optional: Small triangle pointing to the icon */
.product-info-message::before {
    content: "";
    position: absolute;
    top: -9px;
    left: 6px;
    transform: rotate(90deg);
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-right: 6px solid #997154;
}

/* Show state */
.product-info-wrapper.active .product-info-message {
    display: block;
}

.step.step-1 .field-row.gclid_stored {
    width: 100%;
    display: none;
}

@media (max-width: 1024px) {
    .step.step-1 {
        gap: 16px 20px;
    }
    
    .step.step-1 .field-row.vorwahl, .step.step-1 .field-row.postleitzahl {
        width: calc(((((100% - 20px) / 2) - 20px) / 100) * 30);
    }
    
    .step.step-1 .field-row.telefon, .step.step-1 .field-row.ort-stadt {
        width: calc(((((100% - 20px) / 2) - 20px) / 100) * 70);
    }
    
    .step {
        gap: 20px;
    }
    
    .step.step-1 .field-row {
        width: calc((100% - 20px) / 2);
    }
    
    /* -------------- */
    .product-item {
        width: calc((100% - 40px) / 3);
    }
    
    /* -------------- */
    .product-item .product-selection-header > .quantity-wrapper, .variation-row .quantity-wrapper {
        flex-direction: column;
        justify-content: flex-start;
        align-items: stretch;
    }

    .product-item .product-selection-header > label {
        height: 270px;
        font-size: 14px;
    }
    
    .product-item select {
        font-size: 14px;
    }
    
    .progress-step {
        font-size: 16px;
    }
}

@media (max-width: 767px) {
    .progress-steps {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 20px 40px;
        cursor: pointer;
    }

    .step.step-1 .field-row {
        width: 100%;
    }
    
    .step.step-1 .field-row.vorwahl, .step.step-1 .field-row.postleitzahl {
        width: calc(((100% - 20px) / 100) * 40);
    }
    
    .step.step-1 .field-row.telefon, .step.step-1 .field-row.ort-stadt {
        width: calc(((100% - 20px) / 100) * 60);
    }
    
    /* -------------- */
    .product-item {
        width: calc((100% - 20px) / 2);
    }
    
    /* -------------- */
    .progress-step {
        font-size: 12px;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        gap: 4px;
    }

    .product-item .product-selection-header > label {
        height: 235px;
    }
    
    .steps-buttons {
        flex-wrap: wrap;
    }
    
    button.skip-to-final {
        flex-grow: 1;
    }
    
    button.add-variation {
        font-size: 14px;
    }
    
    .steps-buttons-top, .steps-buttons-bottom {
        flex-wrap: wrap;
    }
    
    .elementor-6040 .elementor-element.elementor-element-36d46c3 button.next-step, .elementor-6040 .elementor-element.elementor-element-36d46c3 button.prev-step, .elementor-6040 .elementor-element.elementor-element-36d46c3 button.send-order, button.skip-to-final {
        flex-grow: 1;
    }
    
    .product-info-message {
        font-size: 12px;
    }
}/* End custom CSS */
/* Start JX Custom Fonts CSS *//* End JX Custom Fonts CSS */