/* =========================================================
   SNOGARD KATEGORIE-NAVIGATION
   Separates Stylesheet fuer #sidepanel_left
   Nach der allgemeinen Shop-CSS laden.
   ========================================================= */


/* =========================================================
   CONTAINER UND UEBERSCHRIFT
   ========================================================= */

#sidepanel_left .box-categories {
    padding: 16px 14px 14px;
    background: var(--color-white, #fff);
    border: 1px solid var(--color-gray-border, #cfcfcf);
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.045);
}

#sidepanel_left .box-categories .productlist-filter-headline {
    align-items: center;
    min-height: 40px;
    margin: 0 2px 8px;
    padding: 0 4px 11px;
    color: var(--color-text, #393939);
    border-bottom: 1px solid var(--color-surface-hover, #e6e6e6);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.25;
}

#sidepanel_left .box-categories .productlist-filter-headline::before {
    content: "";
    width: 3px;
    height: 18px;
    margin-right: 10px;
    background: var(--color-red-accent, #d71920);
    border-radius: 999px;
}


/* =========================================================
   HAUPTKATEGORIEN
   ========================================================= */

#sidepanel_left .nav-panel > .nav {
    gap: 2px;
}

#sidepanel_left .nav-panel > .nav > .nav-item {
    width: 100%;
    margin: 0;
}

#sidepanel_left .nav-panel > .nav > .nav-item > .nav-link {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 42px;
    margin: 0;
    padding: 9px 36px 9px 41px !important;
    color: var(--color-text, #393939) !important;
    background: transparent;
    border: 0;
    border-radius: 8px;
    box-shadow: none;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.35;
    text-decoration: none !important;
    transition:
        color 0.16s ease,
        background-color 0.16s ease,
        box-shadow 0.16s ease;
}

#sidepanel_left .nav-panel > .nav > .nav-item > span.nav-link > a {
    flex: 1 1 auto;
    min-width: 0;
    color: inherit !important;
    text-decoration: none !important;
}

#sidepanel_left .nav-panel > .nav > .nav-item > .nav-link:hover {
    color: var(--color-red-brand, #8a0e0e) !important;
    background: var(--color-surface, #f7f8f9);
}

#sidepanel_left .nav-panel > .nav > .nav-item.active > .nav-link {
    color: var(--color-red-brand, #8a0e0e) !important;
    background: var(--color-surface, #f7f8f9);
    border: 0;
    border-bottom: 0;
    box-shadow: inset 3px 0 0 var(--color-red-accent, #d71920);
    font-weight: 700;
}


/* =========================================================
   HAUPTKATEGORIE-ICONS
   ========================================================= */

#sidepanel_left .nav-panel > .nav > .nav-item.dropdown > span.nav-link > a::before,
#sidepanel_left .nav-panel > .nav > .nav-item:not(.dropdown) > a.nav-link[href*="Gutscheine"]::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 13px;
    width: 17px;
    height: 17px;
    margin: 0;
    background: center / contain no-repeat;
    opacity: 0.85;
    transform: translateY(-50%);
}

#sidepanel_left .nav-panel > .nav > .nav-item:not(.dropdown) > a.nav-link[href*="Gutscheine"]::before {
    background-image: url("https://www.snogard.de/media/image/icon/gutscheine.svg");
}

#sidepanel_left .nav-panel > .nav > .nav-item.dropdown > span.nav-link > a[href*="snogard-pc-systeme"]::before {
    background-image: url("https://www.snogard.de/media/image/icon/snogardpcsysteme.svg");
}

#sidepanel_left .nav-panel > .nav > .nav-item.dropdown > span.nav-link > a[href*="Service-Dienstleistungen"]::before {
    background-image: url("https://www.snogard.de/media/image/icon/service.svg");
}

#sidepanel_left .nav-panel > .nav > .nav-item.dropdown > span.nav-link > a[href*="Andere-PC-Systeme"]::before {
    background-image: url("https://www.snogard.de/media/image/icon/andere.svg");
}

#sidepanel_left .nav-panel > .nav > .nav-item.dropdown > span.nav-link > a[href*="PC-Komponenten"]::before {
    background-image: url("https://www.snogard.de/media/image/icon/pckomp.svg");
}

