/* === SCROLLBARE VERTIKALMENÜBOX === */
.scrollable-menu {
    max-height: 400px;
    overflow-y: auto;
    padding: 5px 0;
    border: 1px solid #ddd;
    scroll-behavior: smooth;
    scrollbar-width: thin; /* Firefox */
}

/* Custom Scrollbar für Webkit-Browser (Chrome, Edge, Safari) */
.scrollable-menu::-webkit-scrollbar {
    width: 6px;
}
.scrollable-menu::-webkit-scrollbar-thumb {
    background-color: #ccc;
    border-radius: 3px;
}

/* === MENÜLISTE === */
.scrollable-menu ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* === KATEGORIE-LINK === */
.scrollable-menu .menu-item > a {
    font-weight: 600;
    font-size: 15px;
    color: #222;
    display: block;
    padding: 4px 12px;
    line-height: 1.3;
    text-decoration: none;
    margin-bottom: 2px;
    border-left: 3px solid transparent;
    transition: all 0.2s ease;
}

/* Hovereffekt für Hauptkategorie */
.scrollable-menu .menu-item > a:hover {
    background-color: #f5f5f5;
    color: #000;
    border-left: 3px solid #007BFF;
}

/* === UNTERKATEGORIEN === */
.scrollable-menu .subcategory {
    margin-left: 15px;
    margin-top: 2px;
}

/* Unterkategorie-Links */
.scrollable-menu .subcategory li a {
    font-size: 13px;
    font-style: italic;
    color: #555;
    padding: 3px 10px;
    display: block;
    line-height: 1.3;
    text-decoration: none;
    border-left: 2px dotted transparent;
    transition: all 0.2s ease;
}

/* Hover für Unterkategorie */
.scrollable-menu .subcategory li a:hover {
    background-color: #f0f0f0;
    color: #000;
    border-left: 2px dotted #888;
}

/* === OPTIONAL: Mobilfreundlich (bei kleiner Breite) === */
@media (max-width: 768px) {
    .scrollable-menu {
        max-height: 300px;
    }

    .scrollable-menu .menu-item > a {
        font-size: 14px;
        padding: 4px 10px;
    }

    .scrollable-menu .subcategory li a {
        font-size: 12px;
        padding: 2px 10px;
    }
}
/* =============== DROPDOWN GRUNDSTIL =============== */
.menu-item-has-children {
    position: relative;
}

.menu-item-has-children > .submenu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    min-width: 220px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    z-index: 1000;
    padding: 10px 0;
}

.menu-item-has-children:hover > .submenu {
    display: block;
}

/* =============== ZWEITE EBENE (Sub-Submenu/Flyout) =============== */
.menu-item-has-children > .submenu .menu-item-has-children {
    position: relative;
}

.menu-item-has-children > .submenu .menu-item-has-children > .submenu {
    top: 0;
    left: 100%;
    margin-left: 1px;
}

/* Links im Dropdown */
.submenu li a {
    display: block;
    padding: 6px 15px;
    font-size: 14px;
    color: #333;
    text-decoration: none;
    white-space: nowrap;
}

.submenu li a:hover {
    background-color: #f5f5f5;
    color: #000;
}

/* Optional: kleiner Pfeil für Submenüs */
.menu-item-has-children > a::after {
    content: " ▾";
    font-size: 10px;
    margin-left: 4px;
}

/* Für zweite Ebene (Flyout) Pfeil rechts */
.menu-item-has-children > .submenu .menu-item-has-children > a::after {
    content: " ▸";
    float: right;
}


/* Scrollbarer Bereich für Subkategorien (Flyout-Ebene) */
.menu-item-has-children > .submenu .submenu {
    max-height: 300px;       /* Höhe begrenzen */
    overflow-y: auto;        /* Scrollen ermöglichen */
    overflow-x: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1); /* Optional */
    scrollbar-width: thin;   /* Firefox */
}

/* Webkit-basierte Browser (Chrome, Safari, Edge) */
.menu-item-has-children > .submenu .submenu::-webkit-scrollbar {
    width: 6px;
}
.menu-item-has-children > .submenu .submenu::-webkit-scrollbar-thumb {
    background-color: #ccc;
    border-radius: 3px;
}

/* Scrollbarer Wrapper für Subkategorien */
.submenu-scroll-container {
    max-height: 300px;
    overflow-y: auto;
    overflow-x: hidden;
    position: relative;
    background-color: #fff;
}

/* Optional: schöner Scrollbar (Chrome, Edge, Safari) */
.submenu-scroll-container::-webkit-scrollbar {
    width: 6px;
}
.submenu-scroll-container::-webkit-scrollbar-thumb {
    background-color: #ccc;
    border-radius: 3px;
}

/* Firefox */
.submenu-scroll-container {
    scrollbar-width: thin;
    scrollbar-color: #ccc transparent;
}
.related.products .related-small {
	font-size: 0.75em;
}

