.schuebo-configurator{

    display:grid;
    grid-template-columns:460px minmax(700px,1fr);

    align-items:flex-start;

    max-width:1500px;

    margin:50px auto 60px;   /* vorher vermutlich 0 auto 60px */

    padding:0 40px 40px;

    gap:90px;

}

/* ---------- LINKS ---------- */

.schuebo-left{

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    text-align:left;

}

.sc-subtitle{

    font-size:13px;
    letter-spacing:4px;
    text-transform:uppercase;
    color:#c40018;
    font-weight:700;
    margin-bottom:20px;

}

.schuebo-left h3{

    font-size:50px;
    font-weight:300;
    line-height:1.05;
    margin:0 0 60px;
    color:#111;
    letter-spacing:-0.5px;

}

.sc-text{

    font-size:20px;
    line-height:1.8;
    color:#666;

    max-width:420px;

    margin-bottom:45px;

}

.schuebo-left h4{

    font-size:17px;

    letter-spacing:2px;

    text-transform:uppercase;

    margin:0 0 18px;

}

/* ---------- FARBBUTTONS ---------- */

.schuebo-colors,
.schuebo-connector-colors{

    display:flex;
    gap:18px;
    margin-top:8px;
    margin-bottom:20px;

}

.color-dot,
.connector-dot{

    width:32px;

    height:32px;

    border-radius:0px;

    border:none;

    cursor:pointer;

    transition:.25s;

    box-shadow:0 10px 25px rgba(0,0,0,.15);

}

.color-dot:hover,
.connector-dot:hover{

    transform:scale(1.15);

}

.color-dot.active,
.connector-dot.active{

    transform:scale(1.05);

    outline:1px solid #111;

    outline-offset:3px;

    box-shadow:0 8px 15px rgba(0,0,0,.15);

}

/* =====================================
   IHRE KONFIGURATION
===================================== */

.selected-color{

    margin:20px 0 40px;

}

.selected-color .label{

    display:block;

    font-size:15px;

    font-weight:600;

    letter-spacing:3px;

    text-transform:uppercase;

    color:#4b5563;

    margin-bottom:25px;

}

.selected-color .label::after{

    content:"";

    display:block;

    width:48px;

    height:3px;

    background:#c40018;

    margin-top:12px;

}

.config-grid{

    display:grid;

    grid-template-columns:140px 140px 250px;

    gap:18px;

}

.selected-item{

    background:#fff;

    border-radius:12px;

    padding:18px;

    margin:0;

    box-shadow:0 8px 20px rgba(0,0,0,.06);

    min-height:130px;

}

.selected-item-title{

    display:block;

    font-size:13px;

    color:#777;

    text-transform:uppercase;

    letter-spacing:2px;

    margin-bottom:14px;

}

.selected-item-name{

    font-size:18px;

    color:#111;

    font-weight:600;

    line-height:1.25;

}

.selected-item-ral{

    display:block;

    margin-top:10px;

    color:#c40018;

    font-size:15px;

    font-weight:600;

}

/* ---------- BUTTON ---------- */

.sc-button{

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

    width:220px;          /* vorher 260px */
    height:44px;          /* vorher 50px */

    margin-top:30px;      /* vorher 55px */

    margin-left:0;
    margin-right:0;
    padding:0;

    border-radius:22px;

    background:#111;
    color:#fff;

    text-decoration:none;
    font-size:15px;       /* vorher 16px */
    font-weight:600;
    letter-spacing:.3px;

    transition:all .25s ease;

}
.sc-button:hover{

    background:#c40018;

    transform:translateY(-2px);

    box-shadow:0 10px 25px rgba(0,0,0,.18);

}

.sc-button:hover{

    background:#c40018;

    transform:translateY(-2px);

}

/* ---------- BILD ---------- */

.schuebo-right{

    display:flex;

    justify-content:center;

    align-items:flex-start;
	
	padding-top:0px;
	
}


/* ---------- MOBIL ---------- */

