/* =========================================================
     Corporate-Design Status (bereits umgesetzt)
     =========================================================
     Diese Datei entspricht bereits in vielen Punkten dem CD:
     - Farbwelt konsistent: Primärfarbe #55A505 mit abgestimmten Hover-Tönen
         (#4f9f08 / #67bf10 / #78d418), neutrale Flächen #f6f7f9 / #e5e7eb.
     - Buttons mit klaren States: `:hover` und `:active` sind in den
         Hauptbereichen (Joomla, HikaShop, Visforms) definiert.
     - Einheitliche Formularoptik: Inputs/Selects/Textareas meist mit
         44px Höhe, klarer Umrandung und Fokus-Ring in CD-Farbe.
     - Rundungen systematisch verwendet: Felder/Buttons/Container mit
         harmonisierten `border-radius`-Werten (ca. 6–16px je Kontext).
     - Typografie/Lesbarkeit: Labels meist semibold, Überschriften über
         den Feldern, strukturierte vertikale Abstände in Formulargruppen.
     - Layout-Konsistenz: horizontale Legacy-Formen werden auf
         untereinanderliegende Felder vereinheitlicht (100% Breite).

     Feintuning/Abstimmung:
     - Alle Formularelemente, Infoboxen, Überschriften, Linien und Buttons
         sind bündig links und rechts mit der Formularbox ausgerichtet.
     - Der Aktions-Button (z. B. „Registrieren“) ist immer rechtsbündig und
         CD-konform gestaltet.
     - Datenschutz-Buttons sind exakt gleich breit und nebeneinander angeordnet.
     - Die Info-Box unter den Buttons ist bündig und ohne Test-Umrandung.

     Hinweis: Die Basis ist bereits CD-nah; Feintuning wäre vor allem eine
     letzte globale Vereinheitlichung einzelner Radius-/Gewichtsvarianten.
     ========================================================= */

/* =========================================================
   Corporate-Design - Offene Punkte (Feintuning)
   =========================================================
   - Radius-Werte auf feste Standards konsolidieren.
   - Primärbutton-Darstellung global auf ein Muster vereinheitlichen.
   - Inputs, Textareas und Selects auf identische Basiswerte harmonisieren.
   - Schriftfamilie sowie Überschriften-/Label-Gewichte global fixieren.
   - Optional: zentrale CSS-Variablen für Farben/Radien/Abstände einführen.
   Hinweis: Code immer erst nach dem Corporate-Kommentar einfügen!
   ========================================================= */


/* =========================================================
   LMN - Global (Karte, Buttons, Inputs, Hilfetexte)
   ========================================================= */

/* Optionaler Karten-/Box-Container (für Login/Reg/Checkout nutzbar) */
.form-card {
    max-width: 100%;
    width: 100%;
    margin: 0;
    padding: 24px;
    background: #f6f7f9; /* helles Grau */
    border: 1px solid #e5e7eb;
    border-radius: 16px;
}

.form-row {
    margin-bottom: 16px;
}

/* Grund-Labels (wenn innerhalb .form-card) */
.form-card label,
label.hk-control-label {
    display: inline-block;
    font-weight: 600;
    margin-bottom: 6px;
    color: #2c3e50;
}

/* Inputs (wenn innerhalb .form-card) */
.form-card input[type="text"],
.form-card input[type="email"],
.form-card input[type="password"],
.form-card select,
.form-card textarea,
.form-card .form-control {
    width: 100%;
    height: 44px;
    padding: 10px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #fff;
    font-size: 16px;
    box-sizing: border-box;
    transition: border-color .15s ease, box-shadow .15s ease;
}

    .form-card input:focus,
    .form-card select:focus,
    .form-card textarea:focus {
        outline: none;
        border-color: #55A505; /* EMN-Grün */
        box-shadow: 0 0 0 3px rgba(85,165,5,.15);
    }

.form-card .invalid,
.form-card .is-invalid input,
.form-card input.invalid {
    border-color: #e74c3c !important;
}

/* Primär-Buttons im EMN-Stil (global verwendbar) */
.btn-primary,
.form-card .btn.btn-primary {
    display: inline-block;
    width: 100%;
    height: 48px;
    margin: 20px 0px 20px 0px;
    border: none;
    border-radius: 10px;
    background: #55A505; /* EMN-Blau */
    color: #fff;
    font-weight: 400;
    font-size: 16px;
    cursor: pointer;
    box-shadow: 0 6px 16px rgba(85,165,5, .25);
    transition: background .15s ease, transform .05s ease;
}

    .btn-primary:hover {
        background: #4f9f08;
    }

    .btn-primary:active {
        transform: translateY(1px);
    }

/* Hilfetexte */
.field-help {
    color: #64748b;
    font-size: .9rem;
    margin-top: 6px;
}

/* Mobil kompakter */
@media (max-width: 640px) {
    .form-card {
        padding: 18px;
    }
}


/* =========================================================
   Joomla – com_users (Login + Joomla-Registrierung)
   Horizontal-Formen -> Stacking; Inputs 100%; Buttons grün
   ========================================================= */

.com-users-registration .control-group,
.com-users-login .control-group {
    display: block;
    margin-bottom: 16px;
    clear: both;
}

.com-users-registration .control-label,
.com-users-login .control-label {
    float: none !important;
    width: auto !important;
    text-align: left !important;
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
    color: #2c3e50;
}

.com-users-registration .controls,
.com-users-login .controls {
    margin: 0 !important;
    float: none !important;
    width: 100% !important;
}

    .com-users-registration .controls input:not([type="radio"]):not([type="checkbox"]),
    .com-users-login .controls input:not([type="radio"]):not([type="checkbox"]),
    .com-users-registration .controls select,
    .com-users-login .controls select,
    .com-users-registration .controls textarea,
    .com-users-login .controls textarea {
        width: 100% !important;
        height: 44px;
        padding: 10px 12px;
        border: 1px solid #cbd5e1;
        border-radius: 10px;
        font-size: 16px;
        background: #fff;
        box-sizing: border-box;
    }

        .com-users-registration .controls input:not([type="radio"]):not([type="checkbox"]):focus,
        .com-users-login .controls input:not([type="radio"]):not([type="checkbox"]):focus,
        .com-users-registration .controls select:focus,
        .com-users-login .controls select:focus,
        .com-users-registration .controls textarea:focus,
        .com-users-login .controls textarea:focus {
            outline: none;
            border-color: #55A505;
            box-shadow: 0 0 0 3px rgba(85,165,5,.15);
        }

.com-users-registration .btn.btn-primary,
.com-users-login .btn.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 220px;
    height: 48px;
    border: none;
    border-radius: 10px;
    background: #55A505;
    color: #fff;
    font-weight: 700;
    font-size: 16px;
    box-shadow: 0 6px 16px rgba(85,165,5,.25);
}

/* =========================================================
   Joomla - Login (com_users)
   Optik analog zur Registrierungsform
   ========================================================= */

.com-users-login.login .form-card {
    max-width: 100%;
    width: 100%;
}

    .com-users-login.login .form-card .form-row {
        margin-bottom: 16px;
    }

.com-users-login.login .password-group {
    width: 100%;
}

.com-users-login.login .input-group {
    display: flex;
    align-items: stretch;
    width: 100%;
}

    .com-users-login.login .input-group > input {
        flex: 1 1 auto;
        width: 1%;
        min-width: 0;
        border-radius: 10px 0 0 10px !important;
        border-right: 0 !important;
    }

    .com-users-login.login .input-group > .input-password-toggle {
        flex: 0 0 44px;
        width: 44px;
        min-width: 44px;
        height: 44px;
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 0 10px 10px 0;
        border: 1px solid #cbd5e1;
        border-left: 0;
        background: #eeffe6;
        color: #55A505;
    }

.com-users-login.login .btn-primary,
.com-users-login.login .btn-primary.w-100,
.com-users-login.login .form-card .btn-primary {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: fit-content !important;
    min-width: 220px;
    height: 48px;
    padding: 10px 18px;
    margin: 10px 0 0 auto;
    border: 1px solid transparent;
    border-radius: 12px;
    background: linear-gradient(180deg, #67bf10 0%, #4f9f08 100%);
    color: #fff;
    font-weight: 600;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .18);
}

.com-users-login.login .com-users-login__submit .controls,
.com-users-login.login .control-group:last-child .controls {
    text-align: right !important;
}