.related.products .related-small img {
	width: 80px;
	height: 80px;
	object-fit: contain;
	display: block;
	margin: 0 auto;
}

.related.products .related-small .product-thumb {
	padding: 3px;
}

.related.products .related-small .product-info h5 {
	font-size: 0.85em;
	line-height: 1.1em;
	margin: 4px 0;
	text-align: center;
}

.related.products .related-small .group-info {
	font-size: 0.75em;
	text-align: center;
}

.related.products .related-small .price ins {
	font-size: 0.9em;
	color: #333;
}

.related.products .related-small .thumb-group,
.related.products .related-small .loop-form-add-to-cart,
.related.products .related-small .quick-wiew-button,
.related.products .related-small .yith-wcwl-add-to-wishlist {
	display: none; /* optional: alles verstecken für kompakte Darstellung */
}

.related.products .related-small .product-inner {
	padding: 5px;
}

.partners-section .partner-card {
  background: #fff;
  border-radius: 0.75rem;
  box-shadow: 0 4px 10px rgba(0,0,0,0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.partners-section .partner-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 16px rgba(0,0,0,0.15);
}
.partners-section img {
  max-height: 60px;
  object-fit: contain;
}



/* Container für Menge */
.quantity.control {
    display: inline-flex;
    align-items: center;
    gap: 4px; /* etwas mehr Abstand für moderne Optik */
}

/* Plus/Minus-Buttons moderner, kleiner, rund */
.quantity.control .btn-number {
    width: 28px;
    height: 28px;
    font-size: 18px;
    font-weight: bold;
    border: 1px solid #ccc;
    background-color: #f0f0f0;
    color: #333;
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}
.quantity.control .btn-number:hover {
    background-color: #e0e0e0;
    border-color: #999;
}

/* Eingabefeld breiter, klar lesbar, moderner Stil */
.quantity.control .input-qty {
    width: 60px;         /* optional auf 70px erhöhen */
    height: 30px;
    text-align: center;
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 6px;
    padding: 0 6px;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.quantity.control .input-qty:focus {
    border-color: #0073aa;
    box-shadow: 0 0 4px rgba(0,115,170,0.3);
}
.quantity.control .input-qty::-webkit-outer-spin-button,
.quantity.control .input-qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Update-Button moderner */
.update-btn {
    margin-left: 8px;
    padding: 6px 14px;
    font-size: 14px;
    font-weight: 500;
    border: none;
    background-color: #0073aa;
    color: #fff;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
}
.update-btn:hover {
    background-color: #005f8c;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}

/* --- Menge-Formular --- */
.quantity-form {
    display: flex;
    align-items: center;
    gap: 6px;
}

/* + / − Buttons kleiner & feiner */
.quantity-form .btn-number {
    background: #f2f2f2;
    border: 1px solid #ccc;
    color: #333;
    width: 26px;
    height: 26px;
    font-size: 16px;
    line-height: 1;
    padding: 0;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.2s;
}
.quantity-form .btn-number:hover {
    background: #e6e6e6;
}

/* Eingabefeld breiter & deutlicher */
.quantity-form .input-qty {
    width: 70px;           /* breiter */
    padding: 4px 6px;
    text-align: center;
    border: 1px solid #bbb;
    border-radius: 4px;
    font-size: 15px;
}

/* Update-Button dezent */
.quantity-form .update-btn {
    background:#0073aa;
    color:#fff;
    border:none;
    border-radius:4px;
    padding:5px 10px;
    font-size:14px;
    cursor:pointer;
    transition: background 0.2s;
}
.quantity-form .update-btn:hover {
    background:#005f8d;
}


/* ===== Reset für Number-Input in WebKit (Chrome/Safari) ===== */
.input-qty::-webkit-outer-spin-button,
.input-qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.input-qty[type=number] {
    -moz-appearance: textfield; /* Firefox */
}

/* ===== Eigene Gestaltung ===== */
.quantity-form {
    display: flex;
    align-items: center;
    gap: 6px;
}

/* + / − Buttons */
.quantity-form .btn-number {
    background: #f2f2f2;
    border: 1px solid #ccc;
    color: #333;
    width: 26px;
    height: 26px;
    font-size: 16px;
    line-height: 1;
    padding: 0;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.2s;
}
.quantity-form .btn-number:hover {
    background: #e6e6e6;
}

/* Eingabefeld */
.quantity-form .input-qty {
    width: 70px;               /* feste Breite */
    padding: 4px 6px;
    text-align: center;
    border: 1px solid #bbb;
    border-radius: 4px;
    font-size: 15px;
    box-sizing: border-box;
}
/* Kleines, modernes Entfernen-Icon */
.remove-btn {
    background: none;
    border: none;
    color: #cc0000;
    font-size: 1.2rem;
    cursor: pointer;
    transition: color 0.2s ease;
}
.remove-btn:hover {
    color: #ff0000;
}
