/**
 * zollsoft Divi Menu Cart
 * Optik entspricht dem bisherigen „Divi Menu Cart“ (rotes Badge, Divi-Icon).
 * Farben lassen sich z. B. in den Divi-Theme-Optionen per CSS überschreiben:
 *   :root { --zs-cart-icon-color: #666666; --zs-cart-count-bg: #d6222f; --zs-cart-count-color: #fff; }
 */

:root {
    --zs-cart-icon-color: #666666; /* Menü-Linkfarbe aus den Divi-Einstellungen */
    --zs-cart-count-color: #ffffff;
    --zs-cart-count-bg: #d6222f;
}

/* Wrapper je Position */
.zs-menu-cart--header {
    display: inline-block;
    position: relative;
    padding-left: 22px;
}

.zs-menu-cart--module {
    display: inline-flex;
    align-items: center;
    position: relative;
    padding-left: 32px;
}

.zs-menu-cart--menu-item {
    position: relative;
}

.zs-menu-cart--shortcode {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
}

.et_pb_menu--style-inline_centered_logo .zs-menu-cart--module {
    order: 1;
}

.et_header_style_left .zs-menu-cart--header .zs-menu-cart__link {
    bottom: 0.3em;
}

@media (max-width: 980px) {
    .et_header_style_split .zs-menu-cart--header,
    .et_header_style_centered .zs-menu-cart--header {
        margin-top: 15px;
        margin-left: 15px;
    }

    .zs-menu-cart--module {
        padding-left: 5px;
    }

    .zs-menu-cart--module .zs-menu-cart__icon {
        vertical-align: middle;
    }

    .et_pb_menu--style-inline_centered_logo .zs-menu-cart--module {
        order: 0;
    }

    .et_header_style_left .zs-menu-cart--header .zs-menu-cart__link {
        vertical-align: middle;
        bottom: 0;
    }
}

/* Link */
.zs-menu-cart__link {
    position: relative;
    font-size: 16px;
}

.zs-menu-cart__link:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
    border-radius: 2px;
}

/* Divi-Warenkorb-Icon aus der ETmodules-Schrift */
.zs-menu-cart__icon {
    color: var(--zs-cart-icon-color);
}

.zs-menu-cart__icon::before {
    content: "\e07a";
    font-family: ETmodules;
    font-weight: 400;
    font-size: 1.3em;
    speak: never;
}

/* Badge */
.zs-menu-cart__count {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    right: 0.5em;
    bottom: 1em;
    min-width: 1.5em;
    height: 1.5em;
    padding: 0 0.2em;
    box-sizing: border-box;
    border-radius: 0.75em;
    font-weight: bold;
    font-size: 0.7em;
    line-height: 100%;
    color: var(--zs-cart-count-color);
    background-color: var(--zs-cart-count-bg);
}

.zs-menu-cart__count[hidden] {
    display: none;
}
