/* Produktlinks im Warenkorb */
.woocommerce-cart .cart .product-name a,
.woocommerce-cart .woocommerce-shipping-destination a,
.woocommerce-cart a.shipping-calculator-button {
    background-image: none !important;
    -webkit-background-clip: border-box !important;
    -webkit-text-fill-color: initial !important;

    color: var(--c-primary) !important;
    text-decoration: underline !important;
}

/* Produktlinks im Warenkorb Hover */
.woocommerce-cart .cart .product-name a:hover,
.woocommerce-cart .woocommerce-shipping-destination a:hover,
.woocommerce-cart a.shipping-calculator-button:hover {
    color: var(--c-primary) !important;
    text-decoration: none !important;
}

/* Gutschein Sektion Tweak */
form.checkout_coupon.woocommerce-form-coupon {
    display: block !important;
}

form.checkout_coupon.woocommerce-form-coupon input[type="text"] {
    height: var(--h-input) !important;
}

form.checkout_coupon.woocommerce-form-coupon button {
    height: var(--h-input) !important;
    font-size: 14px !important;
    display: flex;
}

.wc-coupon-wrap .form-coupon-wrap {
    padding: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.wc-coupon-wrap .woocommerce-info {
    margin-bottom: 8px !important;
}

.wc-coupon-wrap .showcoupon-tag {
    font-size: var(--fz-sm) !important;
}

.wc-coupon-wrap .coupon-error-notice {
    font-size: var(--fz-sm) !important;
}

.wc-coupon-wrap {
    margin-bottom: 30px !important;
    width: calc(100% - 30% - 60px) !important;
}

/* Mobile-Ansicht anpassen Gutschein Button*/
@media (max-width: 991px) {

    .wc-coupon-wrap {
        width: 100% !important;
        margin-right: 0 !important;
    }

    .wc-coupon-wrap .form-coupon-wrap {
        display: block !important;
    }

    .wc-coupon-wrap .form-coupon-wrap .coupon {
        display: block !important;
        width: 100% !important;
        margin: 0 0 .5rem 0 !important;
    }

    .wc-coupon-wrap .form-coupon-wrap .coupon input[type="text"] {
        display: block;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    .wc-coupon-wrap .form-coupon-wrap button {
        width: 100% !important;
        margin-top: .5rem !important;
    }
}

/* Eigener Entfernen-Button im Warenkorb */
body.woocommerce-cart a.my-cart-remove {
    background: transparent !important;
    color: var(--c-primary) !important;

    width: 24px;
    height: 24px;
    line-height: 24px;
    border-radius: 50%;

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

    text-decoration: none;
    font-size: 16px;
}

/* Eigener Entfernen-Button im Warenkorb Hover */
body.woocommerce-cart a.my-cart-remove:hover {
    background: var(--c-primary) !important;
    color: var(--c-white) !important;
}

/* Checkout Fehlermeldungen vereinheitlichen */
body.woocommerce-checkout .checkout-inline-error-message {
    font-size: var(--fz-sm) !important;
}

/* Checkout: normale Felder */
.woocommerce-checkout .form-row .input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
    border-radius: var(--r-1) !important;
    height: var(--h-input) !important;
    min-height: var(--h-input) !important;
    line-height: var(--h-input) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    box-sizing: border-box !important;
    line-height: var(--lh-base);
}

.woocommerce-checkout .form-row .input-text:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
    border-color: var(--c-primary) !important;
    outline: none;
}

/* Checkout: Select-Dropdowns (Länder, Bundesland etc.) */
.woocommerce-checkout .select2-container--default.select2-container .select2-selection--single,
.woocommerce-checkout .select2-container--default.select2-container .select2-selection--multiple,
.woocommerce-checkout .select2-container .select2-selection--single,
.woocommerce-checkout .select2-container .select2-selection--multiple {
    border-radius: var(--r-1) !important;
    height: var(--h-input) !important;
    min-height: var(--h-input) !important;
    line-height: var(--h-input) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    box-sizing: border-box !important;
    line-height: var(--lh-base);
}

.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single,
.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--multiple,
.woocommerce-checkout .select2-container--open .select2-selection--single,
.woocommerce-checkout .select2-container--open .select2-selection--multiple {
    border-color: var(--c-primary) !important;
}

