:root,
:where([data-wsf-style-id='1']),
:where([data-wsf-style-id='1']) * {
    --green: #127e2b;
    --dark: #0c6720;
    --grey: #6d6d6d;

    --wsf-field-button-primary-color-background: var(--green);
    --wsf-field-button-primary-border-color: var(--green);
    --wsf-field-button-primary-color: #fff;
    --fluidcheckout--color--grey: var(--grey);
}

html #seiten-navigation .oxy-mega-dropdown_link-current-ancestor {
    background-color: var(--dark);
}

/* Links sichtbar */
#content-wrapper .ct-text-block a:not([class]),
#content-wrapper .oxy-rich-text li a:not([class]),
#content-wrapper p a:not([class]) {
    text-decoration: underline;
}

/* Fokus fixen */

:focus-visible,
[tabindex='0']:focus-visible,
div[role='region']:focus,
.oxy-mega-dropdown_link:focus-visible,
.woocommerce .widget_shopping_cart .buttons a.checkout.wc-forward:focus-visible,
.woocommerce button[type='submit']:focus-visible,
.woocommerce button[name='woocommerce-form-login__submit']:focus-visible,
.woocommerce button[name='save_account_details']:focus-visible,
.woocommerce button[name='save_address']:focus-visible,
.woocommerce .oxy-woo-element div.product form.cart button.button.alt:focus-visible,
.woocommerce .oxy-product-cart-button button.button.alt:focus-visible,
.woocommerce div.product form.cart .button:focus-visible,
.woocommerce button.button.alt:focus-visible,
.woocommerce a.button:focus-visible,
.woocommerce ul.products li.product .button:focus-visible,
.woocommerce #review_form #respond .form-submit input:focus-visible,
.woocommerce a.button.alt:focus-visible,
.woocommerce button.button:focus-visible {
    outline: currentColor auto 1px;
    outline: -webkit-focus-ring-color auto 1px;
    opacity: 1;
    outline-offset: 1px;
}

:focus-visible,
:focus-within {
    opacity: 1 !important;
}

[role='button'],
[role='tab'],
[tabindex='0'] {
    cursor: pointer;
}

/* Sprungmarken */

.conf-help-back-button,
.conf-help-button,
.skip-link,
.skip_section {
    opacity: 0;
    pointer-events: none;
    margin: 0;
    padding: 0;
    border: none;
    position: absolute;
}

.conf-help-back-button:focus,
.conf-help-button:focus,
.skip-link:focus,
.skip_section:focus {
    border-radius: 6px;
    line-height: 1;
    text-transform: uppercase;
    color: #ffffff;
    font-size: 18px;
    text-align: center;
    flex-direction: row;
    display: flex;
    align-items: center;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 35px;
    padding-right: 35px;
    background-color: #169a34;
    flex-wrap: nowrap;
    font-weight: 600;
    white-space: nowrap;
    border: none;
    opacity: 1;
    pointer-events: all;
    position: static;
}

.conf-help-back-button:focus,
.conf-help-button:focus {
    font-size: inherit;
    padding: 5px 10px;
    text-transform: none;
}

.skip-link:focus {
    margin: 0.5rem auto;
    position: static;
}

section {
    position: relative;
}

section > .skip_section:focus {
    position: absolute;
    left: 50%;
    top: 0.5rem;
    transform: translateX(-50%);
    z-index: 100;
}

/* Sidebar: zugeklappte ausblenden */

#shop-sidebar .sidebar-menu .sidebar-toggle-content {
    visibility: hidden;
}

#shop-sidebar .sidebar-menu.sidebar-menu-active .sidebar-toggle-content {
    visibility: visible;
}

/* Produkte im Warenkorb */

@media screen and (min-width: 769px) {
    html .woocommerce-cart .woocommerce table.cart.shop_table .cart_item {
        grid-auto-flow: dense;
        justify-items: end;
        grid-template-columns: 210px 1fr auto;
        grid-template-rows: auto auto auto 1fr;
        padding: 12px 20px;
        gap: 5px 20px;
    }

    html .woocommerce-cart .woocommerce table.cart.shop_table .cart_item>* {
        grid-column-start: 3 !important;
        position: static !important;
        padding: 0;
    }

    html .woocommerce-cart .woocommerce table.cart.shop_table .cart_item>.product-thumbnail {
        grid-row-end: span 4;
        grid-column-start: 1 !important;
    }

    html .woocommerce-cart .woocommerce table.cart.shop_table .cart_item>.product-name {
        grid-row-end: span 4;
        grid-column-start: 2 !important;
    }
}

