/*
Theme Name: CWS Child
Template: twentytwentyfive
Version: 1.0
Description: Child Theme für CWS Weihnachtsaktion
*/

/* ============================================
   POLYLANG LANGUAGE SWITCHER
   ============================================ */

.language-switcher-header {
    position: absolute;
    top: 45px;
    right: 30px;
    z-index: 1000;
}

.language-switcher-header ul {
    list-style: none !important;
    display: flex !important;
    flex-direction: row !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
}

.language-switcher-header li {
    margin: 0 !important;
    display: inline-block !important;
}

/* Separator | zwischen den Sprachen */
.language-switcher-header li:not(:last-child)::after {
    content: "|";
    margin-left: 8px;
    color: var(--wp--preset--color--light);
    font-weight: 300;
}

.language-switcher-header a {
    text-decoration: none !important;
    color: var(--wp--preset--color--primary) !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    text-transform: uppercase !important;
    transition: color 0.2s !important;
    line-height: 1 !important;
}

.language-switcher-header a:hover {
    color: var(--wp--preset--color--secondary) !important;
}

.language-switcher-header .current-lang a {
    color: var(--wp--preset--color--light) !important;
    font-weight: 700 !important;
}

/* Mobile Anpassung */
@media (max-width: 767px) {
    .language-switcher-header {
        top: 34px;
        right: 0px;
    }
}

/* ============================================
   TYPOGRAPHY
   ============================================ */

h1 {
    font-size: 3.61rem;
}

/* ============================================
   FORM INPUTS (NINJA FORMS FLOATING LABELS)
   ============================================ */

/* Field Container mit Position Relative für Floating Label */
.nf-field-container {
    position: relative !important;
    margin-bottom: 1.5rem !important;
}

/* Input Felder Styling */
.form-input,
.ninja-forms-field.nf-element,
.nf-field-element input[type="text"],
.nf-field-element input[type="email"],
.nf-field-element input[type="tel"],
.nf-field-element input[type="date"],
.nf-field-element input[type="number"],
.nf-field-element textarea,
.nf-field-element select {
    display: block !important;
    width: 100% !important;
    border: 1px solid #dadada !important;
    padding: 0.75rem 1rem !important;
    border-radius: 0.3em !important;
    font-size: 1rem !important;
    background: #fff !important;
    transition: border-color 0.2s ease !important;
}

/* Select Dropdowns - größeres Padding für bessere Darstellung */
.nf-field-element select {
    padding: 1rem 1rem !important;
    min-height: 48px !important;
}

/* Focus State */
.form-input:focus,
.ninja-forms-field.nf-element:focus,
.nf-field-element input:focus,
.nf-field-element textarea:focus,
.nf-field-element select:focus {
    outline: none !important;
    border-color: var(--wp--preset--color--primary) !important;
    box-shadow: 0 0 0 3px rgba(0, 113, 103, 0.1) !important;
}

/* Floating Label Styling */
.nf-field-label label,
.nf-field-container > label {
    margin: 0 !important;
    display: block !important;
    position: absolute !important;
    top: -12px !important;
    left: 10px !important;
    background: #fff !important;
    padding: 0 6px !important;
    border-radius: 0.3em !important;
    z-index: 10 !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    color: var(--wp--preset--color--contrast) !important;
    pointer-events: none !important;
    line-height: 1 !important;
}

.shadow-sm {
    --tw-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.border-light {
    border-color: var(--wp--preset--color--light);
}

.ninja-forms-req-symbol {
    color: #ff0000;
}

.nf-error-wrap.nf-error {
    color: #ff0000;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.nf-field-container {
    margin-bottom: 1.5rem;
}

.nf-field-label label {
    font-weight: 600;
    margin-bottom: 0.5rem;
    display: block;
}

/* ============================================
   BUTTONS
   ============================================ */

.button {
    display: inline-block;
    text-align: center;
    font-weight: 800;
    line-height: 1.18;
    border-width: 2px;
    border-radius: 1.8rem;
    text-decoration-line: none;
    transition: transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);
    padding: 0.64rem 1.17rem;
    margin-bottom: 1rem;
    width: auto;
}