/* Checkout — Gutschein-Code */
.woocommerce-checkout form.checkout_coupon input[type="text"],
.woocommerce-checkout form.checkout_coupon input.input-text {
    border-radius: var(--r-1) !important;
    height: var(--h-input) !important;
    min-height: var(--h-input) !important;
    line-height: var(--h-input) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    box-sizing: border-box !important;
    line-height: var(--lh-base);
}

.woocommerce-checkout form.checkout_coupon input[type="text"]:focus,
.woocommerce-checkout form.checkout_coupon input.input-text:focus {
    border-color: var(--c-primary) !important;
    outline: none;
}

/* Warenkorb – normale Eingabefelder */
.woocommerce-cart .input-text,
.woocommerce-cart select,
.woocommerce-cart textarea {
    border-radius: var(--r-1) !important;
    height: var(--h-input) !important;
    min-height: var(--h-input) !important;
    line-height: var(--h-input) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    box-sizing: border-box !important;
    line-height: var(--lh-base);
}

.woocommerce-cart .input-text:focus,
.woocommerce-cart select:focus,
.woocommerce-cart textarea:focus {
    border-color: var(--c-primary) !important;
    outline: none;
}

/* Warenkorb – Qty Plus/Minus */
.woocommerce-cart .quantity,
.woocommerce-cart .quantity .qty,
.woocommerce-cart .quantity .plus,
.woocommerce-cart .quantity .minus {
    height: var(--h-qty) !important;
    min-height: var(--h-qty) !important;
    line-height: var(--h-qty) !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* Warenkorb – Mengenfeld (qty) */
.woocommerce-cart .quantity .qty:focus {
    border-color: var(--c-primary) !important;
}

/* Warenkorb — normale Select-Felder */
.woocommerce-cart table.cart select,
.woocommerce-cart .cart_totals select,
.woocommerce-cart .shipping-calculator-form select {
    border-radius: var(--r-1) !important;
    height: var(--h-input) !important;
    min-height: var(--h-input) !important;
    line-height: var(--h-input) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    box-sizing: border-box !important;
    line-height: var(--lh-base);
}

.woocommerce-cart table.cart select:focus,
.woocommerce-cart .cart_totals select:focus,
.woocommerce-cart .shipping-calculator-form select:focus {
    border-color: var(--c-primary) !important;
    outline: none;
}

/* Warenkorb — Select2-Felder */
.woocommerce-cart .select2-container--default.select2-container .select2-selection--single,
.woocommerce-cart .select2-container--default.select2-container .select2-selection--multiple,
.woocommerce-cart .select2-container .select2-selection--single,
.woocommerce-cart .select2-container .select2-selection--multiple {
    border-radius: var(--r-1) !important;
    height: var(--h-input) !important;
    min-height: var(--h-input) !important;
    line-height: var(--h-input) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    box-sizing: border-box !important;
    line-height: var(--lh-base);
}

.woocommerce-cart .select2-container--default.select2-container--focus .select2-selection--single,
.woocommerce-cart .select2-container--default.select2-container--focus .select2-selection--multiple,
.woocommerce-cart .select2-container--open .select2-selection--single,
.woocommerce-cart .select2-container--open .select2-selection--multiple {
    border-color: var(--c-primary) !important;
}

/* Warenkorb – Gutschein-Feld */
.woocommerce-cart .shipping-calculator-form input,
.woocommerce-cart .shipping-calculator-form select {
    border-radius: var(--r-1) !important;
    height: var(--h-input) !important;
    min-height: var(--h-input) !important;
    line-height: var(--h-input) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    box-sizing: border-box !important;
    line-height: var(--lh-base);
}

.woocommerce-cart .shipping-calculator-form input:focus,
.woocommerce-cart .shipping-calculator-form select:focus {
    border-color: var(--c-primary) !important;
}

/* Stripe Elements – Hover */
.woocommerce-checkout .StripeElement--hover {
    border-color: var(--c-primary) !important;
}

/* Warenkorb – Update Cart Button */
.woocommerce-cart .update-cart-button input[type="submit"][name="update_cart"] {
    display: inline-block !important;
    appearance: none !important;
    -webkit-appearance: none !important;

    padding: var(--btn-pad) !important;
    border-radius: var(--r-1) !important;

    border: none !important;
    box-shadow: none !important;
    font-weight: 600;
    line-height: var(--lh-base);
    box-sizing: border-box !important;
    font-size: var(--fz-sm) !important;
    min-height: 20px !important;
    vertical-align: middle !important;
    display: flex !important;
    text-align: center !important;
}

/* Warenkorb – Update Cart Button - Disabled */
.woocommerce-cart .update-cart-button input[type="submit"][name="update_cart"]:disabled {
    background-image: var(--g-primary) !important;
    color: var(--c-white) !important;
    opacity: var(--btn-disabled-opacity) !important;
    cursor: not-allowed !important;
}

/* Warenkorb – Update Cart Button - Aktiv */
.woocommerce-cart .update-cart-button input[type="submit"][name="update_cart"]:not(:disabled) {
    background-image: var(--g-primary) !important;
    color: var(--c-white) !important;
    opacity: 1 !important;
    cursor: pointer !important;
}

/* Warenkorb – Update Cart Button - Aktiv/Hover */
.woocommerce-cart .update-cart-button input[type="submit"][name="update_cart"]:not(:disabled):hover {
    background-image: var(--g-primary-rev) !important;
}

/* Checkout: Abstand zwischen Formularzeilen reduzieren */
.woocommerce-checkout .woocommerce-billing-fields .form-row,
.woocommerce-checkout .woocommerce-shipping-fields .form-row,
.woocommerce-checkout .woocommerce-additional-fields .form-row {
    margin-bottom: 1px !important;
}

/* Checkout: Label-Abstand kleiner */
.woocommerce-checkout .form-row label {
    margin-bottom: 4px !important;
}

/* Checkout: weniger Abstand zwischen Abschnitten/Überschriften */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
    margin-bottom: 14px !important;
}