@media(max-width:980px){

.schuebo-configurator{

grid-template-columns:1fr;

gap:40px;

padding:20px;

}

.schuebo-left{

order:2;

}

.schuebo-right{

order:1;

}
.schuebo-left h3{

    font-size:58px;
    font-weight:300;
    line-height:1.05;
    margin:0 0 35px;   /* statt 60px */
    color:#111;
    letter-spacing:-0.5px;

}

/* ---------- BUTTON ---------- */

.sc-button{

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

    width:220px;
    height:44px;

    margin-top:30px;
    margin-left:0;
    margin-right:0;

    padding:0;

    border-radius:22px;

    background:#111;
    color:#fff;

    text-decoration:none;

    font-size:15px;
    font-weight:600;
    letter-spacing:.3px;

    transition:all .25s ease;

}

.sc-button:hover{

    background:#c40018;

    transform:translateY(-2px);

    box-shadow:0 10px 25px rgba(0,0,0,.18);

}

#schuebo-product-image{

width:100%;

}

}
/* ==================================================
   INDIVIDUALISIERUNG
================================================== */

.branding-options{

display:flex;
flex-direction:column;
gap:14px;
margin:15px 0 10px;
width:100%;

}

.branding-card{

position:relative;

display:flex;
align-items:center;

padding:18px 24px;

background:#fff;

border:1px solid #e9ecef;

border-radius:16px;

cursor:pointer;

transition:.25s;

box-shadow:
0 8px 24px rgba(0,0,0,.05);

}

.branding-card:hover{

transform:translateY(-3px);

border-color:#c40018;

box-shadow:
0 15px 35px rgba(0,0,0,.10);

}

.branding-card input{

position:absolute;

opacity:0;

pointer-events:none;

}

.branding-content{

display:flex;

flex-direction:column;

width:100%;

padding-right:40px;

}

.branding-content h5{

margin:0;

font-size:22px;

font-weight:700;

color:#222;

}

.branding-content p{

margin:6px 0 0;

font-size:15px;

line-height:1.6;

color:#666;

}

.branding-card::after{

content:"";

position:absolute;

right:22px;

top:50%;

transform:translateY(-50%);

width:22px;

height:22px;

border-radius:50%;

border:2px solid #bbb;

transition:.25s;

}

.branding-card:has(input:checked){

border-color:#c40018;

background:#fffafb;

box-shadow:
0 15px 40px rgba(196,0,24,.10);

}

.branding-card:has(input:checked)::after{

background:#c40018;

border-color:#c40018;

box-shadow:
inset 0 0 0 5px #fff;

}
/* ---------- Hinweisbox ---------- */

.branding-hint{

    display:flex;

    align-items:flex-start;

    gap:18px;

    padding:22px 24px;

    margin-top:18px;

    background:#ffffff;

    border-left:5px solid #c40018;

    border-radius:12px;

    box-shadow:0 10px 24px rgba(0,0,0,.08);

}

.branding-hint::before{

    content:"i";

    display:flex;

    align-items:center;

    justify-content:center;

    width:32px;
    min-width:32px;

    height:32px;

    border-radius:50%;

    background:#c40018;

    color:#fff;

    font-size:18px;

    font-weight:700;

    line-height:1;

    flex-shrink:0;

}

/* ---------- Farb-Tooltip ---------- */

.color-dot,
.connector-dot{

    position:relative;

}

.color-dot::after,
.connector-dot::after{

    content:attr(data-tooltip);

    position:absolute;

    bottom:48px;

    left:50%;

    transform:translateX(-50%);

    background:#111;

    color:#fff;

    padding:8px 10px;

    border-radius:4px;

    font-size:12px;

    line-height:1.3;

    white-space:nowrap;

    opacity:0;

    pointer-events:none;

    transition:.2s;

    z-index:999;

}

.color-dot::before,
.connector-dot::before{

    content:"";

    position:absolute;

    bottom:42px;

    left:50%;

    transform:translateX(-50%);

    border:6px solid transparent;

    border-top-color:#111;

    opacity:0;

    transition:.2s;

}