.button-primary {
    background-color: var(--wp--preset--color--primary);
    border-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--white);
}

.button:hover {
    transform: scale(1.02);
}

@media (min-width: 640px) {
    .button {
        width: auto;
        font-size: 1.22rem;
        padding: 0.86rem 1.83rem;
    }
}

@media (min-width: 768px) {
    .button {
        margin-bottom: 1.5rem;
    }
}

/* Ninja Forms Submit Button */
.nf-form-content input[type="button"],
.nf-form-content button[type="submit"],
input[type="submit"].ninja-forms-field {
    font-size: 1.22rem !important;
    margin-right: 1rem !important;
    padding: 0.86rem 1.83rem !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
    border-width: 2px !important;
    border-style: solid !important;
    border-radius: 1.8rem !important;
    background-color: var(--wp--preset--color--primary) !important;
    border-color: var(--wp--preset--color--primary) !important;
    color: var(--wp--preset--color--white) !important;
    transition: transform 0.15s cubic-bezier(0.4, 0, 0.2, 1) !important;
    cursor: pointer !important;
    width: auto !important;
    max-width: fit-content !important;
    display: inline-block !important;
}

.nf-form-content input[type="button"]:hover,
.nf-form-content button[type="submit"]:hover,
input[type="submit"].ninja-forms-field:hover {
    transform: scale(1.02) !important;
}

/* ============================================
   UTILITY CLASSES
   ============================================ */

.full-width {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
}

.container-narrow {
    max-width: 600px;
    margin-inline: auto;
}

.container-button {
    text-align: center;
}

.nf-form-fields-required {
    margin-bottom: 30px;
}

/* ============================================
   GLOBAL FIXES
   ============================================ */

img {
    height: auto;
}


/* Header styling - shadow only, no padding */
header.wp-block-template-part,
.wp-block-template-part[data-slug="header"] {
    padding: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .1) !important;
    position: relative !important;
    z-index: 10 !important;
}

/* Inner group in header gets padding but NO shadow */
header.wp-block-template-part > .wp-block-group {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
    box-shadow: none !important;
}

@media (min-width: 768px) {
    header.wp-block-template-part > .wp-block-group {
        padding-top: 20px !important;
        padding-bottom: 20px !important;
    }
}

/* Abstand zwischen Header und Content (nur wenn KEIN Cover Block vorhanden) */
main:not(:has(.wp-block-cover)) {
    padding-top: 50px !important;
}

/* Wenn Cover Block vorhanden ist, kein zusätzlicher Abstand */
main:has(.wp-block-cover) {
    padding-top: 0 !important;
}

.wp-block-cover:first-child,
.entry-content > .wp-block-cover:first-child {
    margin-top: 0 !important;
}

/* Footer Background - CWS Hellblau */
footer.wp-block-template-part,
.wp-block-template-part[data-type="core/template-part"][data-slug="footer"] {
    background-color: var(--wp--preset--color--secondary);
    width: 100%;
    padding: 2rem 0;
    position: relative;
}

footer.wp-block-template-part > *,
.wp-block-template-part[data-type="core/template-part"][data-slug="footer"] > * {
    position: relative;
    z-index: 1;
}

/* Footer Text Styling */
footer.wp-block-template-part p,
.wp-block-template-part[data-type="core/template-part"][data-slug="footer"] p {
    color: #000 !important;
    font-weight: 400 !important;
}

/* Navigation Links - Schwarze Farbe */
.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content {
    color: #000 !important;
}

/* Login Section Background - use full-bg class */
.is-layout-constrained > .wp-block-columns.full-bg,
.is-layout-constrained > .full-bg.wp-block-columns,
.is-layout-constrained > .full-bg,
:where(.is-layout-constrained) > .full-bg,
:where(.wp-block-columns.full-bg),
.wp-block-columns.full-bg,
.full-bg.wp-block-columns,
.full-bg {
    background-color: #f2f2f2 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    margin-bottom: 0 !important;
    padding-left: 2.5rem !important;
    padding-right: 2.5rem !important;
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
    box-sizing: border-box !important;
}