/* Cart Footer: harte Ausrichtung, verhindert Verschiebungen *//* Cart Footer: Wrapper resetten */
.woocommerce-cart .cart-footer .coupon,
.woocommerce-cart .cart-footer .update-cart-button {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
}

/* Cart Footer: Pseudo-Element entfernen */
.woocommerce-cart .cart-footer .update-cart-button::before,
.woocommerce-cart .cart-footer .update-cart-button::after {
    content: none !important;
    display: none !important;
}

/* Cart Footer (Desktop/Tablet): Coupon links, Update rechts */
.woocommerce-cart .cart-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

/* Cart Footer: Wrapper nicht zentrieren */
.woocommerce-cart .cart-footer .coupon,
.woocommerce-cart .cart-footer .update-cart-button {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Cart Footer: Abstand zwischen Gutscheincode-Feld und Button */
.woocommerce-cart .cart-footer .coupon {
    gap: 6px !important;
}

/* Cart Footer (Mobile): alles links ausrichten und untereinander */
@media (max-width: 767px) {
    .woocommerce-cart .cart-footer {
        justify-content: flex-start !important;
    }

    /* Coupon & Update sollen volle Breite bekommen */
    .woocommerce-cart .cart-footer .coupon,
    .woocommerce-cart .cart-footer .update-cart-button {
        width: 100% !important;
        justify-content: flex-start !important;
    }

    /* Buttons links statt "zentriert" */
    .woocommerce-cart .cart-footer .coupon button[name="apply_coupon"],
    .woocommerce-cart .cart-footer .update-cart-button input[name="update_cart"] {
        width: auto !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Gutschein-Input auch volle Breite */
    .woocommerce-cart .cart-footer .coupon input[name="coupon_code"] {
        width: 100% !important;
    }

    /* Weniger Abstand zwischen Gutscheinfeld und Button */
    .woocommerce-cart .cart-footer .coupon {
        gap: 6px !important;
    }
}

/* Leerer Warenkorb – "Zurück zum Shop" Button */
.woocommerce .return-to-shop {
    text-align: left !important;
}

.woocommerce .return-to-shop a.button.wc-backward {
    display: inline-flex !important;
    width: auto !important;
    min-width: 0 !important;

    padding: var(--btn-pad) !important;
    font-weight: 600;
    line-height: var(--lh-base);
    box-sizing: border-box !important;
    font-size: var(--fz-sm) !important;
    min-height: 20px !important;
    vertical-align: middle !important;
    text-align: center !important;

    background-image: var(--g-primary) !important;
    border-radius: var(--r-1) !important;
}

/* ===========================================================
   START Checkout: einheitliche Abstände (Billing + Shipping)
   =========================================================== */

/* 1) Einheitlicher Abstand zwischen den Feldern */
.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper>p.form-row,
.woocommerce-checkout form.checkout .woocommerce-shipping-fields__field-wrapper>p.form-row {
    margin: 0 0 14px !important;
    padding: 0 !important;
}

/* 2) Labels: konsistent */
.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper p.form-row>label,
.woocommerce-checkout form.checkout .woocommerce-shipping-fields__field-wrapper p.form-row>label {
    display: block;
    margin: 0 0 6px !important;
}

/* 3) Input-Wrapper: keine Extra-Margins */
.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper p.form-row .woocommerce-input-wrapper,
.woocommerce-checkout form.checkout .woocommerce-shipping-fields__field-wrapper p.form-row .woocommerce-input-wrapper {
    display: block;
    margin: 0 !important;
    padding: 0 !important;
}

/* 4) Inputs/Selects/Textareas: gleiche “Höhe”/Padding */
.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper input.input-text,
.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper select,
.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper textarea,
.woocommerce-checkout form.checkout .woocommerce-shipping-fields__field-wrapper input.input-text,
.woocommerce-checkout form.checkout .woocommerce-shipping-fields__field-wrapper select,
.woocommerce-checkout form.checkout .woocommerce-shipping-fields__field-wrapper textarea {
    margin: 0 !important;
    line-height: var(--lh-base) !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    box-sizing: border-box;
}

/* 5) Falls Select2 im Einsatz ist (für Country/State etc.) */
.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper .select2-container,
.woocommerce-checkout form.checkout .woocommerce-shipping-fields__field-wrapper .select2-container {
    margin: 0 !important;
}

.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper .select2-container .select2-selection,
.woocommerce-checkout form.checkout .woocommerce-shipping-fields__field-wrapper .select2-container .select2-selection {
    min-height: 44px;
}

/* 6) Newsletter-Checkbox */
.woocommerce-checkout #billing_newsletter_optin_field {
    margin: 4px 0 6px !important;
    padding: 0 !important;
}

/* 7) "Lieferung an eine andere Adresse" */
.woocommerce-checkout #ship-to-different-address {
    margin: 4px 0 6px !important;
    padding: 0 !important;
}