.com-users-login.login .btn-primary:hover,
.com-users-login.login .btn-primary.w-100:hover,
.com-users-login.login .form-card .btn-primary:hover {
    background: linear-gradient(180deg, #78d418 0%, #67bf10 100%);
}

.com-users-login.login .form-links {
    margin-top: 24px !important;
    display: flex;
    flex-direction: row;
    gap: 24px;
    align-items: center;
}

@media (max-width: 640px) {
    .com-users-login.login .form-links {
        margin-top: 18px !important;
        gap: 16px;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: center;
    }
}

.com-users-login.login .form-links .link-item {
    color: #468805;
    text-decoration: none;
}

    .com-users-login.login .form-links .link-item:hover {
        color: #468805;
        text-decoration: underline;
    }

/* =========================================================
   Joomla - Passwort vergessen (com_users reset)
   Optik analog Login/Registrierung
   ========================================================= */

.com-users-reset.reset .com-users-reset__form,
.com-users-reset-confirm.reset-confirm .com-users-reset-confirm__form,
.com-users-reset-complete.reset-complete .com-users-reset-complete__form {
    max-width: 100%;
    width: 100%;
    margin: 0;
    padding: 24px;
    background: #f6f7f9;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    box-sizing: border-box;
}

    .com-users-reset.reset .com-users-reset__form legend,
    .com-users-reset-confirm.reset-confirm .com-users-reset-confirm__form legend,
    .com-users-reset-complete.reset-complete .com-users-reset-complete__form legend {
        width: 100%;
        margin: 0 0 16px 0;
        padding: 10px 12px;
        border: 1px solid #dbe5ee;
        border-radius: 10px;
        background: #f8fbff;
        color: #4b5563;
        font-size: 14px;
        line-height: 1.45;
        box-sizing: border-box;
    }

.com-users-reset.reset .control-group,
.com-users-reset-confirm.reset-confirm .control-group,
.com-users-reset-complete.reset-complete .control-group {
    display: block;
    margin-bottom: 16px;
    clear: both;
}

.com-users-reset.reset .control-label,
.com-users-reset-confirm.reset-confirm .control-label,
.com-users-reset-complete.reset-complete .control-label {
    float: none !important;
    width: auto !important;
    text-align: left !important;
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
    color: #2c3e50;
}

.com-users-reset.reset .controls,
.com-users-reset-confirm.reset-confirm .controls,
.com-users-reset-complete.reset-complete .controls {
    margin: 0 !important;
    float: none !important;
    width: 100% !important;
}

    .com-users-reset.reset .controls input,
    .com-users-reset.reset .controls select,
    .com-users-reset.reset .controls textarea,
    .com-users-reset.reset .controls .form-control,
    .com-users-reset-confirm.reset-confirm .controls input,
    .com-users-reset-confirm.reset-confirm .controls select,
    .com-users-reset-confirm.reset-confirm .controls textarea,
    .com-users-reset-confirm.reset-confirm .controls .form-control,
    .com-users-reset-complete.reset-complete .controls input,
    .com-users-reset-complete.reset-complete .controls select,
    .com-users-reset-complete.reset-complete .controls textarea,
    .com-users-reset-complete.reset-complete .controls .form-control {
        width: 100% !important;
        height: 44px;
        padding: 10px 12px;
        border: 1px solid #cbd5e1;
        border-radius: 10px;
        font-size: 16px;
        background: #fff;
        box-sizing: border-box;
    }

        .com-users-reset.reset .controls input:focus,
        .com-users-reset.reset .controls select:focus,
        .com-users-reset.reset .controls textarea:focus,
        .com-users-reset.reset .controls .form-control:focus,
        .com-users-reset-confirm.reset-confirm .controls input:focus,
        .com-users-reset-confirm.reset-confirm .controls select:focus,
        .com-users-reset-confirm.reset-confirm .controls textarea:focus,
        .com-users-reset-confirm.reset-confirm .controls .form-control:focus,
        .com-users-reset-complete.reset-complete .controls input:focus,
        .com-users-reset-complete.reset-complete .controls select:focus,
        .com-users-reset-complete.reset-complete .controls textarea:focus,
        .com-users-reset-complete.reset-complete .controls .form-control:focus {
            outline: none;
            border-color: #55A505;
            box-shadow: 0 0 0 3px rgba(85,165,5,.15);
        }

.com-users-reset.reset .com-users-reset__submit .controls,
    .com-users-reset-confirm.reset-confirm .com-users-reset-confirm__submit .controls,
    .com-users-reset-complete.reset-complete .com-users-reset-complete__submit .controls {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    text-align: right !important;
}

.com-users-reset.reset .btn.btn-primary,
.com-users-reset.reset .btn-primary.validate,
.com-users-reset-confirm.reset-confirm .btn.btn-primary,
.com-users-reset-confirm.reset-confirm .btn-primary.validate,
.com-users-reset-complete.reset-complete .btn.btn-primary,
.com-users-reset-complete.reset-complete .btn-primary.validate {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: 220px;
    height: 48px;
    padding: 10px 18px;
    border: 1px solid transparent;
    border-radius: 12px;
    background: linear-gradient(180deg, #67bf10 0%, #4f9f08 100%);
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    max-width: 100%;
    margin: 10px 0 0 auto;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .18);
}

    .com-users-reset.reset .btn.btn-primary:hover,
    .com-users-reset.reset .btn-primary.validate:hover,
    .com-users-reset-confirm.reset-confirm .btn.btn-primary:hover,
    .com-users-reset-confirm.reset-confirm .btn-primary.validate:hover,
    .com-users-reset-complete.reset-complete .btn.btn-primary:hover,
    .com-users-reset-complete.reset-complete .btn-primary.validate:hover {
        background: linear-gradient(180deg, #78d418 0%, #67bf10 100%);
    }

    .com-users-reset.reset .com-users-reset__form fieldset,
    .com-users-reset-confirm.reset-confirm .com-users-reset-confirm__form fieldset,
    .com-users-reset-complete.reset-complete .com-users-reset-complete__form fieldset {
        border: 0;
        margin: 0;
        padding: 0;
        min-width: 0;
    }

@media (max-width: 640px) {
    .com-users-reset.reset .com-users-reset__submit .controls,
    .com-users-reset-confirm.reset-confirm .com-users-reset-confirm__submit .controls,
    .com-users-reset-complete.reset-complete .com-users-reset-complete__submit .controls {
        justify-content: flex-end;
    }

    .com-users-reset.reset .btn.btn-primary,
    .com-users-reset.reset .btn-primary.validate,
    .com-users-reset-confirm.reset-confirm .btn.btn-primary,
    .com-users-reset-confirm.reset-confirm .btn-primary.validate,
    .com-users-reset-complete.reset-complete .btn.btn-primary,
    .com-users-reset-complete.reset-complete .btn-primary.validate {
        min-width: min(220px, 100%);
    }
}

/* =========================================================
   Joomla - Benutzername vergessen (com_users remind)
   Optik analog Login/Registrierung/Passwort vergessen
   ========================================================= */

.com-users-remind.remind .com-users-remind__form {
    max-width: 100%;
    width: 100%;
    margin: 0;
    padding: 24px;
    background: #f6f7f9;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    box-sizing: border-box;
}

    /* Einheitlich ohne sichtbare Browser-Fieldset-Box */
    .com-users-registration fieldset,
    .com-users-remind.remind .com-users-remind__form fieldset {
        border: 0;
        margin: 0;
        padding: 0;
        min-width: 0;
    }

    .com-users-remind.remind .com-users-remind__form legend {
        width: 100%;
        margin: 0 0 16px 0;
        padding: 10px 12px;
        border: 1px solid #dbe5ee;
        border-radius: 10px;
        background: #f8fbff;
        color: #4b5563;
        font-size: 14px;
        line-height: 1.45;
        box-sizing: border-box;
    }

.com-users-remind.remind .control-group {
    display: block;
    margin-bottom: 16px;
    clear: both;
}

.com-users-remind.remind .control-label {
    float: none !important;
    width: auto !important;
    text-align: left !important;
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
    color: #2c3e50;
}

.com-users-remind.remind .controls {
    margin: 0 !important;
    float: none !important;
    width: 100% !important;
}

    .com-users-remind.remind .controls input,
    .com-users-remind.remind .controls select,
    .com-users-remind.remind .controls textarea,
    .com-users-remind.remind .controls .form-control {
        width: 100% !important;
        height: 44px;
        padding: 10px 12px;
        border: 1px solid #cbd5e1;
        border-radius: 10px;
        font-size: 16px;
        background: #fff;
        box-sizing: border-box;
    }

        .com-users-remind.remind .controls input:focus,
        .com-users-remind.remind .controls select:focus,
        .com-users-remind.remind .controls textarea:focus,
        .com-users-remind.remind .controls .form-control:focus {
            outline: none;
            border-color: #55A505;
            box-shadow: 0 0 0 3px rgba(85,165,5,.15);
        }

.com-users-remind.remind .com-users-remind__submit .controls {
    display: block;
}

.com-users-remind.remind .btn.btn-primary,
.com-users-remind.remind .btn-primary.validate {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: 220px;
    height: 48px;
    padding: 10px 18px;
    border: 1px solid transparent;
    border-radius: 12px;
    background: linear-gradient(180deg, #67bf10 0%, #4f9f08 100%);
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .18);
}

    .com-users-remind.remind .btn.btn-primary:hover,
    .com-users-remind.remind .btn-primary.validate:hover {
        background: linear-gradient(180deg, #78d418 0%, #67bf10 100%);
    }


/* =========================================================
   HikaShop â- Registrierung
   Wrapper: .hikashop_user_registration_page
   Labels links, Inputs 100%, Grid neutralisieren, EMN-Fokus
   ========================================================= */

/* HikaShop Grid neutralisieren -> Felder untereinander */
.hikashop_user_registration_page .hk-row {
    display: block !important;
}

.hikashop_user_registration_page [class*="hk-col-"] {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Gruppen einzeilig + Platz für Passwort-Icon */
.hikashop_user_registration_page .hk-form-group,
.hikashop_user_registration_page .hikashop_registration_email_line,
.hikashop_user_registration_page .hikashop_registration_email_confirm_line,
.hikashop_user_registration_page .hikashop_registration_password_line,
.hikashop_user_registration_page .hikashop_registration_password2_line {
    display: block !important;
    margin-bottom: 16px !important;
    position: relative;
    clear: both !important;
}

/* Kritische HikaShop-Regel überschreiben (Label rechts -> links) */
.hkform-horizontal .hkcontrol-label {
    text-align: left !important;
    float: none !important;
    display: block !important;
    width: auto !important;
    margin-bottom: 6px !important;
    font-weight: 600;
    color: #2c3e50;
    line-height: 1.3;
}

/* Fallback/weitere Label-Selektoren */
.hikashop_user_registration_page .hk-control-label,
.hikashop_user_registration_page .hikashop_control_label,
.hikashop_user_registration_page label.hk-control-label,
.hikashop_user_registration_page .hk-form-group > label {
    text-align: left !important;
    float: none !important;
    display: block !important;
    width: auto !important;
    margin-bottom: 6px !important;
    font-weight: 600;
    color: #2c3e50;
}

/* Inputs 100% â- HÃ¶he/Radien vereinheitlicht */
.hikashop_user_registration_page .hk-input,
.hikashop_user_registration_page .hikashop-form-control,
.hikashop_user_registration_page input[type="text"],
.hikashop_user_registration_page input[type="email"],
.hikashop_user_registration_page input[type="password"],
.hikashop_user_registration_page select,
.hikashop_user_registration_page textarea {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 44px !important;
    padding: 10px 12px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    background: #fff !important;
    font-size: 16px !important;
    box-sizing: border-box !important;
    transition: border-color .15s ease, box-shadow .15s ease;
}

/* Passwort-Zeilen angleichen: Input-Group immer volle Breite */
.hikashop_user_registration_page .hikashop_registration_password_line .password-group,
.hikashop_user_registration_page .hikashop_registration_password2_line .password-group {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}

.hikashop_user_registration_page .hikashop_registration_password_line .input-group,
.hikashop_user_registration_page .hikashop_registration_password2_line .input-group {
    display: flex !important;
    align-items: stretch;
    width: 100% !important;
    max-width: 100% !important;
}

    .hikashop_user_registration_page .hikashop_registration_password_line .input-group > input,
    .hikashop_user_registration_page .hikashop_registration_password2_line .input-group > input {
        flex: 1 1 auto !important;
        width: 1% !important;
        min-width: 0 !important;
        border-radius: 10px 0 0 10px !important;
    }

    .hikashop_user_registration_page .hikashop_registration_password_line .input-group > .input-password-toggle,
    .hikashop_user_registration_page .hikashop_registration_password2_line .input-group > .input-password-toggle {
        flex: 0 0 44px !important;
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        border-radius: 0 10px 10px 0 !important;
    }

/* Passwortstaerke-Anzeige unter das erste Passwortfeld */
.hikashop_user_registration_page #data\[register\]\[password\]-rules {
    margin: 6px 0 6px 0 !important;
    padding-left: 0 !important;
}

.hikashop_user_registration_page #hikashop_registration_password_line progress,
.hikashop_user_registration_page #hikashop_registration_password_line meter,
.hikashop_user_registration_page #hikashop_registration_password_line .progress,
.hikashop_user_registration_page #hikashop_registration_password_line .password-strength-meter {
    display: block !important;
    width: 120px !important;
    max-width: 120px !important;
    height: 8px;
    margin: 8px 0 0 0 !important;
    margin-left: 0 !important;
}

/* Fokus-Optik in EMN-Grün */
.hikashop_user_registration_page input:focus,
.hikashop_user_registration_page select:focus,
.hikashop_user_registration_page textarea:focus {
    outline: none !important;
    border-color: #55A505 !important;
    box-shadow: 0 0 0 3px rgba(85,165,5,.15) !important;
}

/* FehlerzustÃ¤nde */
.hikashop_user_registration_page .hk-form-group .invalid,
.hikashop_user_registration_page .hk-form-group .is-invalid input,
.hikashop_user_registration_page input.invalid {
    border-color: #e74c3c !important;
}

/* Registrierungs-Fieldset als sichtbare Box wie bei den anderen Formularen */
.hikashop_user_registration_page form#hikashop_register_form > fieldset,
.hikashop_user_registration_page #hikashop_register_form fieldset,
.hikashop_user_registration_page .hikashop_registration_page form fieldset {
    border: 1px solid #e5e7eb !important;
    border-radius: 16px !important;
    background: #f6f7f9 !important;
    padding: 24px !important;
    margin: 0 0 16px 0 !important;
    min-width: 0;
    box-sizing: border-box;
}

/* Fallback: falls das Template im Registrierungsformular gar kein fieldset rendert */
.hikashop_user_registration_page form#hikashop_register_form:not(:has(fieldset)) {
    border: 1px solid #e5e7eb !important;
    border-radius: 16px !important;
    background: #f6f7f9 !important;
    padding: 24px !important;
    box-sizing: border-box;
}

.hikashop_user_registration_page form#hikashop_register_form > fieldset > legend,
.hikashop_user_registration_page #hikashop_register_form fieldset legend,
.hikashop_user_registration_page .hikashop_registration_page form fieldset legend {
    width: 100%;
    margin: 0 0 16px 0;
    padding: 10px 12px;
    border: 1px solid #dbe5ee;
    border-radius: 10px;
    background: #f8fbff;
    color: #4b5563;
    font-size: 14px;
    line-height: 1.45;
    box-sizing: border-box;
}

/* Registrierung (standalone): Überschrift über den grauen Kasten
   Grauer Hintergrund vom fieldset entfernen, auf .hkform-horizontal verschieben */
body.com_hikashop.view-user .hikashop_user_registration_page {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
}
body.com_hikashop.view-user .hikashop_user_registration_page fieldset.input {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    display: block !important;
}
body.com_hikashop.view-user .hikashop_user_registration_page fieldset.input > h2 {
    margin: 0 0 60px 0 !important;
    padding: 0 !important;
    background: transparent !important;
    position: static !important;
}
body.com_hikashop.view-user .hikashop_user_registration_page fieldset.input > .hkform-horizontal {
    border: 1px solid #e5e7eb !important;
    border-radius: 16px !important;
    background: #f6f7f9 !important;
    padding: 24px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* Passwort-"Auge" rechts ins Feld (falls vorhanden) */
.hikashop_user_registration_page .hikashop_password_show,
.hikashop_user_registration_page .hikashop_password2_show {
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 8px !important;
    background: #eeffe6 !important;
    color: #55A505 !important;
    border: 1px solid #cbd5e1 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

/* Optional: Karte um die Reg-Form (wenn gewünscht) */
.hikashop_user_registration_page .form-card,
.hikashop_user_registration_page .hikashop-form-card {
    max-width: 720px;
    margin: 0 auto;
    padding: 24px;
    background: #f6f7f9;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
}

/* Beginn: CSS für Formulare */
/* ================================
   Visforms - Full width + Corporate Design
   ================================ */

/* Grauer Kasten wie bei allen anderen Formularen */
.visforms.visforms-form,
form.visform {
    max-width: 100%;
    width: 100%;
    margin: 0;
    padding: 24px;
    background: #f6f7f9;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    box-sizing: border-box;
}

/* Fieldset innen neutralisieren */
.visforms.visforms-form fieldset,
form.visform fieldset {
    border: 0;
    margin: 0;
    padding: 0;
    min-width: 0;
}

/* Labels uber den Feldern */
.visforms .visCSSlabel,
.visforms .control-label {
    float: none !important;
    width: 100% !important;
    text-align: left !important;
    display: block !important;
    margin: 0 0 6px 0 !important;
    font-weight: 600;
    color: #2c3e50;
    font-size: 1rem;
}

.visforms .controls {
    margin-left: 0 !important;
}

/* Abstande zwischen Feldern */
.visforms .control-group,
.visforms [class^="field"] {
    margin-bottom: 16px;
}

/* Alle Felder 100% breit, einheitliche Hoehe */
.visforms input[type="text"],
.visforms input[type="email"],
.visforms input[type="tel"],
.visforms input[type="number"],
.visforms input[type="url"],
.visforms input[type="password"],
.visforms select,
.visforms .form-control {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 44px !important;
    padding: 10px 12px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    background: #fff !important;
    font-size: 16px !important;
    color: #222 !important;
    box-sizing: border-box !important;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.visforms textarea,
.visforms textarea.form-control {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 160px;
    padding: 10px 12px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    background: #fff !important;
    font-size: 16px !important;
    color: #222 !important;
    box-sizing: border-box !important;
    transition: border-color .15s ease, box-shadow .15s ease;
}

/* Fokus-Ring in LMN-Gruen */
.visforms input:focus,
.visforms select:focus,
.visforms textarea:focus {
    outline: none !important;
    border-color: #55A505 !important;
    box-shadow: 0 0 0 3px rgba(85,165,5,.15) !important;
}

/* Select: Custom-Pfeil */
.visforms select {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    height: 44px !important;
    padding: 10px 2.8em 10px 12px !important;
    background-image: linear-gradient(45deg, transparent 50%, #777 50%), linear-gradient(135deg, #777 50%, transparent 50%) !important;
    background-position: calc(100% - 18px) calc(50% - 3px), calc(100% - 12px) calc(50% - 3px) !important;
    background-size: 6px 6px, 6px 6px !important;
    background-repeat: no-repeat !important;
    background-color: #fff !important;
    line-height: 1.4 !important;
}

/* Pflichtstern */
.visforms .control-label label.required::after,
.visforms label.required::after {
    content: " *";
    color: #dc3545;
    font-weight: 700;
}

/* Submit-Button - LMN-Gruen, Gradient, rechtsbundig */
.visforms .visBtnCon,
form#mod-visform1 .visBtnCon,
form#mod-visform1 .vf-button-container {
    display: flex;
    justify-content: flex-end;
    text-align: right;
    margin-top: 8px;
}

.visforms button.btn,
.visforms button[type="submit"],
.visforms input[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 180px;
    height: 48px;
    padding: 10px 22px;
    border: 1px solid transparent !important;
    border-radius: 12px;
    background: linear-gradient(180deg, #67bf10 0%, #4f9f08 100%);
    color: #fff;
    font-weight: 600;
    font-size: 16px;
    line-height: 1;
    box-shadow: 0 8px 20px rgba(15,23,42,.18);
    cursor: pointer;
    transition: background .15s ease, transform .05s ease;
}

    .visforms button.btn:hover,
    .visforms button[type="submit"]:hover,
    .visforms input[type="submit"]:hover {
        background: linear-gradient(180deg, #78d418 0%, #67bf10 100%);
    }

    .visforms button.btn:active,
    .visforms button[type="submit"]:active,
    .visforms input[type="submit"]:active {
        transform: translateY(1px);
    }

/* Pflichtfeld-Hinweis oben */
.visforms .vis_mandatory {
    margin-bottom: 16px;
    font-size: 13px;
    color: #64748b;
}

/* Checkbox/Radio-Zeile (Visforms visCSSrbinl): Checkbox + Text gleiche Hoehe */
.visforms p.visCSSrbinl {
    display: flex !important;
    align-items: center !important;
    gap: 8px;
    margin: 4px 0 0 0 !important;
    padding: 0 !important;
}

.visforms p.visCSSrbinl input[type="checkbox"],
.visforms p.visCSSrbinl input[type="radio"] {
    display: inline-block !important;
    width: auto !important;
    height: auto !important;
    min-height: unset !important;
    flex-shrink: 0;
    margin: 0 !important;
    padding: 0 !important;
}

.visforms p.visCSSrbinl label,
.visforms p.visCSSrbinl .visCSSrlinl {
    display: inline !important;
    float: none !important;
    width: auto !important;
    font-weight: normal !important;
    color: inherit !important;
    font-size: inherit !important;
    margin: 0 !important;
    padding: 0 !important;
}
/* Ende: CSS für Formulare */

/* =========================================================
   HikaShop Registrierung - Datenschutz-Buttons
   Gleich gross, besser lesbar, saubere States
   ========================================================= */

.hikashop_user_registration_page .hikashop_registration_privacy_line .hikaradios .btn-group {
    display: flex !important;
    align-items: stretch;
    width: auto;
    max-width: 100%;
    gap: 12px;
    justify-content: flex-start;
}

    .hikashop_user_registration_page .hikashop_registration_privacy_line .hikaradios .btn-group .btn,
    .hikashop_user_registration_page .hikashop_registration_privacy_line .hikaradios .btn-group .btn.hikaradio-label {
        flex: 0 0 220px !important;
        min-width: 0;
        height: 48px !important;
        padding: 10px 14px !important;
        border-radius: 12px !important;
        border: 1px solid #cbd5e1 !important;
        background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
        color: #334155;
        font-size: 16px;
        font-weight: 600;
        line-height: 1 !important;
        text-align: center;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 220px !important;
        max-width: 220px !important;
        margin: 0 !important;
        white-space: nowrap;
        box-sizing: border-box !important;
        transition: background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
    }

/* Hinweis unter den Buttons: kompakt und besser lesbar */
.hikashop_user_registration_page .hikashop_registration_required_info_line {
    display: block !important;
    clear: both;
    margin-top: 12px;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 12px;
    box-sizing: border-box;
}

    .hikashop_user_registration_page .hikashop_registration_required_info_line .hkcontrol-label,
    .hikashop_user_registration_page .hikashop_registration_required_info_line .hkc-sm-4 {
        display: none !important;
    }

    .hikashop_user_registration_page .hikashop_registration_required_info_line span {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        margin: 0;
        padding: 10px 12px;
        border: 1px solid #dbe5ee;
        border-radius: 10px;
        background: #f8fbff;
        color: #4b5563;
        font-size: 14px;
        line-height: 1.45;
    }

/* Sichtbare Box auf dem echten Registrierungs-Formular-Container */
.hikashop_user_registration_page form#hikashop_register_form {
    border: 1px solid #e5e7eb !important;
    border-radius: 16px !important;
    background: #f6f7f9 !important;
    padding: 24px !important;
    box-sizing: border-box;
}

    /* Falls ein fieldset existiert: innen neutralisieren, damit kein Doppelrahmen entsteht */
    .hikashop_user_registration_page form#hikashop_register_form > fieldset,
    .hikashop_user_registration_page #hikashop_register_form fieldset {
        border: 0 !important;
        background: transparent !important;
        padding: 0 !important;
        margin: 0 !important;
    }

/* Mehr Abstand unter der Datenschutz-Hinweisbox */
.hikashop_user_registration_page #hikashop_messages_info,
.hikashop_user_registration_page .hikashop_registration_page #hikashop_messages_info,
.hikashop_user_registration_page .hikashop_messages.hikashop_info {
    margin-bottom: 18px !important;
}

/* Registrieren-Button an das neue UI angleichen */
.hikashop_user_registration_page #hikashop_register_form_button,
.hikashop_user_registration_page .hikabtn.hikabtn_checkout_login_register {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: fit-content !important;
    min-width: 220px;
    height: 48px;
    padding: 10px 18px;
    margin: 10px 0 0 auto !important;
    border: 1px solid transparent !important;
    border-radius: 12px;
    background: linear-gradient(180deg, #67bf10 0%, #4f9f08 100%) !important;
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    text-shadow: none;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .18);
    cursor: pointer;
    transition: background .2s ease, box-shadow .2s ease, transform .06s ease;
}

/* Rechtsausrichtung absichern, falls der Button in einem Wrapper liegt */
.hikashop_user_registration_page #hikashop_register_form .hk-form-group:last-child,
.hikashop_user_registration_page #hikashop_register_form .hikashop_registration_register_line,
.hikashop_user_registration_page #hikashop_register_form .hikashop_registration_register_button {
    text-align: right !important;
}

.hikashop_user_registration_page #hikashop_register_form_button:hover,
.hikashop_user_registration_page .hikabtn.hikabtn_checkout_login_register:hover {
    background: linear-gradient(180deg, #78d418 0%, #67bf10 100%) !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .22);
}

.hikashop_user_registration_page #hikashop_register_form_button:active,
.hikashop_user_registration_page .hikabtn.hikabtn_checkout_login_register:active {
    transform: translateY(1px);
}

.hikashop_user_registration_page .hikashop_registration_privacy_line .hikaradios .btn-group .btn.hikaradio-label:hover {
    border-color: #9fc68b;
    box-shadow: 0 0 0 3px rgba(88, 169, 14, .16);
}

.hikashop_user_registration_page .hikashop_registration_privacy_line .hikaradios .btn-group .btn.hikaradio-label.active {
    color: #fff;
    border-color: transparent;
    box-shadow: 0 4px 12px rgba(85,165,5,.25);
}

.hikashop_user_registration_page .hikashop_registration_privacy_line .hikaradios .btn-group label[for="data_register_privacy1"].active {
    background: linear-gradient(180deg, #58a90e 0%, #468805 100%) !important;
}

/* Ja-Button direkt ueber for-Attribut einfÃ¤rben (unabhaengig von Active-Klasse) */
.hikashop_user_registration_page #data_register_privacy .btn-group > label[for="data_register_privacy1"] {
    background: linear-gradient(180deg, #58a90e 0%, #468805 100%) !important;
    background-color: #468805 !important;
    border-color: #3d7a04 !important;
    color: #fff !important;
}

    .hikashop_user_registration_page #data_register_privacy .btn-group > label[for="data_register_privacy1"].active {
        background: linear-gradient(180deg, #58a90e 0%, #468805 100%) !important;
        background-color: #468805 !important;
        border-color: #3d7a04 !important;
        color: #fff !important;
    }

    /* Fallback: falls HikaShop den aktiven Ja-Button als .btn-success setzt */
    .hikashop_user_registration_page .hikashop_registration_privacy_line .hikaradios .btn-group .btn.hikaradio-label.btn-success,
    .hikashop_user_registration_page .hikashop_registration_privacy_line .hikaradios .btn-group .btn.hikaradio-label.btn-success.active {
        background: linear-gradient(180deg, #58a90e 0%, #468805 100%) !important;
        background-color: #468805 !important;
        border-color: #3d7a04 !important;
        color: #fff !important;
    }

.hikashop_user_registration_page .hikashop_registration_privacy_line .hikaradios .btn-group label[for="data_register_privacy0"].active {
    background: linear-gradient(180deg, #f3a39b 0%, #e88378 100%) !important;
}

    .hikashop_user_registration_page .hikashop_registration_privacy_line .hikaradios .btn-group label[for="data_register_privacy0"]:hover,
    .hikashop_user_registration_page .hikashop_registration_privacy_line .hikaradios .btn-group label[for="data_register_privacy0"].active:hover {
        background: linear-gradient(180deg, #ef958b 0%, #de786d 100%) !important;
        border-color: #d96d62 !important;
        box-shadow: 0 0 0 3px rgba(221, 109, 97, .22) !important;
    }

/* =========================================================
   HikaShop Registrierung - HARTE FALLBACKS (am Dateiende)
   Falls IDs/fieldset vom Template abweichen
   ========================================================= */

/* Sichtbare Formular-Box sicher auf Seiten-Container */
.hikashop_user_registration_page,
.hikashop_user_registration_page .hikashop_registration_page {
    border: 1px solid #e5e7eb !important;
    border-radius: 16px !important;
    background: #f6f7f9 !important;
    padding: 24px !important;
    box-sizing: border-box !important;
}

/* Hinweisboxen bewusst etwas schmaler als die Eingabefelder */
.hikashop_user_registration_page .hikashop_registration_required_info_line,
.hikashop_user_registration_page #hikashop_messages_info,
.hikashop_user_registration_page .hikashop_messages.hikashop_info {
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

    .hikashop_user_registration_page .hikashop_registration_required_info_line span {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

/* =========================================================
   EMN - Checkout Feinabgleich (Warenkorb)
   com_hikashop view-checkout
   ========================================================= */

body.com_hikashop.view-checkout form[name="hikashop_checkout_form"] [class*="hkc-"] {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
}

/* Checkout: Abschnittsüberschriften kompakter */
body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 h2 {
    font-size: 20px !important;
    margin: 0 0 10px 0 !important;
}

/* Labels über den Feldern im Checkout */
body.com_hikashop.view-checkout .hkform-horizontal .hkcontrol-label,
body.com_hikashop.view-checkout .hkform-horizontal label.hkcontrol-label,
body.com_hikashop.view-checkout .hkform-horizontal .control-label,
body.com_hikashop.view-checkout .hkform-horizontal label.control-label {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: left !important;
    display: block !important;
    margin-bottom: 6px !important;
    padding: 0 !important;
    font-weight: 600;
    color: #2c3e50;
}

body.com_hikashop.view-checkout .hkform-horizontal .controls,
body.com_hikashop.view-checkout .hkform-horizontal .hkc-sm-8,
body.com_hikashop.view-checkout .hkform-horizontal .hkc-sm-4 {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    display: block !important;
    box-sizing: border-box !important;
}

body.com_hikashop.view-checkout .hkform-horizontal .hkform-group,
body.com_hikashop.view-checkout .hkform-horizontal .control-group {
    display: block !important;
    clear: both !important;
    margin-bottom: 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Checkout: Feldhöhe angleichen (44px wie andere Formulare) */
body.com_hikashop.view-checkout .hkform-horizontal input[type="text"],
body.com_hikashop.view-checkout .hkform-horizontal input[type="email"],
body.com_hikashop.view-checkout .hkform-horizontal input[type="password"],
body.com_hikashop.view-checkout .hkform-horizontal select,
body.com_hikashop.view-checkout .hkform-horizontal .form-control {
    height: 44px !important;
    padding: 10px 12px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    background: #fff !important;
    font-size: 16px !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

/* Anmelden + Registrierung im Checkout: graue Box auf den Container, h2 liegt darin */
body.com_hikashop.view-checkout #hikashop_checkout_login_form {
    border: 1px solid #e5e7eb !important;
    border-radius: 16px !important;
    background: #f6f7f9 !important;
    padding: 20px !important;
    margin: 0 0 16px 0 !important;
    box-sizing: border-box !important;
}
body.com_hikashop.view-checkout #hikashop_checkout_login_form > fieldset {
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
}
body.com_hikashop.view-checkout #hikashop_checkout_registration > fieldset {
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
}

    body.com_hikashop.view-checkout #hikashop_checkout_registration > fieldset > legend,
    body.com_hikashop.view-checkout #hikashop_checkout_login_form > fieldset > legend,
    body.com_hikashop.view-checkout #hikashop_checkout_registration .hika_registration_address legend,
    body.com_hikashop.view-checkout #hikashop_registration_privacy_area > legend {
        width: 100%;
        margin: 0 0 16px 0;
        padding: 10px 12px;
        border: 1px solid #dbe5ee;
        border-radius: 10px;
        background: #f8fbff;
        color: #4b5563;
        font-size: 14px;
        line-height: 1.45;
        box-sizing: border-box;
    }

body.com_hikashop.view-checkout #hikashop_checkout_registration .hikashop_registration_required_info_line,
body.com_hikashop.view-checkout #hikashop_checkout_registration #hikashop_messages_info,
body.com_hikashop.view-checkout #hikashop_checkout_registration .hikashop_messages.hikashop_info {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box;
}

    body.com_hikashop.view-checkout #hikashop_checkout_registration .hikashop_registration_required_info_line .hkc-sm-4,
    body.com_hikashop.view-checkout #hikashop_checkout_registration .hikashop_registration_required_info_line .hkcontrol-label {
        display: none !important;
    }

    body.com_hikashop.view-checkout #hikashop_checkout_registration .hikashop_registration_required_info_line .hkc-sm-8 {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        margin-left: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        padding: 10px 12px;
        border: 1px solid #dbe5ee;
        border-radius: 10px;
        background: #f8fbff;
        color: #4b5563;
        font-size: 14px;
        line-height: 1.45;
        box-sizing: border-box !important;
    }

body.com_hikashop.view-checkout .hikabtn.hikabtn_checkout_login_register,
body.com_hikashop.view-checkout .hikabtn.hikabtn_checkout_login_form,
body.com_hikashop.view-checkout #hikabtn_checkout_next,
body.com_hikashop.view-checkout #hikashop_checkout_shopping_button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 180px;
    height: 48px;
    padding: 10px 18px;
    border: 1px solid transparent !important;
    border-radius: 12px;
    background: linear-gradient(180deg, #67bf10 0%, #4f9f08 100%) !important;
    color: #fff !important;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    box-sizing: border-box !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .18);
    transition: background .2s ease, box-shadow .2s ease, transform .06s ease;
}

/* Continue-Shopping explizit auf gleiche Hoehe wie die anderen CTAs fixieren */
body.com_hikashop.view-checkout .hikashop_checkout_buttons #hikashop_checkout_shopping_button {
    height: 48px !important;
    min-height: 48px !important;
    line-height: 1 !important;
}

/* Gutschein-Button im Checkout auf LMN-Design angleichen */
body.com_hikashop.view-checkout .hikashop_checkout_coupon .hikabtn_checkout_coupon_add {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 140px;
    height: 44px;
    padding: 10px 16px;
    border: 1px solid transparent !important;
    border-radius: 10px;
    background: linear-gradient(180deg, #67bf10 0%, #4f9f08 100%) !important;
    color: #fff !important;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    box-sizing: border-box !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .18);
    transition: background .2s ease, box-shadow .2s ease, transform .06s ease;
}

    body.com_hikashop.view-checkout .hikashop_checkout_coupon .hikabtn_checkout_coupon_add:hover {
        background: linear-gradient(180deg, #78d418 0%, #67bf10 100%) !important;
        box-shadow: 0 10px 22px rgba(15, 23, 42, .22);
    }

    body.com_hikashop.view-checkout .hikashop_checkout_coupon .hikabtn_checkout_coupon_add:active {
        transform: translateY(1px);
    }

/* Checkout-Passwortfelder wie in den anderen Formularen (Eye-Button rechts) */
body.com_hikashop.view-checkout .hikashop_login_password_line .password-group,
body.com_hikashop.view-checkout .hikashop_registration_password_line .password-group,
body.com_hikashop.view-checkout .hikashop_registration_password2_line .password-group {
    display: block;
    width: 100%;
}

body.com_hikashop.view-checkout .hikashop_login_password_line .input-group,
body.com_hikashop.view-checkout .hikashop_registration_password_line .input-group,
body.com_hikashop.view-checkout .hikashop_registration_password2_line .input-group {
    display: flex !important;
    align-items: stretch;
    width: 100% !important;
}

    body.com_hikashop.view-checkout .hikashop_login_password_line .input-group > input,
    body.com_hikashop.view-checkout .hikashop_registration_password_line .input-group > input,
    body.com_hikashop.view-checkout .hikashop_registration_password2_line .input-group > input {
        flex: 1 1 auto !important;
        min-width: 0;
        height: 44px !important;
        padding: 10px 12px !important;
        box-sizing: border-box !important;
        border-radius: 10px 0 0 10px !important;
        background-image: none !important;
    }

    body.com_hikashop.view-checkout .hikashop_login_password_line .input-group > .input-password-toggle,
    body.com_hikashop.view-checkout .hikashop_registration_password_line .input-group > .input-password-toggle,
    body.com_hikashop.view-checkout .hikashop_registration_password2_line .input-group > .input-password-toggle {
        flex: 0 0 44px !important;
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        padding: 0 !important;
        border: 1px solid #cbd5e1 !important;
        border-left: 0 !important;
        border-radius: 0 10px 10px 0 !important;
        background: #eeffe6 !important;
        color: #55A505 !important;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        box-shadow: none !important;
    }

/* Checkout-Registrierung: Datenschutz-Buttons angleichen */
body.com_hikashop.view-checkout #hikashop_checkout_registration .hikashop_registration_privacy_line .hikaradios .btn-group {
    display: flex !important;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    gap: 12px;
}

body.com_hikashop.view-checkout #hikashop_checkout_registration .hikashop_registration_privacy_line {
    margin-top: 16px !important;
}

    body.com_hikashop.view-checkout #hikashop_checkout_registration .hikashop_registration_privacy_line .hikaradios .btn-group .btn,
    body.com_hikashop.view-checkout #hikashop_checkout_registration .hikashop_registration_privacy_line .hikaradios .btn-group .btn.hikaradio-label {
        flex: 1 1 50% !important;
        min-width: 0;
        height: 48px !important;
        padding: 10px 14px !important;
        border-radius: 12px !important;
        border: 1px solid #cbd5e1 !important;
        background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
        color: #334155;
        font-size: 16px;
        font-weight: 600;
        line-height: 1 !important;
        text-align: center;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 100% !important;
        margin: 0 !important;
        white-space: nowrap;
        box-sizing: border-box !important;
        transition: background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
    }

        body.com_hikashop.view-checkout #hikashop_checkout_registration .hikashop_registration_privacy_line .hikaradios .btn-group .btn.hikaradio-label:hover {
            border-color: #9fc68b;
            box-shadow: 0 0 0 3px rgba(88, 169, 14, .16);
        }

        body.com_hikashop.view-checkout #hikashop_checkout_registration .hikashop_registration_privacy_line .hikaradios .btn-group .btn.hikaradio-label.active {
            color: #fff;
            border-color: transparent;
            box-shadow: 0 4px 12px rgba(85,165,5,.25);
        }

/* Größen erzwingen für ALLE Btn-Group Kinder – unabhängig von Bootstrap-Zustandsklassen */
body.com_hikashop.view-checkout #hikashop_checkout_registration .hikashop_registration_privacy_line .hikaradios .btn-group > * {
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    padding: 10px 14px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    float: none !important;
    flex: 1 1 50% !important;
    margin: 0 !important;
    border-radius: 12px !important;
}

        body.com_hikashop.view-checkout #hikashop_checkout_registration .hikashop_registration_privacy_line .hikaradios .btn-group label[for="data_register_privacy1"],
        body.com_hikashop.view-checkout #hikashop_checkout_registration .hikashop_registration_privacy_line .hikaradios .btn-group label[for="data_register_privacy1"].active,
        body.com_hikashop.view-checkout #hikashop_checkout_registration .hikashop_registration_privacy_line .hikaradios .btn-group .btn.hikaradio-label.btn-success,
        body.com_hikashop.view-checkout #hikashop_checkout_registration .hikashop_registration_privacy_line .hikaradios .btn-group .btn.hikaradio-label.btn-success.active {
            background: linear-gradient(180deg, #58a90e 0%, #468805 100%) !important;
            background-color: #468805 !important;
            border-color: #3d7a04 !important;
            color: #fff !important;
        }

        body.com_hikashop.view-checkout #hikashop_checkout_registration .hikashop_registration_privacy_line .hikaradios .btn-group label[for="data_register_privacy0"].active,
        body.com_hikashop.view-checkout #hikashop_checkout_registration .hikashop_registration_privacy_line .hikaradios .btn-group .btn.hikaradio-label.btn-danger,
        body.com_hikashop.view-checkout #hikashop_checkout_registration .hikashop_registration_privacy_line .hikaradios .btn-group .btn.hikaradio-label.btn-danger.active {
            background: linear-gradient(180deg, #f3a39b 0%, #e88378 100%) !important;
            background-color: #e88378 !important;
            border-color: #df766b !important;
            color: #fff !important;
        }

            body.com_hikashop.view-checkout #hikashop_checkout_registration .hikashop_registration_privacy_line .hikaradios .btn-group label[for="data_register_privacy0"]:hover,
            body.com_hikashop.view-checkout #hikashop_checkout_registration .hikashop_registration_privacy_line .hikaradios .btn-group label[for="data_register_privacy0"].active:hover {
                background: linear-gradient(180deg, #ef958b 0%, #de786d 100%) !important;
                border-color: #d96d62 !important;
                box-shadow: 0 0 0 3px rgba(221, 109, 97, .22) !important;
            }