#sidepanel_left .nav-panel > .nav > .nav-item.dropdown > span.nav-link > a[href*="pc-zubehor"]::before {
    background-image: url("https://www.snogard.de/media/image/icon/pczub.svg");
}

#sidepanel_left .nav-panel > .nav > .nav-item.dropdown > span.nav-link > a[href*="Gaming"]::before {
    background-image: url("https://www.snogard.de/media/image/icon/gaming.svg");
}

#sidepanel_left .nav-panel > .nav > .nav-item.dropdown > span.nav-link > a[href*="zweite-chance"]::before {
    background-image: url("https://www.snogard.de/media/image/icon/zweitechance.svg");
}

#sidepanel_left .nav-panel > .nav > .nav-item.dropdown > span.nav-link > a[href*="kabel-adapter"]::before {
    background-image: url("https://www.snogard.de/media/image/icon/kabel.svg");
}

#sidepanel_left .nav-panel > .nav > .nav-item.dropdown > span.nav-link > a[href*="notebook"]::before {
    background-image: url("https://www.snogard.de/media/image/icon/notebook.svg");
}

#sidepanel_left .nav-panel > .nav > .nav-item.dropdown > span.nav-link > a[href*="Drucker-Scanner"]::before {
    background-image: url("https://www.snogard.de/media/image/icon/drucker.svg");
}

#sidepanel_left .nav-panel > .nav > .nav-item.dropdown > span.nav-link > a[href*="monitore"]::before {
    background-image: url("https://www.snogard.de/media/image/icon/monitore.svg");
}

#sidepanel_left .nav-panel > .nav > .nav-item.dropdown > span.nav-link > a[href*="tv-audio"]::before {
    background-image: url("https://www.snogard.de/media/image/icon/tvaudio.svg");
}

#sidepanel_left .nav-panel > .nav > .nav-item.dropdown > span.nav-link > a[href*="netzwerktechnik"]::before {
    background-image: url("https://www.snogard.de/media/image/icon/netzwerk.svg");
}

#sidepanel_left .nav-panel > .nav > .nav-item.dropdown > span.nav-link > a[href*="server-komponenten"]::before {
    background-image: url("https://www.snogard.de/media/image/icon/server.svg");
}

#sidepanel_left .nav-panel > .nav > .nav-item.dropdown > span.nav-link > a[href*="Buero-Schreibwaren"]::before {
    background-image: url("https://www.snogard.de/media/image/icon/buero.svg");
}

#sidepanel_left .nav-panel > .nav > .nav-item.dropdown > span.nav-link > a[href*="Home-Living"]::before {
    background-image: url("https://www.snogard.de/media/image/icon/home.svg");
}

#sidepanel_left .nav-panel > .nav > .nav-item.dropdown > span.nav-link > a[href*="spielzeug"]::before {
    background-image: url("https://www.snogard.de/media/image/icon/spielzeug.svg");
}

#sidepanel_left .nav-panel > .nav > .nav-item.dropdown > span.nav-link > a[href*="festnetz-und-ip-telefonie"]::before {
    background-image: url("https://www.snogard.de/media/image/icon/festnetz.svg");
}

#sidepanel_left .nav-panel > .nav > .nav-item.dropdown > span.nav-link > a[href*="Apple"]::before {
    background-image: url("https://www.snogard.de/media/image/icon/apple.svg");
}

#sidepanel_left .nav-panel > .nav > .nav-item.dropdown > span.nav-link > a[href*="Smartphones-Tablets"]::before {
    background-image: url("https://www.snogard.de/media/image/icon/smartphones.svg");
}


/* =========================================================
   SAUBERE CHEVRONS RECHTS
   ========================================================= */

#sidepanel_left .nav-panel span.nav-link.dropdown-toggle::after,
#sidepanel_left .box-categories .box-normal-link.dropdown-toggle::after {
    content: "";
    display: block !important;
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    margin: 0 0 0 9px;
    background-color: currentColor;
    border: 0 !important;
    transform: rotate(0deg);
    transition: transform 0.18s ease;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 13px 13px no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 13px 13px no-repeat;
}

#sidepanel_left .nav-panel span.nav-link.dropdown-toggle[aria-expanded="true"]::after,
#sidepanel_left .box-categories .box-normal-link.dropdown-toggle[aria-expanded="true"]::after {
    transform: rotate(180deg);
}