/* 8) Label nicht aufblasen */
.woocommerce-checkout #billing_newsletter_optin_field label,
.woocommerce-checkout #ship-to-different-address label {
    margin: 0 !important;
    line-height: 1.35;
}

/* 9) Wrapper um Checkbox ebenfalls neutral */
.woocommerce-checkout #billing_newsletter_optin_field .woocommerce-input-wrapper {
    margin: 0 !important;
}

/* 10) Aussenabstand des gesamten Billing-Blocks */
.woocommerce-checkout .woocommerce-billing-fields {
    margin-bottom: 8px !important;
    /* vorher oft 24–40px */
    padding-bottom: 0 !important;
}

/* 11) Inneres Padding */
.woocommerce-checkout .woocommerce-billing-fields>div {
    padding-bottom: 0 !important;
}

/* 12) Sicherheit: auch Field-Wrapper nicht aufblähen */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* ==========================================================
   ENDE Checkout: einheitliche Abstände (Billing + Shipping)
   ========================================================== */

/* ==============================================
   START Warenkorb: Versandkosten-Rechner Layout
   ============================================== */

/* 1) State/Bundesland ausblenden */
.woocommerce-cart #calc_shipping_state_field {
    display: none !important;
}

/* 2) Nur wenn geöffnet */
.woocommerce-cart form.woocommerce-shipping-calculator a.shipping-calculator-button[aria-expanded="true"]+section#shipping-calculator-form {
    overflow: auto;
}

/* 3) Einheitlicher vertikaler Rhythmus (nur im offenen Zustand) */
.woocommerce-cart form.woocommerce-shipping-calculator a.shipping-calculator-button[aria-expanded="true"]+section#shipping-calculator-form>p.form-row {
    margin: 0 0 10px !important;
    padding: 0 !important;
}