.color-dot:hover::after,
.connector-dot:hover::after,
.color-dot:hover::before,
.connector-dot:hover::before{

    opacity:1;

}
/* ---------- Produktkonfiguration ---------- */

textarea[name="textarea-2"]{

    background:#fbfcfd !important;

    border:1px solid #dfe5eb !important;

    border-left:3px solid #c40018 !important;

    border-radius:8px !important;

    color:#2f3a44 !important;

    font-family:"Segoe UI", Arial, sans-serif !important;

    font-size:15px !important;

    line-height:1.7 !important;

    padding:18px !important;

    resize:none;

    box-sizing:border-box;

}
/* ---------- Produktkonfiguration ---------- */

textarea[name="textarea-2"]{

    background:#f8fafc !important;

    border-left:3px solid #c40018 !important;

    font-family:"Segoe UI", Arial, sans-serif !important;

    font-size:15px !important;

    line-height:1.7 !important;

    resize:none;

}

/* ---------- Zeichenzähler ausblenden ---------- */

.forminator-description{
    display:none !important;
}
/* Google Maps */
.h-google-map iframe{
    min-height:780px !important;
    height:100% !important;
}
/* Einheitliche Abstände aller Formularfelder */

.forminator-ui .forminator-row{
    margin-bottom:16px !important;
}

.forminator-ui .forminator-field{
    margin-bottom:0 !important;
}
.forminator-ui .forminator-field-textarea{
    margin-top:0 !important;
    padding-top:0 !important;
}
/* Produktkonfiguration kompakter */

textarea[name="textarea-2"]{

    min-height:80px !important;
    height:80px !important;

}

textarea[name="textarea-2"]{

    --forminator-textarea-min-height:120px !important;

}
/* Produktkonfiguration */

textarea[name="textarea-2"]{
    height:120px !important;
    min-height:120px !important;
}