@media (max-width: 480px) {
    body.com_hikashop.view-checkout #hikashop_checkout_registration .hikashop_registration_privacy_line .hikaradios .btn-group {
        flex-direction: column;
    }
}

/* =========================================================
   Checkout - nur Hochformat
   Form breiter und Identifikation-Buttons sicher untereinander
   ========================================================= */

@media (max-width: 900px) and (orientation: portrait) {
    body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 .hk-container-fluid {
        display: block !important;
    }

    body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 .hkc-lg-4,
    body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 .hkc-lg-8 {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body.com_hikashop.view-checkout #data_register_registration_method .btn-group,
    body.com_hikashop.view-checkout #data_register_registration_method .btn-group-vertical {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
        gap: 10px !important;
    }

        body.com_hikashop.view-checkout #data_register_registration_method .btn-group .btn,
        body.com_hikashop.view-checkout #data_register_registration_method .btn-group-vertical .btn,
        body.com_hikashop.view-checkout #data_register_registration_method .hikaradio-label {
            display: flex !important;
            width: 100% !important;
            min-width: 0 !important;
            margin: 0 !important;
            justify-content: center;
            box-sizing: border-box;
        }

    body.com_hikashop.view-checkout .hikashop_checkout_login {
        padding: 10px !important;
    }
}

/* Finaler Fallback: Checkout-Login auf Phones sicher einspaltig */
@media screen and (max-width: 900px) and (orientation: portrait) {
    body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
    }

        body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 > * {
            flex: 0 0 100% !important;
            width: 100% !important;
            max-width: 100% !important;
            margin: 0 !important;
            padding: 0 !important;
        }

        body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 #hikashop_checkout_registration,
        body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 #hikashop_checkout_login_form {
            width: 100% !important;
            max-width: 100% !important;
        }

        body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 #data_register_registration_method .btn-group,
        body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 #data_register_registration_method .btn-group-vertical {
            display: flex !important;
            flex-direction: column !important;
            width: 100% !important;
            gap: 10px !important;
        }

            body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 #data_register_registration_method .btn-group > .btn,
            body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 #data_register_registration_method .btn-group-vertical > .btn,
            body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 #data_register_registration_method .hikaradio-label {
                float: none !important;
                display: flex !important;
                width: 100% !important;
                max-width: 100% !important;
                min-width: 0 !important;
                margin: 0 !important;
                justify-content: center !important;
            }
}

/* Checkout Portrait Hotfix: Hika-Grid in der Registrierung strikt einspaltig */
@media screen and (max-width: 900px) and (orientation: portrait) {
    body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 .hkform-horizontal .hkform-group,
    body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 .hkform-horizontal .control-group {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        row-gap: 6px;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 14px 0 !important;
        padding: 0 !important;
        float: none !important;
        clear: both !important;
        box-sizing: border-box !important;
    }

        body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 .hkform-horizontal .control-group > *,
        body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 .hkform-horizontal .hkform-group > * {
            grid-column: 1 / -1 !important;
            width: 100% !important;
            max-width: 100% !important;
            min-width: 0 !important;
            margin: 0 !important;
            padding-left: 0 !important;
            padding-right: 0 !important;
            float: none !important;
            box-sizing: border-box !important;
        }

    body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 .hkform-horizontal label.hkcontrol-label,
    body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 .hkform-horizontal .hkcontrol-label {
        text-align: left !important;
        white-space: normal !important;
        overflow-wrap: anywhere;
    }

    body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 .hkform-horizontal .input-group,
    body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 .hkform-horizontal .password-group,
    body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 .hkform-horizontal .form-control,
    body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 .hkform-horizontal input,
    body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 .hkform-horizontal select,
    body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 .hkform-horizontal textarea,
    body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 .hkform-horizontal .btn-group,
    body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 .hkform-horizontal .btn {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
}

/* Checkout Portrait Final Fix: innere Registrierungsform darf nicht breiter als Viewport werden */
@media screen and (max-width: 900px) and (orientation: portrait) {
    html,
    body,
    body.com_hikashop.view-checkout {
        overflow-x: hidden !important;
    }

        body.com_hikashop.view-checkout #hikashop_checkout_login_1_0,
        body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 #hikashop_checkout_registration,
        body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 #hikashop_checkout_registration > fieldset,
        body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 #hikashop_checkout_registration .hkform-horizontal {
            width: 100% !important;
            max-width: 100vw !important;
            min-width: 0 !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
            padding-left: 0 !important;
            padding-right: 0 !important;
            box-sizing: border-box !important;
            overflow-x: clip !important;
        }

            body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 #hikashop_checkout_registration .hkform-horizontal .hkc-sm-4,
            body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 #hikashop_checkout_registration .hkform-horizontal .hkc-sm-8,
            body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 #hikashop_checkout_registration .hkform-horizontal .hikashop_address_field_input,
            body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 #hikashop_checkout_registration .hkform-horizontal .input-group,
            body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 #hikashop_checkout_registration .hkform-horizontal .password-group,
            body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 #hikashop_checkout_registration .hkform-horizontal .form-control,
            body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 #hikashop_checkout_registration .hkform-horizontal input,
            body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 #hikashop_checkout_registration .hkform-horizontal select,
            body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 #hikashop_checkout_registration .hkform-horizontal textarea {
                width: 100% !important;
                max-width: 100% !important;
                min-width: 0 !important;
                margin-left: 0 !important;
                margin-right: 0 !important;
                box-sizing: border-box !important;
            }

            body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 #hikashop_checkout_registration .hkform-horizontal .hkcontrol-label,
            body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 #hikashop_checkout_registration .hkform-horizontal label {
                white-space: normal !important;
                overflow-wrap: anywhere !important;
                word-break: break-word;
            }
}

/* Checkout nach Anmeldung (Desktop): Zeile stabil ohne Umbruch + saubere Ausrichtung */
@media (min-width: 901px) {
    body.com_hikashop.view-checkout div[id^="hikashop_checkout_cart_"] table tbody td {
        vertical-align: top !important;
    }

        body.com_hikashop.view-checkout div[id^="hikashop_checkout_cart_"] table tbody td p {
            margin-top: 0 !important;
            margin-bottom: 0 !important;
        }

        body.com_hikashop.view-checkout div[id^="hikashop_checkout_cart_"] table thead th,
        body.com_hikashop.view-checkout div[id^="hikashop_checkout_cart_"] table tbody td:not(:first-child),
        body.com_hikashop.view-checkout div[id^="hikashop_checkout_cart_"] table tbody td:not(:first-child) p {
            white-space: nowrap;
        }

    body.com_hikashop.view-checkout div[id^="hikashop_checkout_cart_"] table th.hikashop_cart_product_computer_title,
    body.com_hikashop.view-checkout div[id^="hikashop_checkout_cart_"] table td[data-title="Clients"] {
        text-align: center !important;
    }

    body.com_hikashop.view-checkout div[id^="hikashop_checkout_cart_"] table th.hikashop_cart_product_language_title,
    body.com_hikashop.view-checkout div[id^="hikashop_checkout_cart_"] table td[data-title="Sprache"],
    body.com_hikashop.view-checkout div[id^="hikashop_checkout_cart_"] table td[data-title="Language"] {
        text-align: center !important;
    }

    body.com_hikashop.view-checkout div[id^="hikashop_checkout_cart_"] table th#hikashop_cart_product_quantity_title,
    body.com_hikashop.view-checkout div[id^="hikashop_checkout_cart_"] table td[data-title="Menge"],
    body.com_hikashop.view-checkout div[id^="hikashop_checkout_cart_"] table td[data-title="Quantity"] {
        text-align: center !important;
    }

    body.com_hikashop.view-checkout div[id^="hikashop_checkout_cart_"] table td[data-title="Einzelpreis"],
    body.com_hikashop.view-checkout div[id^="hikashop_checkout_cart_"] table td[data-title="Unit price"],
    body.com_hikashop.view-checkout div[id^="hikashop_checkout_cart_"] table td[data-title="Gesamtpreis"],
    body.com_hikashop.view-checkout div[id^="hikashop_checkout_cart_"] table td[data-title="Total price"],
    body.com_hikashop.view-checkout div[id^="hikashop_checkout_cart_"] table .hikashop_product_price,
    body.com_hikashop.view-checkout div[id^="hikashop_checkout_cart_"] table .hikashop_cart_subtotal_value,
    body.com_hikashop.view-checkout div[id^="hikashop_checkout_cart_"] table .hikashop_cart_shipping_value,
    body.com_hikashop.view-checkout div[id^="hikashop_checkout_cart_"] table .hikashop_cart_tax_value,
    body.com_hikashop.view-checkout div[id^="hikashop_checkout_cart_"] table .hikashop_cart_total_value,
    body.com_hikashop.view-checkout .hikashop_cart_total_value_2,
    body.com_hikashop.view-checkout .hikashop_checkout_cart_total_value {
        text-align: right !important;
        white-space: nowrap;
    }
}

/* Warenkorb Desktop: Summenzeile rechts exakt buendig ausrichten */
@media (min-width: 901px) {
    /* Toolbar-Buttons im Warenkorb: DE/EN einheitlich gleich gross */
    body.com_hikashop.view-cart .hika_toolbar .hika_btn_32 {
        display: flex;
        justify-content: flex-end;
        align-items: stretch;
        gap: 6px;
    }

        body.com_hikashop.view-cart .hika_toolbar .hika_btn_32 > .hikabtn {
            display: inline-flex !important;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 6px;
            width: 160px;
            min-width: 160px;
            height: 78px;
            box-sizing: border-box;
        }

            body.com_hikashop.view-cart .hika_toolbar .hika_btn_32 > .hikabtn .btnName {
                display: block;
                margin-top: 2px;
                white-space: nowrap;
                line-height: 1.15;
            }

    body.com_hikashop.view-cart #hikashop_cart_product_listing {
        width: 100% !important;
        border-collapse: collapse !important;
        table-layout: auto !important;
    }

        /* Produktspalte auf Desktop wieder breit genug fuer Bild + Name nebeneinander */
        body.com_hikashop.view-cart #hikashop_cart_product_listing thead th:first-child,
        body.com_hikashop.view-cart #hikashop_cart_product_listing tbody td:first-child {
            min-width: 240px !important;
            width: 24% !important;
        }

        /* Zeileninhalte (ausser Produktname) auf Desktop ohne Umbruch halten */
        body.com_hikashop.view-cart #hikashop_cart_product_listing thead th,
        body.com_hikashop.view-cart #hikashop_cart_product_listing tbody td:not(:first-child) {
            white-space: nowrap;
        }

            body.com_hikashop.view-cart #hikashop_cart_product_listing tbody td:not(:first-child) p {
                white-space: nowrap;
                margin: 0;
            }

            /* Clients-Spalte mittig ausrichten */
            body.com_hikashop.view-cart #hikashop_cart_product_listing thead th.hikashop_cart_product_4,
            body.com_hikashop.view-cart #hikashop_cart_product_listing tbody td[data-title="Clients"] {
                text-align: center !important;
            }

            body.com_hikashop.view-cart #hikashop_cart_product_listing thead th.hikashop_cart_product_language_title,
            body.com_hikashop.view-cart #hikashop_cart_product_listing tbody td[data-title="Sprache"],
            body.com_hikashop.view-cart #hikashop_cart_product_listing tbody td[data-title="Language"] {
                text-align: center !important;
            }

        body.com_hikashop.view-cart #hikashop_cart_product_listing tbody td:first-child .hikashop_cart_product_image {
            float: left !important;
            margin-right: 10px !important;
            margin-bottom: 0 !important;
        }

        body.com_hikashop.view-cart #hikashop_cart_product_listing tbody td:first-child .hikashop_cart_product_name,
        body.com_hikashop.view-cart #hikashop_cart_product_listing tbody td:first-child .hikashop_cart_product_name a,
        body.com_hikashop.view-cart #hikashop_cart_product_listing tbody td:first-child .emn-cart-productname {
            display: inline !important;
            white-space: normal !important;
            word-break: normal !important;
            overflow-wrap: normal !important;
        }

        body.com_hikashop.view-cart #hikashop_cart_product_listing thead {
            display: table-header-group !important;
        }

        body.com_hikashop.view-cart #hikashop_cart_product_listing tbody {
            display: table-row-group !important;
        }

            /* DE/EN einheitlich: Inhalte in Produktzeilen oben ausrichten */
            body.com_hikashop.view-cart #hikashop_cart_product_listing tbody td {
                vertical-align: top !important;
            }

        body.com_hikashop.view-cart #hikashop_cart_product_listing tfoot {
            display: table-footer-group !important;
            width: 100% !important;
        }

            body.com_hikashop.view-cart #hikashop_cart_product_listing tfoot tr {
                display: table-row !important;
                width: 100% !important;
            }

            body.com_hikashop.view-cart #hikashop_cart_product_listing tfoot td {
                display: table-cell !important;
                float: none !important;
                border-top: 1px solid #d7dde6 !important;
                padding-top: 12px !important;
                padding-bottom: 12px !important;
                font-weight: 700 !important;
                box-sizing: border-box !important;
            }

            body.com_hikashop.view-cart #hikashop_cart_product_listing tfoot .hika_show_cart_total_text {
                padding-left: 8px !important;
            }

            body.com_hikashop.view-cart #hikashop_cart_product_listing tfoot .hika_show_cart_total_quantity,
            body.com_hikashop.view-cart #hikashop_cart_product_listing tfoot .hika_show_cart_total_price {
                text-align: right !important;
                white-space: nowrap;
                padding-right: 8px !important;
                vertical-align: middle !important;
            }

            /* Preis-Spalten nur ausrichten, nicht in der Breite erzwingen */
            body.com_hikashop.view-cart #hikashop_cart_product_listing thead th:nth-last-child(1),
            body.com_hikashop.view-cart #hikashop_cart_product_listing tbody td:nth-last-child(1),
            body.com_hikashop.view-cart #hikashop_cart_product_listing tfoot .hika_show_cart_total_price {
                text-align: right !important;
                white-space: nowrap;
            }

        body.com_hikashop.view-cart #hikashop_cart_product_listing thead th.hikashop_cart_quantity_title,
        body.com_hikashop.view-cart #hikashop_cart_product_listing tbody td[data-title="Menge"],
        body.com_hikashop.view-cart #hikashop_cart_product_listing tbody td[data-title="Quantity"],
        body.com_hikashop.view-cart #hikashop_cart_product_listing tbody td:nth-last-child(2) {
            text-align: center !important;
            white-space: nowrap;
        }

        body.com_hikashop.view-cart #hikashop_cart_product_listing tfoot .hika_show_cart_total_quantity {
            text-align: right !important;
            white-space: nowrap;
        }

        body.com_hikashop.view-cart #hikashop_cart_product_listing thead th:nth-last-child(1),
        body.com_hikashop.view-cart #hikashop_cart_product_listing tbody td:nth-last-child(1),
        body.com_hikashop.view-cart #hikashop_cart_product_listing tfoot .hika_show_cart_total_price {
            padding-right: 8px !important;
        }

        body.com_hikashop.view-cart #hikashop_cart_product_listing tfoot .hika_show_cart_total_quantity {
            min-width: 96px !important;
        }

        /* Kompakte Mobile-Summenreihe auf Desktop ausblenden */
        body.com_hikashop.view-cart #hikashop_cart_product_listing tbody .hika_show_cart_total_text_2 {
            display: none !important;
        }

        /* Mengenfeld auf Desktop: sprachneutral und robust (DE/EN) */
        body.com_hikashop.view-cart #hikashop_cart_product_listing tbody td:nth-last-child(2) {
            white-space: nowrap;
            text-align: center !important;
        }

            body.com_hikashop.view-cart #hikashop_cart_product_listing tbody td:nth-last-child(2) .hikashop_product_quantity_field {
                display: inline-block !important;
                width: 50px !important;
                min-width: 50px !important;
                height: 30px !important;
                padding: 2px 6px !important;
                margin: 0 4px 0 0 !important;
                border: 1px solid #cbd5e1 !important;
                border-radius: 8px !important;
                text-align: center !important;
                font-size: 15px !important;
                line-height: 1 !important;
                box-sizing: border-box !important;
                vertical-align: middle;
                background: #fff !important;
            }

            body.com_hikashop.view-cart #hikashop_cart_product_listing tbody td:nth-last-child(2) .hikashop_cart_product_quantity_refresh {
                display: inline-flex !important;
                align-items: center;
                justify-content: center;
                margin: 0 4px 0 0 !important;
                vertical-align: middle;
                float: none !important;
            }

            body.com_hikashop.view-cart #hikashop_cart_product_listing tbody td:nth-last-child(2) .hikashop_no_print {
                display: inline-flex !important;
                align-items: center;
                justify-content: center;
                vertical-align: middle;
                width: 30px !important;
                height: 30px !important;
                min-width: 30px !important;
                margin: 0 !important;
                padding: 0 !important;
                border: 1px solid #d7dde6;
                border-radius: 7px;
                background: #f8fbff;
                color: #556273;
                line-height: 1 !important;
                box-sizing: border-box;
                float: none !important;
            }

                body.com_hikashop.view-cart #hikashop_cart_product_listing tbody td:nth-last-child(2) .hikashop_no_print i {
                    font-size: 13px;
                    line-height: 1;
                }
}

/* Mengenfeld mobil: nicht zu breit und besser lesbar */
@media (max-width: 900px) {
    body.com_hikashop.view-cart #hikashop_cart_product_listing td[data-title="Menge"],
    body.com_hikashop.view-cart #hikashop_cart_product_listing td[data-title="Quantity"] {
        display: flex !important;
        align-items: center;
        gap: 6px;
        flex-wrap: wrap;
    }

        body.com_hikashop.view-cart #hikashop_cart_product_listing td[data-title="Menge"] .hikashop_product_quantity_field.form-control {
            width: 64px !important;
            min-width: 64px !important;
            max-width: 64px !important;
            text-align: center !important;
            height: 36px !important;
            border-radius: 8px !important;
            padding: 6px 8px !important;
            border: 1px solid #cbd5e1 !important;
            background: #fff !important;
            font-size: 15px !important;
            line-height: 1 !important;
            box-sizing: border-box !important;
            box-shadow: none !important;
        }

        body.com_hikashop.view-cart #hikashop_cart_product_listing td[data-title="Quantity"] .hikashop_product_quantity_field.form-control {
            width: 64px !important;
            min-width: 64px !important;
            max-width: 64px !important;
            text-align: center !important;
            height: 36px !important;
            border-radius: 8px !important;
            padding: 6px 8px !important;
            border: 1px solid #cbd5e1 !important;
            background: #fff !important;
            font-size: 15px !important;
            line-height: 1 !important;
            box-sizing: border-box !important;
            box-shadow: none !important;
        }

        body.com_hikashop.view-cart #hikashop_cart_product_listing td[data-title="Menge"] .hikashop_cart_product_quantity_refresh,
        body.com_hikashop.view-cart #hikashop_cart_product_listing td[data-title="Quantity"] .hikashop_cart_product_quantity_refresh {
            display: inline-flex !important;
            align-items: center;
            justify-content: center;
            float: none !important;
            margin: 0 !important;
            vertical-align: middle;
        }

        body.com_hikashop.view-cart #hikashop_cart_product_listing td[data-title="Menge"] .hikashop_no_print,
        body.com_hikashop.view-cart #hikashop_cart_product_listing td[data-title="Quantity"] .hikashop_no_print {
            display: inline-flex !important;
            align-items: center;
            justify-content: center;
            width: 36px !important;
            height: 36px !important;
            min-width: 36px !important;
            margin: 0 !important;
            padding: 0 !important;
            border: 1px solid #d7dde6 !important;
            border-radius: 8px !important;
            background: #f8fbff !important;
            color: #556273 !important;
            line-height: 1 !important;
            box-sizing: border-box !important;
            float: none !important;
            vertical-align: middle;
            text-decoration: none !important;
        }

            body.com_hikashop.view-cart #hikashop_cart_product_listing td[data-title="Menge"] .hikashop_no_print i,
            body.com_hikashop.view-cart #hikashop_cart_product_listing td[data-title="Quantity"] .hikashop_no_print i {
                font-size: 14px;
                line-height: 1;
            }
}

/* Checkout: Anmelden/Registrierung wie Action-Buttons darstellen */
body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 #data_register_registration_method .btn-group,
body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 #data_register_registration_method .btn-group-vertical {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 10px !important;
}

    body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 #data_register_registration_method .btn-group > .btn,
    body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 #data_register_registration_method .btn-group-vertical > .btn,
    body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 #data_register_registration_method .hikaradio-label {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 48px !important;
        height: 48px !important;
        margin: 0 !important;
        padding: 10px 14px !important;
        border: 1px solid transparent !important;
        border-radius: 12px !important;
        background: linear-gradient(180deg, #67bf10 0%, #4f9f08 100%) !important;
        color: #fff !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        line-height: 1 !important;
        text-align: center !important;
        text-shadow: none !important;
        box-sizing: border-box !important;
        box-shadow: 0 8px 20px rgba(15, 23, 42, .18) !important;
        transition: background .2s ease, box-shadow .2s ease, transform .06s ease;
    }

        body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 #data_register_registration_method .hikaradio-label br {
            display: none !important;
        }

        body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 #data_register_registration_method .hikaradio-label:hover {
            background: linear-gradient(180deg, #78d418 0%, #67bf10 100%) !important;
            box-shadow: 0 10px 22px rgba(15, 23, 42, .22) !important;
        }

        body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 #data_register_registration_method .hikaradio-label.active {
            background: linear-gradient(180deg, #55A505 0%, #4f9f08 100%) !important;
            box-shadow: 0 10px 24px rgba(15, 23, 42, .24) !important;
            transform: translateY(-1px);
        }

/* Checkout nach Anmeldung: Haupt-Formularpadding sichern */
body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 #hikashop_checkout_registration {
    padding: 24px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 16px !important;
    background: #f6f7f9 !important;
    margin: 0 0 16px 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

    body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 #hikashop_checkout_registration .hkform-horizontal {
        margin: 0 !important;
    }

        body.com_hikashop.view-checkout #hikashop_checkout_login_1_0 #hikashop_checkout_registration .hkform-horizontal .hkcontrol-label {
            width: 100% !important;
            text-align: left !important;
            margin-bottom: 4px !important;
        }

/* =========================================================
   Verbesserung der Textlesbarkeit in Formularen (insb. Mobile)
   ========================================================= */