/* 4) Labels/Wrapper neutralisieren für gleichmässige Abstände */
.woocommerce-cart form.woocommerce-shipping-calculator a.shipping-calculator-button[aria-expanded="true"]+section#shipping-calculator-form>p.form-row>label {
    display: block;
    margin: 0 0 6px !important;
}

.woocommerce-cart form.woocommerce-shipping-calculator a.shipping-calculator-button[aria-expanded="true"]+section#shipping-calculator-form .woocommerce-input-wrapper {
    display: block;
    margin: 0 !important;
    padding: 0 !important;
}

/* 5) Inputs/Selects ohne Extra-Margins (Select2 bleibt ok) */
.woocommerce-cart form.woocommerce-shipping-calculator a.shipping-calculator-button[aria-expanded="true"]+section#shipping-calculator-form input.input-text,
.woocommerce-cart form.woocommerce-shipping-calculator a.shipping-calculator-button[aria-expanded="true"]+section#shipping-calculator-form select {
    margin: 0 !important;
}

/* 6) Desktop: PLZ links + Ort rechts (nebeneinander) */
.woocommerce-cart form.woocommerce-shipping-calculator a.shipping-calculator-button[aria-expanded="true"]+section#shipping-calculator-form>p#calc_shipping_postcode_field,
.woocommerce-cart form.woocommerce-shipping-calculator a.shipping-calculator-button[aria-expanded="true"]+section#shipping-calculator-form>p#calc_shipping_city_field {
    width: calc(50% - 8px) !important;
    clear: none !important;
}

/* 7) PLZ links */
.woocommerce-cart form.woocommerce-shipping-calculator a.shipping-calculator-button[aria-expanded="true"]+section#shipping-calculator-form>p#calc_shipping_postcode_field {
    float: left !important;
}

/* 8) Ort rechts */
.woocommerce-cart form.woocommerce-shipping-calculator a.shipping-calculator-button[aria-expanded="true"]+section#shipping-calculator-form>p#calc_shipping_city_field {
    float: right !important;
}

/* 9) Button-Zeile sicher darunter */
.woocommerce-cart form.woocommerce-shipping-calculator a.shipping-calculator-button[aria-expanded="true"]+section#shipping-calculator-form>p.form-row.form-row-wide {
    clear: both !important;
    margin-top: 2px !important;
}

.woocommerce-cart form.woocommerce-shipping-calculator a.shipping-calculator-button[aria-expanded="true"]+section#shipping-calculator-form button.button {
    width: auto !important;
    margin: 0 !important;
}

/* 10) Mobile Section */
@media (max-width: 480px) {

    /* a) Wenn der Calculator sichtbar ist: SECTION wird Flex-Column */
    .woocommerce-cart #shipping-calculator-form[style*="display:block"],
    .woocommerce-cart #shipping-calculator-form[style*="display: block"] {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }

    /* b) Falls der Button NICHT in der Section sitzt: auch FORM als Flex-Column */
    .woocommerce-cart form.woocommerce-shipping-calculator {
        display: flex !important;
        flex-direction: column !important;
    }

    /* c) Alle Rows: volle Breite */
    .woocommerce-cart #shipping-calculator-form[style*="display:block"]>p.form-row,
    .woocommerce-cart #shipping-calculator-form[style*="display: block"]>p.form-row {
        width: 100% !important;
        float: none !important;
        clear: none !important;
        margin: 0 0 10px !important;
    }

    /* d) Reihenfolge fixieren */
    .woocommerce-cart #shipping-calculator-form[style*="display:block"]>p#calc_shipping_country_field,
    .woocommerce-cart #shipping-calculator-form[style*="display: block"]>p#calc_shipping_country_field {
        order: 1 !important;
    }

    .woocommerce-cart #shipping-calculator-form[style*="display:block"]>p#calc_shipping_postcode_field,
    .woocommerce-cart #shipping-calculator-form[style*="display: block"]>p#calc_shipping_postcode_field {
        order: 2 !important;
        /* PLZ zuerst */
    }

    .woocommerce-cart #shipping-calculator-form[style*="display:block"]>p#calc_shipping_city_field,
    .woocommerce-cart #shipping-calculator-form[style*="display: block"]>p#calc_shipping_city_field {
        order: 3 !important;
        /* dann Stadt */
    }

    /* e) ALLE form-row-wide (inkl. Button-Row) nach unten */
    .woocommerce-cart #shipping-calculator-form[style*="display:block"]>p.form-row.form-row-wide,
    .woocommerce-cart #shipping-calculator-form[style*="display: block"]>p.form-row.form-row-wide {
        order: 99 !important;
        margin-top: 6px !important;
    }

    /* f) Button selbst kompakt */
    .woocommerce-cart form.woocommerce-shipping-calculator button.button {
        width: auto !important;
        margin: 0 !important;
    }

    /* g) Wenn der Button ausserhalb der Section ist und als eigener Row kommt:
     auch diese Rows ans Ende schieben */
    .woocommerce-cart form.woocommerce-shipping-calculator>p.form-row.form-row-wide {
        order: 99 !important;
        margin-top: 6px !important;
    }
}