@media screen and (max-width: 768px) {
    html .woocommerce-cart .woocommerce table.cart.shop_table .cart_item {
        display: flex !important;
        flex-direction: column;
        padding: 12px 20px;
        gap: 5px 20px;
    }

    html .woocommerce-cart .woocommerce table.cart.shop_table .cart_item>* {
        position: static !important;
        padding: 0;
    }

    html .woocommerce-cart .woocommerce table.cart.shop_table tr:nth-child(2n) {
        background-color: rgba(0, 0, 0, 0.025);
    }

    html .woocommerce-cart .woocommerce table.cart.shop_table tr:nth-child(2n)>* {
        background: none;
    }
}

/* Datentabellen (Warenkorb) */

html .woocommerce-cart .woocommerce table.cart.shop_table .cart_item dl dt {
    width: min-content;
    min-width: 30%;
    text-align: left;
}

html .woocommerce-cart .woocommerce table.cart.shop_table .cart_item dl {
    display: grid;
    grid-template-columns: auto 1fr;
}

html .woocommerce-cart .woocommerce table.cart.shop_table .cart_item dl dt {
    width: auto;
    min-width: 30%;
    white-space: wrap;
}

html .woocommerce-cart .woocommerce table.cart.shop_table .cart_item dl dd {
    width: auto;
}

/* Modal Position fixen */

.oxy-modal-backdrop.bottom {
    padding: 2rem;
}

/* Akkordeon fixen */

html .faq-accordeon.faq-accordeon-active .faq-accordeon-content {
    visibility: visible;
    overflow: auto;
    pointer-events: all;
}

html .faq-accordeon-content {
    visibility: hidden;
    pointer-events: none;
}

/* Größe anpassen */

.oxy-mega-dropdown_icon:not(.oxy-mega-dropdown .oxy-mega-dropdown_icon) {
    padding: 19px 1em;
    margin-left: 0 !important;
    margin: -19px -2em;
}

/* +/- in Warenkorb */
.oxy-ou-cart-items .product-quantity .quantity {
    min-height: 30px;
}

.oxy-ou-cart-items .product-quantity .quantity>* {
    min-width: 30px;
    min-height: inherit;
}

.visually-hidden {
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    white-space: nowrap;
}

/* Override Modal */
#modal-843-36.ct-modal {
    max-height: 80vh;
}

#div_block-2341-36.ct-div-block {
    max-height: 70vh;
}

.has_screenreader_link {
    position: relative;
}

.cp_screenreader_only {
    position: absolute;
    pointer-events: none;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
}

#content-wrapper .ct-div-block.cp_wrap {
    flex-wrap: wrap;
}

@media (max-width: 479px) {
    html #navigation-wrapper {
        top: var(--diff, -120px) !important;
    }

    html #navigation-wrapper:focus-within {
        /* top: 0 !important; */
    }
}

/* Farbe */

html #navigation .oxy-tab[aria-selected="true"] {
    color: #fff !important;
    background-color: var(--green, rgb(22, 154, 52)) !important;
}
html .ks-filter-modell.ks-filter-active {
    color: #fff;
    background-color: var(--green, rgb(22, 154, 52));
}

html .ks-filter-modell {
    color: #fff;
}

[data-check_color] * {
    transition: none !important;
}

html #warenkorb-navi {
    white-space: wrap;
}

/* Fix Header */

#topbar [aria-label="Social Media Menü"] {
    flex-shrink: 0;
}

#shop-navigation .oxy-mega-menu_inner {
    align-items: baseline;
}

.oxy-ou-minicart .oumc-cart-btn {
    display: contents;
}

@media (max-width: 479px) {

    #warenkorb-navi .oumc-cart-btn {
        display: inline-flex;
    }

    #topbar [aria-label="Social Media Menü"] > div {
        margin: auto 4px;
    }

    #topbar [aria-label="Social Media Menü"] > a {
        margin: auto 0;
        padding: 0 4px;
    }

    html #topbar #topbar-benefits {
        flex-shrink: 1;
        width: 50%;
        flex-grow: 1;
        overflow: hidden;
    }

    html #topbar {
        max-width: 100%;
        overflow: hidden;
    }

    html #topbar,
    html #logo-bar {
        gap: 1.5em
    }
    html .topbar_benefit_text {
        white-space: normal;
        word-break: keep-all;
        line-height: 1.2;
        max-width: 100%;
        overflow: hidden;
        padding-right: 1em;
    }

    html .topbar_benefit_text ~ .topbar_benefit_text {
        display: none !important;
    }

    html #bottom-bar {
        height: auto;
    }

    #bottom-bar .ct-div-block {
        flex-wrap: wrap;
    }

    #top-button {
        bottom: 4rem;
    }
}