input::placeholder,
textarea::placeholder {
    color: #94a3b8;
    opacity: 1; /* Ensures full opacity for the placeholder text */
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
    color: #94a3b8;
}

input::-ms-input-placeholder,
textarea::-ms-input-placeholder {
    color: #94a3b8;
}

/* EMN Profilformular: CD-Style, mittig, max 540px, Buttons nebeneinander, Abstände und Farben wie CD */
.com-users-profile__edit-form.form-horizontal.well {
    width: 100%;
    /* max-width: 640px; */
    margin: 48px auto 32px auto;
    padding: 32px 32px 28px 32px;
    background: #f6f7f9;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    box-shadow: 0 6px 32px rgba(85,165,5,0.07);
    box-sizing: border-box;
}

.com-users-profile__edit-form .control-group {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    margin-bottom: 22px;
}

.com-users-profile__edit-form .control-label {
    width: 100%;
    margin: 0 0 6px 0;
    font-weight: 600;
    color: #2c3e50;
    font-size: 1rem;
    text-align: left;
    line-height: 1.4;
}

.com-users-profile__edit-form .controls {
    width: 100%;
    margin: 0;
}

.com-users-profile__edit-form input[type="text"],
.com-users-profile__edit-form input[type="email"],
.com-users-profile__edit-form input[type="password"],
.com-users-profile__edit-form .form-control {
    width: 100%;
    max-width: 100%;
    height: 44px;
    padding: 10px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #fff;
    font-size: 16px;
    color: #222;
    box-sizing: border-box;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.com-users-profile__edit-form input[type="text"]:focus,
.com-users-profile__edit-form input[type="email"]:focus,
.com-users-profile__edit-form input[type="password"]:focus,
.com-users-profile__edit-form .form-control:focus {
    outline: none;
    border-color: #55A505;
    box-shadow: 0 0 0 3px rgba(85,165,5,.13);
}

.com-users-profile__edit-form .input-group {
    display: flex;
    align-items: stretch;
    width: 100%;
    margin: 0;
}

.com-users-profile__edit-form .input-group > input {
    flex: 1 1 auto;
    min-width: 0;
    border-radius: 10px 0 0 10px;
}

.com-users-profile__edit-form .input-group > .input-password-toggle {
    flex: 0 0 44px;
    width: 44px;
    min-width: 44px;
    height: 44px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0 10px 10px 0;
    border: 1px solid #cbd5e1;
    border-left: 0;
    background: #eeffe6;
    color: #55A505;
    cursor: pointer;
}

.com-users-profile__edit-form .password-group {
    width: 100%;
    margin: 0;
}

.com-users-profile__edit-form .small.text-muted {
    color: #64748b;
    font-size: .92rem;
    margin-bottom: 6px;
    margin-top: 0;
}

.com-users-profile__edit-form fieldset {
    border: 0;
    margin: 0;
    padding: 0;
    min-width: 0;
}

.com-users-profile__edit-form fieldset > legend {
    width: 100%;
    margin: 0 0 16px 0;
    padding: 10px 12px;
    border: 1px solid #dbe5ee;
    border-radius: 10px;
    background: #f8fbff;
    color: #4b5563;
    font-size: 14px;
    line-height: 1.45;
    box-sizing: border-box;
}

/* Submit-Bereich: Buttons rechts nebeneinander */
.com-users-profile__edit-form .com-users-profile__edit-submit {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 18px;
    width: 100%;
    margin-top: 32px;
}

.com-users-profile__edit-form .com-users-profile__edit-submit .controls {
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 18px;
    width: auto !important;
    margin: 0 !important;
    margin-left: auto !important;
    float: none !important;
}

.com-users-profile__edit-form .com-users-profile__edit-submit .btn {
    float: none !important;
    margin: 0 !important;
    width: auto !important;
}

.com-users-profile__edit-form .btn.btn-primary.validate,
.com-users-profile .com-users-profile__edit-form .btn.btn-primary,
.com-users-profile__edit-form button.btn-primary,
.com-users-profile__edit-form input.btn-primary {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: 160px;
    height: 48px;
    padding: 10px 22px;
    border: 1px solid transparent !important;
    border-radius: 12px !important;
    background: linear-gradient(180deg, #67bf10 0%, #4f9f08 100%) !important;
    color: #fff !important;
    font-weight: 600;
    font-size: 16px;
    line-height: 1;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .18);
    cursor: pointer;
    transition: background .2s ease, box-shadow .2s ease, transform .06s ease;
}

.com-users-profile__edit-form .btn.btn-primary.validate:hover,
.com-users-profile .com-users-profile__edit-form .btn.btn-primary:hover {
    background: linear-gradient(180deg, #78d418 0%, #67bf10 100%) !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .22);
}

.com-users-profile__edit-form .btn.btn-primary.validate:active {
    transform: translateY(1px);
}

.com-users-profile__edit-form .btn.btn-danger {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: 140px;
    height: 48px;
    padding: 10px 22px;
    border: 1px solid transparent !important;
    border-radius: 12px !important;
    background: linear-gradient(180deg, #f3a39b 0%, #e88378 100%) !important;
    color: #fff !important;
    font-weight: 600;
    font-size: 16px;
    line-height: 1;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .18);
    cursor: pointer;
    transition: background .2s ease, box-shadow .2s ease, transform .06s ease;
}

.com-users-profile__edit-form .btn.btn-danger:hover {
    background: linear-gradient(180deg, #ef958b 0%, #de786d 100%);
    box-shadow: 0 10px 22px rgba(15, 23, 42, .22);
}

.com-users-profile__edit-form .btn.btn-danger:active {
    transform: translateY(1px);
}

@media (max-width: 700px) {
    .com-users-profile__edit-form.form-horizontal.well {
        padding: 14px 12px 16px 12px;
        margin: 16px 0 16px 0;
        max-width: 100%;
        border-radius: 12px;
    }
    .com-users-profile__edit-form .control-group {
        margin-bottom: 16px;
    }
    .com-users-profile__edit-form .control-label {
        font-size: .93rem;
    }
    .com-users-profile__edit-form input[type="text"],
    .com-users-profile__edit-form input[type="email"],
    .com-users-profile__edit-form input[type="password"],
    .com-users-profile__edit-form .form-control {
        height: 42px;
        font-size: 15px;
        padding: 8px 10px;
    }
    .com-users-profile__edit-form .input-group > .input-password-toggle {
        flex: 0 0 42px;
        width: 42px;
        min-width: 42px;
        height: 42px;
    }
    .com-users-profile__edit-form .controls,
    .com-users-profile__edit-form .input-group,
    .com-users-profile__edit-form .password-group,
    .com-users-profile__edit-form .com-users-profile__edit-submit {
        padding-left: 0;
        padding-right: 0;
    }
    .com-users-profile__edit-form .small.text-muted {
        font-size: .84rem;
    }
    .com-users-profile__edit-form fieldset > legend {
        font-size: 13px;
        padding: 8px 10px;
    }
    .com-users-profile__edit-form .com-users-profile__edit-submit {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px;
        margin-top: 20px;
    }
    .com-users-profile__edit-form .com-users-profile__edit-submit .controls {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px;
        width: 100% !important;
        margin-left: 0 !important;
    }
    .com-users-profile__edit-form .com-users-profile__edit-submit .btn {
        width: 100% !important;
        min-width: 0 !important;
    }
}

/* =========================================================
   Joomla - Datenschutzanfrage (com_privacy view-request)
   Optik analog Login/Registrierung/Profil
   ========================================================= */

.request-form form.form-horizontal.well {
    width: 100%;
    margin: 0;
    padding: 32px 32px 28px 32px;
    background: #f6f7f9;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    box-shadow: 0 6px 32px rgba(85,165,5,0.07);
    box-sizing: border-box;
}

.request-form form.form-horizontal.well fieldset {
    border: 0;
    margin: 0;
    padding: 0;
    min-width: 0;
}

.request-form .control-group {
    display: block;
    margin-bottom: 22px;
    clear: both;
}

.request-form .control-label {
    float: none !important;
    width: auto !important;
    text-align: left !important;
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
    color: #2c3e50;
    font-size: 1rem;
    line-height: 1.4;
}

body.com_privacy .request-form .form-horizontal .controls,
body.com_privacy .request-form form.form-horizontal .controls,
.request-form .form-horizontal .controls,
.request-form .controls {
    margin: 0 !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    float: none !important;
    width: 100% !important;
    text-align: left !important;
}

body.com_privacy .request-form form.form-horizontal .form-select,
body.com_privacy .request-form form.form-horizontal select,
body.com_privacy .request-form .form-select,
body.com_privacy .request-form select,
.request-form form.form-horizontal .form-select,
.request-form form.form-horizontal select,
.request-form .form-select,
.request-form select {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 10px 2.8em 10px 12px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    background-color: #fff !important;
    background-image: linear-gradient(45deg, transparent 50%, #777 50%), linear-gradient(135deg, #777 50%, transparent 50%) !important;
    background-position: calc(100% - 18px) calc(50% - 3px), calc(100% - 12px) calc(50% - 3px) !important;
    background-size: 6px 6px, 6px 6px !important;
    background-repeat: no-repeat !important;
    font-size: 16px !important;
    color: #222 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    line-height: 1.4 !important;
    transition: border-color .15s ease, box-shadow .15s ease;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
}

.request-form .form-select:focus,
.request-form select:focus {
    outline: none;
    border-color: #55A505;
    box-shadow: 0 0 0 3px rgba(85,165,5,.13);
}

.request-form .form-text {
    color: #64748b;
    font-size: .9rem;
    margin-top: 6px;
}

body.com_privacy .request-form form.form-horizontal .form-check,
body.com_privacy .request-form .form-check,
.request-form .form-check {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px;
    margin: 0 !important;
    margin-left: 0 !important;
    padding: 0 !important;
    padding-left: 0 !important;
    justify-content: flex-start !important;
}

/* Checkbox-Zeile: ALLE Offsets auf jeder Verschachtelungsebene aufheben */
#jform_consentbox,
#jform_consentbox .form-check,
#jform_consentbox .form-check-inline,
.request-form .form-horizontal .controls,
.request-form form.form-horizontal .control-group > .controls {
    margin-left: 0 !important;
    padding-left: 0 !important;
    float: none !important;
    width: 100% !important;
}

.request-form .form-check-inline {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px;
    margin-left: 0 !important;
    padding-left: 0 !important;
}

.request-form .form-check-input {
    flex: 0 0 20px;
    width: 20px !important;
    height: 20px !important;
    margin-top: 2px;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    accent-color: #55A505;
    cursor: pointer;
}

.request-form .form-check-label {
    font-weight: 400;
    color: #334155;
    font-size: 15px;
    line-height: 1.45;
    cursor: pointer;
}

.request-form .checkboxes {
    border: 0;
    margin: 0;
    padding: 0;
    min-width: 0;
}

/* Submit-Button: rechtsbündig, CD-Gradient */
.request-form .control-group:last-of-type .controls {
    display: flex !important;
    justify-content: flex-end !important;
}

.request-form form.form-horizontal .btn.btn-primary.validate,
.request-form form.form-horizontal .btn.btn-primary {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: 220px;
    height: 48px;
    padding: 10px 18px;
    margin: 10px 0 0 0;
    border: 1px solid transparent !important;
    border-radius: 12px;
    background: linear-gradient(180deg, #67bf10 0%, #4f9f08 100%) !important;
    color: #fff !important;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .18);
    cursor: pointer;
    transition: background .2s ease, box-shadow .2s ease, transform .06s ease;
}

.request-form form.form-horizontal .btn.btn-primary.validate:hover,
.request-form form.form-horizontal .btn.btn-primary:hover {
    background: linear-gradient(180deg, #78d418 0%, #67bf10 100%) !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .22);
}

.request-form form.form-horizontal .btn.btn-primary.validate:active,
.request-form form.form-horizontal .btn.btn-primary:active {
    transform: translateY(1px);
}

@media (max-width: 700px) {
    .request-form form.form-horizontal.well {
        padding: 14px 12px 16px 12px;
        border-radius: 12px;
    }
    .request-form .control-group {
        margin-bottom: 16px;
    }
    .request-form .form-select,
    .request-form select {
        height: 42px;
        font-size: 15px;
        padding: 8px 2.8em 8px 10px;
    }
    .request-form .form-check-label {
        font-size: 14px;
    }
    .request-form .control-group:last-child .controls {
        text-align: center !important;
    }
    .request-form .control-group:last-child .controls {
        justify-content: center !important;
    }
    .request-form form.form-horizontal .btn.btn-primary.validate,
    .request-form form.form-horizontal .btn.btn-primary {
        width: 100% !important;
        min-width: 0;
    }
}

/* =========================================================
   HikaShop – Meine Bestellungen (cpanel / orders listing)
   CD-konform: Box, Suchleiste, Filter, Bestellkarten, Badges
   ========================================================= */

/* Seitenüberschriften der HikaShop-Cpanel-Seiten (Bestellungen, Downloads, Adressen)
   analog zur page-header h1 auf "Meine Daten" */
#hikashop_order_listing > .header.hikashop_header_title,
#hikashop_download_listing > .header.hikashop_header_title,
body.itemid-634 .hikashop_header_title {
    display: block !important;
    width: 100% !important;
    float: none !important;
    clear: both !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
}

#hikashop_order_listing .header.hikashop_header_title h1,
#hikashop_download_listing .header.hikashop_header_title h1,
body.itemid-634 .hikashop_header_title h1 {
    font-size: 48px !important;
    font-weight: 800 !important;
    line-height: 48px !important;
    text-transform: uppercase !important;
    margin-bottom: 50px !important;
    padding: 0 !important;
    color: inherit !important;
}

/* Äußerer Bestellungen-Container: transparent, kein Padding (analog #hikashop_download_listing) */
#hikashop_order_listing,
.hikashop_order_listing {
    max-width: 100%;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-sizing: border-box;
}

/* Kein Top-Abstand am cpanel-Wrapper auf Bestellungen/Adressen-Seiten */
body.itemid-633 .hikashop_cpanel_main_interface,
body.itemid-634 .hikashop_cpanel_main_interface,
body.itemid-633 .hika_cpanel_main_data,
body.itemid-634 .hika_cpanel_main_data {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Grauer Kasten nur für den Inhalts-Bereich (nicht um die Überschrift) */
.hikashop_cpanel_main,
#hikashop_cpanel_orders {
    max-width: 100%;
    width: 100%;
    margin: 0;
    padding: 24px;
    background: #f6f7f9;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    box-sizing: border-box;
}

/* Suchfeld */
#adminForm #hikashop_search,
#adminForm .hikashop_search_block input.form-control {
    height: 44px !important;
    padding: 10px 12px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px 0 0 10px !important;
    background: #fff !important;
    font-size: 16px !important;
    box-sizing: border-box !important;
    transition: border-color .15s ease, box-shadow .15s ease;
}

    #adminForm #hikashop_search:focus,
    #adminForm .hikashop_search_block input.form-control:focus {
        outline: none;
        border-color: #55A505 !important;
        box-shadow: 0 0 0 3px rgba(85,165,5,.15) !important;
    }

/* Such-Button ("Los") */
#adminForm .hikashop_search_block .btn.btn-primary {
    height: 44px !important;
    padding: 10px 18px !important;
    border: 1px solid transparent !important;
    border-radius: 0 10px 10px 0 !important;
    background: linear-gradient(180deg, #67bf10 0%, #4f9f08 100%) !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 600;
    line-height: 1;
    box-shadow: 0 6px 16px rgba(85,165,5,.20);
    cursor: pointer;
    transition: background .2s ease, box-shadow .2s ease, transform .06s ease;
}

    #adminForm .hikashop_search_block .btn.btn-primary:hover {
        background: linear-gradient(180deg, #78d418 0%, #67bf10 100%) !important;
    }

    #adminForm .hikashop_search_block .btn.btn-primary:active {
        transform: translateY(1px);
    }

/* Filter-Dropdowns (Zeitraum, Status) */
#adminForm .hikashop_order_sort select.custom-select,
#adminForm #filter_order_range,
#adminForm #filter_order_status {
    height: 44px !important;
    padding: 10px 12px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    background: #fff !important;
    font-size: 16px !important;
    color: #222 !important;
    box-sizing: border-box !important;
    margin-bottom: 10px;
    transition: border-color .15s ease, box-shadow .15s ease;
}

    #adminForm .hikashop_order_sort select.custom-select:focus,
    #adminForm #filter_order_range:focus,
    #adminForm #filter_order_status:focus {
        outline: none;
        border-color: #55A505 !important;
        box-shadow: 0 0 0 3px rgba(85,165,5,.15) !important;
    }

/* Paginierung-Select ("Anzeige #") */
#adminForm .list-footer select.custom-select,
#adminForm .list-footer select {
    height: 40px !important;
    padding: 8px 12px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    background: #fff !important;
    font-size: 15px !important;
    box-sizing: border-box !important;
}

/* Bestellkarten (einzelne Bestellung) */
#hikashop_cpanel_orders .hikashop_order_row,
#hikashop_cpanel_orders .table > tbody > tr,
.hikashop_order_listing .hikashop_order_row {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    margin-bottom: 12px;
    overflow: hidden;
}

/* Bestellkopfzeile (Datum + Preis) */
#hikashop_cpanel_orders .hikashop_order_header,
#hikashop_cpanel_orders .hikashop_order_date_header,
.hikashop_order_listing .hikashop_order_header {
    background: #f0f4f8;
    padding: 12px 16px;
    border-bottom: 1px solid #e5e7eb;
    font-weight: 600;
    color: #2c3e50;
    font-size: 15px;
}

/* Status-Badge ("bestätigt") */
#hikashop_cpanel_orders .hikashop_order_status_confirmed,
#hikashop_cpanel_orders .order_status_confirmed,
#hikashop_cpanel_orders .badge,
#hikashop_cpanel_orders .label,
.hikashop_order_listing .hikashop_order_status span,
.hikashop_order_listing .order_status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 80px;
    height: 30px;
    padding: 4px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .02em;
}

/* Aktionen-Dropdown */
#hikashop_cpanel_orders .dropdown-toggle,
.hikashop_order_listing .dropdown-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 36px;
    padding: 6px 14px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #334155;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: border-color .15s ease, box-shadow .15s ease;
}

    #hikashop_cpanel_orders .dropdown-toggle:hover,
    .hikashop_order_listing .dropdown-toggle:hover {
        border-color: #55A505;
        box-shadow: 0 0 0 3px rgba(85,165,5,.12);
    }

/* Dropdown-Menü */
#hikashop_cpanel_orders .dropdown-menu,
.hikashop_order_listing .dropdown-menu {
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(15,23,42,.12);
    padding: 6px 0;
    background: #fff;
}

    #hikashop_cpanel_orders .dropdown-menu > li > a,
    .hikashop_order_listing .dropdown-menu > li > a {
        padding: 8px 16px;
        font-size: 14px;
        color: #334155;
        transition: background .15s ease;
    }

        #hikashop_cpanel_orders .dropdown-menu > li > a:hover,
        .hikashop_order_listing .dropdown-menu > li > a:hover {
            background: #f0f7ff;
            color: #55A505;
        }

/* Aufklapp-/Chevron-Button */
#hikashop_cpanel_orders .hikashop_order_toggle,
#hikashop_cpanel_orders .hikashop_order_details_toggle,
.hikashop_order_listing .hikashop_order_toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #556273;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease;
}

    #hikashop_cpanel_orders .hikashop_order_toggle:hover,
    .hikashop_order_listing .hikashop_order_toggle:hover {
        border-color: #55A505;
        background: #f0f7ff;
        color: #55A505;
    }

/* Ergebnistext ("Ergebnisse 1 – 1 von 1") */
#hikashop_cpanel_orders .list-footer .counter,
#hikashop_cpanel_orders .hikashop_results_counter,
.hikashop_order_listing .list-footer .counter {
    color: #64748b;
    font-size: .9rem;
    margin-top: 8px;
}

/* Trennlinien dezenter */
#hikashop_cpanel_orders hr,
.hikashop_order_listing hr {
    border: none;
    border-top: 1px solid #e5e7eb;
    margin: 16px 0;
}

/* Tabelle innerhalb der Bestellungen */
#hikashop_cpanel_orders table,
.hikashop_order_listing table {
    width: 100%;
    border-collapse: collapse;
}

    #hikashop_cpanel_orders table th,
    .hikashop_order_listing table th {
        background: #f0f4f8;
        color: #2c3e50;
        font-weight: 600;
        font-size: 14px;
        padding: 10px 12px;
        text-align: left;
        border-bottom: 2px solid #e5e7eb;
    }

    #hikashop_cpanel_orders table td,
    .hikashop_order_listing table td {
        padding: 10px 12px;
        font-size: 15px;
        color: #334155;
        border-bottom: 1px solid #f0f4f8;
        vertical-align: middle;
    }

@media (max-width: 640px) {
    .hikashop_cpanel_main,
    #hikashop_cpanel_orders,
    .hikashop_order_listing {
        padding: 14px;
        border-radius: 12px;
    }

    #hikashop_cpanel_orders input[type="text"],
    #hikashop_cpanel_orders input[type="search"],
    .hikashop_cpanel_main input[type="text"],
    .hikashop_cpanel_main input[type="search"] {
        max-width: 100%;
    }

    #hikashop_cpanel_orders select,
    .hikashop_cpanel_main select {
        max-width: 100%;
    }
}

/* =========================================================
   HikaShop – Meine Bestellungen: Such-/Filterzeile angleichen
   (gleiche Größe wie Downloads)
   ========================================================= */

#hikashop_order_listing #adminForm > .hk-row-fluid:first-child {
    display: flex !important;
    flex-wrap: nowrap;
    align-items: center;
    gap: 16px;
    margin-bottom: 8px;
}

    #hikashop_order_listing #adminForm > .hk-row-fluid:first-child > [class*="hkc-"] {
        float: none !important;
        width: auto !important;
        min-width: 0;
    }

    #hikashop_order_listing .hikashop_search_block {
        display: flex !important;
        flex-wrap: nowrap;
        align-items: center;
    }

    #hikashop_order_listing .hikashop_search_block input[type="text"],
    #hikashop_order_listing .hikashop_search_block input[type="search"] {
        width: 220px !important;
        min-width: 180px;
    }

    #hikashop_order_listing #adminForm > .hk-row-fluid:first-child > [class*="hkc-"]:last-child {
        margin-left: auto;
    }

@media (max-width: 640px) {
    #hikashop_order_listing #adminForm > .hk-row-fluid:first-child {
        flex-wrap: wrap !important;
    }

        #hikashop_order_listing #adminForm > .hk-row-fluid:first-child > [class*="hkc-"] {
            width: 100% !important;
        }

        #hikashop_order_listing #adminForm > .hk-row-fluid:first-child > [class*="hkc-"]:last-child {
            margin-left: 0;
        }

    #hikashop_order_listing .hikashop_search_block input[type="text"],
    #hikashop_order_listing .hikashop_search_block input[type="search"] {
        width: 100% !important;
        min-width: 0 !important;
        flex: 1 1 0%;
    }
}

/* =========================================================
   HikaShop – Meine Downloads (view-user / downloads listing)
   CD-konform: Karte, Tabelle, Download-Button, Pagination
   ========================================================= */

/* Container */
#hikashop_download_listing {
    max-width: 100%;
    width: 100%;
    margin: 0;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 0;
    box-sizing: border-box;
}

/* Such-/Filter-Zeile – gleiche Höhe, wie bei Bestellungen */
#hikashop_download_listing #adminForm > .hk-row-fluid:first-child {
    display: flex !important;
    flex-wrap: nowrap;
    align-items: center;
    gap: 16px;
    margin-bottom: 8px;
}

    #hikashop_download_listing #adminForm > .hk-row-fluid:first-child > [class*="hkc-"] {
        float: none !important;
        width: auto !important;
        min-width: 0;
    }

    /* Suchblock: Input + Button nebeneinander, gleiche Größe wie Bestellungen */
    #hikashop_download_listing .hikashop_search_block {
        display: flex !important;
        flex-wrap: nowrap;
        align-items: center;
    }

    #hikashop_download_listing .hikashop_search_block input[type="text"],
    #hikashop_download_listing .hikashop_search_block input[type="search"] {
        width: 220px !important;
        min-width: 180px;
    }

    /* Filter-Spalte rechts schieben */
    #hikashop_download_listing #adminForm > .hk-row-fluid:first-child > [class*="hkc-"]:last-child {
        margin-left: auto;
    }