/* 11) Verhindert den "Flash" des alten Layouts beim Aufklappen */
.woocommerce-cart form.woocommerce-shipping-calculator section#shipping-calculator-form {
    opacity: 0;
    transition: opacity .12s ease-in-out;
}

.woocommerce-cart form.woocommerce-shipping-calculator a.shipping-calculator-button[aria-expanded="true"]+section#shipping-calculator-form {
    opacity: 1;
}

/* =============================================
   ENDE Warenkorb: Versandkosten-Rechner Layout
   ============================================= */

/* Checkout: Required Asterisk */
.woocommerce abbr.required,
.woocommerce-page abbr.required {
    text-decoration: none !important;
    border-bottom: none !important;
    cursor: default !important;
    color: var(--c-primary) !important;
}

/* Select2 - Suche anzeigen */
.select2-search--dropdown {
    display: block !important;
}

/* Select2 - Suchfeld Optik */
.select2-container--default .select2-search--dropdown .select2-search__field {
    width: 100% !important;
    box-sizing: border-box !important;
    height: var(--h-input) !important;
    min-height: var(--h-input) !important;
    line-height: var(--lh-base) !important;
    border-radius: var(--r-1) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    box-shadow: none !important;
}

/* Select2 - Suchfeld Abstand unten */
.select2-container--default .select2-search--dropdown {
    margin-bottom: 10px !important;
}

/* Select2 - Fokusfarbe für Kategorien-Dropdown */
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single {
    border-color: var(--c-primary) !important;
    box-shadow: none !important;
}

/* Select2 - Suchfeld Fokus */
.select2-container--default .select2-search--dropdown .select2-search__field:focus {
    border-color: var(--c-primary) !important;
    box-shadow: none !important;
}

/* Select2 – Höhe, Radius */
.select2-container--default .select2-selection--single {
    border-radius: var(--r-1) !important;
    height: var(--h-input) !important;
    min-height: var(--h-input) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    box-sizing: border-box !important;
    line-height: var(--lh-base) !important;
}

/* Select2 - Text vertikal zentrieren */
.select2-container--default .select2-selection__rendered {
    line-height: var(--lh-base) !important;
    padding-left: 0 !important;
}

/* Select2 - Pfeil vertikal zentrieren */
.select2-container--default .select2-selection__arrow {
    border-radius: var(--r-1) !important;
    height: var(--h-input) !important;
    min-height: var(--h-input) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    box-sizing: border-box !important;
    line-height: var(--lh-base) !important;
}

/* Select2 - Schriftgröse der Texte im Dropdown */
.select2-container--default .select2-results__option {
    font-size: var(--fz-sm) !important;
    line-height: var(--lh-base) !important;
}

/* Select2 - Dropdown Normaler Zustand*/
.select2-container--default .select2-results__option {
    background-color: var(--c-white) !important;
    color: inherit !important;
}

/* Select2 - Dropdown Hover */
.select2-container--default .select2-results__option--highlighted {
    background-color: var(--c-primary) !important;
    color: var(--c-white) !important;
}

/* Select2 - Dropdown Ausgewählter Eintrag */
.select2-container--default .select2-results__option[aria-selected="true"] {
    background-color: var(--c-white) !important;
    color: #000000 !important;
}

/* Select2 - Dropdown auch wenn ausgewählt + hover */
.select2-container--default .select2-results__option[aria-selected="true"].select2-results__option--highlighted {
    background-color: var(--c-primary) !important;
    color: var(--c-white) !important;
}