/* =========================================================
   ZWEITE NAVIGATIONSEBENE
   ========================================================= */

#sidepanel_left .nav-panel > .nav > .nav-item > .snippets-categories-collapse {
    margin: 3px 0 7px 20px;
    padding: 2px 0 2px 11px;
    background: transparent;
    border: 0;
    border-left: 1px solid var(--color-surface-hover, #e6e6e6);
    border-radius: 0;
}

#sidepanel_left .nav-panel > .nav > .nav-item > .snippets-categories-collapse > .nav {
    gap: 1px;
}

#sidepanel_left .nav-panel > .nav > .nav-item > .snippets-categories-collapse > .nav > .nav-item > .nav-link {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 36px;
    margin: 0;
    padding: 7px 28px 7px 12px !important;
    color: var(--color-text, #393939) !important;
    background: transparent;
    border: 0;
    border-radius: 6px;
    box-shadow: none;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.35;
    text-decoration: none !important;
    transition:
        color 0.15s ease,
        background-color 0.15s ease;
}

#sidepanel_left .nav-panel > .nav > .nav-item > .snippets-categories-collapse > .nav > .nav-item > span.nav-link > a {
    flex: 1 1 auto;
    min-width: 0;
    color: inherit !important;
    text-decoration: none !important;
}

#sidepanel_left .nav-panel > .nav > .nav-item > .snippets-categories-collapse > .nav > .nav-item > .nav-link:hover {
    color: var(--color-red-brand, #8a0e0e) !important;
    background: var(--color-surface, #f7f8f9);
}

#sidepanel_left .nav-panel > .nav > .nav-item > .snippets-categories-collapse > .nav > .nav-item.active > .nav-link {
    color: var(--color-red-brand, #8a0e0e) !important;
    background: var(--color-surface, #f7f8f9);
    font-weight: 600;
}

/* Alte Unterkategorie-Icons und Punkte sicher entfernen */
#sidepanel_left .nav-panel .snippets-categories-nav-link-child::before,
#sidepanel_left .nav-panel span.snippets-categories-nav-link-child > a::before {
    content: none !important;
    display: none !important;
    background: none !important;
}


/* =========================================================
   DRITTE NAVIGATIONSEBENE
   ========================================================= */

#sidepanel_left .nav-panel > .nav > .nav-item > .snippets-categories-collapse .snippets-categories-collapse {
    margin: 1px 0 5px 10px;
    padding: 2px 0 2px 9px;
    background: transparent;
    border: 0;
    border-left: 1px solid var(--color-red-light, #ffd6d6);
    border-radius: 0;
}

#sidepanel_left .nav-panel > .nav > .nav-item > .snippets-categories-collapse .snippets-categories-collapse .nav-link {
    min-height: 31px;
    padding: 5px 9px !important;
    color: var(--color-text, #393939) !important;
    background: transparent;
    border-radius: 5px;
    font-size: 12.5px;
    font-weight: 400;
    line-height: 1.35;
}

#sidepanel_left .nav-panel > .nav > .nav-item > .snippets-categories-collapse .snippets-categories-collapse .nav-link:hover {
    color: var(--color-red-brand, #8a0e0e) !important;
    background: var(--color-surface, #f7f8f9);
}


/* =========================================================
   FOKUS UND MOBILE DARSTELLUNG
   ========================================================= */

#sidepanel_left .box-categories a:focus-visible,
#sidepanel_left .box-categories span.nav-link:focus-visible {
    outline: 2px solid var(--color-red-accent, #d71920);
    outline-offset: 2px;
}

@media (max-width: 767px) {
    #sidepanel_left .box-categories {
        padding: 11px;
        border-radius: 10px;
        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04);
    }

    #sidepanel_left .box-categories .box-normal-link {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 42px;
        margin: 0;
        padding: 9px 11px;
        color: var(--color-text, #393939) !important;
        background: var(--color-surface, #f7f8f9);
        border-radius: 7px;
        font-size: 15px;
        font-weight: 700;
        text-decoration: none !important;
    }

    #sidepanel_left .nav-panel > .nav > .nav-item > .nav-link {
        min-height: 40px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #sidepanel_left .box-categories *,
    #sidepanel_left .box-categories *::before,
    #sidepanel_left .box-categories *::after {
        transition: none !important;
    }
}