/* Downloads-Tabelle als Karte */
#hikashop_downloads {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
    margin-top: 16px;
    box-shadow: 0 2px 8px rgba(15,23,42,.06);
}

    #hikashop_downloads thead th {
        background: #f0f4f8;
        color: #2c3e50;
        font-weight: 600;
        font-size: 14px;
        padding: 14px 16px;
        text-align: left;
        border-bottom: 2px solid #e5e7eb;
        white-space: nowrap;
    }

    /* Zentrierte Spalten: Anzahl, Status */
    #hikashop_downloads thead th:nth-child(3),
    #hikashop_downloads thead th:nth-child(4),
    #hikashop_downloads tbody td:nth-child(3),
    #hikashop_downloads tbody td:nth-child(4) {
        text-align: center;
    }

        #hikashop_downloads thead th a {
            color: #2c3e50;
            text-decoration: none;
        }

            #hikashop_downloads thead th a:hover {
                color: #55A505;
            }

    #hikashop_downloads tbody td {
        padding: 14px 16px;
        font-size: 15px;
        color: #334155;
        border-bottom: 1px solid #f0f4f8;
        vertical-align: top;
    }

    #hikashop_downloads tbody tr:last-child td {
        border-bottom: none;
    }

    #hikashop_downloads tbody tr:hover {
        background: #f8fbff;
    }

/* Produktname-Link */
#hikashop_downloads .hikashop_order_product_link {
    color: #55A505;
    text-decoration: none;
    font-weight: 600;
}

    #hikashop_downloads .hikashop_order_product_link:hover {
        color: #4f9f08;
        text-decoration: underline;
    }

    #hikashop_downloads .hikashop_order_product_link .hikashop_order_product_name {
        margin: 0;
    }

/* Download-Button */
#hikashop_downloads a.hikabtn,
#hikashop_downloads a.hikabtn:link,
#hikashop_downloads a.hikabtn:visited {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    padding: 8px 16px !important;
    border: none !important;
    border-radius: 10px !important;
    background: linear-gradient(180deg, #67bf10 0%, #4f9f08 100%) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1;
    text-decoration: none !important;
    box-shadow: 0 4px 12px rgba(85,165,5,.25) !important;
    transition: background .2s ease, box-shadow .2s ease, transform .06s ease;
    min-width: 0;
    cursor: pointer;
}

    #hikashop_downloads a.hikabtn:hover {
        background: linear-gradient(180deg, #78d418 0%, #67bf10 100%) !important;
        box-shadow: 0 6px 16px rgba(85,165,5,.35) !important;
        color: #fff !important;
    }

    #hikashop_downloads a.hikabtn:active {
        transform: translateY(1px);
    }

    #hikashop_downloads a.hikabtn .hikashop_file_name {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 160px;
        color: #fff !important;
        font-size: 12px;
        line-height: 1;
    }

    #hikashop_downloads a.hikabtn i.fa-download,
    #hikashop_downloads a.hikabtn i.fas.fa-download {
        font-size: 11px;
        color: #fff !important;
        flex: 0 0 auto;
    }

/* Kaufdatum-Zelle */
#hikashop_downloads .hikashop_purchased_date p {
    margin: 0 0 2px 0;
    font-size: 14px;
    color: #64748b;
}

/* Pagination im tfoot */
#hikashop_downloads tfoot td {
    padding: 12px 14px;
    border-top: 1px solid #e5e7eb;
    background: #f8fafc;
}

#hikashop_downloads tfoot .pagination {
    margin: 0;
}

#hikashop_downloads tfoot .list-footer select,
#hikashop_downloads tfoot select.hikashop_pagination_dropdown {
    height: 40px !important;
    padding: 8px 12px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    background: #fff !important;
    font-size: 15px !important;
    box-sizing: border-box !important;
    width: 80px !important;
    margin-left: 6px !important;
}

#hikashop_downloads tfoot .hikashop_results_counter {
    color: #64748b;
    font-size: .9rem;
    margin-top: 8px;
    display: block;
}

/* Mobil */
@media (max-width: 640px) {

    /* Such-/Filterzeile untereinander */
    #hikashop_download_listing #adminForm > .hk-row-fluid:first-child {
        flex-wrap: wrap !important;
    }

        #hikashop_download_listing #adminForm > .hk-row-fluid:first-child > [class*="hkc-"] {
            width: 100% !important;
        }

        #hikashop_download_listing #adminForm > .hk-row-fluid:first-child > [class*="hkc-"]:last-child {
            margin-left: 0;
        }

    #hikashop_download_listing .hikashop_search_block input[type="text"],
    #hikashop_download_listing .hikashop_search_block input[type="search"] {
        width: 100% !important;
        min-width: 0 !important;
        flex: 1 1 0%;
    }

    #hikashop_download_listing .hikashop_filters_block select,
    #hikashop_download_listing #filter_order_range {
        width: 100% !important;
    }

    /* Karten-Layout: ALLE Tabellen-Elemente auf display:block umschalten */
    #hikashop_downloads {
        display: block;
        border-radius: 0;
        overflow: visible;
    }

    #hikashop_downloads thead {
        display: none;
    }

    #hikashop_downloads tbody {
        display: block;
    }

    #hikashop_downloads tbody tr {
        display: block;
        margin-bottom: 12px;
        border: 1px solid #e5e7eb;
        border-radius: 10px;
        overflow: hidden;
        background: #fff;
    }

    #hikashop_downloads tbody td {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        text-align: left;
        padding: 8px 14px;
        border-bottom: 1px solid #f0f4f8;
        width: 100%;
        box-sizing: border-box;
    }

    #hikashop_downloads tbody td > a,
    #hikashop_downloads tbody td > span,
    #hikashop_downloads tbody td > p,
    #hikashop_downloads tbody td > div {
        display: block;
    }

    #hikashop_downloads tfoot {
        display: block;
    }

    #hikashop_downloads tfoot td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

    #hikashop_downloads a.hikabtn .hikashop_file_name {
        max-width: 160px;
    }
}

/* =========================================================
   HikaShop – Meine Adressen (view-address)
   CD-konform: Karte, Dropdowns, Adresskarten, Buttons
   ========================================================= */

/* Gesamter Adressbereich als Karte */
#hikashop_address_listing {
    max-width: 100%;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-sizing: border-box;
}

/* Grauer Kasten nur um den Formular-Inhalt, nicht um die Überschrift */
.hikashop_address_listing_div {
    padding: 24px;
    background: #f6f7f9;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    box-sizing: border-box;
}

/* Standard-Adressen-Dropdowns (dl/dt/dd) */
#hikashop_user_addresses_default {
    margin-bottom: 28px;
    padding-bottom: 24px;
    border-bottom: 1px solid #e5e7eb;
}

#hikashop_user_addresses_default dl.hika_options {
    display: block;
    margin: 0 0 18px 0;
    padding: 0;
}

#hikashop_user_addresses_default dl.hika_options dt {
    float: none !important;
    width: auto !important;
    text-align: left !important;
    margin: 0 0 6px 0;
    padding: 0;
}

#hikashop_user_addresses_default dl.hika_options dt label {
    display: block;
    font-weight: 600;
    color: #2c3e50;
    font-size: 1rem;
    line-height: 1.4;
}

#hikashop_user_addresses_default dl.hika_options dd {
    margin: 0;
    padding: 0;
    float: none !important;
}

#hikashop_user_addresses_default .form-select,
#hikashop_user_addresses_default select,
#hikashop_user_addresses_default .hikashop_default_address_dropdown {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 10px 2.8em 10px 12px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    background-color: #fff !important;
    font-size: 16px !important;
    color: #222 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    line-height: 1.4 !important;
    transition: border-color .15s ease, box-shadow .15s ease;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: linear-gradient(45deg, transparent 50%, #777 50%), linear-gradient(135deg, #777 50%, transparent 50%) !important;
    background-position: calc(100% - 18px) calc(50% - 3px), calc(100% - 12px) calc(50% - 3px) !important;
    background-size: 6px 6px, 6px 6px !important;
    background-repeat: no-repeat !important;
}

#hikashop_user_addresses_default .form-select:focus,
#hikashop_user_addresses_default select:focus,
#hikashop_user_addresses_default .hikashop_default_address_dropdown:focus {
    outline: none;
    border-color: #55A505 !important;
    box-shadow: 0 0 0 3px rgba(85,165,5,.15) !important;
}

/* Überschriften (Rechnungs-/Versandadressen) */
#hikashop_user_addresses_show h3 {
    font-weight: 700;
    color: #2c3e50;
    font-size: 18px;
    margin: 0 0 16px 0;
    text-transform: none;
    letter-spacing: 0;
}

/* Zwei-Spalten-Layout */
#hikashop_user_addresses_show > .hk-row-fluid {
    display: flex !important;
    flex-wrap: wrap;
    gap: 24px;
}

#hikashop_user_addresses_show .hkc-md-6 {
    flex: 1 1 calc(50% - 12px);
    min-width: 280px;
    max-width: 100%;
    width: auto !important;
    float: none !important;
    padding: 0 !important;
}

/* Einzelne Adresskarte */
.hikashop_user_address.address_selection {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 18px 20px;
    margin-bottom: 14px;
    position: relative;
    font-size: 15px;
    color: #334155;
    line-height: 1.7;
    box-shadow: 0 2px 8px rgba(15,23,42,.04);
}

/* Bearbeiten/Löschen-Links */
.hikashop_user_address .hika_edit {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid #f0f4f8;
}

#hikashop_user_addresses_show .hikashop_user_address .hika_edit a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 16px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #334155;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: border-color .15s ease, background .15s ease, color .15s ease;
}

#hikashop_user_addresses_show .hikashop_user_address .hika_edit a:hover {
    border-color: #55A505 !important;
    background: #f0f7ff !important;
    color: #55A505 !important;
}

#hikashop_user_addresses_show .hikashop_user_address .hika_edit a i {
    font-size: 13px;
}

/* Löschen-Button rot beim Hover */
#hikashop_user_addresses_show .hikashop_user_address .hika_edit a:last-child:hover {
    border-color: #e74c3c !important;
    background: #fef2f2 !important;
    color: #e74c3c !important;
}

/* "Neue Adresse" Buttons – breite Selektor-Strategie */
body.com_hikashop.view-address #hikashop_address_listing a.hikabtn.hikabtn-success,
body.com_hikashop.view-address .hikashop_billing_addresses a.hikabtn.hikabtn-success,
body.com_hikashop.view-address .hikashop_shipping_addresses a.hikabtn.hikabtn-success,
body.com_hikashop.view-address #hikashop_user_addresses_show a.hikabtn.hikabtn-success,
body.com_hikashop.view-address a.hikabtn.hikabtn-success[onclick*="Address"],
#hikashop_address_listing a.hikabtn[class*="hikabtn-success"],
#hikashop_user_addresses_show a.hikabtn[class*="hikabtn-success"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-width: 260px !important;
    width: auto !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 12px 24px !important;
    margin-top: 6px !important;
    border: 1px solid transparent !important;
    border-radius: 12px !important;
    background: linear-gradient(180deg, #67bf10 0%, #4f9f08 100%) !important;
    color: #fff !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .18) !important;
    box-sizing: border-box !important;
    transition: background .2s ease, box-shadow .2s ease, transform .06s ease;
}

body.com_hikashop.view-address #hikashop_address_listing a.hikabtn.hikabtn-success:hover,
body.com_hikashop.view-address .hikashop_billing_addresses a.hikabtn.hikabtn-success:hover,
body.com_hikashop.view-address .hikashop_shipping_addresses a.hikabtn.hikabtn-success:hover,
body.com_hikashop.view-address #hikashop_user_addresses_show a.hikabtn.hikabtn-success:hover,
#hikashop_address_listing a.hikabtn[class*="hikabtn-success"]:hover,
#hikashop_user_addresses_show a.hikabtn[class*="hikabtn-success"]:hover {
    background: linear-gradient(180deg, #78d418 0%, #67bf10 100%) !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .22) !important;
}

body.com_hikashop.view-address #hikashop_address_listing a.hikabtn.hikabtn-success:active,
body.com_hikashop.view-address .hikashop_billing_addresses a.hikabtn.hikabtn-success:active,
body.com_hikashop.view-address .hikashop_shipping_addresses a.hikabtn.hikabtn-success:active,
body.com_hikashop.view-address #hikashop_user_addresses_show a.hikabtn.hikabtn-success:active,
#hikashop_address_listing a.hikabtn[class*="hikabtn-success"]:active,
#hikashop_user_addresses_show a.hikabtn[class*="hikabtn-success"]:active {
    transform: translateY(1px);
}

#hikashop_user_addresses_show .hikabtn.hikabtn-success i,
#hikashop_address_listing .hikabtn.hikabtn-success i {
    font-size: 14px;
}

/* Buttons-Container: flex-wrap damit beide Buttons in den grauen Kasten passen */
#hikashop_user_addresses_show > div[style*="margin-top"] {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin-top: 16px !important;
}

/* min-width reduzieren: 260px war zu breit für zwei nebeneinander */
body.com_hikashop.view-address #hikashop_address_listing a.hikabtn.hikabtn-success,
body.com_hikashop.view-address #hikashop_user_addresses_show a.hikabtn.hikabtn-success,
#hikashop_address_listing a.hikabtn[class*="hikabtn-success"],
#hikashop_user_addresses_show a.hikabtn[class*="hikabtn-success"] {
    min-width: 0 !important;
    flex: 1 1 180px !important;
}

/* Mobil: Spalten untereinander */
@media (max-width: 640px) {
    #hikashop_address_listing {
        padding: 14px;
        border-radius: 12px;
    }

    #hikashop_user_addresses_show > .hk-row-fluid {
        flex-direction: column;
        gap: 16px;
    }

    #hikashop_user_addresses_show .hkc-md-6 {
        flex: 1 1 100%;
        min-width: 0;
    }

    .hikashop_user_address.address_selection {
        padding: 14px 16px;
    }

    .hikashop_user_address .hika_edit {
        gap: 8px;
    }

    .hikashop_user_address .hika_edit a {
        height: 38px;
        padding: 7px 16px;
        font-size: 14px;
    }

    #hikashop_user_addresses_show .hikabtn.hikabtn-success {
        width: 100% !important;
        min-width: 0;
    }
}

/* =========================================================
   HikaShop – Adresse bearbeiten / Neue Adresse (AJAX-Form)
   Innerhalb #hikashop_user_addresses_show geladen
   ========================================================= */

/* Formular-Container */
body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal {
    max-width: 100%;
    margin: 0;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Edition-Container: Floats einschließen via clearfix */
body.com_hikashop.view-address #hikashop_user_addresses_show .hikashop_address_edition::after {
    content: "" !important;
    display: table !important;
    clear: both !important;
}

body.com_hikashop.view-address #hikashop_user_addresses_show .hikashop_address_edition {
    padding-bottom: 16px !important;
}

/* Titel (z.B. "Neue Versandadresse") */
body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal h3,
body.com_hikashop.view-address #hikashop_user_addresses_show h3 {
    font-weight: 700;
    color: #2c3e50;
    font-size: 18px;
    margin: 0 0 20px 0;
}

/* Grid neutralisieren: Labels und Inputs untereinander */
body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal .hkform-group,
body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal .control-group {
    display: block !important;
    margin-bottom: 16px !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal .hkcontrol-label,
body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal label.hkcontrol-label {
    float: none !important;
    width: 100% !important;
    text-align: left !important;
    display: block !important;
    margin-bottom: 6px !important;
    font-weight: 600;
    color: #2c3e50;
    font-size: 1rem;
    line-height: 1.4;
    padding: 0 !important;
}

body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal .hkc-sm-4,
body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal .hkc-sm-8,
body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal [class*="hkc-"],
body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal .hikashop_address_field_input,
body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal .hkform-group > div,
body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal .hkform-group > span,
body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal .hk-form-group > div,
body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal .hk-form-group > span,
body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal .control-group > div,
body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal .control-group > span {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    flex: 0 0 100% !important;
    display: block !important;
    box-sizing: border-box !important;
}

/* Formgruppen-Row: Flexbox neutralisieren */
body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal .hk-row-fluid,
body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal .hk-row,
body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal .row {
    display: block !important;
    flex-wrap: unset !important;
}

/* Catch-all: Jede Zeile im hkform-horizontal mit Kindern die float/width haben */
body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal > div,
body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal > fieldset > div {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    clear: both !important;
    box-sizing: border-box !important;
}

    body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal > div > div,
    body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal > fieldset > div > div,
    body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal > div > span,
    body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal > fieldset > div > span {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        display: block !important;
        box-sizing: border-box !important;
    }

/* Ultimativer Catch-all: ALLE Labels und Wrapper-Elemente im Formular */
body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal label {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    text-align: left !important;
    padding: 0 !important;
    margin-bottom: 6px !important;
    box-sizing: border-box !important;
}

body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal div {
    float: none !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal span {
    float: none !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Inputs und Selects */
body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal input[type="text"],
body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal input[type="email"],
body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal input[type="tel"],
body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal input[type="number"],
body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal .form-control,
body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal .hk-input {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 44px !important;
    padding: 10px 12px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    background: #fff !important;
    font-size: 16px !important;
    color: #222 !important;
    box-sizing: border-box !important;
    transition: border-color .15s ease, box-shadow .15s ease;
}

body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal select,
body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal .form-select {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 10px 2.8em 10px 12px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 10px !important;
    background-color: #fff !important;
    background-image: linear-gradient(45deg, transparent 50%, #777 50%), linear-gradient(135deg, #777 50%, transparent 50%) !important;
    background-position: calc(100% - 18px) calc(50% - 3px), calc(100% - 12px) calc(50% - 3px) !important;
    background-size: 6px 6px, 6px 6px !important;
    background-repeat: no-repeat !important;
    font-size: 16px !important;
    color: #222 !important;
    box-sizing: border-box !important;
    line-height: 1.4 !important;
    transition: border-color .15s ease, box-shadow .15s ease;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
}

/* Fokus */
body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal input:focus,
body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal select:focus,
body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal textarea:focus {
    outline: none !important;
    border-color: #55A505 !important;
    box-shadow: 0 0 0 3px rgba(85,165,5,.15) !important;
}

/* Fehlerzustände */
body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal .invalid,
body.com_hikashop.view-address #hikashop_user_addresses_show .hkform-horizontal input.invalid {
    border-color: #e74c3c !important;
}

/* Button-Container: float:right beibehalten, nur Abstand oben */
body.com_hikashop.view-address #hikashop_user_addresses_show .hikashop_address_edition > div[style*="float"] {
    margin-top: 24px !important;
    clear: both !important;
}

/* OK-Button (Speichern) – blau, rechts, wie andere Formulare */
body.com_hikashop.view-address #hikashop_user_addresses_show .hikabtn.hikabtn-success,
body.com_hikashop.view-address #hikashop_user_addresses_show .hikashop_address_edition .hikabtn.hikabtn-success {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    float: right !important;
    min-width: 220px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    padding: 12px 32px !important;
    border: 1px solid transparent !important;
    border-radius: 12px !important;
    background: linear-gradient(180deg, #67bf10 0%, #4f9f08 100%) !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, .12) !important;
    cursor: pointer;
    transition: background .2s ease, box-shadow .2s ease, transform .06s ease;
}

body.com_hikashop.view-address #hikashop_user_addresses_show .hikabtn.hikabtn-success:hover,
body.com_hikashop.view-address #hikashop_user_addresses_show .hikashop_address_edition .hikabtn.hikabtn-success:hover {
    background: linear-gradient(180deg, #78d418 0%, #67bf10 100%) !important;
    box-shadow: 0 4px 12px rgba(15, 23, 42, .18) !important;
}

body.com_hikashop.view-address #hikashop_user_addresses_show .hikabtn.hikabtn-success:active,
body.com_hikashop.view-address #hikashop_user_addresses_show .hikashop_address_edition .hikabtn.hikabtn-success:active {
    transform: translateY(1px);
}

/* Abbrechen-Button – dezenter Outline-Stil, links */
body.com_hikashop.view-address #hikashop_user_addresses_show .hikabtn.hikabtn-danger,
body.com_hikashop.view-address #hikashop_user_addresses_show .hikashop_address_edition .hikabtn.hikabtn-danger,
body.com_hikashop.view-address #hikashop_user_addresses_show a.hikashop_checkout_address_cancel_button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    float: left !important;
    min-width: 140px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    margin-top: 24px !important;
    padding: 8px 20px !important;
    border: 2px solid #e8b4b0 !important;
    border-radius: 10px !important;
    background: #fdf5f4 !important;
    color: #c0392b !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    cursor: pointer;
    transition: border-color .2s ease, color .2s ease, background .2s ease;
}

body.com_hikashop.view-address #hikashop_user_addresses_show .hikabtn.hikabtn-danger:hover,
body.com_hikashop.view-address #hikashop_user_addresses_show .hikashop_address_edition .hikabtn.hikabtn-danger:hover,
body.com_hikashop.view-address #hikashop_user_addresses_show a.hikashop_checkout_address_cancel_button:hover {
    border-color: #c0392b !important;
    background: #fef2f2 !important;
    color: #a93226 !important;
}

body.com_hikashop.view-address #hikashop_user_addresses_show .hikabtn.hikabtn-danger:active,
body.com_hikashop.view-address #hikashop_user_addresses_show .hikashop_address_edition .hikabtn.hikabtn-danger:active {
    transform: translateY(1px);
}

/* Mobil: Adresse bearbeiten */
@media (max-width: 640px) {
    body.com_hikashop.view-address #hikashop_user_addresses_show .hikashop_address_edition > div[style*="float"] {
        float: none !important;
    }

    body.com_hikashop.view-address #hikashop_user_addresses_show .hikabtn.hikabtn-success,
    body.com_hikashop.view-address #hikashop_user_addresses_show .hikabtn.hikabtn-danger,
    body.com_hikashop.view-address #hikashop_user_addresses_show a.hikashop_checkout_address_cancel_button {
        float: none !important;
        width: 100% !important;
        min-width: 0 !important;
    }
}

/* =========================================================
   HikaShop Produktseite - Preis + MwSt.-Hinweis in einer Zeile
   ========================================================= */
.hikashop_products_table tbody td {
    vertical-align: top !important;
}

#hikashop_product_price_main {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0;
}

#hikashop_product_price_main .hikashop_product_tax_note {
    display: inline;
    font-size: 0.85em;
}

.hikashop_product_price_row {
    white-space: nowrap;
    vertical-align: top !important;
}

.hikashop_product_price_row .hikashop_product_price_full {
    display: inline;
}

.hikashop_product_price_row .hikashop_product_tax_note {
    display: inline;
    font-size: 0.85em;
}

/* =========================================================
   HikaShop Software-Tabelle - Mobile responsiv
   Sicherer Mobile-Fallback ohne Template-Logik zu aendern
   ========================================================= */