body {
    overflow-x: hidden;
}

.full-bg > .wp-block-column,
.full-bg .wp-block-column,
.wp-block-columns.full-bg > .wp-block-column {
    max-width: 1200px !important;
    margin-inline: auto !important;
    position: relative !important;
    left: auto !important;
}

/* Remove background from text above login form */
.full-bg p {
    background: transparent !important;
}

/* Code-Eingabe Box */
.rabatt-login-form {
    max-width: 600px !important;
    width: 100% !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    padding: 1.5rem !important;
}

/* ============================================
   PRODUCT PREVIEW IMAGES (Above Form)
   ============================================ */

/* Border Radius für Produktbilder oberhalb des Formulars */
.wp-block-image img,
figure img {
    border-radius: 0.5rem;
}

/* KEIN Border-Radius für Header-Logo */
header.wp-block-template-part img,
header.wp-block-template-part figure img {
    border-radius: 0 !important;
}

/* Produktbilder-Container zentrieren */
.wp-block-columns:has(.wp-block-image) {
    justify-content: center !important;
}

/* Einzelne Spalten mit Produktbildern zentrieren */
.wp-block-column:has(.wp-block-image) {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

/* ============================================
   NINJA FORMS STYLING (NETZSCH)
   ============================================ */

/* Ninja Forms Success Message */
.nf-response-msg,
.nf-form-response-msg,
.ninja-forms-response-msg {
    padding: 20px !important;
    margin-bottom: 20px !important;
    border-radius: 4px !important;
    background-color: #d4edda !important;
    border: 1px solid #c3e6cb !important;
    color: #155724 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
}

.nf-response-msg strong,
.nf-form-response-msg strong {
    color: var(--wp--preset--color--primary) !important;
}

/* Formular nach Erfolg ausblenden */
.nf-form-cont.nf-success .nf-form-fields-required,
.nf-form-cont.nf-success .nf-form-content:not(.nf-response-msg) {
    display: none !important;
}

/* PRODUKT-AUSWAHL: Radio Buttons mit Bildern */
.product-selection .nf-field-element ul {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 1.5rem !important;
    margin-top: 1rem !important;
    margin-bottom: 2.5rem !important;
    list-style: none !important;
    padding: 0 !important;
    justify-content: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.product-selection .nf-field-element ul li {
    flex: 0 0 auto !important;
    width: 280px !important;
    margin: 0 !important;
}

/* Radio Button Label mit Preview-Bild */
.product-selection .nf-field-element ul li label {
    display: block !important;
    padding: 0 0 1rem 0 !important;
    border: 1px solid #dadada !important;
    border-radius: 0.3em !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    background: #fff !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    text-align: center !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    line-height: 1.4 !important;
    position: relative !important;
}

.product-selection .nf-field-element ul li label:hover {
    border-color: var(--wp--preset--color--primary) !important;
    box-shadow: 0 2px 8px rgba(0, 113, 103, 0.1) !important;
}

/* Selected State */
.product-selection .nf-field-element ul li:has(input[type="radio"]:checked) label {
    border-color: var(--wp--preset--color--primary) !important;
    background: rgba(0, 113, 103, 0.05) !important;
    font-weight: 700 !important;
    color: var(--wp--preset--color--primary) !important;
}

/* Preview Bilder mit ::before */
.product-selection .nf-field-element ul li label::before {
    content: '';
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    margin-bottom: 0.75rem;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 0.3em 0.3em 0 0 !important;
}

/* 2 Polo Shirts */
.product-selection .nf-field-element ul li:first-child label::before {
    background-image: url('https://netzsch-weihnachten.bartenbach.de/wp-content/uploads/2025/11/Netzsch_Polo.jpg');
}

/* Lebkuchenbox */
.product-selection .nf-field-element ul li:nth-child(2) label::before {
    background-image: url('https://netzsch-weihnachten.bartenbach.de/wp-content/uploads/2025/11/Netzsch_Weihnachstaktion.jpg');
}

/* Flasche */
.product-selection .nf-field-element ul li:nth-child(3) label::before {
    background-image: url('https://netzsch-weihnachten.bartenbach.de/wp-content/uploads/2025/11/Netzsch_Flaschen.jpg');
}

/* Radio Button selbst verstecken aber zugänglich halten */
.product-selection .nf-field-element ul li input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
}

/* Mobile: Vertikal anordnen - NUR PRODUKTE */
@media (max-width: 767px) {
    .product-selection .nf-field-element ul {
        flex-direction: column !important;
    }

    .product-selection .nf-field-element ul li {
        width: 100% !important;
        min-width: 100% !important;
    }
}

/* ============================================
   SHIRT DROPDOWNS (ZWEI-WRAPPER STRUKTUR)
   ============================================ */

/* Haupt-Wrapper versteckt initial alle Shirt-Felder */
.shirt-dropdowns-wrapper {
    display: none;
    width: 100% !important;
}

/* ZWEI Sub-Wrapper für Shirt 1 und Shirt 2 - IMMER nebeneinander */
.shirt-1-wrapper,
.shirt-2-wrapper {
    display: inline-block !important;
    vertical-align: top !important;
    width: 48% !important;
    min-width: 280px !important;
    margin-right: 2% !important;
    margin-bottom: 40px !important;
    box-sizing: border-box !important;
}

.shirt-2-wrapper {
    margin-right: 0 !important;
    margin-left: 2% !important;
}

/* Alte clear-Regeln entfernt - nicht mehr nötig mit Wrapper-Struktur */

/* Alte Breiten-Regel entfernt - Felder sind jetzt 100% innerhalb der Wrapper */

/* Shirt Überschriften - innerhalb der Wrapper */
.shirt-1-heading h4,
.shirt-2-heading h4 {
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    margin-bottom: 1rem !important;
    margin-top: 0 !important;
}

/* Shirt Überschriften Container - volle Breite innerhalb Wrapper */
.shirt-1-heading,
.shirt-2-heading {
    width: 100% !important;
    display: block !important;
    margin-bottom: 1rem !important;
}

/* Dropdown Container - innerhalb der Wrapper */
.nf-field-container.shirt-1-gender,
.nf-field-container.shirt-1-color,
.nf-field-container.shirt-1-size,
.nf-field-container.shirt-2-gender,
.nf-field-container.shirt-2-color,
.nf-field-container.shirt-2-size {
    display: block !important;
    width: 100% !important;
    max-width: 400px !important;
    margin-bottom: 1.5rem !important;
    clear: both !important;
}

/* Fallback ohne .nf-field-container */
.shirt-1-gender,
.shirt-1-color,
.shirt-1-size,
.shirt-2-gender,
.shirt-2-color,
.shirt-2-size {
    display: block !important;
    width: 100% !important;
    max-width: 400px !important;
    margin-bottom: 1.5rem !important;
    clear: both !important;
}

/* Dropdown Labels */
.shirt-1-gender .nf-field-label label,
.shirt-1-color .nf-field-label label,
.shirt-1-size .nf-field-label label,
.shirt-2-gender .nf-field-label label,
.shirt-2-color .nf-field-label label,
.shirt-2-size .nf-field-label label {
    display: block !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
    margin-bottom: 0.5rem !important;
    color: var(--wp--preset--color--contrast) !important;
}

/* Dropdown Styling */
.shirt-1-gender select,
.shirt-1-color select,
.shirt-1-size select,
.shirt-2-gender select,
.shirt-2-color select,
.shirt-2-size select {
    width: 100% !important;
    padding: 0.75rem 1rem !important;
    border: 1px solid #dadada !important;
    border-radius: 0.3em !important;
    background: white !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    color: var(--wp--preset--color--contrast) !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: url('data:image/svg+xml;charset=UTF-8,%3csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23333" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3e%3cpolyline points="6 9 12 15 18 9"%3e%3c/polyline%3e%3c/svg%3e') !important;
    background-repeat: no-repeat !important;
    background-position: right 0.75rem center !important;
    background-size: 1.2em !important;
    padding-right: 2.5rem !important;
}

/* Dropdown Focus State */
.shirt-1-gender select:focus,
.shirt-1-color select:focus,
.shirt-1-size select:focus,
.shirt-2-gender select:focus,
.shirt-2-color select:focus,
.shirt-2-size select:focus {
    outline: none !important;
    border-color: var(--wp--preset--color--primary) !important;
    box-shadow: 0 0 0 3px rgba(0, 113, 103, 0.1) !important;
}

/* Dropdown Hover */
.shirt-1-gender select:hover,
.shirt-1-color select:hover,
.shirt-1-size select:hover,
.shirt-2-gender select:hover,
.shirt-2-color select:hover,
.shirt-2-size select:hover {
    border-color: var(--wp--preset--color--primary) !important;
}

/* Keine Mobile-Regel - Wrapper bleiben IMMER nebeneinander bei allen Bildschirmgrößen */

/* Desktop: .one-half Felder nebeneinander wie Shirt-Wrapper */
@media (min-width: 768px) {
    .nf-form-content .nf-field-container.one-half {
        display: inline-block !important;
        width: 48% !important;
        vertical-align: top !important;
        box-sizing: border-box !important;
    }

    .nf-form-content .nf-field-container.one-half.first {
        margin-right: 2% !important;
    }

    .nf-form-content .nf-field-container.one-half:not(.first) {
        margin-left: 2% !important;
    }
}

/* Mobile: Formular-Felder untereinander (nicht nebeneinander) */
@media (max-width: 767px) {
    .nf-form-content .nf-field-container.one-half,
    .nf-form-content .nf-field-container.one-third,
    .nf-form-content .nf-field-container.one-fourth,
    .nf-form-content .nf-field-container.two-thirds,
    .nf-form-content .nf-field-container.three-fourths {
        width: 100% !important;
        float: none !important;
        clear: both !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
}

/* ============================================
   RABATT-CODES PLUGIN OVERRIDES (NETZSCH)
   ============================================ */

/* Code Input - Netzsch Style */
.rabatt-code-input {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    border: 1px solid var(--wp--preset--color--light) !important;
    border-radius: 0.25rem !important;
    background: #fff !important;
}

.rabatt-code-input:focus {
    border-color: var(--wp--preset--color--primary) !important;
    box-shadow: 0 0 0 3px rgba(0, 113, 103, 0.1) !important;
}

/* Submit Button - Netzsch Style */
.rabatt-submit-button {
    display: inline-block !important;
    width: auto !important;
    padding: 0.86rem 1.83rem !important;
    font-size: 1.22rem !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
    background-color: var(--wp--preset--color--primary) !important;
    border: 2px solid var(--wp--preset--color--primary) !important;
    border-radius: 1.8rem !important;
    transition: transform 0.15s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.rabatt-submit-button:hover {
    background-color: var(--wp--preset--color--primary) !important;
    transform: scale(1.02) !important;
}

.rabatt-submit-button:disabled {
    background: #ccc !important;
    border-color: #ccc !important;
    transform: none !important;
}

/* Test Code Buttons - Netzsch Colors */
.rabatt-test-codes {
    background: rgba(0, 113, 103, 0.05) !important;
    border-color: rgba(0, 113, 103, 0.2) !important;
}

.test-codes-header {
    color: var(--wp--preset--color--primary) !important;
}

.test-code-button {
    border-color: var(--wp--preset--color--primary) !important;
    color: var(--wp--preset--color--primary) !important;
}

.test-code-button:hover {
    background: var(--wp--preset--color--primary) !important;
    color: #fff !important;
}

/* Info Box - Netzsch Border */
.rabatt-info-box {
    border-left-color: var(--wp--preset--color--primary) !important;
}

.rabatt-info-box h4 {
    color: var(--wp--preset--color--primary) !important;
    font-weight: 700 !important;
}

/* ============================================
   ALREADY LOGGED IN STATUS (NETZSCH)
   ============================================ */

/* Grünen Haken entfernen */
.status-icon {
    display: none !important;
}

/* Status Card Styling */
.rabatt-status-card {
    border: 1px solid var(--wp--preset--color--light) !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

.rabatt-status-card h3 {
    color: var(--wp--preset--color--primary) !important;
}

/* "Zum Formular" Button - Netzsch Style */
.status-actions .button {
    display: inline-block !important;
    padding: 0.86rem 1.83rem !important;
    font-size: 1.22rem !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
    background-color: var(--wp--preset--color--primary) !important;
    border: 2px solid var(--wp--preset--color--primary) !important;
    color: var(--wp--preset--color--white) !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    transition: transform 0.15s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.status-actions .button:hover {
    transform: scale(1.02) !important;
    background-color: var(--wp--preset--color--primary) !important;
}

/* Verbleibende Zeit - Netzsch Grün statt Rot */
.remaining-time,
.status-details p:has(.remaining-time) {
    color: var(--wp--preset--color--primary) !important;
    font-weight: bold !important;
}

/* Logout Button - Weißer Hintergrund mit grüner Outline */
.status-footer .link-button {
    display: inline-block !important;
    padding: 0.86rem 1.83rem !important;
    font-size: 1.22rem !important;
    font-weight: 400 !important;
    line-height: 1.18 !important;
    background-color: var(--wp--preset--color--white) !important;
    border: 1px solid var(--wp--preset--color--primary) !important;
    color: var(--wp--preset--color--primary) !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.status-footer .link-button:hover {
    background-color: var(--wp--preset--color--primary) !important;
    color: var(--wp--preset--color--white) !important;
    transform: scale(1.02) !important;
}

/* ============================================
   MOBILE OPTIMIERUNGEN
   ============================================ */

@media (max-width: 767px) {
    /* Logo auf Mobile 60% Breite */
    .wp-block-image.size-medium {
        width: 60% !important;
        max-width: 60% !important;
    }

    .wp-block-image.size-medium img {
        width: 100% !important;
        height: auto !important;
    }

    /* H1 responsive auf Mobile */
    h1 {
        font-size: 2.2rem !important;
        line-height: 1.2 !important;
    }

    /* WordPress Root Padding überschreiben */
    .has-global-padding,
    :where(.has-global-padding) {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    /* Full-bg Padding reduzieren auf Mobile */
    .is-layout-constrained > .wp-block-columns.full-bg,
    .is-layout-constrained > .full-bg.wp-block-columns,
    .is-layout-constrained > .full-bg,
    :where(.is-layout-constrained) > .full-bg,
    :where(.wp-block-columns.full-bg),
    .wp-block-columns.full-bg,
    .full-bg.wp-block-columns,
    .full-bg {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }

    /* Rabatt Code Input responsive */
    .rabatt-code-input {
        font-size: 0.9rem !important;
        padding: 0.75rem !important;
    }

    /* Rabatt Login Form */
    .rabatt-login-form {
        padding: 1rem !important;
    }

    /* Submit Button responsive */
    .rabatt-submit-button,
    .nf-form-content button[type="submit"],
    input[type="submit"].ninja-forms-field {
        font-size: 1rem !important;
        padding: 0.75rem 1.5rem !important;
    }

    /* Produktauswahl - margin-left entfernen auf Mobile */
    .product-selection .nf-field-element ul {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Geschlecht/Größe Radio Buttons - margin-left entfernen */
    .shirt-gender .nf-field-element ul,
    .shirt-size .nf-field-element ul {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Ninja Forms Listen-Wrapper - margin-left entfernen */
    .product-selection .nf-field-element .list-radio-wrap,
    .shirt-gender .nf-field-element .list-radio-wrap,
    .shirt-size .nf-field-element .list-radio-wrap,
    .product-selection .list-radio-wrap,
    .shirt-gender .list-radio-wrap,
    .shirt-size .list-radio-wrap {
        margin-left: 0 !important;
    }

    /* Alle Listen-Container */
    .product-selection .nf-field-element > *,
    .shirt-gender .nf-field-element > *,
    .shirt-size .nf-field-element > * {
        margin-left: 0 !important;
    }

    /* Ninja Forms Standard Label margin-left überschreiben */
    .product-selection .list-radio-wrap .nf-field-element li label,
    .shirt-gender .list-radio-wrap .nf-field-element li label,
    .shirt-size .list-radio-wrap .nf-field-element li label {
        margin-left: 0 !important;
    }
}