textarea[name="textarea-2"] + .forminator-textarea--wrap,
.forminator-textarea--wrap{
    min-height:120px !important;
}
.forminator-edit-module {
    display: none !important;
}
/* Abstand unter dem Formular entfernen */
.forminator-ui {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.forminator-ui form {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
.h-contact-form_outer--forminator {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
.forminator-row-last {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
.forminator-ui,
.forminator-ui form,
.forminator-row-last,
.forminator-row-last .forminator-col,
.forminator-row-last .forminator-field {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    min-height: 0 !important;
    height: auto !important;
}
/* Weniger Abstand unter dem Konfigurator */

.schuebo-configurator{
    margin-bottom: 20px !important;
    padding-bottom: 0 !important;
}

.schuebo-left{
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

.sc-button{
    margin-bottom: 0 !important;
}

.selected-color{
    margin-bottom: 10px !important;
}
.forminator-ui,
.forminator-ui form,
.forminator-row-last,
.forminator-row-last .forminator-col,
.forminator-row-last .forminator-field {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    min-height: 0 !important;
    height: auto !important;
}

/* HIER UNTEN EINFÜGEN */

.schuebo-configurator{
    margin-bottom:20px !important;
    padding-bottom:0 !important;
}

.h-section{
    padding-bottom:0 !important;
    margin-bottom:0 !important;
}

.h-section-content{
    padding-bottom:0 !important;
    margin-bottom:0 !important;
}
/* Abstand unter dem Konfigurator entfernen */

.h-section{
    padding-bottom:0 !important;
}

.h-section-content{
    padding-bottom:0 !important;
}

.h-section-inner{
    padding-bottom:0 !important;
}
/* ---------- Branding Overlays ---------- */
.product-image-wrapper{
    position:relative;
    display:block;
    width:120%;
    aspect-ratio:1 / 1;
}

#schuebo-product-image,
.branding-image,
.tampon-image{
    position:absolute;
    inset:0;
    display:block;
    width:100%;
    height:100%;
    margin:0;
    object-fit:fill;
    pointer-events:none;
}

#schuebo-product-image{
    z-index:1;
    opacity:1;
    transition:opacity .25s ease;
}

.branding-image,
.tampon-image{
    z-index:10;
    display:block !important;
    opacity:0;
    visibility:hidden;
    transition:opacity .25s ease, visibility 0s linear .25s;
}

.branding-image.active,
.tampon-image.active{
    display:block !important;
    opacity:1;
    visibility:visible;
    transition:opacity .25s ease;
}

/* ---------- Qualitäts-Badge ---------- */

.quality-badge{

    display:block;

    width:180px;

    height:auto;

    margin:-30px 0 40px 0;

}
/* ---------- Hinweis Sonderfarben ---------- */

.color-note{

    margin:12px 0 28px;

    font-size:13px;

	color:#c40018;
	
    letter-spacing:.2px;

    font-style:italic;

}

.color-note::before{

    content:"";

}
.lowercase{

    text-transform:none;

    letter-spacing:0;

    font-weight:400;

}
/* ---------- Produktkonfigurator ---------- */

.sc-subtitle{

    display:block;

    margin:0 0 12px;

    font-size:13px;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:5px;

    color:#c40018;

    line-height:1;

}
/* ==================================================
   MULTI-PRODUCT MODAL
================================================== */
.schuebo-configurator-modal-shell{
    display:none;
    position:fixed;
    inset:0;
    z-index:999999;
}

.schuebo-configurator-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.68);
    backdrop-filter:blur(3px);
}

.schuebo-configurator-dialog{
    position:relative;
    z-index:2;
    width:min(1500px, calc(100vw - 50px));
    max-height:calc(100vh - 50px);
    overflow:auto;
    margin:25px auto;
    background:#fff;
    border-radius:18px;
    box-shadow:0 25px 80px rgba(0,0,0,.30);
}

.schuebo-configurator-dialog > .schuebo-configurator{
    margin:0 auto !important;
    padding:55px 55px 50px !important;
}

.schuebo-configurator-close{
    position:absolute;
    right:20px;
    top:15px;
    z-index:10;
    width:42px;
    height:42px;
    border:0;
    border-radius:50%;
    background:#111;
    color:#fff;
    font-size:30px;
    line-height:1;
    cursor:pointer;
}

.schuebo-configurator-close:hover{
    background:#c40018;
}

body.schuebo-configurator-open{
    overflow:hidden;
}

.schuebo-image-placeholder{
    min-height:360px;
    min-width:420px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px dashed #cbd5e1;
    color:#94a3b8;
    font-size:14px;
    background:#f8fafc;
}

.schuebo-configurator-modal .sc-button{
    background:#111;
}

@media(max-width:980px){
    .schuebo-configurator-dialog{
        width:calc(100vw - 20px);
        max-height:calc(100vh - 20px);
        margin:10px auto;
    }

    .schuebo-configurator-dialog > .schuebo-configurator{
        padding:45px 20px 30px !important;
    }

    .schuebo-configurator-close{
        right:10px;
        top:10px;
    }

    .schuebo-image-placeholder{
        min-width:0;
        min-height:220px;
    }
}

/* ==================================================
   CONFIGURATION ON REQUEST OVERLAY
================================================== */
.schuebo-configurator-request{
    min-height:420px;
    padding:90px 90px 85px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
}

.schuebo-configurator-request .sc-subtitle{
    margin-bottom:14px;
}

.schuebo-configurator-request h3{
    margin:0 0 25px;
    font-size:48px;
    line-height:1.08;
    font-weight:300;
}

.schuebo-configurator-request p{
    max-width:720px;
    margin:0 0 12px;
    font-size:20px;
    line-height:1.6;
    color:#456b7d;
}

.schuebo-configurator-request .sc-button{
    margin-top:24px;
    text-decoration:none;
}

@media(max-width:980px){
    .schuebo-configurator-request{
        min-height:360px;
        padding:70px 30px 60px;
    }

    .schuebo-configurator-request h3{
        font-size:36px;
    }

    .schuebo-configurator-request p{
        font-size:17px;
    }
}