@media (max-width: 900px) {
    .hikashop_products {
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .hikashop_products_table {
        min-width: 880px;
        table-layout: auto;
    }

    .hikashop_products_table thead th,
    .hikashop_products_table tbody td,
    .hikashop_products_table tfoot td {
        white-space: nowrap;
    }
}

@media (max-width: 640px) {
    .hikashop_products {
        margin: 0;
        padding: 0;
        overflow-x: visible;
    }

    .hikashop_products_table {
        display: block;
        width: 100%;
        min-width: 0;
        border: 0;
        background: transparent;
        font-size: 14px;
    }

    .hikashop_products_table thead,
    .hikashop_products_table tfoot {
        display: none;
    }

    .hikashop_products_table tbody {
        display: block;
    }

    .hikashop_products_table tbody tr {
        display: block;
        margin-bottom: 16px;
        padding: 14px;
        background: #fff;
        border: 1px solid #e5e7eb;
        border-radius: 14px;
        box-shadow: 0 8px 24px rgba(15, 23, 42, .06);
    }

    .hikashop_products_table tbody td {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        width: 100%;
        padding: 8px 0;
        border: 0;
        white-space: normal !important;
        text-align: left !important;
        line-height: 1.35;
        font-size: 14px;
        box-sizing: border-box;
    }

    .hikashop_products_table tbody td[data-title]:not([data-title=""])::before {
        content: attr(data-title);
        display: block;
        margin-bottom: 4px;
        color: #64748b;
        font-size: 12px;
        font-weight: 700;
        line-height: 1.3;
        text-transform: uppercase;
        letter-spacing: .03em;
    }

    .hikashop_products_table .hikashop_product_image_row,
    .hikashop_products_table .hikashop_product_name_row {
        padding-top: 0;
    }

    .hikashop_products_table .hikashop_product_image_row::before,
    .hikashop_products_table .hikashop_product_name_row::before,
    .hikashop_products_table .hikashop_product_add_to_cart_row::before,
    .hikashop_products_table .hikashop_product_compare_row::before {
        display: none;
        content: none;
    }

    .hikashop_products_table .hikashop_product_image_row {
        align-items: center !important;
        text-align: center !important;
        padding-bottom: 10px;
    }

    .hikashop_products_table .hikashop_product_image {
        width: 100%;
    }

    .hikashop_products_table .hikashop_product_image_subdiv {
        width: 100% !important;
        margin: 0 auto !important;
    }

    .hikashop_products_table .hikashop_product_listing_image {
        max-width: 84px;
        height: auto;
    }

    .hikashop_products_table .hikashop_product_name_row {
        padding-bottom: 10px;
    }

    .hikashop_products_table .hikashop_product_name {
        font-size: 16px;
        font-weight: 700;
        line-height: 1.3;
    }

    .hikashop_products_table .hikashop_product_price_full,
    .hikashop_products_table .hikashop_product_price,
    .hikashop_products_table .hikashop_product_tax_note {
        font-size: 14px;
    }

    .hikashop_products_table .hikashop_product_add_to_cart_row {
        padding-top: 12px;
        gap: 8px;
        align-items: stretch !important;
    }

    .hikashop_products_table .hikashop_product_add_to_cart_row .hikabtn,
    .hikashop_products_table .hikashop_product_add_to_cart_row button,
    .hikashop_products_table .hikashop_product_add_to_cart_row input[type="submit"],
    .hikashop_products_table .hikashop_product_add_to_cart_row .product_details_button {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-height: 38px;
        padding: 8px 12px;
        font-size: 14px;
        text-align: center !important;
        box-sizing: border-box;
    }

    .hikashop_products_table .hikashop_product_compare_row {
        padding-top: 6px;
    }
}

/* =========================================================
   HikaShop Produktseite - Related Products
   Kompakte, eigenstaendige Optik nur fuer den Related-Block
   ========================================================= */
#hikashop_product_related_main {
    margin: 32px 0 24px;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-sizing: border-box;
}

#hikashop_product_related_main > h4 {
    margin: 0 0 22px;
    font-size: 26px;
    line-height: 1.2;
    font-weight: 700;
    color: #2c3e50;
}

#hikashop_product_related_main .hk-row-fluid {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    margin-left: -15px;
    margin-right: -15px;
}

#hikashop_product_related_main .hikashop_product {
    display: flex;
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
    justify-content: center;
    align-items: stretch;
    margin-bottom: 24px;
    box-sizing: border-box;
}

#hikashop_product_related_main .hikashop_container,
#hikashop_product_related_main .hikashop_subcontainer,
#hikashop_product_related_main .hikashop_listing_img_title {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
}

#hikashop_product_related_main .hikashop_subcontainer {
    display: flex;
    align-items: stretch;
    padding: 20px;
    background: #fff;
    border: 1px solid #e7edf3;
    border-radius: 16px;
    box-shadow: 0 18px 40px rgba(15, 23, 42, .08), 0 3px 10px rgba(15, 23, 42, .04);
}

#hikashop_product_related_main .hikashop_listing_img_title {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

#hikashop_product_related_main .hikashop_product_image {
    margin-bottom: 4px;
}

#hikashop_product_related_main .hikashop_product_image_subdiv {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 140px;
}

#hikashop_product_related_main .hikashop_product_listing_image {
    max-width: 140px;
    max-height: 140px;
    width: auto;
    height: auto;
}

#hikashop_product_related_main .hikashop_product_price_full {
    margin-bottom: 4px;
}

#hikashop_product_related_main .hikashop_product_name {
    display: block;
    margin-bottom: 4px;
}

#hikashop_product_related_main .hikashop_product_name a {
    color: #2c3e50;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
    text-decoration: none;
}

#hikashop_product_related_main .hikashop_product_name a:hover {
    color: #55A505;
}

#hikashop_product_related_main .hikashop_product_code_list {
    display: none;
}

#hikashop_product_related_main dl[class^="hikashop_product_custom_"][class$="_line"] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 18px;
    margin: 0;
    padding: 10px 0;
    border-top: 1px solid #edf2f7;
}

#hikashop_product_related_main dl[class^="hikashop_product_custom_"][class$="_line"]:first-of-type {
    padding-top: 6px;
    border-top: 0;
}

#hikashop_product_related_main .hikashop_product_custom_name {
    margin: 0;
    color: #64748b;
    font-size: 14px;
    font-weight: 600;
}

#hikashop_product_related_main .hikashop_product_custom_name label {
    margin: 0;
    font-weight: inherit;
    color: inherit;
}

#hikashop_product_related_main .hikashop_product_custom_value {
    margin: 0;
    color: #1f2937;
    font-size: 14px;
    text-align: right;
}

#hikashop_product_related_main .hikashop_product_vote {
    margin-top: 4px;
}

#hikashop_product_related_main .hikashop_product_vote .hk-rating {
    transform: scale(.92);
    transform-origin: left center;
}

#hikashop_product_related_main .hikashop_product form,
#hikashop_product_related_main .hikashop_product .hikashop_product_quantity_main,
#hikashop_product_related_main .hikashop_product .hikashop_product_quantity_main * {
    max-width: 100%;
}

#hikashop_product_related_main .hikashop_product form {
    margin: 6px 0 0;
}

#hikashop_product_related_main .hikashop_product .hikabtn,
#hikashop_product_related_main .hikashop_product button,
#hikashop_product_related_main .hikashop_product input[type="submit"] {
    width: 100%;
    justify-content: center;
    margin-top: 6px;
    margin-bottom: 0;
    border-radius: 12px;
    box-sizing: border-box;
}

#hikashop_product_related_main .hikashop_product .product_details_button {
    margin-top: 6px;
}

@media (max-width: 900px) {
    #hikashop_product_related_main {
        padding: 0;
    }

    #hikashop_product_related_main > h4 {
        font-size: 22px;
    }
}

@media (max-width: 640px) {
    #hikashop_product_related_main {
        padding: 0;
    }

    #hikashop_product_related_main .hikashop_product {
        flex-basis: 100%;
        max-width: 100%;
    }

    #hikashop_product_related_main dl[class^="hikashop_product_custom_"][class$="_line"] {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 4px;
    }

    #hikashop_product_related_main .hikashop_product_custom_value {
        text-align: left;
    }

    #hikashop_product_related_main .hikashop_product {
        margin-bottom: 18px;
    }
}


/* =========================================================
   Fix: Registrierungsformulare (EN com_users + DE HikaShop)
   - EN: fehlende Karten-/Legend-/Submit-Optik wiederherstellen
   - DE: HikaShop-Adressfelder unter die Labels stellen
   ========================================================= */

/* --- EN (com_users registration): Karte wie bei reset/remind --- */
.com-users-registration.registration .com-users-registration__form {
    max-width: 100%;
    width: 100%;
    margin: 0;
    padding: 24px;
    background: #f6f7f9;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    box-sizing: border-box;
}

.com-users-registration.registration .com-users-registration__form legend {
    width: 100%;
    margin: 0 0 16px 0;
    padding: 10px 12px;
    border: 1px solid #dbe5ee;
    border-radius: 10px;
    background: #f8fbff;
    color: #4b5563;
    font-size: 14px;
    line-height: 1.45;
    box-sizing: border-box;
}

.com-users-registration.registration .com-users-registration__form fieldset + fieldset {
    margin-top: 8px;
}

/* Passwort-Eingabegruppe (Auge-Button) */
.com-users-registration.registration .password-group,
.com-users-registration.registration .input-group {
    display: flex;
    align-items: stretch;
    width: 100%;
}

    .com-users-registration.registration .input-group > input {
        flex: 1 1 auto;
        width: 1%;
        min-width: 0;
        border-radius: 10px 0 0 10px !important;
    }

    .com-users-registration.registration .input-group > .input-password-toggle {
        flex: 0 0 44px;
        width: 44px;
        min-width: 44px;
        height: 44px;
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #cbd5e1;
        border-left: 0;
        border-radius: 0 10px 10px 0;
        background: #eeffe6;
        color: #3090C7;
    }

/* Submit-Button rechtsbündig wie in den anderen com_users-Formularen */
.com-users-registration.registration .com-users-registration__submit .controls,
.com-users-registration.registration .com-users-registration__submit {
    text-align: right !important;
}

.com-users-registration.registration .btn.btn-primary,
.com-users-registration.registration .com-users-registration__register {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: 220px;
    height: 48px;
    padding: 10px 18px;
    margin: 10px 0 0 auto;
    border: 1px solid transparent;
    border-radius: 12px;
    background: linear-gradient(180deg, #55A505 0%, #3d7a04 100%);
    color: #fff;
    font-weight: 600;
    font-size: 16px;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .18);
}

    .com-users-registration.registration .btn.btn-primary:hover,
    .com-users-registration.registration .com-users-registration__register:hover {
        background: linear-gradient(180deg, #6bc20a 0%, #55A505 100%);
    }

/* --- DE (HikaShop registration): Adressfelder unter die Labels --- */
.hikashop_user_registration_page [class*="hkc-sm-"],
.hikashop_user_registration_page [class*="hkc-md-"],
.hikashop_user_registration_page [class*="hkc-lg-"] {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    box-sizing: border-box;
}

.hikashop_user_registration_page .hkform-group,
.hikashop_user_registration_page .hkform-group.control-group,
.hikashop_user_registration_page [class*="hikashop_address_address_"],
.hikashop_user_registration_page .hikashop_registration_address_info_line {
    display: block !important;
    clear: both !important;
    margin-bottom: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
}

.hikashop_user_registration_page .hkform-group > label,
.hikashop_user_registration_page .hkform-group .hkcontrol-label {
    display: block !important;
    float: none !important;
    width: auto !important;
    max-width: 100% !important;
    text-align: left !important;
    margin: 0 0 6px 0 !important;
    font-weight: 600;
    color: #2c3e50;
    line-height: 1.3;
}

.hikashop_user_registration_page .hikashop_address_field_input,
.hikashop_user_registration_page .hkform-group .hkcontrols,
.hikashop_user_registration_page .hkform-group .controls {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    box-sizing: border-box;
}

.hikashop_user_registration_page .hikashop_registration_address_info_title {
    margin: 18px 0 10px 0;
    font-size: 16px;
    font-weight: 700;
    color: #2c3e50;
}

/* --- EN com_users Datenschutz-Radios als Toggle-Buttons (wie HikaShop DE) --- */
.com-users-registration.registration fieldset#jform_privacyconsent_privacy {
    border: 0;
    padding: 0;
    margin: 0;
    min-width: 0;
}

.com-users-registration.registration #jform_privacyconsent_privacy > .radio,
.com-users-registration.registration #jform_privacyconsent_privacy > .required.radio {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0;
    align-items: stretch;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(0,0,0,.05);
}

.com-users-registration.registration .form-check {
    display: inline-flex !important;
    align-items: center;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    min-height: 0 !important;
    box-sizing: border-box;
}

    .com-users-registration.registration .form-check .form-check-input {
        position: absolute !important;
        opacity: 0 !important;
        width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        pointer-events: none;
    }

    .com-users-registration.registration .form-check .form-check-label {
        display: inline-block;
        margin: 0 !important;
        padding: 8px 18px;
        min-width: 140px;
        text-align: center;
        font-weight: 600;
        color: #fff;
        cursor: pointer;
        user-select: none;
        line-height: 1.4;
        border: 1px solid transparent;
        transition: background-color .15s, opacity .15s;
    }

    /* i agree  (value=0)  → grün */
    .com-users-registration.registration .form-check .form-check-label[for="jform_privacyconsent_privacy0"] {
        background: #55A505;
        border-color: #55A505;
    }

    /* I do not agree  (value=1)  → rot */
    .com-users-registration.registration .form-check .form-check-label[for="jform_privacyconsent_privacy1"] {
        background: #d9534f;
        border-color: #d9534f;
    }

    /* nicht ausgewählt → ausgegraut */
    .com-users-registration.registration .form-check .form-check-input:not(:checked) + .form-check-label {
        background: #e5e7eb;
        border-color: #e5e7eb;
        color: #6b7280;
        font-weight: 500;
    }

    .com-users-registration.registration .form-check .form-check-input:focus-visible + .form-check-label {
        outline: 2px solid #2563eb;
        outline-offset: 2px;
    }

/* --- EN com_users: Passwort-Requirements UNTER das Eingabefeld --- */
.com-users-registration.registration .controls:has(> [id$="-rules"]) {
    display: flex;
    flex-direction: column;
}

    .com-users-registration.registration .controls:has(> [id$="-rules"]) > .password-group {
        order: 1;
    }

    .com-users-registration.registration .controls:has(> [id$="-rules"]) > [id$="-rules"] {
        order: 2;
        margin: 6px 2px 0;
        font-size: 12px;
        color: #6b7280;
    }

/* --- EN com_users LOGIN: Karte, Button rechts, Optionen-Abstand --- */
.com-users-login.login {
    max-width: 100%;
}

.com-users-login.login .com-users-login__form {
    background: #f6f7f9;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 24px 24px 28px;
    box-shadow: 0 1px 2px rgba(0,0,0,.04);
    margin-bottom: 18px;
}

    .com-users-login.login .com-users-login__form fieldset {
        border: 0;
        padding: 0;
        margin: 0;
        min-width: 0;
    }

    .com-users-login.login .com-users-login__form legend {
        display: none;
    }

    .com-users-login.login .control-group {
        margin-bottom: 16px;
    }

    .com-users-login.login .control-label label {
        font-weight: 600;
        color: #2c3e50;
        margin-bottom: 6px;
        display: inline-block;
    }

    .com-users-login.login .com-users-login__submit {
        margin-top: 8px;
        margin-bottom: 0;
    }

        .com-users-login.login .com-users-login__submit .controls {
            text-align: right;
        }

        .com-users-login.login .com-users-login__submit .btn.btn-primary {
            display: inline-block;
            width: auto;
            min-width: 180px;
            padding: 12px 28px;
            background: linear-gradient(180deg, #55A505 0%, #3d7a04 100%);
            border: 0;
            color: #fff;
            font-weight: 700;
            border-radius: 10px;
            cursor: pointer;
        }

            .com-users-login.login .com-users-login__submit .btn.btn-primary:hover {
                filter: brightness(1.05);
            }

/* Links unter dem Formular: horizontal mit Abstand, ohne list-group-Rahmen */
.com-users-login.login .com-users-login__options.list-group {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 28px;
    border: 0;
    border-radius: 0;
    padding: 6px 4px 0;
    margin: 6px 0 0;
    background: transparent;
}

    .com-users-login.login .com-users-login__options .list-group-item {
        border: 0 !important;
        background: transparent !important;
        padding: 4px 0 !important;
        margin: 0 !important;
        color: #55A505;
        text-decoration: none;
        font-weight: 500;
    }

        .com-users-login.login .com-users-login__options .list-group-item:hover {
            text-decoration: underline;
        }
/* --- EN/DE com_users LOGIN: Initiale Joomla-Validator-Tooltips unterdr�cken --- */
.com-users-login.login .invalid-feedback,
.com-users-login.login .invalid-tooltip,
.com-users-login.login .form-control-feedback,
.com-users-login.login label.invalid::after,
.com-users-login.login label.invalid::before {
    display: none !important;
}

.com-users-login.login label.invalid,
.com-users-login.login .control-label label.invalid {
    color: inherit !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.com-users-login.login input.invalid,
.com-users-login.login input[aria-invalid="true"] {
    border-color: #cbd5e1 !important;
    box-shadow: none !important;
}
/* --- Responsive guard f�r Login/Registrierungs-Karten (<= 575px) --- */
@media (max-width: 575.98px) {
    .com-users-registration.registration .com-users-registration__form,
    .com-users-login.login .com-users-login__form {
        padding: 16px;
        border-radius: 12px;
    }

    .com-users-registration.registration .btn.btn-primary,
    .com-users-registration.registration .com-users-registration__register,
    .com-users-login.login .com-users-login__submit .btn.btn-primary {
        width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
    }

    .com-users-registration.registration .com-users-registration__submit .controls,
    .com-users-registration.registration .com-users-registration__submit,
    .com-users-login.login .com-users-login__submit .controls {
        text-align: center !important;
    }

    .com-users-registration.registration #jform_privacyconsent_privacy > .radio,
    .com-users-registration.registration #jform_privacyconsent_privacy > .required.radio {
        display: flex;
        width: 100%;
    }

    .com-users-registration.registration .form-check {
        flex: 1 1 0;
    }

    .com-users-registration.registration .form-check .form-check-label {
        width: 100%;
        min-width: 0;
        padding: 10px 8px;
    }

    .com-users-login.login .com-users-login__options.list-group {
        gap: 6px 16px;
    }
}

/* =========================================================
   HikaShop - Widerrufsformular (com_hikashop withdrawal)
   Optik analog Login/Registrierung/Reset
   ========================================================= */

.view-withdrawal #hikashop_withdrawal_form_page {
    max-width: 100%;
    width: 100%;
    margin: 0;
    padding: 24px;
    background: #f6f7f9;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    box-sizing: border-box;
}

.view-withdrawal #hikashop_withdrawal_form_page form fieldset {
    border: 0;
    margin: 0 0 16px 0;
    padding: 0;
    min-width: 0;
}

.view-withdrawal #hikashop_withdrawal_form_page .title_area {
    float: none !important;
}

.view-withdrawal #hikashop_withdrawal_form_page .title_area h1 {
    margin: 0 0 16px 0;
    font-weight: 700;
    color: #2c3e50;
}

/* Legacy-Toolbar im Header (altes Override) - in Submit-Row umstylen */
.view-withdrawal #hikashop_withdrawal_form_page .toolbar {
    float: none !important;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    margin: 8px 0 16px 0;
    clear: both;
}

.view-withdrawal #hikashop_withdrawal_form_page dl {
    margin: 0;
    padding: 0;
}

.view-withdrawal #hikashop_withdrawal_form_page dt {
    float: none;
    width: auto;
    margin: 0 0 6px 0;
    padding: 0;
    text-align: left;
    font-weight: 600;
    color: #2c3e50;
}

.view-withdrawal #hikashop_withdrawal_form_page dd {
    margin: 0 0 16px 0;
    padding: 0;
}

.view-withdrawal #hikashop_withdrawal_form_page dd input[type="text"],
.view-withdrawal #hikashop_withdrawal_form_page dd input[type="email"],
.view-withdrawal #hikashop_withdrawal_form_page dd .form-control {
    width: 100% !important;
    height: 44px;
    padding: 10px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    font-size: 16px;
    background: #fff;
    box-sizing: border-box;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.view-withdrawal #hikashop_withdrawal_form_page dd textarea,
.view-withdrawal #hikashop_withdrawal_form_page dd textarea.form-control {
    width: 100% !important;
    min-height: 120px;
    padding: 10px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    font-size: 16px;
    background: #fff;
    box-sizing: border-box;
    transition: border-color .15s ease, box-shadow .15s ease;
    resize: vertical;
}

.view-withdrawal #hikashop_withdrawal_form_page dd input:focus,
.view-withdrawal #hikashop_withdrawal_form_page dd textarea:focus,
.view-withdrawal #hikashop_withdrawal_form_page dd .form-control:focus {
    outline: none;
    border-color: #55A505;
    box-shadow: 0 0 0 3px rgba(85, 165, 5, .15);
}

.view-withdrawal #hikashop_withdrawal_form_page .hikashop_field_required_label {
    color: #e74c3c;
    margin-left: 2px;
}

.view-withdrawal #hikashop_withdrawal_form_page .hikashop_withdrawal_products {
    margin: 16px 0;
}

.view-withdrawal #hikashop_withdrawal_form_page .hikashop_withdrawal_products h3 {
    margin: 0 0 12px 0;
    font-weight: 700;
    color: #2c3e50;
}

.view-withdrawal #hikashop_withdrawal_form_page .hikashop_withdrawal_products .table {
    width: 100%;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    background: #fff;
}

.view-withdrawal #hikashop_withdrawal_form_page .hikashop_withdrawal_products .table th,
.view-withdrawal #hikashop_withdrawal_form_page .hikashop_withdrawal_products .table td {
    padding: 10px 12px;
    border-bottom: 1px solid #e5e7eb;
    vertical-align: middle;
}

.view-withdrawal #hikashop_withdrawal_form_page .hikashop_withdrawal_products .table tr:last-child td {
    border-bottom: 0;
}

.view-withdrawal #hikashop_withdrawal_form_page .hikashop_withdrawal_products .table input[type="number"] {
    height: 40px;
    padding: 8px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
}

/* reCAPTCHA-Box im selben Karten-Stil */
.view-withdrawal #hikashop_withdrawal_form_page .hikashop_withdrawal_captcha {
    margin: 8px 0 16px 0;
}

/* Submit-Button - rechtsbündig, CD-konform */
.view-withdrawal #hikashop_withdrawal_form_page form {
    display: block;
}

.view-withdrawal #hikashop_withdrawal_form_page .hikashop_withdrawal_submit_row {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    margin-top: 8px;
}

.view-withdrawal #hikashop_withdrawal_form_page .hikashop_withdrawal_submit_row .hikabtn,
.view-withdrawal #hikashop_withdrawal_form_page .toolbar .hikabtn,
.view-withdrawal #hikashop_withdrawal_form_page button[type="submit"].hikabtn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: 220px;
    height: 48px;
    padding: 10px 18px;
    border: 1px solid transparent;
    border-radius: 12px;
    background: linear-gradient(180deg, #67bf10 0%, #4f9f08 100%);
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .18);
    cursor: pointer;
    transition: background .15s ease, transform .05s ease;
}

.view-withdrawal #hikashop_withdrawal_form_page .hikashop_withdrawal_submit_row .hikabtn:hover,
.view-withdrawal #hikashop_withdrawal_form_page .toolbar .hikabtn:hover,
.view-withdrawal #hikashop_withdrawal_form_page button[type="submit"].hikabtn:hover {
    background: linear-gradient(180deg, #78d418 0%, #67bf10 100%);
}

.view-withdrawal #hikashop_withdrawal_form_page .hikashop_withdrawal_submit_row .hikabtn:active,
.view-withdrawal #hikashop_withdrawal_form_page .toolbar .hikabtn:active,
.view-withdrawal #hikashop_withdrawal_form_page button[type="submit"].hikabtn:active {
    transform: translateY(1px);
}

@media (max-width: 640px) {
    .view-withdrawal #hikashop_withdrawal_form_page {
        padding: 18px;
    }

    .view-withdrawal #hikashop_withdrawal_form_page .hikashop_withdrawal_submit_row .hikabtn,
    .view-withdrawal #hikashop_withdrawal_form_page .toolbar .hikabtn,
    .view-withdrawal #hikashop_withdrawal_form_page button[type="submit"].hikabtn {
        min-width: min(220px, 100%);
    }
}

/* =========================================================
   Wiederverwendbarer CD-Button (Footer, CTA, beliebige Stellen)
   LMN-Grün - analog Submit-Button im Widerrufsformular
   ========================================================= */
a.btn-cd-primary,
button.btn-cd-primary,
.btn-cd-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 220px;
    height: 48px;
    padding: 10px 18px;
    border: 1px solid transparent;
    border-radius: 12px;
    background: linear-gradient(180deg, #67bf10 0%, #4f9f08 100%);
    color: #fff !important;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none !important;
	text-transform: uppercase !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .18);
    cursor: pointer;
    transition: background .15s ease, transform .05s ease;
}

a.btn-cd-primary:hover,
button.btn-cd-primary:hover,
.btn-cd-primary:hover {
    background: linear-gradient(180deg, #78d418 0%, #67bf10 100%);
    color: #fff !important;
    text-decoration: none !important;
}

a.btn-cd-primary:active,
button.btn-cd-primary:active,
.btn-cd-primary:active {
    transform: translateY(1px);
}

@media (max-width: 640px) {
    a.btn-cd-primary,
    button.btn-cd-primary,
    .btn-cd-primary {
        min-width: min(220px, 100%);
    }
}

/* Kontrast-Variante - für farbige Hintergründe (z. B. grüner Footer) */
a.btn-cd-contrast,
button.btn-cd-contrast,
.btn-cd-contrast {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 180px;
    height: 36px;
    padding: 6px 14px;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 8px;
    background: linear-gradient(180deg, #3d7a07 0%, #2d5a05 100%);
    color: #fff !important;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none !important;
	text-transform: uppercase !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .2);
    cursor: pointer;
    transition: background .15s ease, transform .05s ease, box-shadow .15s ease;
}

a.btn-cd-contrast:hover,
button.btn-cd-contrast:hover,
.btn-cd-contrast:hover {
    background: linear-gradient(180deg, #2d5a05 0%, #1d3a03 100%);
    color: #fff !important;
    text-decoration: none !important;
    border-color: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .4), 0 0 0 2px rgba(255, 255, 255, .25);
}

a.btn-cd-contrast:active,
button.btn-cd-contrast:active,
.btn-cd-contrast:active {
    transform: translateY(1px);
}

@media (max-width: 640px) {
    a.btn-cd-contrast,
    button.btn-cd-contrast,
    .btn-cd-contrast {
        min-width: min(180px, 100%);
    }
}

/* HikaShop Kunden-Cpanel-Sidebar global ausblenden, Hauptspalte auf volle Breite */
#hikashop_dashboard .hika_cpanel_side_bar,
.hika_cpanel_side_bar {
    display: none !important;
}

/* Flex-Parent auf Block umstellen, damit Kind echte 100% Breite einnimmt */
.hikashop_cpanel_main_interface #hikashop_dashboard,
#hikashop_dashboard.hk-row-fluid,
.hk-row-fluid.hikashop_dashboard {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.hikashop_cpanel_main_interface #hikashop_dashboard .hika_cpanel_main_data,
#hikashop_dashboard .hika_cpanel_main_data,
#hikashop_dashboard .hika_cpanel_main_data.hkc-md-9,
#hikashop_dashboard .hika_cpanel_main_data[class*="hkc-"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}

.hikashop_cpanel_main_interface {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Kein Extra-Abstand oben am HikaShop-Komponenten-Wrapper */
.hikashop_component,
#hikashop_component,
.com_hikashop .hikashop {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* HikaShop Produkt-Tabs im LMN Corporate Design */
body.com_hikashop.view-product .hikashop_product_page ul.hikashop_tabs_ul li.hikashop_tabs_li {
    color: #2c3e50 !important;
}

body.com_hikashop.view-product .hikashop_product_page ul.hikashop_tabs_ul li.hikashop_tabs_li:hover,
body.com_hikashop.view-product .hikashop_product_page ul.hikashop_tabs_ul li.hikashop_tabs_li:hover a,
body.com_hikashop.view-product .hikashop_product_page ul.hikashop_tabs_ul li.hikashop_tabs_li.hikashop_tabs_li_selected,
body.com_hikashop.view-product .hikashop_product_page ul.hikashop_tabs_ul li.hikashop_tabs_li.hikashop_tabs_li_selected a {
    color: #55A505 !important;
}


/* =========================================================
   CookieHint – Buttons im CD-Grün (#55A505)
   Überschreibt die Default-Darstellung aus redimstyle.css
   ========================================================= */
#redim-cookiehint .cookiebuttons .btn,
#redim-cookiehint a#cookiehintsubmit.btn,
#redim-cookiehint a#cookiehintsubmitnoc.btn {
    background: #55A505 !important;
    background-image: none !important;
    border: 1px solid #55A505 !important;
    color: #fff !important;
    text-shadow: none !important;
    box-shadow: 0 6px 16px rgba(85, 165, 5, .25);
    transition: background .15s ease, border-color .15s ease, transform .05s ease;
}

#redim-cookiehint .cookiebuttons .btn:hover,
#redim-cookiehint a#cookiehintsubmit.btn:hover,
#redim-cookiehint a#cookiehintsubmitnoc.btn:hover,
#redim-cookiehint .cookiebuttons .btn:focus,
#redim-cookiehint a#cookiehintsubmit.btn:focus,
#redim-cookiehint a#cookiehintsubmitnoc.btn:focus {
    background: #3d7a04 !important;
    border-color: #3d7a04 !important;
    color: #fff !important;
}

#redim-cookiehint .cookiebuttons .btn:active,
#redim-cookiehint a#cookiehintsubmit.btn:active,
#redim-cookiehint a#cookiehintsubmitnoc.btn:active {
    transform: translateY(1px);
}

/* =========================================================
   HikaShop - Bestelldetail (view-order)
   Corporate Design: Karten-Look, gruene Akzente (#55A505),
   einheitliche Toolbar-Buttons (Pattern wie view-cart), saubere Tabelle.
   ========================================================= */

body.com_hikashop.view-order #hikashop_order_main {
    background: #ffffff;
    border-radius: 12px;
    padding: 8px 0 16px;
}

/* Ueberschrift "Bestellung: ..." - kompakter, mit Akzentlinie */
body.com_hikashop.view-order #hikashop_order_main .hikashop_header_title {
    border: 0;
    background: transparent;
    padding: 0;
    margin: 0 0 14px 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

    body.com_hikashop.view-order #hikashop_order_main .hikashop_header_title::before {
        content: "";
        display: inline-block;
        width: 4px;
        align-self: stretch;
        min-height: 28px;
        background: #55A505;
        border-radius: 3px;
    }

    body.com_hikashop.view-order #hikashop_order_main .hikashop_header_title h1 {
        margin: 0;
        padding: 0;
        color: #2c3e50;
        font-weight: 700;
        font-size: 1.5rem;
        line-height: 1.25;
        letter-spacing: .2px;
        text-transform: none;
    }

/* --- Toolbar (Rechnung drucken / Kontakt / Widerruf / Zurueck) --- */
body.com_hikashop.view-order .hika_toolbar {
    margin-bottom: 18px;
}

/* Auf groesseren Schirmen Titel und Toolbar in einer Zeile anordnen,
   damit oberhalb der Karten ein aufgeraeumter Header entsteht. */
@media (min-width: 901px) {
    body.com_hikashop.view-order #hikashop_order_main {
        display: grid;
        grid-template-columns: 1fr auto;
        grid-template-areas:
            "title toolbar"
            "form  form";
        column-gap: 16px;
        align-items: center;
    }

        body.com_hikashop.view-order #hikashop_order_main > .hikashop_header_title {
            grid-area: title;
            margin-bottom: 0;
        }

        body.com_hikashop.view-order #hikashop_order_main > .hika_toolbar {
            grid-area: toolbar;
            margin-bottom: 0;
        }

        body.com_hikashop.view-order #hikashop_order_main > form#adminForm {
            grid-area: form;
            margin-top: 18px;
        }
}

/* Mobil: zuerst Titel, dann Toolbar darunter */
@media (max-width: 900px) {
    body.com_hikashop.view-order #hikashop_order_main .hikashop_header_title h1 {
        font-size: 1.3rem;
    }
}

    body.com_hikashop.view-order .hika_toolbar .hika_toolbar_btn.hika_btn_32 {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        justify-content: flex-end;
        float: none !important;
    }

        body.com_hikashop.view-order .hika_toolbar .hika_toolbar_btn.hika_btn_32 > .hikabtn {
            display: inline-flex !important;
            flex: 0 0 auto;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 6px;
            min-width: 140px;
            height: 84px;
            padding: 10px 18px;
            box-sizing: border-box;
            background: #f6f7f9;
            color: #2c3e50 !important;
            border: 1px solid #e5e7eb;
            border-radius: 10px;
            text-decoration: none !important;
            text-align: center;
            line-height: 1.15;
            transition: background-color .15s, color .15s, border-color .15s, box-shadow .15s, transform .1s;
        }

            body.com_hikashop.view-order .hika_toolbar .hika_toolbar_btn.hika_btn_32 > .hikabtn .btnIcon,
            body.com_hikashop.view-order .hika_toolbar .hika_toolbar_btn.hika_btn_32 > .hikabtn .btnIcon i {
                color: #55A505;
                transition: color .15s;
            }

            body.com_hikashop.view-order .hika_toolbar .hika_toolbar_btn.hika_btn_32 > .hikabtn .btnName {
                display: block;
                margin-top: 2px;
                white-space: nowrap;
                font-weight: 600;
            }

            body.com_hikashop.view-order .hika_toolbar .hika_toolbar_btn.hika_btn_32 > .hikabtn:hover,
            body.com_hikashop.view-order .hika_toolbar .hika_toolbar_btn.hika_btn_32 > .hikabtn:focus {
                background: #55A505;
                border-color: #55A505;
                color: #ffffff !important;
                box-shadow: 0 2px 6px rgba(85,165,5,.25);
            }

                body.com_hikashop.view-order .hika_toolbar .hika_toolbar_btn.hika_btn_32 > .hikabtn:hover .btnIcon,
                body.com_hikashop.view-order .hika_toolbar .hika_toolbar_btn.hika_btn_32 > .hikabtn:hover .btnIcon i,
                body.com_hikashop.view-order .hika_toolbar .hika_toolbar_btn.hika_btn_32 > .hikabtn:focus .btnIcon,
                body.com_hikashop.view-order .hika_toolbar .hika_toolbar_btn.hika_btn_32 > .hikabtn:focus .btnIcon i {
                    color: #ffffff;
                }

            body.com_hikashop.view-order .hika_toolbar .hika_toolbar_btn.hika_btn_32 > .hikabtn:active {
                transform: translateY(1px);
            }

/* --- Haupt-Tabelle (Grundgeruest) --- */
body.com_hikashop.view-order .hikashop_order_main_table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

    body.com_hikashop.view-order .hikashop_order_main_table > tbody > tr > td {
        padding: 0 0 16px 0;
        border: 0;
    }

/* Kopfzeile: Firmen-/Rechnungsdaten - per Flexbox sicher links/rechts buendig.
   HikaShop liefert die Reihenfolge im DOM als right-part > left-part,
   deshalb via `order` korrekt anordnen, damit der rechte Kasten wirklich
   am rechten Rand sitzt (unabhaengig von HikaShop-eigenen Float-Resets). */
body.com_hikashop.view-order .hikashop_order_main_table > tbody > tr:first-child > td {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 16px;
}

body.com_hikashop.view-order #hikashop_order_left_part,
body.com_hikashop.view-order #hikashop_order_right_part {
    background: #f6f7f9;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 16px 18px;
    box-sizing: border-box;
    color: #2c3e50;
    line-height: 1.55;
    flex: 1 1 0;
    min-width: 0;
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}

body.com_hikashop.view-order #hikashop_order_left_part {
    order: 1;
    text-align: left;
}

body.com_hikashop.view-order #hikashop_order_right_part {
    order: 2;
    text-align: right;
}

    body.com_hikashop.view-order #hikashop_order_right_part .invoice-tax-number {
        color: #4b5563;
    }

/* --- Karten-Fieldsets (Rechnungs-/Lieferadresse, Produktliste, Seriennummern) --- */
body.com_hikashop.view-order fieldset.adminform,
body.com_hikashop.view-order #hikashop_order_main fieldset {
    background: #f6f7f9;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 18px 20px 20px;
    margin: 0;
    box-shadow: 0 1px 2px rgba(0,0,0,.03);
}

    body.com_hikashop.view-order fieldset.adminform > legend,
    body.com_hikashop.view-order #hikashop_order_main fieldset > legend {
        background: #55A505 !important;
        color: #ffffff !important;
        font-weight: 600;
        font-size: 14px;
        line-height: 1;
        padding: 6px 12px;
        border: 0;
        border-radius: 999px;
        width: auto;
        margin-bottom: 10px;
    }

/* Adressblock-Zeile: zwei gleich breite Spalten, buendig mit den
   uebrigen Reihen (kein negativer Aussenrand, der die Tabelle verbreitert). */
body.com_hikashop.view-order .hikashop_order_main_table table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
    margin: 0;
}

    body.com_hikashop.view-order .hikashop_order_main_table table > tbody > tr > td {
        vertical-align: top;
        padding: 0;
        width: 50%;
    }

        body.com_hikashop.view-order .hikashop_order_main_table table > tbody > tr > td + td {
            padding-left: 16px;
        }

body.com_hikashop.view-order #htmlfieldset_billing,
body.com_hikashop.view-order #htmlfieldset_shipping {
    height: 100%;
    color: #2c3e50;
    line-height: 1.55;
}

/* --- Produktliste --- */
body.com_hikashop.view-order #htmlfieldset_products > table {
    width: 100% !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    overflow: hidden;
    margin: 6px 0 0;
    table-layout: auto !important;
}

    body.com_hikashop.view-order #htmlfieldset_products > table thead th {
        background: #eef2f1;
        color: #2c3e50;
        font-weight: 600;
        text-align: left;
        padding: 10px 12px;
        border-bottom: 1px solid #e5e7eb;
        white-space: nowrap;
    }

    body.com_hikashop.view-order #htmlfieldset_products > table tbody td {
        padding: 12px;
        border-bottom: 1px solid #eef2f1;
        vertical-align: middle;
        color: #2c3e50;
    }

    body.com_hikashop.view-order #htmlfieldset_products > table tbody tr:last-child td {
        border-bottom: 0;
    }

/* Produktbild + Name */
body.com_hikashop.view-order .hikashop_order_item_image_value {
    width: 64px;
}

    body.com_hikashop.view-order .hikashop_order_item_image {
        display: block;
        width: 50px;
        height: 50px;
        border-radius: 8px;
        object-fit: contain;
        background: #f6f7f9;
        border: 1px solid #e5e7eb;
        padding: 4px;
        box-sizing: border-box;
    }

body.com_hikashop.view-order .hikashop_order_product_link {
    color: #2c3e50;
    text-decoration: none;
    font-weight: 600;
}

    body.com_hikashop.view-order .hikashop_order_product_link:hover {
        color: #55A505;
        text-decoration: underline;
    }

/* Custom Product Fields (Lizenz/OS/System/Option/Clients) */
body.com_hikashop.view-order #htmlfieldset_products > table tbody td p {
    margin: 0;
    white-space: nowrap;
}

/* Download-Button "logmailnotification_..." */
body.com_hikashop.view-order .hikashop_order_item_files_value .hikabtn,
body.com_hikashop.view-order .hikashop_order_item_files_value_resp .hikabtn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 100%;
    background: #55A505;
    color: #ffffff !important;
    border: 1px solid #55A505;
    border-radius: 999px;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none !important;
    line-height: 1.2;
    transition: background-color .15s, border-color .15s, box-shadow .15s, transform .1s;
}

    body.com_hikashop.view-order .hikashop_order_item_files_value .hikabtn .hikashop_file_name,
    body.com_hikashop.view-order .hikashop_order_item_files_value_resp .hikabtn .hikashop_file_name {
        display: inline-block;
        max-width: 160px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        vertical-align: middle;
        font-size: 12px;
        line-height: 1.2;
    }

    body.com_hikashop.view-order .hikashop_order_item_files_value .hikabtn i,
    body.com_hikashop.view-order .hikashop_order_item_files_value_resp .hikabtn i {
        color: #ffffff;
        font-size: 11px;
        flex: 0 0 auto;
    }

    body.com_hikashop.view-order .hikashop_order_item_files_value .hikabtn:hover,
    body.com_hikashop.view-order .hikashop_order_item_files_value_resp .hikabtn:hover,
    body.com_hikashop.view-order .hikashop_order_item_files_value .hikabtn:focus,
    body.com_hikashop.view-order .hikashop_order_item_files_value_resp .hikabtn:focus {
        background: #4f9f08;
        border-color: #4f9f08;
        box-shadow: 0 2px 6px rgba(85,165,5,.25);
    }

    body.com_hikashop.view-order .hikashop_order_item_files_value .hikabtn:active,
    body.com_hikashop.view-order .hikashop_order_item_files_value_resp .hikabtn:active {
        transform: translateY(1px);
    }

/* Mobile-Variante der Dateienspalte standardmaessig ausblenden (Desktop) */
body.com_hikashop.view-order .hikashop_order_item_files_value_resp {
    display: none;
}

/* Zahlenspalten rechts ausrichten */
body.com_hikashop.view-order .hikashop_order_item_price_value,
body.com_hikashop.view-order .hikashop_order_item_quantity_value,
body.com_hikashop.view-order .hikashop_order_item_total_value {
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

    body.com_hikashop.view-order .hikashop_order_item_total_value {
        font-weight: 600;
    }

/* Summen-Zeilen (Zwischensumme, Versand, MwSt., Summe) */
body.com_hikashop.view-order .hikashop_order_subtotal_title,
body.com_hikashop.view-order .hikashop_order_shipping_title,
body.com_hikashop.view-order .hikashop_order_tax_title,
body.com_hikashop.view-order .hikashop_order_total_title {
    text-align: right;
    padding: 8px 12px !important;
    color: #2c3e50;
    background: #fafbfc;
    border-top: 1px solid #e5e7eb !important;
}

    body.com_hikashop.view-order .hikashop_order_subtotal_title label,
    body.com_hikashop.view-order .hikashop_order_shipping_title label,
    body.com_hikashop.view-order .hikashop_order_tax_title label,
    body.com_hikashop.view-order .hikashop_order_total_title label {
        margin: 0;
        font-weight: 600;
    }

body.com_hikashop.view-order .hikashop_order_subtotal_value,
body.com_hikashop.view-order .hikashop_order_shipping_value,
body.com_hikashop.view-order .hikashop_order_tax_value,
body.com_hikashop.view-order .hikashop_order_total_value {
    text-align: right;
    white-space: nowrap;
    padding: 8px 12px !important;
    background: #fafbfc;
    border-top: 1px solid #e5e7eb !important;
    color: #2c3e50;
    font-variant-numeric: tabular-nums;
}

/* Summe-Zeile hervorheben */
body.com_hikashop.view-order .hikashop_order_total_title,
body.com_hikashop.view-order .hikashop_order_total_value {
    background: #eef7e3;
    border-top: 2px solid #55A505 !important;
    font-size: 1.05em;
}

    body.com_hikashop.view-order .hikashop_order_total_title label,
    body.com_hikashop.view-order .hikashop_order_total_value {
        font-weight: 700;
        color: #2c3e50;
    }

/* --- Liefer-/Zahlungsmethode --- */
body.com_hikashop.view-order .hikashop_order_shipping_method,
body.com_hikashop.view-order .hikashop_order_payment_method {
    margin: 6px 0;
    padding: 8px 12px;
    background: #f6f7f9;
    border: 1px solid #e5e7eb;
    border-left: 3px solid #55A505;
    border-radius: 8px;
    color: #2c3e50;
}

/* --- Seriennummern --- */
body.com_hikashop.view-order #hikashop_order_main fieldset > table {
    width: 100% !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    overflow: hidden;
    margin-top: 6px;
}

    body.com_hikashop.view-order #hikashop_order_main fieldset > table thead th {
        background: #eef2f1;
        color: #2c3e50;
        font-weight: 600;
        text-align: left;
        padding: 10px 12px;
        border-bottom: 1px solid #e5e7eb;
    }

    body.com_hikashop.view-order #hikashop_order_main fieldset > table tbody td {
        padding: 10px 12px;
        border-bottom: 1px solid #eef2f1;
        color: #2c3e50;
        vertical-align: middle;
    }

        body.com_hikashop.view-order #hikashop_order_main fieldset > table tbody td:nth-child(2) {
            font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
            letter-spacing: .2px;
        }

    body.com_hikashop.view-order #hikashop_order_main fieldset > table tbody tr:last-child td {
        border-bottom: 0;
    }

/* --- Responsive: ab 900px schmaler stapeln --- */
@media (max-width: 900px) {
    body.com_hikashop.view-order .hikashop_order_main_table > tbody > tr:first-child > td {
        flex-direction: column;
        gap: 10px;
    }

    body.com_hikashop.view-order #hikashop_order_left_part,
    body.com_hikashop.view-order #hikashop_order_right_part {
        text-align: left;
    }

    body.com_hikashop.view-order .hikashop_order_main_table table {
        display: block;
        margin: 0;
        border-spacing: 0;
    }

        body.com_hikashop.view-order .hikashop_order_main_table table > tbody,
        body.com_hikashop.view-order .hikashop_order_main_table table > tbody > tr,
        body.com_hikashop.view-order .hikashop_order_main_table table > tbody > tr > td {
            display: block;
            width: 100%;
        }

        body.com_hikashop.view-order .hikashop_order_main_table table > tbody > tr > td + td {
            margin-top: 12px;
        }

    /* Produktliste: Bild ueber Name, Inhalt umbrechen */
    body.com_hikashop.view-order #htmlfieldset_products > table thead {
        display: none;
    }

    body.com_hikashop.view-order #htmlfieldset_products > table,
    body.com_hikashop.view-order #htmlfieldset_products > table tbody,
    body.com_hikashop.view-order #htmlfieldset_products > table tbody tr,
    body.com_hikashop.view-order #htmlfieldset_products > table tbody td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

        body.com_hikashop.view-order #htmlfieldset_products > table tbody tr {
            border-bottom: 1px solid #e5e7eb;
            padding: 8px 0;
        }

        body.com_hikashop.view-order #htmlfieldset_products > table tbody td {
            border: 0;
            padding: 6px 12px;
            text-align: left;
        }

            body.com_hikashop.view-order #htmlfieldset_products > table tbody td[data-title]::before {
                content: attr(data-title) ": ";
                font-weight: 600;
                color: #4b5563;
                margin-right: 6px;
            }

            body.com_hikashop.view-order #htmlfieldset_products > table tbody td.hikashop_order_item_image_value::before,
            body.com_hikashop.view-order #htmlfieldset_products > table tbody td.hikashop_order_item_name_value::before {
                content: none;
            }

    /* Summenzeilen auf mobile: Label/Wert in einer Reihe */
    body.com_hikashop.view-order .hikashop_order_subtotal_title,
    body.com_hikashop.view-order .hikashop_order_shipping_title,
    body.com_hikashop.view-order .hikashop_order_tax_title,
    body.com_hikashop.view-order .hikashop_order_total_title {
        text-align: left;
    }

    /* Toolbar-Buttons auf mobile etwas kompakter */
    body.com_hikashop.view-order .hika_toolbar .hika_toolbar_btn.hika_btn_32 {
        justify-content: center;
    }

        body.com_hikashop.view-order .hika_toolbar .hika_toolbar_btn.hika_btn_32 > .hikabtn {
            min-width: 130px;
            height: 78px;
            padding: 8px 14px;
        }
}

/* Sehr schmal: Dateispalte als Block, beide Varianten umschalten */
@media (max-width: 640px) {
    body.com_hikashop.view-order .hikashop_order_item_files_value {
        display: none;
    }

    body.com_hikashop.view-order .hikashop_order_item_files_value_resp {
        display: block;
    }
}

/* ==========================================================================
   Bestellung -> Kontakt-Formular (#hikashop_order_contact__page)
   ========================================================================== */
#hikashop_order_contact__page {
    max-width: 920px;
    margin: 24px auto;
    color: #2c3e50;
}

#hikashop_order_contact_form {
    position: relative;
    background: #f6f7f9;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 24px 28px 88px 28px;
    box-sizing: border-box;
}

#hikashop_order_contact_form fieldset {
    border: 0;
    padding: 0;
    margin: 0 0 4px 0;
    background: transparent;
}

    #hikashop_order_contact_form fieldset h1 {
        margin: 0;
        padding: 0;
        font-size: 22px;
        line-height: 1.3;
        color: #2c3e50;
        font-weight: 700;
        letter-spacing: .2px;
    }

/* Title-Zeile: Titel oben links, Toolbar absolut unten rechts in der Card */
#hikashop_order_contact_form fieldset > div[style*="float:left"],
#hikashop_order_contact_form fieldset > div[style*="float: left"] {
    float: none !important;
    width: 100% !important;
}

#hikashop_order_contact_form fieldset > div[style*="float: right"],
#hikashop_order_contact_form fieldset > div[style*="float:right"],
#hikashop_order_contact_form fieldset > #toolbar {
    float: none !important;
    position: absolute;
    right: 28px;
    bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin: 0;
    padding-top: 16px;
    border-top: 1px solid #e5e7eb;
    width: calc(100% - 56px);
}

/* Definition list: Label + Eingabefeld */
#hikashop_order_contact_form dl {
    margin: 16px 0 0 0;
    padding: 0;
    display: block;
}

#hikashop_order_contact_form dt.hikashop_contact_item_name {
    margin: 0 0 8px 0;
    padding: 0;
    float: none;
    width: auto;
    text-align: left;
}

    #hikashop_order_contact_form dt.hikashop_contact_item_name label {
        font-size: 14px;
        font-weight: 600;
        color: #2c3e50;
        margin: 0;
    }

    #hikashop_order_contact_form .hikashop_field_required_label {
        color: #c0392b;
        margin-left: 2px;
    }

#hikashop_order_contact_form dd.hikashop_contact_item_value {
    margin: 0 0 16px 0;
    padding: 0;
    float: none;
    width: 100%;
}

    #hikashop_order_contact_form textarea {
        width: 100%;
        min-height: 180px;
        padding: 12px 14px;
        background: #ffffff;
        color: #2c3e50;
        border: 1px solid #cbd5e1;
        border-radius: 10px;
        font-family: inherit;
        font-size: 14px;
        line-height: 1.5;
        box-shadow: inset 0 1px 2px rgba(15, 23, 42, .04);
        transition: border-color .15s ease, box-shadow .15s ease;
        resize: vertical;
        box-sizing: border-box;
    }

        #hikashop_order_contact_form textarea::placeholder {
            color: #94a3b8;
        }

        #hikashop_order_contact_form textarea:focus {
            outline: none;
            border-color: #55A505;
            box-shadow: 0 0 0 3px rgba(85, 165, 5, .15);
        }

        #hikashop_order_contact_form textarea.invalid,
        #hikashop_order_contact_form .invalid textarea,
        #hikashop_order_contact_form .invalid input {
            border-color: #c0392b !important;
            box-shadow: 0 0 0 3px rgba(192, 57, 43, .12) !important;
        }

/* Button-Leiste: Fallback-Container fuer abweichende Toolbar-Positionen */
#hikashop_order_contact_form::after {
    content: "";
    display: block;
    clear: both;
}

/* Generische hikabtn-Optik im Kontakt-Formular */
#hikashop_order_contact_form .hikabtn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-width: 120px;
    padding: 10px 20px !important;
    border: 1px solid transparent !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    cursor: pointer;
    box-sizing: border-box !important;
    transition: background .2s ease, box-shadow .2s ease, transform .06s ease, border-color .2s ease;
}

    #hikashop_order_contact_form .hikabtn i {
        font-size: 14px;
        line-height: 1;
    }

    #hikashop_order_contact_form .hikabtn:active {
        transform: translateY(1px);
    }

    /* OK-Button = Primaerfarbe (CD-Gruen) */
    #hikashop_order_contact_form .hikabtn.hikabtn-success {
        background: linear-gradient(180deg, #67bf10 0%, #4f9f08 100%) !important;
        color: #fff !important;
        border-color: transparent !important;
        box-shadow: 0 4px 12px rgba(85, 165, 5, .25) !important;
    }

        #hikashop_order_contact_form .hikabtn.hikabtn-success:hover,
        #hikashop_order_contact_form .hikabtn.hikabtn-success:focus {
            background: linear-gradient(180deg, #78d418 0%, #67bf10 100%) !important;
            box-shadow: 0 6px 16px rgba(85, 165, 5, .35) !important;
            color: #fff !important;
        }

    /* Abbrechen-Button = neutral mit dezentem Akzent */
    #hikashop_order_contact_form .hikabtn.hikabtn-danger {
        background: #ffffff !important;
        color: #2c3e50 !important;
        border-color: #cbd5e1 !important;
        box-shadow: 0 1px 2px rgba(15, 23, 42, .04) !important;
    }

        #hikashop_order_contact_form .hikabtn.hikabtn-danger:hover,
        #hikashop_order_contact_form .hikabtn.hikabtn-danger:focus {
            background: #eef7e3 !important;
            border-color: #94a3b8 !important;
            color: #2c3e50 !important;
        }

/* Mobil */
@media (max-width: 640px) {
    #hikashop_order_contact_form {
        padding: 18px 18px 96px 18px;
        border-radius: 12px;
    }

    #hikashop_order_contact__page {
        margin: 16px auto;
    }

    #hikashop_order_contact_form fieldset > div[style*="float: right"],
    #hikashop_order_contact_form fieldset > div[style*="float:right"],
    #hikashop_order_contact_form fieldset > #toolbar {
        right: 18px;
        bottom: 18px;
        width: calc(100% - 36px);
        flex-wrap: wrap;
    }

        #hikashop_order_contact_form fieldset > #toolbar .hikabtn {
            flex: 1 1 auto;
            min-width: 0;
        }

    #hikashop_order_contact_form fieldset h1 {
        font-size: 18px;
    }
}

/* =========================================================
   LMN – Lizenz freigeben (mod_emn_unactivate / #emn-unactivate-form)
   CD-konforme Optik in LMN-Grün (#55A505)
   ========================================================= */

body .emn-wrapper,
.item_fulltext .emn-wrapper,
#component .emn-wrapper {
    max-width: none !important;
    width: 100% !important;
    margin: 0 0 24px 0;
    padding: 24px;
    background: #f6f7f9;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    box-sizing: border-box;
    display: block;
}

/* Support-Seite: h4-Überschrift auf H3-Größe */
body.itemid-839 .item_fulltext h4 {
    font-size: 26px;
    font-weight: 700;
    line-height: 32px;
    margin-bottom: 20px;
}

/* "Lizenz freigeben"-Seitenüberschriften auf H1-Größe */
body.itemid-663 .item_fulltext h2 {
    font-size: 48px !important;
    font-weight: 800 !important;
    line-height: 48px !important;
    text-transform: uppercase !important;
    margin-bottom: 50px !important;
    padding: 0 !important;
}

/* Unterüberschrift direkt über dem Formular wieder auf H3-Größe */
.item_fulltext h2:has(+ p .emn-wrapper),
.item_fulltext h2:has(+ p > .emn-wrapper),
.item_fulltext h2:has(+ .emn-wrapper) {
    font-size: 26px;
    font-weight: 700;
    line-height: 32px;
    margin-bottom: 20px;
}

#emn-unactivate-form {
    display: block;
    width: 100%;
}

#emn-unactivate-form::after {
    content: none;
}

#emn-unactivate-form .mb-3 {
    margin-bottom: 16px;
}

#emn-unactivate-form .form-label,
#emn-unactivate-form label {
    display: inline-block;
    font-weight: 600;
    margin-bottom: 6px;
    color: #2c3e50;
}

#emn-unactivate-form .form-control,
#emn-unactivate-form input[type="text"] {
    width: 100%;
    height: 44px;
    padding: 10px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #fff;
    font-size: 16px;
    box-sizing: border-box;
    transition: border-color .15s ease, box-shadow .15s ease;
}

    #emn-unactivate-form .form-control:focus,
    #emn-unactivate-form input[type="text"]:focus {
        outline: none;
        border-color: #55A505;
        box-shadow: 0 0 0 3px rgba(85,165,5,.15);
    }

    #emn-unactivate-form .form-control::placeholder,
    #emn-unactivate-form input[type="text"]::placeholder {
        color: #94a3b8;
    }

#emn-unactivate-form .form-text,
#emn-unactivate-form #emn-help {
    color: #64748b;
    font-size: .9rem;
    margin-top: 6px;
}

#emn-unactivate-form .btn.btn-primary.emn-submit,
#emn-unactivate-form button.emn-submit {
    display: block !important;
    float: none !important;
    width: auto;
    min-width: 220px;
    height: 48px;
    margin: 16px 0 0 auto !important;
    padding: 0 24px;
    border: none;
    border-radius: 10px;
    background: #55A505;
    color: #fff;
    font-weight: 600;
    font-size: 16px;
    cursor: pointer;
    box-shadow: 0 6px 16px rgba(85,165,5,.25);
    transition: background .15s ease, transform .05s ease, box-shadow .15s ease;
}

    #emn-unactivate-form .btn.btn-primary.emn-submit:hover,
    #emn-unactivate-form button.emn-submit:hover {
        background: #4f9f08;
        box-shadow: 0 8px 20px rgba(85,165,5,.30);
    }

    #emn-unactivate-form .btn.btn-primary.emn-submit:active,
    #emn-unactivate-form button.emn-submit:active {
        transform: translateY(1px);
    }

    #emn-unactivate-form .btn.btn-primary.emn-submit:focus-visible,
    #emn-unactivate-form button.emn-submit:focus-visible {
        outline: none;
        box-shadow: 0 0 0 3px rgba(85,165,5,.30);
    }

    #emn-unactivate-form .btn.btn-primary.emn-submit[disabled],
    #emn-unactivate-form button.emn-submit[disabled] {
        opacity: .65;
        cursor: not-allowed;
        box-shadow: none;
    }

#emn-unactivate-form #emn-result,
#emn-unactivate-form #emn-result.alert,
#emn-unactivate-form #emn-result.mt-3 {
    clear: none !important;
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 32px 0 8px 0 !important;
    padding: 16px 20px !important;
    border-radius: 10px !important;
    border: 1px solid transparent !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    box-shadow: 0 2px 6px rgba(15, 23, 42, .04) !important;
}

#emn-unactivate-form #emn-result[style*="display:none"],
#emn-unactivate-form #emn-result[style*="display: none"] {
    display: none !important;
}

    #emn-unactivate-form #emn-result.alert.alert-success {
        background: #ecf6e3;
        border-color: #c6e3a4;
        color: #2f6b14;
    }

    #emn-unactivate-form #emn-result.alert.alert-danger,
    #emn-unactivate-form #emn-result.alert.alert-error {
        background: #fdecec;
        border-color: #f5c2c0;
        color: #a3261c;
    }

    #emn-unactivate-form #emn-result.alert.alert-info,
    #emn-unactivate-form #emn-result.alert:not(.alert-success):not(.alert-danger):not(.alert-error):not(.alert-warning) {
        background: #eef6e6;
        border-color: #cfe4b6;
        color: #3b6b1c;
    }

    #emn-unactivate-form #emn-result.alert.alert-warning {
        background: #fff7e6;
        border-color: #ffe1a8;
        color: #8a5a00;
    }

@media (max-width: 640px) {
    .emn-wrapper {
        padding: 18px;
    }

    #emn-unactivate-form .btn.btn-primary.emn-submit,
    #emn-unactivate-form button.emn-submit {
        margin-left: 0 !important;
        width: 100%;
        min-width: 0;
    }
}

/* =========================================================
   com_users – Profil bearbeiten: Datenschutz-Radios als Toggle-Buttons
   Gleiche Optik wie Registrierungs-Formular
   ========================================================= */
body.com_users.view-profile fieldset#jform_privacyconsent_privacy {
    border: 0;
    padding: 0;
    margin: 0;
    min-width: 0;
}

body.com_users.view-profile #jform_privacyconsent_privacy > .radio,
body.com_users.view-profile #jform_privacyconsent_privacy > .required.radio {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0;
    align-items: stretch;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(0,0,0,.05);
}

body.com_users.view-profile #jform_privacyconsent_privacy .form-check {
    display: inline-flex !important;
    align-items: center;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    min-height: 0 !important;
    box-sizing: border-box;
}

body.com_users.view-profile #jform_privacyconsent_privacy .form-check-input {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none;
}

body.com_users.view-profile #jform_privacyconsent_privacy .form-check-label {
    display: inline-block;
    margin: 0 !important;
    padding: 8px 18px;
    min-width: 140px;
    text-align: center;
    font-weight: 600;
    color: #fff;
    cursor: pointer;
    user-select: none;
    line-height: 1.4;
    border: 1px solid transparent;
    transition: background-color .15s, opacity .15s;
}

/* „i agree" → grün */
body.com_users.view-profile #jform_privacyconsent_privacy .form-check-label[for="jform_privacyconsent_privacy0"] {
    background: #55A505;
    border-color: #55A505;
}

/* „I do not agree" → rot */
body.com_users.view-profile #jform_privacyconsent_privacy .form-check-label[for="jform_privacyconsent_privacy1"] {
    background: #d9534f;
    border-color: #d9534f;
}

/* Nicht ausgewählt → ausgegraut */
body.com_users.view-profile #jform_privacyconsent_privacy .form-check-input:not(:checked) + .form-check-label {
    background: #e5e7eb;
    border-color: #e5e7eb;
    color: #6b7280;
    font-weight: 500;
}

body.com_users.view-profile #jform_privacyconsent_privacy .form-check-input:focus-visible + .form-check-label {
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}

@media (max-width: 575.98px) {
    body.com_users.view-profile #jform_privacyconsent_privacy > .radio,
    body.com_users.view-profile #jform_privacyconsent_privacy > .required.radio {
        display: flex;
        width: 100%;
    }

    body.com_users.view-profile #jform_privacyconsent_privacy .form-check {
        flex: 1 1 0;
    }

    body.com_users.view-profile #jform_privacyconsent_privacy .form-check-label {
        width: 100%;
        min-width: 0;
        padding: 10px 8px;
    }
}

/* =========================================================
   com_users – Profil: Datenschutz inline aufklappbar
   (.emn-privacy-details / .emn-privacy-content)
   ========================================================= */
body.com_users.view-profile .emn-privacy-details {
    margin-top: 12px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
}

body.com_users.view-profile .emn-privacy-details > summary {
    padding: 10px 14px;
    cursor: pointer;
    font-weight: 600;
    color: #3090C7;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 8px;
    user-select: none;
    background: #f6f7f9;
}

body.com_users.view-profile .emn-privacy-details > summary::-webkit-details-marker {
    display: none;
}

body.com_users.view-profile .emn-privacy-details > summary::before {
    content: '\25B6';
    font-size: 11px;
    transition: transform 0.2s ease;
    flex-shrink: 0;
}

body.com_users.view-profile .emn-privacy-details[open] > summary::before {
    transform: rotate(90deg);
}

body.com_users.view-profile .emn-privacy-details[open] > summary {
    border-radius: 0;
}

body.com_users.view-profile .emn-privacy-content {
    padding: 16px;
    max-height: 320px;
    overflow-y: auto;
    font-size: 14px;
    line-height: 1.6;
    color: #374151;
    border-top: 1px solid #e5e7eb;
}

/* ============================================================
   HikaShop – Produkt-Galerie: Vorschaubilder quadratisch
   ============================================================ */

/* Basis: quadratische Bilder (mobile + desktop) */
body.com_hikashop .hikashop_small_image_div img.hikashop_child_image {
    width: 80px;
    height: 80px;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* <a>- und <picture>-Wrapper ebenfalls auf 80×80 fixieren */
body.com_hikashop .hikashop_small_image_div > a,
body.com_hikashop .hikashop_small_image_div > span {
    display: block;
    width: 80px;
    height: 80px;
    overflow: hidden;
    flex-shrink: 0;
}

body.com_hikashop .hikashop_small_image_div picture {
    display: block;
    width: 80px;
    height: 80px;
    overflow: hidden;
}

/* Mobile: 2 Spalten, damit die Galerie kompakt bleibt */
body.com_hikashop .hikashop_small_image_div {
    display: grid;
    grid-template-columns: repeat(2, 80px);
    grid-auto-rows: 80px;
    gap: 16px;
    justify-content: center;
    align-items: start;
}

/* Desktop: exakt 4 Spalten, 2 Zeilen, zentriert */
@media (min-width: 768px) {
    body.com_hikashop .hikashop_small_image_div {
        grid-template-columns: repeat(4, 80px);
    }
}


/* =========================================================
   Homepage DE – "Windows-Logdateien überwachen" modernes Layout
   ========================================================= */

/* Artikel-Bild – abgerundete Ecken + Schatten */
body.body__home .page-item__home .item_img.img-full__right {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 8px 28px rgba(85, 165, 5, .18);
    margin: 4px 0 24px 32px;
}

/* Listen: 2-Spalten-Grid mit Karten-Optik */
body.body__home .item_fulltext ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px 20px;
    list-style: none;
    padding: 0;
    margin: 0 0 16px;
}

body.body__home .item_fulltext ul li {
    position: relative;
    padding: 9px 12px 9px 34px;
    background: #f4f9ee;
    border-radius: 7px;
    border-left: 3px solid #55A505;
    font-size: 0.92rem;
    line-height: 1.5;
    transition: background .15s ease;
}

body.body__home .item_fulltext ul li::before {
    content: '\2713'; /* ✓ */
    position: absolute;
    left: 10px;
    top: 9px;
    color: #55A505;
    font-weight: 700;
    font-size: 0.9rem;
}

body.body__home .item_fulltext ul li:hover {
    background: #e8f5d6;
}

/* CTA-Button am Seitenende */
body.body__home .item_fulltext a.hikabtn.hikacart {
    display: inline-block;
    padding: 13px 32px;
    background: #55A505;
    color: #fff !important;
    border-radius: 8px;
    font-weight: 700;
    font-size: 1rem;
    text-decoration: none;
    box-shadow: 0 4px 18px rgba(85, 165, 5, .3);
    transition: background .2s ease, transform .12s ease;
    margin-top: 8px;
}

body.body__home .item_fulltext a.hikabtn.hikacart:hover {
    background: #3d7a04;
    color: #fff !important;
    transform: translateY(-2px);
}

body.body__home .item_fulltext a.hikabtn.hikacart:active {
    transform: translateY(0);
}

/* Responsive: 1-spaltig auf kleinen Bildschirmen */
@media (max-width: 767px) {
    body.body__home .item_fulltext ul {
        grid-template-columns: 1fr;
    }

    body.body__home .page-item__home .item_img.img-full__right {
        float: none;
        margin: 0 0 20px;
        text-align: center;
    }
}


/* =========================================================
   English Homepage (itemid-611) – "Monitor Windows Log Files"
   Identical modern layout as German homepage (LMN green)
   ========================================================= */

/* Artikel-Bild – abgerundete Ecken + Schatten */
body.itemid-611 .page-item .item_img.img-full__right {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 8px 28px rgba(85, 165, 5, .18);
    margin: 4px 0 24px 32px;
}

/* Listen: 2-Spalten-Grid mit Karten-Optik */
body.itemid-611 .item_fulltext ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px 20px;
    list-style: none;
    padding: 0;
    margin: 0 0 16px;
}

body.itemid-611 .item_fulltext ul li {
    position: relative;
    padding: 9px 12px 9px 34px;
    background: #f4f9ee;
    border-radius: 7px;
    border-left: 3px solid #55A505;
    font-size: 0.92rem;
    line-height: 1.5;
    transition: background .15s ease;
}

body.itemid-611 .item_fulltext ul li::before {
    content: '\2713'; /* ✓ */
    position: absolute;
    left: 10px;
    top: 9px;
    color: #55A505;
    font-weight: 700;
    font-size: 0.9rem;
}

body.itemid-611 .item_fulltext ul li:hover {
    background: #e8f5d6;
}

/* CTA-Button am Seitenende */
body.itemid-611 .item_fulltext a.hikabtn.hikacart {
    display: inline-block;
    padding: 13px 32px;
    background: #55A505;
    color: #fff !important;
    border-radius: 8px;
    font-weight: 700;
    font-size: 1rem;
    text-decoration: none;
    box-shadow: 0 4px 18px rgba(85, 165, 5, .3);
    transition: background .2s ease, transform .12s ease;
    margin-top: 8px;
}

body.itemid-611 .item_fulltext a.hikabtn.hikacart:hover {
    background: #3d7a04;
    color: #fff !important;
    transform: translateY(-2px);
}

body.itemid-611 .item_fulltext a.hikabtn.hikacart:active {
    transform: translateY(0);
}

/* Responsive: 1-spaltig auf kleinen Bildschirmen */
@media (max-width: 767px) {
    body.itemid-611 .item_fulltext ul {
        grid-template-columns: 1fr;
    }

    body.itemid-611 .page-item .item_img.img-full__right {
        float: none;
        margin: 0 0 20px;
        text-align: center;
    }
}

/* ==========================================================================
   EMN-Promo-Modul (.emn-promo)
   Modul-CSS-Klasse im Joomla-Backend: emn-promo
   Überschriften und Button werden in EMN-Blau (#3090C7) dargestellt.
   ========================================================================== */

.emn-promo h1,
.emn-promo h2,
.emn-promo h3,
.emn-promo h4,
.emn-promo h5,
.emn-promo h6 {
    color: #3090C7 !important;
}

.emn-promo .hikabtn {
    background-color: #3090C7;
    border-color: #3090C7;
    color: #fff;
}

.emn-promo .hikabtn:hover,
.emn-promo .hikabtn:focus {
    background-color: #3067c7;
    border-color: #3067c7;
    color: #fff;
}

.emn-promo .hikabtn:active {
    background-color: #2a58b0;
    border-color: #2a58b0;
    color: #fff;
}

/* Bild im EMN-Promo-Modul: kompaktere Größe, sauberer Float */
.emn-promo .item_img.img-intro__right {
    float: right;
    margin: 0 0 16px 28px;
    width: 240px;
    max-width: 240px;
    flex-shrink: 0;
}

/* Dekorativen Template-Streifen über dem Modul entfernen */
.emn-promo::before,
.emn-promo::after,
.emn-promo > *::before,
.emn-promo > *::after,
.moduletable.emn-promo::before,
.moduletable.emn-promo::after,
.emn-promo .moduletable-wrapper::before,
.emn-promo .moduletable-wrapper::after,
.emn-promo .mod-article-single::before,
.emn-promo .mod-article-single::after,
.emn-promo .item__module::before,
.emn-promo .item_introtext::before,
.emn-promo .item_introtext::after {
    display: none !important;
    content: none !important;
    border: none !important;
    background: none !important;
    height: 0 !important;
}

.emn-promo .moduletable-wrapper {
    border-top: none !important;
    border-bottom: none !important;
}

/* Wrapper-Hintergründe aus dem Template entfernen */
.emn-promo .item_img.img-intro__right .img-shadow-wrapper,
.emn-promo .item_img.img-intro__right .img-inner-wrapper,
.emn-promo figure.item_img.img-intro__right,
.emn-promo figure.item_img.img-intro__right * {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.emn-promo .item_img.img-intro__right img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
    box-shadow: 0 8px 28px rgba(48, 144, 199, .18);
}

/* Clearfix nach dem Intro-Text */
.emn-promo .item__module::after {
    content: "";
    display: table;
    clear: both;
}

/* Tablet: etwas kleiner */
@media (max-width: 900px) {
    .emn-promo .item_img.img-intro__right {
        width: 190px;
        max-width: 190px;
        margin: 0 0 16px 20px;
    }
}

/* Mobil: H2 → Bild → H3 → Text → Button */
@media (max-width: 640px) {
    .emn-promo .item__module {
        display: flex;
        flex-direction: column;
    }

    /* introtext "auflösen" – alle Kinder werden direkte flex-items */
    .emn-promo .item__module .item_introtext {
        display: contents;
    }

    /* Standardreihenfolge für alle Kinder */
    .emn-promo .item__module .item_introtext > * {
        order: 4;
    }

    /* Individuelle Einordnung */
    .emn-promo .item__module .item_introtext h2 {
        order: 1;
    }

    .emn-promo .item_img.img-intro__right {
        order: 2;
        float: none;
        width: 200px;
        max-width: 200px;
        margin: 12px auto 24px;
        align-self: center;
    }

    .emn-promo .item__module .item_introtext h3 {
        order: 3;
        margin-top: 28px !important;
    }
}