/* =========================================
   BD SHOP — LAYOUT, PRODUKTKARTEN, TOOLBAR
   FINAL (bereinigt, vollständig)
   ========================================= */

/* Mixed wine cases and confirmed availability requests. */
.bd-wine-box { padding-block: var(--space-xl); }
.bd-wine-box [hidden] { display: none !important; }
.bd-wine-box__intro { padding-bottom: var(--space-lg); }
body.page .bd-wine-box .bd-wine-box__intro h1 { font-size: var(--text-h2); margin-bottom: var(--space-sm); }
.bd-wine-box__intro p { margin-bottom: 0; }
.bd-wine-box__form { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: var(--space-xl); align-items: start; }
.bd-wine-box__size { grid-column: 1 / -1; border: 0; padding: 0; margin: 0; }
.bd-wine-box__size legend { font-size: var(--text-h3); font-weight: var(--weight-semibold); margin-bottom: var(--space-md); }
.bd-wine-box__size label { display: inline-flex; margin-right: var(--space-sm); cursor: pointer; }
.bd-wine-box__size input { position: absolute; opacity: 0; }
.bd-wine-box__size label span { display: inline-flex; align-items: center; min-height: var(--btn-height); padding: var(--space-sm) var(--space-lg); border: var(--input-border); border-radius: var(--radius-full); background: var(--color-white); color: var(--color-heading); }
.bd-wine-box__size input:checked + span { color: var(--color-white); background: var(--color-accent); border-color: var(--color-accent); }
.bd-wine-box__size input:focus-visible + span { outline: var(--focus-ring); outline-offset: var(--focus-offset); }
.bd-wine-box__size p { margin: var(--space-sm) 0 0; font-size: var(--text-sm); }
.bd-wine-box__browse { min-width: 0; }
.bd-wine-box__browse > h2, .bd-wine-box__summary h2 { font-size: var(--text-h3); margin: 0 0 var(--space-md); }
.bd-wine-box__filters { display: grid; gap: var(--space-sm); margin-bottom: var(--space-md); }
.bd-wine-box__filters label { font-size: var(--text-sm); }
.bd-wine-box__filters input { width: 100%; min-width: 0; }
.bd-wine-box__categories { display: flex; flex-wrap: wrap; gap: var(--space-sm); }
.bd-wine-box__categories button { min-height: var(--btn-height); border: var(--input-border); border-radius: var(--radius-full); padding: var(--space-sm) var(--space-md); background: var(--color-white); color: var(--color-heading); font: inherit; font-size: var(--text-sm); cursor: pointer; }
.bd-wine-box__categories button[aria-pressed="true"] { background: var(--color-accent); border-color: var(--color-accent); color: var(--color-white); }
.bd-wine-box__categories button:focus-visible, .bd-wine-box__selection button:focus-visible { outline: var(--focus-ring); outline-offset: var(--focus-offset); }
.bd-wine-box__filters p { margin: 0; font-size: var(--text-xs); }
.bd-wine-box__reset { color: var(--color-accent); background: transparent; border: 0; min-height: var(--btn-height); font: inherit; text-decoration: underline; cursor: pointer; }
.bd-wine-box__summary { padding: var(--space-lg); background: var(--shop-summary-bg-muted); border-radius: var(--radius-lg); display: grid; gap: var(--space-md); }
.bd-wine-box__summary h2 { margin-bottom: 0; scroll-margin-top: calc(var(--size-8) + var(--size-8) + var(--space-lg)); }
.bd-wine-box__summary p { margin: 0; font-size: var(--text-sm); }
.bd-wine-box__selection { list-style: none; padding: 0; margin: 0; font-size: var(--text-sm); }
.bd-wine-box__selection:empty { display: none; }
.bd-wine-box__selection li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-sm); align-items: center; border-bottom: var(--input-border); padding-block: var(--space-xs); }
.bd-wine-box__selection button { width: var(--btn-height); height: var(--btn-height); border: 0; background: transparent; color: var(--color-accent); font-size: var(--text-lg); cursor: pointer; }
.bd-wine-box__delivery { font-size: var(--text-sm); }
.bd-wine-box__delivery summary { cursor: pointer; min-height: var(--btn-height); }
.bd-wine-box__summary .btn:disabled { color: var(--color-heading); }
.bd-wine-box__totals { display: grid; gap: var(--space-sm); }
.bd-wine-box__totals progress { width: 100%; accent-color: var(--color-accent); }
.bd-wine-box__catalog { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-md); }
.bd-wine-box__wine { display: grid; grid-template-columns: var(--size-8) minmax(0, 1fr); gap: var(--space-sm); align-items: center; padding: var(--space-md); border-radius: var(--radius-lg); background: var(--shop-card-bg); box-shadow: var(--shadow-sm); }
.bd-wine-box__image img { width: 100%; height: calc(var(--size-8) + var(--size-8)); object-fit: contain; }
.bd-wine-box__wine h3 { font-size: var(--text-sm); margin: 0 0 var(--space-sm); line-height: var(--leading-snug); overflow-wrap: anywhere; }
.bd-wine-box__wine h3 a { color: var(--color-heading); text-decoration: none; }
.bd-wine-box__wine p { margin: 0 0 var(--space-sm); font-size: var(--text-sm); }
.bd-wine-box__unit { display: block; font-size: var(--text-xs); }
.bd-wine-box__quantity { display: inline-grid; grid-template-columns: repeat(3, var(--btn-height)); align-items: center; }
.bd-wine-box__quantity input { width: 100%; min-width: 0; text-align: center; height: var(--btn-height); padding: 0; border: 0; appearance: textfield; background: transparent; }
.bd-wine-box__quantity input::-webkit-inner-spin-button { appearance: none; }
.bd-wine-box__quantity button { width: var(--btn-height); height: var(--btn-height); border: 0; border-radius: var(--radius-full); background: var(--color-bg-light); color: var(--color-accent); font-size: var(--text-lg); cursor: pointer; }
.bd-wine-box__quantity button:hover { background: var(--color-accent); color: var(--color-white); }
.bd-wine-box__quantity button:disabled { color: var(--color-text); cursor: default; }
.bd-wine-box__quantity :focus-visible { outline: var(--focus-ring); outline-offset: var(--focus-offset); }
.bd-wine-box__mobile-summary { display: none; }
.bd-wine-alert { margin-top: var(--space-md); font-size: var(--text-sm); }
.bd-wine-alert > summary { cursor: pointer; color: var(--color-accent); min-height: var(--btn-height); display: flex; align-items: center; gap: var(--space-sm); }
.bd-wine-alert form { padding: var(--space-md); background: var(--color-bg-light); border-radius: var(--radius-lg); display: grid; gap: var(--space-md); }
.bd-wine-alert form > p { margin: 0; }
.bd-wine-alert label { display: grid; gap: var(--space-sm); }
.bd-wine-alert input[type="email"] { max-width: 100%; min-width: 0; }
.bd-wine-alert .bd-wine-alert__consent { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; }
.bd-wine-alert form button { justify-self: start; }
.bd-wine-alert-action { padding-block: var(--space-2xl); }
.bd-wine-alert-action h1 { overflow-wrap: anywhere; }
@media (min-width: 900px) { .bd-wine-box__summary { position: sticky; top: calc(var(--size-8) + var(--size-8) + var(--space-lg)); max-height: calc(100dvh - var(--size-8) - var(--size-8) - var(--space-2xl)); overflow: auto; } }
@media (max-width: 1100px) { .bd-wine-box__catalog { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 899px) { .bd-wine-box__form { grid-template-columns: minmax(0, 1fr); gap: var(--space-lg); } }
@media (max-width: 899px) {
    .bd-wine-box { padding-bottom: calc(var(--btn-height) + var(--space-2xl)); }
    .bd-wine-box__mobile-summary:not([hidden]) { position: fixed; z-index: var(--z-dropdown, 200); inset: auto 0 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-sm); padding: var(--space-sm) var(--space-md); padding-bottom: max(var(--space-sm), env(safe-area-inset-bottom)); background: var(--color-white); box-shadow: var(--shadow-lg); font-size: var(--text-sm); }
    .bd-wine-box__mobile-summary .btn { white-space: nowrap; }
}
@media (max-width: 899px) { .bd-wine-box__wine h3 { font-size: var(--text-lg); } }
@media (max-width: 380px) { .bd-wine-box__wine h3 { font-size: var(--text-sm); } }


/* ─────────────────────────────────────────
   WC CORE NEUTRALISIEREN
   ───────────────────────────────────────── */
.woocommerce ul.products,
.woocommerce-page ul.products {
    display: block !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce ul.products:empty { display: none !important; }


/* ─────────────────────────────────────────
   SHOP LAYOUT
   ───────────────────────────────────────── */
body.post-type-archive-product,
body.tax-product_cat,
body.tax-product_tag {
    overflow-x: hidden;
}

body.post-type-archive-product .site-content,
body.tax-product_cat .site-content,
body.tax-product_tag .site-content {
    overflow-x: hidden;
}

.post-type-archive-product .woocommerce-products-header__title.page-title,
.tax-product_cat .woocommerce-products-header__title.page-title,
.tax-product_tag .woocommerce-products-header__title.page-title {
    font-size: clamp(2.75rem, 4.7vw, 5.25rem);
    line-height: 1;
    letter-spacing: 0;
    margin-bottom: var(--space-xl);
    overflow-wrap: anywhere;
}

.bd-shop-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(280px, 0.92fr);
    gap: var(--space-2xl);
    align-items: center;
    margin: var(--space-lg) 0 var(--space-2xl);
    padding: clamp(1.25rem, 3vw, 2.5rem);
    border: 1px solid var(--color-border);
    border-radius: 8px;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--color-bg-light) 88%, #fff), #fff 58%),
        var(--color-bg);
    box-shadow: 0 18px 48px color-mix(in srgb, var(--color-heading) 8%, transparent);
}

.bd-shop-hero__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.bd-shop-hero .topline,
.bd-shop-section-head .topline {
    margin: 0 0 var(--space-sm);
    color: var(--color-primary);
}

.bd-shop-hero .woocommerce-products-header__title.page-title {
    margin-bottom: var(--space-md);
}

.bd-shop-hero__lead {
    max-width: 62ch;
    color: var(--color-text);
    font-size: var(--text-md);
    line-height: var(--line-relaxed);
}

.bd-shop-hero__lead > * {
    margin-top: 0;
}

.bd-shop-hero__lead > *:last-child {
    margin-bottom: 0;
}

.bd-shop-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    margin-top: var(--space-lg);
}

.bd-shop-hero__actions .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    min-height: 2.85rem;
    padding: .76rem 1.15rem;
    border: 1px solid var(--color-primary);
    border-radius: var(--radius-pill);
    background: var(--color-primary);
    color: var(--color-primary-text);
    font-size: var(--text-sm);
    font-weight: var(--weight-semibold);
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 10px 24px color-mix(in srgb, var(--color-primary) 20%, transparent);
}

.bd-shop-hero__actions .button:hover {
    background: var(--color-primary-hover);
    border-color: var(--color-primary-hover);
    color: var(--color-primary-text);
    opacity: 1;
    text-decoration: none;
    transform: translateY(-1px);
}

.bd-shop-hero__actions .button--secondary {
    background: var(--color-bg);
    border-color: var(--color-border);
    color: var(--color-heading);
    box-shadow: none;
}

.bd-shop-hero__actions .button--secondary:hover {
    background: var(--color-bg-light);
    border-color: var(--color-heading);
    color: var(--color-heading);
}

.bd-shop-hero__facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-sm);
    margin: var(--space-lg) 0 0;
}

.bd-shop-hero__facts div {
    min-width: 0;
    padding: .85rem;
    border: 1px solid color-mix(in srgb, var(--color-border) 76%, transparent);
    border-radius: 8px;
    background: color-mix(in srgb, var(--color-bg) 82%, transparent);
}

.bd-shop-hero__facts dt {
    margin: 0 0 .25rem;
    color: var(--color-muted);
    font-size: var(--text-xs);
    font-weight: var(--weight-semibold);
    text-transform: uppercase;
}

.bd-shop-hero__facts dd {
    margin: 0;
    color: var(--color-heading);
    font-size: var(--text-sm);
    font-weight: var(--weight-semibold);
    line-height: 1.25;
}

.bd-shop-hero__media {
    position: relative;
    display: grid;
    place-items: center;
    height: clamp(280px, 31vw, 390px);
    min-height: 0;
    overflow: hidden;
    border-radius: 8px;
    background:
        radial-gradient(circle at 50% 34%, color-mix(in srgb, var(--color-primary) 18%, transparent), transparent 42%),
        linear-gradient(180deg, #fff, var(--color-bg-light));
}

.bd-shop-hero__media::after {
    content: "";
    position: absolute;
    inset: auto 10% 9%;
    height: 14%;
    border-radius: 50%;
    background: color-mix(in srgb, var(--color-heading) 12%, transparent);
    filter: blur(18px);
}

.bd-shop-hero__image {
    position: relative;
    z-index: 1;
    width: min(82%, 340px);
    height: min(92%, 380px);
    object-fit: contain;
}

.bd-shop-hero__placeholder {
    display: inline-grid;
    place-items: center;
    width: 9rem;
    height: 9rem;
    border: 1px solid var(--color-border);
    border-radius: 50%;
    color: var(--color-primary);
    background: var(--color-bg);
    font-size: 3rem;
}

.bd-shop-category-nav,
.bd-shop-guidance {
    margin: var(--space-2xl) 0;
}

.bd-shop-section-head {
    max-width: 760px;
    margin-bottom: var(--space-lg);
}

.bd-shop-section-head h2 {
    margin: 0;
    color: var(--color-heading);
    font-size: clamp(1.5rem, 2.4vw, 2.25rem);
    line-height: 1.08;
}

.bd-shop-section-head p:not(.topline) {
    margin: var(--space-sm) 0 0;
    color: var(--color-muted);
    line-height: var(--line-relaxed);
}

.bd-shop-category-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-md);
}

.bd-shop-category-card {
    display: grid;
    grid-template-columns: 5.25rem minmax(0, 1fr);
    gap: var(--space-md);
    min-width: 0;
    min-height: 9.25rem;
    padding: var(--space-md);
    border: 1px solid var(--color-border);
    border-radius: 8px;
    background: var(--color-bg);
    color: var(--color-heading);
    text-decoration: none;
    transition: border-color var(--transition), box-shadow var(--transition), transform var(--transition);
}

.bd-shop-category-card:hover {
    border-color: color-mix(in srgb, var(--color-primary) 62%, var(--color-border));
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.bd-shop-category-card:focus-visible {
    outline: var(--focus-ring);
    outline-offset: var(--focus-offset);
}

.bd-shop-category-card__media {
    display: grid;
    place-items: center;
    width: 5.25rem;
    height: 5.25rem;
    overflow: hidden;
    border-radius: 8px;
    background: var(--color-bg-light);
    color: var(--color-primary);
    font-size: 1.8rem;
}

.bd-shop-category-card__image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: .45rem;
}

.bd-shop-category-card__body {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.bd-shop-category-card__title {
    color: var(--color-heading);
    font-size: var(--text-md);
    font-weight: var(--weight-semibold);
    line-height: 1.15;
}

.bd-shop-category-card__text {
    display: -webkit-box;
    margin-top: .45rem;
    overflow: hidden;
    color: var(--color-muted);
    font-size: var(--text-sm);
    line-height: 1.45;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.bd-shop-category-card__count {
    margin-top: auto;
    padding-top: var(--space-sm);
    color: var(--color-primary);
    font-size: var(--text-xs);
    font-weight: var(--weight-semibold);
}

.bd-shop-result {
    color: var(--color-muted);
    font-size: var(--text-sm);
}

.bd-shop-result .woocommerce-result-count {
    margin: 0;
}

.bd-shop-guidance {
    padding: clamp(1.25rem, 2.5vw, 2rem);
    border-radius: 8px;
    background: var(--color-bg-light);
}

.bd-shop-guidance__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-md);
}

.bd-shop-guidance__item {
    padding: var(--space-lg);
    border: 1px solid color-mix(in srgb, var(--color-border) 78%, transparent);
    border-radius: 8px;
    background: var(--color-bg);
}

.bd-shop-guidance__item h3 {
    margin: 0 0 var(--space-sm);
    color: var(--color-heading);
    font-size: var(--text-md);
    line-height: 1.18;
}

.bd-shop-guidance__item p {
    margin: 0;
    color: var(--color-muted);
    font-size: var(--text-sm);
    line-height: 1.55;
}

.bd-shop-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-2xl);
    align-items: start;
    margin-top: var(--space-lg);
    min-width: 0;
}

.bd-shop-sidebar,
.bd-shop-main {
    min-width: 0;
}

@media (min-width: 768px) {
    .bd-shop-layout {
        grid-template-columns: 240px 1fr;
        gap: var(--space-3xl);
    }
}

@media (min-width: 1024px) {
    .bd-shop-layout {
        grid-template-columns: 260px 1fr;
    }
}

@media (max-width: 1180px) {
    .bd-shop-hero {
        grid-template-columns: minmax(0, 1fr) minmax(240px, 0.74fr);
        gap: var(--space-xl);
    }

    .bd-shop-category-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .bd-shop-hero {
        grid-template-columns: 1fr;
    }

    .bd-shop-hero__media {
        height: 260px;
        min-height: 260px;
    }

    .bd-shop-hero__image {
        height: 250px;
    }

    .bd-shop-guidance__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .bd-shop-hero {
        margin-top: var(--space-md);
        padding: var(--space-md);
    }

    .bd-shop-hero .woocommerce-products-header__title.page-title {
        font-size: clamp(2.35rem, 15vw, 3.4rem);
    }

    .bd-shop-hero__lead {
        font-size: var(--text-base);
    }

    .bd-shop-hero__actions,
    .bd-shop-hero__actions .button {
        width: 100%;
    }

    .bd-shop-hero__facts,
    .bd-shop-category-grid {
        grid-template-columns: 1fr;
    }

    .bd-shop-hero__media {
        height: 220px;
        min-height: 220px;
    }

    .bd-shop-hero__image {
        height: 220px;
    }

    .bd-shop-category-nav,
    .bd-shop-guidance {
        margin: var(--space-xl) 0;
    }

    .bd-shop-category-card {
        grid-template-columns: 4.5rem minmax(0, 1fr);
        min-height: 8rem;
        padding: var(--space-sm);
    }

    .bd-shop-category-card__media {
        width: 4.5rem;
        height: 4.5rem;
    }

    .bd-shop-guidance {
        padding: var(--space-md);
    }

    .bd-shop-guidance__item {
        padding: var(--space-md);
    }
}

.bd-shop-sidebar {
    position: sticky;
    top: calc(var(--header-height) + var(--space-lg));
}

@media (max-width: 767px) {
    .bd-shop-sidebar {
        position: static;
    }
}


/* ─────────────────────────────────────────
   TOOLBAR
   ───────────────────────────────────────── */
.bd-shop-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--space-sm);
    margin-bottom: var(--space-lg);
    min-height: 2.25rem;
}

.bd-toolbar-left {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-xs);
    flex: 1;
}

.bd-toolbar-right {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.bd-active-chips {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-xs);
}

.bd-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 0.28rem 0.6rem;
    background: var(--color-bg);
    color: var(--color-heading);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-pill);
    font-size: var(--text-xs);
    font-weight: var(--weight-medium);
    text-decoration: none;
    line-height: 1;
    transition: border-color var(--transition), background var(--transition);
}

.bd-chip:hover {
    border-color: var(--color-heading);
    background: var(--color-bg-light);
}

.bd-chip-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.bd-chip-reset {
    font-size: var(--text-xs);
    text-decoration: underline;
    cursor: pointer;
}

.bd-toolbar-right .woocommerce-ordering select {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-pill);
    padding: 0.35rem 2rem 0.35rem var(--space-md);
    font-size: var(--text-sm);
    background: var(--color-bg);
}

.bd-toolbar-right .woocommerce-result-count {
    display: none;
}

.bd-shop-main.is-loading [data-bd-shop-results] {
    opacity: .48;
    pointer-events: none;
    transition: opacity var(--transition);
}

.bd-shop-main.is-loading [data-bd-shop-results]::before {
    content: "";
    position: sticky;
    top: calc(var(--header-height, 80px) + var(--space-md));
    z-index: 2;
    display: block;
    width: 2rem;
    height: 2rem;
    margin: 0 auto -2rem;
    border: 2px solid color-mix(in srgb, var(--color-primary) 24%, transparent);
    border-top-color: var(--color-primary);
    border-radius: 999px;
    animation: bd-filter-spin .7s linear infinite;
}

@keyframes bd-filter-spin {
    to {
        transform: rotate(360deg);
    }
}


/* ─────────────────────────────────────────
   GRID
   ───────────────────────────────────────── */
.bd-product-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-lg);
    min-width: 0;
}

@media (max-width: 1100px) {
    .bd-product-grid { grid-template-columns: repeat(2, 1fr); }

    .bd-shop-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 600px) {
    .bd-product-grid { grid-template-columns: 1fr; }

    .bd-shop-category-grid {
        grid-template-columns: 1fr;
    }

    .bd-shop-hero__media {
        display: none;
    }
}


/* ─────────────────────────────────────────
   CARD
   ───────────────────────────────────────── */
.bd-product-card {
    background: var(--color-bg);
    border-radius: var(--radius-lg);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow var(--transition), transform var(--transition);
    min-width: 0;
}

.bd-product-card:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}


/* IMAGE */
.bd-product-card__image-wrap {
    position: relative;
    overflow: hidden;
    background: var(--color-bg-light);
    aspect-ratio: 1 / 1;
}

.bd-product-card__image-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-width: 0;
}

.bd-product-card__image-link img {
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    object-fit: contain;
}


/* ─────────────────────────────────────────
   BODY (NEUES LAYOUT)
   ───────────────────────────────────────── */
.bd-product-card__body {
    padding: var(--space-md);
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 0.25rem;
}


/* TITLE ROW */
.bd-product-card__title-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: var(--space-sm);
}

.bd-product-card__title {
    margin: 0;
    font-size: var(--text-sm);
    font-weight: var(--weight-semibold);
    color: var(--color-heading);
}

.bd-product-card__price {
    flex-shrink: 0;
    font-size: var(--text-sm);
    font-weight: var(--weight-semibold);
    white-space: nowrap;
}


/* VARIANT */
.bd-product-card__variant {
    margin: 0;
    font-size: var(--text-xs);
    font-style: italic;
    color: var(--color-muted);
}


/* META ROW */
.bd-product-card__meta-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-sm);
}

.bd-product-card__meta {
    font-size: var(--text-xs);
    color: var(--color-muted);
}


/* COLORS (einzige gültige Version) */
.bd-product-card__colors {
    display: flex;
    gap: 4px;
    flex-shrink: 0;
}

.bd-color-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    box-shadow: 0 0 0 1px rgba(0,0,0,0.12);
}


/* ─────────────────────────────────────────
   CTA
   ───────────────────────────────────────── */
.bd-product-card .bd-product-card__image-wrap .bd-product-card__cta {
    position: absolute;
    bottom: var(--space-md);
    left: var(--space-lg);
    right: var(--space-lg);
    margin: 0 !important;

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

    background: var(--color-primary);
    color: var(--color-primary-text);
    border-radius: var(--radius-pill);
    padding: 0.7rem var(--space-lg);
    font-size: var(--text-sm);
    font-weight: var(--weight-semibold);

    opacity: 0;
    transform: translateY(8px);
    transition: var(--transition);
}

.bd-product-card:hover .bd-product-card__cta {
    opacity: 1;
    transform: translateY(0);
}

@media (hover: none) {
    .bd-product-card__cta {
        opacity: 1;
        transform: none;
    }
}


/* ─────────────────────────────────────────
   ALTEN FOOTER ABSCHALTEN
   ───────────────────────────────────────── */
.bd-product-card__footer,
.bd-product-card__footer-top {
    display: none !important;
}


/* PAGINATION */
.bd-shop-main .woocommerce-pagination {
    margin-top: var(--space-2xl);
    display: flex;
    justify-content: center;
}

.bd-shop-main .woocommerce-pagination ul.page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: var(--space-xs);
    margin: 0;
    padding: 0;
    border: 0;
    list-style: none;
}

.bd-shop-main .woocommerce-pagination ul.page-numbers li {
    margin: 0;
    padding: 0;
    border: 0;
    list-style: none;
}

.bd-shop-main .woocommerce-pagination ul.page-numbers li a.page-numbers,
.bd-shop-main .woocommerce-pagination ul.page-numbers li span.page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    height: 2.5rem;
    padding: 0 var(--space-sm);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-pill);
    background: var(--color-bg);
    color: var(--color-heading);
    font-size: var(--text-sm);
    font-weight: var(--weight-medium);
    line-height: 1;
    text-decoration: none;
    transition: background var(--transition), border-color var(--transition), color var(--transition), transform var(--transition);
}

.bd-shop-main .woocommerce-pagination ul.page-numbers li a.page-numbers:hover {
    opacity: 1;
    border-color: var(--color-heading);
    background: var(--color-bg-alt);
    color: var(--color-heading);
    transform: translateY(-1px);
}

.bd-shop-main .woocommerce-pagination ul.page-numbers li a.page-numbers:focus-visible {
    outline: var(--focus-ring);
    outline-offset: var(--focus-offset);
}

.bd-shop-main .woocommerce-pagination ul.page-numbers li span.page-numbers.current {
    border-color: var(--color-heading);
    background: var(--color-heading);
    color: var(--color-bg);
}

.bd-shop-main .woocommerce-pagination ul.page-numbers li a.prev,
.bd-shop-main .woocommerce-pagination ul.page-numbers li a.next {
    padding-inline: var(--space-md);
}


/* ─────────────────────────────────────────
   QUANTITY STEPPER — globale Komponente
   .quantity > [bd-injected −] > input.qty > [bd-injected +]
   Wird auf Single-Product, Cart, Mini-Cart benutzt.
   ───────────────────────────────────────── */
.bd-qty-stepper,
.quantity.bd-qty-stepper {
    display: inline-flex;
    align-items: center;
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-pill);
    padding: 0.25rem;
    gap: 0;
    overflow: hidden;
}

.bd-qty-stepper input.qty,
.bd-qty-stepper input[type="number"] {
    width: 36px;
    padding: 0.3rem 0.2rem;
    border: none;
    background: transparent;
    text-align: center;
    font-family: var(--font-base);
    font-size: var(--text-sm);
    font-weight: var(--weight-semibold);
    color: var(--color-heading);
    -moz-appearance: textfield;
    appearance: textfield;
    line-height: 1;
}

/* Native Spinner-Buttons aus */
.bd-qty-stepper input::-webkit-outer-spin-button,
.bd-qty-stepper input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.bd-qty-stepper input:focus-visible {
    outline: none;
}

.bd-qty-stepper:focus-within {
    border-color: var(--color-heading);
}

/* +/− Buttons */
.bd-qty-stepper__btn {
    width: 28px;
    height: 28px;
    padding: 0;
    border: none;
    background: transparent;
    color: var(--color-muted);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 0.85rem;
    line-height: 1;
    transition: var(--transition);
    flex-shrink: 0;
}

.bd-qty-stepper__btn:hover {
    background: var(--color-bg-light);
    color: var(--color-heading);
}

.bd-qty-stepper__btn:active {
    background: var(--color-bg-alt);
    transform: scale(0.95);
}

.bd-qty-stepper__btn:disabled {
    opacity: 0.35;
    cursor: not-allowed;
    background: transparent;
    color: var(--color-muted);
    transform: none;
}

.bd-qty-stepper__btn:focus-visible {
    outline: var(--focus-ring);
    outline-offset: -2px;
}

.bd-qty-stepper__btn i {
    font-size: 0.8rem;
}

/* WC fügt manchmal eine screen-reader-text label hinzu — verstecken */
.bd-qty-stepper > label.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}


.bd-product-card__image-wrap {
    position: relative;
}

.bd-product-card__image-wrap .bd-wishlist-button {
    position: absolute;
    top: 0.85rem;
    right: 0.85rem;
    z-index: 5;
}


/* ─────────────────────────────────────────
   SHOP ARCHIVE POLISH
   Filter desktop as sidebar, mobile as compact details panel.
   ───────────────────────────────────────── */
.bd-shop-filter-panel {
    margin: 0;
}

.bd-shop-filter-summary {
    display: none;
}

.bd-shop-filter-body {
    min-width: 0;
}

.bd-shop-mobile-filter {
    display: none;
}

@media (min-width: 768px) {
    .bd-shop-filter-panel:not([open]) > .bd-shop-filter-body {
        display: block;
    }
}

@media (max-width: 767px) {
    .bd-shop-layout {
        gap: var(--space-md);
        margin-top: var(--space-md);
    }

    .bd-shop-sidebar {
        width: 100%;
    }

    .bd-shop-sidebar--desktop {
        display: none;
    }

    .bd-shop-mobile-filter {
        display: block;
    }

    .bd-shop-filter-panel {
        border: 1px solid var(--color-border);
        border-radius: 8px;
        background: var(--color-bg);
        overflow: clip;
    }

    .bd-shop-filter-summary {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 3.15rem;
        padding: 0 var(--space-md);
        color: var(--color-heading);
        cursor: pointer;
        font-size: var(--text-sm);
        font-weight: var(--weight-semibold);
        list-style: none;
    }

    .bd-shop-filter-summary::-webkit-details-marker {
        display: none;
    }

    .bd-shop-filter-summary__label {
        display: inline-flex;
        align-items: center;
        gap: .55rem;
    }

    .bd-shop-filter-summary__label i {
        color: var(--color-primary);
    }

    .bd-shop-filter-summary__state {
        display: inline-grid;
        place-items: center;
        width: 1.9rem;
        height: 1.9rem;
        border-radius: 999px;
        background: var(--color-bg-light);
        color: var(--color-primary);
        font-size: 1.15rem;
        line-height: 1;
    }

    .bd-shop-filter-summary__state::before {
        content: "+";
    }

    .bd-shop-filter-panel[open] .bd-shop-filter-summary__state::before {
        content: "-";
    }

    .bd-shop-filter-body {
        padding: var(--space-md);
        border-top: 1px solid var(--color-border);
    }

    .bd-shop-toolbar {
        align-items: stretch;
        margin-bottom: var(--space-md);
    }

    .bd-toolbar-left:empty {
        display: none;
    }

    .bd-toolbar-right,
    .bd-toolbar-right .woocommerce-ordering,
    .bd-toolbar-right .woocommerce-ordering select {
        width: 100%;
    }

    .bd-toolbar-right .woocommerce-ordering select {
        min-height: 3rem;
        border-radius: 8px;
    }

    .bd-product-grid {
        gap: var(--space-md);
    }

    .bd-product-card {
        border: 1px solid var(--color-border);
        border-radius: 8px;
        box-shadow: 0 14px 36px color-mix(in srgb, var(--color-heading) 7%, transparent);
    }

    .bd-product-card__body {
        padding: 1.15rem;
    }
}


/* ─────────────────────────────────────────
   SHOP ARCHIVE FINAL POLISH
   Product images stay square and complete; badges/hover CTAs stay calm.
   ───────────────────────────────────────── */
.bd-shop-hero__media {
    aspect-ratio: 1 / 1;
    height: auto;
    max-height: 390px;
}

.bd-shop-hero__image {
    width: min(86%, 340px);
    height: min(86%, 340px);
    object-fit: contain;
    object-position: center;
}

.bd-shop-category-card__media {
    position: relative;
    aspect-ratio: 1 / 1;
}

.bd-shop-category-card__media > img.bd-shop-category-card__image,
.bd-product-card__image-link img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    box-sizing: border-box;
    object-fit: contain;
    object-position: center;
}

.bd-shop-category-card__media > img.bd-shop-category-card__image {
    position: absolute;
    inset: 0;
    padding: .6rem;
}


/* ─────────────────────────────────────────
   THEME PRODUCT FILTER
   ───────────────────────────────────────── */
.bd-product-filter {
    width: 100%;
    min-width: 0;
    color: var(--color-heading);
    font-size: var(--text-sm);
}

.bd-shop-sidebar--desktop .bd-product-filter {
    padding: var(--space-md);
    border: 1px solid var(--color-border);
    border-radius: 8px;
    background: var(--color-bg);
}

.bd-filter-form {
    display: grid;
    gap: 0;
}

.bd-filter-section {
    border-bottom: 1px solid color-mix(in srgb, var(--color-border) 82%, transparent);
}

.bd-filter-section:last-of-type {
    border-bottom: 0;
}

.bd-filter-section__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-sm);
    min-height: 3rem;
    padding: .72rem 0;
    color: var(--color-heading);
    cursor: pointer;
    font-weight: var(--weight-semibold);
    list-style: none;
}

.bd-filter-section__summary::-webkit-details-marker {
    display: none;
}

.bd-filter-section__summary span {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    min-width: 0;
}

.bd-filter-section__summary i:first-child {
    color: var(--color-primary);
}

.bd-filter-section__summary > i {
    color: var(--color-muted);
    font-size: .85rem;
    transition: transform var(--transition);
}

.bd-filter-section[open] .bd-filter-section__summary > i {
    transform: rotate(180deg);
}

.bd-filter-section__body {
    display: grid;
    gap: .18rem;
    padding: 0 0 var(--space-md);
}

.bd-filter-option {
    display: grid;
    grid-template-columns: 1rem minmax(0, 1fr) auto;
    align-items: center;
    gap: .65rem;
    min-height: 2.15rem;
    color: var(--color-text);
    cursor: pointer;
}

.bd-filter-option input {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.bd-filter-option__box {
    display: inline-grid;
    place-items: center;
    width: 1rem;
    height: 1rem;
    border: 1.5px solid var(--color-border);
    border-radius: 4px;
    background: var(--color-bg);
    transition: background var(--transition), border-color var(--transition), box-shadow var(--transition);
}

.bd-filter-option input:checked + .bd-filter-option__box {
    border-color: var(--color-primary);
    background: var(--color-primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 14%, transparent);
}

.bd-filter-option input:focus-visible + .bd-filter-option__box {
    outline: 2px solid var(--color-primary);
    outline-offset: 3px;
}

.bd-filter-option input:checked + .bd-filter-option__box::after {
    content: "";
    width: .48rem;
    height: .27rem;
    border-bottom: 2px solid var(--color-primary-text);
    border-left: 2px solid var(--color-primary-text);
    transform: rotate(-45deg) translateY(-1px);
}

.bd-filter-option__label {
    min-width: 0;
    overflow-wrap: anywhere;
    line-height: 1.28;
}

.bd-filter-option:hover .bd-filter-option__label,
.bd-filter-option input:checked ~ .bd-filter-option__label {
    color: var(--color-heading);
}

.bd-filter-option__count {
    color: var(--color-muted);
    font-size: var(--text-xs);
}

.bd-price-range {
    padding: .35rem 0 .1rem;
}

.bd-price-range__track {
    position: relative;
    height: 1.25rem;
    margin: .55rem 0 .65rem;
}

.bd-price-range__track::before,
.bd-price-range__fill {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    height: 4px;
    border-radius: 999px;
    transform: translateY(-50%);
}

.bd-price-range__track::before {
    background: var(--color-border);
}

.bd-price-range__fill {
    background: var(--color-primary);
}

.bd-price-range__input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 1.25rem;
    margin: 0;
    background: transparent;
    pointer-events: none;
    appearance: none;
    -webkit-appearance: none;
}

.bd-price-range__input::-webkit-slider-thumb {
    width: 1.05rem;
    height: 1.05rem;
    border: 2px solid var(--color-primary);
    border-radius: 999px;
    background: var(--color-bg);
    box-shadow: var(--shadow-sm);
    cursor: pointer;
    pointer-events: auto;
    -webkit-appearance: none;
}

.bd-price-range__input::-moz-range-thumb {
    width: 1.05rem;
    height: 1.05rem;
    border: 2px solid var(--color-primary);
    border-radius: 999px;
    background: var(--color-bg);
    box-shadow: var(--shadow-sm);
    cursor: pointer;
    pointer-events: auto;
}

.bd-price-range__values {
    display: flex;
    justify-content: space-between;
    gap: var(--space-sm);
    color: var(--color-muted);
    font-size: var(--text-xs);
}

.bd-filter-toggle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    min-height: 2.5rem;
    cursor: pointer;
}

.bd-filter-toggle-row input {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.bd-filter-toggle-row__text {
    color: var(--color-text);
    line-height: 1.3;
}

.bd-filter-toggle-row__track {
    position: relative;
    flex: 0 0 auto;
    width: 2.55rem;
    height: 1.35rem;
    border-radius: 999px;
    background: var(--color-border);
    transition: background var(--transition);
}

.bd-filter-toggle-row__track span {
    position: absolute;
    top: .18rem;
    left: .18rem;
    width: .99rem;
    height: .99rem;
    border-radius: 999px;
    background: var(--color-bg);
    box-shadow: var(--shadow-sm);
    transition: transform var(--transition);
}

.bd-filter-toggle-row input:checked + .bd-filter-toggle-row__track {
    background: var(--color-primary);
}

.bd-filter-toggle-row input:checked + .bd-filter-toggle-row__track span {
    transform: translateX(1.2rem);
}

.bd-filter-toggle-row input:focus-visible + .bd-filter-toggle-row__track {
    outline: 2px solid var(--color-primary);
    outline-offset: 3px;
}

.bd-filter-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-sm);
    padding-top: var(--space-md);
}

.bd-filter-actions .button {
    min-height: 2.55rem;
    padding-inline: var(--space-md);
}

.bd-filter-reset {
    color: var(--color-primary);
    font-size: var(--text-xs);
    font-weight: var(--weight-medium);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.bd-filter-reset:hover {
    color: var(--color-primary-hover);
    opacity: 1;
}

@media (max-width: 767px) {
    .bd-shop-filter-body .bd-product-filter {
        padding: 0;
        border: 0;
        background: transparent;
    }

    .bd-filter-section__summary {
        min-height: 3.15rem;
    }

    .bd-filter-actions {
        align-items: stretch;
    }

    .bd-filter-actions .button {
        width: 100%;
    }
}

.bd-product-card__image-wrap {
    border-radius: 8px;
}

.bd-product-card__image-link {
    background:
        radial-gradient(circle at 50% 42%, rgba(255,255,255,.95) 0 24%, rgba(255,255,255,0) 58%),
        var(--color-bg-light);
}

.bd-product-card__image-link img {
    padding: clamp(.85rem, 2.4vw, 1.45rem);
    transition: transform var(--transition);
}

.bd-product-card:hover .bd-product-card__image-link img {
    transform: scale(1.015);
}

.bd-product-card__badges {
    position: absolute;
    top: 22px;
    left: 22px;
    z-index: 6;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    pointer-events: none;
}

.bd-product-card__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 3.45rem;
    height: 3.45rem;
    padding-inline: .55rem;
    border-radius: 999px;
    background: var(--color-bg-alt);
    color: var(--color-red-500);
    box-shadow: 0 10px 24px color-mix(in srgb, var(--color-heading) 9%, transparent);
    font-size: .72rem;
    font-weight: var(--weight-bold);
    letter-spacing: .02em;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

.bd-product-card__badge i {
    font-size: 18px;
    line-height: 1;
}

.bd-product-card__badge > span {
    line-height: 1;
}

.bd-product-card__badge--offer {
    color: var(--color-red-500);
}

.bd-product-card__badge--alcoholfree {
    color: var(--color-heading);
}

.bd-product-card__badge--bio,
.bd-product-card__badge--vegan {
    width: 64px;
    min-width: 64px;
    height: 64px;
    padding: 0;
    flex-direction: column;
    gap: 2px;
    border: 1px solid transparent;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .04em;
    box-shadow: 0 8px 22px rgba(28, 39, 18, 0.08);
}

.bd-product-card__badge--bio {
    background: #eef3df;
    color: #486323;
}

.bd-product-card__badge--vegan {
    background: #ffffff;
    color: var(--color-green-700);
    border-color: #d8e3c4;
}

.bd-product-card .bd-product-card__image-wrap .bd-product-card__cta {
    left: .85rem;
    right: .85rem;
    bottom: .85rem;
    min-height: 2.75rem;
    padding: .7rem .95rem;
    border: 1px solid var(--color-primary);
    border-radius: 0;
    background: var(--color-primary);
    color: var(--color-primary-text);
    box-shadow: 0 14px 30px color-mix(in srgb, var(--color-primary) 24%, transparent);
    font-size: var(--text-sm);
    line-height: 1.15;
    opacity: 0;
    transform: none;
}

.bd-product-card:hover .bd-product-card__cta,
.bd-product-card:focus-within .bd-product-card__cta,
.bd-product-card__image-wrap:hover .bd-product-card__cta,
.bd-product-card__cta:focus-visible {
    opacity: 1;
    transform: none;
}

.bd-product-card .bd-product-card__image-wrap .bd-product-card__cta:hover {
    border-color: var(--color-primary-hover);
    background: var(--color-primary-hover);
    color: var(--color-primary-text);
    opacity: 1;
    transform: none;
}

@media (hover: none) {
    .bd-product-card .bd-product-card__image-wrap .bd-product-card__cta {
        opacity: 1;
        transform: none;
    }
}

@media (max-width: 900px) {
    .bd-shop-hero__media {
        display: grid;
        max-height: 300px;
    }

    .bd-shop-hero__image {
        width: min(78%, 250px);
        height: min(78%, 250px);
    }
}

@media (max-width: 767px) {
    .bd-shop-hero__media {
        max-height: 240px;
    }

    .bd-shop-hero__image {
        width: min(76%, 210px);
        height: min(76%, 210px);
    }

    .bd-product-card__badge {
        min-width: 3rem;
        height: 3rem;
        font-size: .66rem;
    }

    .bd-product-card__badge--bio,
    .bd-product-card__badge--vegan {
        width: 52px;
        min-width: 52px;
        height: 52px;
        font-size: 11px;
    }

    .bd-product-card__badge--bio i,
    .bd-product-card__badge--vegan i {
        font-size: 14px;
    }

    .bd-product-card .bd-product-card__image-wrap .bd-product-card__cta {
        opacity: 1;
        transform: none;
    }
}


/* ─────────────────────────────────────────
   SHOP ARCHIVE TOP: BREADCRUMBS + HERO
   The archive entry should feel like a Jana page section, not a boxed plugin card.
   ───────────────────────────────────────── */
.post-type-archive-product .woocommerce-breadcrumb,
.tax-product_cat .woocommerce-breadcrumb,
.tax-product_tag .woocommerce-breadcrumb,
.bd-shop-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem;
    width: fit-content;
    max-width: 100%;
    margin: clamp(1rem, 2vw, 1.5rem) 0 clamp(.9rem, 1.8vw, 1.25rem);
    padding: .45rem .65rem;
    border: 1px solid var(--color-border);
    border-radius: 999px;
    background: color-mix(in srgb, var(--color-bg) 92%, transparent);
    color: var(--color-muted);
    font-size: .86rem;
    line-height: 1.2;
    box-shadow: 0 8px 22px color-mix(in srgb, var(--color-heading) 4%, transparent);
}

.post-type-archive-product .woocommerce-breadcrumb a,
.tax-product_cat .woocommerce-breadcrumb a,
.tax-product_tag .woocommerce-breadcrumb a,
.bd-shop-breadcrumbs a {
    display: inline-flex;
    align-items: center;
    min-height: 1.55rem;
    padding: .12rem .35rem;
    border-radius: 999px;
    color: var(--color-text);
    font-weight: var(--weight-medium);
    text-decoration: none;
    transition:
        background-color var(--transition),
        color var(--transition);
}

.post-type-archive-product .woocommerce-breadcrumb a:hover,
.tax-product_cat .woocommerce-breadcrumb a:hover,
.tax-product_tag .woocommerce-breadcrumb a:hover,
.bd-shop-breadcrumbs a:hover,
.bd-shop-breadcrumbs a:focus-visible {
    background: color-mix(in srgb, var(--color-red-500) 10%, transparent);
    color: var(--color-red-500);
    opacity: 1;
}

.bd-shop-breadcrumbs__sep {
    display: inline-flex;
    align-items: center;
    color: color-mix(in srgb, var(--color-muted) 62%, transparent);
    font-size: .82em;
}

.bd-shop-hero {
    grid-template-columns: minmax(0, .98fr) minmax(22rem, .82fr);
    gap: 0;
    align-items: stretch;
    margin: 0 0 clamp(2rem, 4vw, 3.75rem);
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: var(--color-bg-light);
    box-shadow: none;
}

.bd-shop-hero__content {
    justify-content: center;
    min-height: clamp(390px, 35vw, 520px);
    padding: clamp(2.25rem, 4.6vw, 4.25rem);
    background: var(--color-bg-light);
}

.bd-shop-hero .topline {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-bottom: clamp(.85rem, 1.4vw, 1.1rem);
    padding-bottom: .48rem;
    color: var(--color-red-500);
    font-size: .82rem;
    font-weight: var(--weight-semibold);
    letter-spacing: .14em;
    text-transform: uppercase;
}

.bd-shop-hero .topline::after {
    display: block;
    width: 3.5rem;
    height: 2px;
    margin-left: .85rem;
    background: var(--color-red-500);
    content: "";
}

.post-type-archive-product .bd-shop-hero .woocommerce-products-header__title.page-title,
.tax-product_cat .bd-shop-hero .woocommerce-products-header__title.page-title,
.tax-product_tag .bd-shop-hero .woocommerce-products-header__title.page-title,
.bd-shop-hero .woocommerce-products-header__title.page-title {
    max-width: 10.5ch;
    margin: 0 0 clamp(1rem, 1.9vw, 1.35rem);
    color: var(--color-heading);
    font-size: clamp(2.75rem, 5.5vw, 5.1rem);
    line-height: .95;
    letter-spacing: 0;
    overflow-wrap: normal;
}

.bd-shop-hero__lead {
    max-width: 58ch;
    color: var(--color-text);
    font-size: clamp(1rem, 1.15vw, 1.16rem);
}

.bd-shop-hero__actions {
    margin-top: clamp(1.3rem, 2vw, 1.8rem);
}

.bd-shop-hero__actions .button {
    min-height: 3rem;
    padding-inline: 1.35rem;
    border-color: var(--color-red-500);
    border-radius: 0;
    background: var(--color-red-500);
    color: #fff;
    box-shadow: none;
}

.bd-shop-hero__actions .button:hover,
.bd-shop-hero__actions .button:focus-visible {
    border-color: var(--color-heading);
    background: var(--color-heading);
    color: #fff;
}

.bd-shop-hero__actions .button--secondary {
    border-color: var(--color-border);
    background: transparent;
    color: var(--color-heading);
}

.bd-shop-hero__actions .button--secondary:hover,
.bd-shop-hero__actions .button--secondary:focus-visible {
    border-color: var(--color-red-500);
    background: var(--color-red-500);
    color: #fff;
}

.bd-shop-hero__facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
    max-width: 43rem;
    margin-top: clamp(1.4rem, 2.5vw, 2rem);
}

.bd-shop-hero__facts div {
    padding: .88rem .95rem;
    border-color: var(--color-border);
    border-radius: 0;
    background: color-mix(in srgb, var(--color-bg) 82%, transparent);
}

.bd-shop-hero__facts dt {
    color: var(--color-muted);
    font-size: .72rem;
    letter-spacing: .08em;
}

.bd-shop-hero__facts dd {
    font-size: .98rem;
}

.bd-shop-hero__media {
    min-height: clamp(390px, 35vw, 520px);
    height: auto;
    max-height: none;
    aspect-ratio: auto;
    border-radius: 0;
    background:
        radial-gradient(circle at 54% 58%, rgba(173, 17, 42, .11), transparent 34%),
        linear-gradient(135deg, #fff 0%, var(--color-bg-light) 62%, color-mix(in srgb, var(--color-red-500) 8%, var(--color-bg-light)) 100%);
}

.bd-shop-hero__media::before {
    position: absolute;
    inset: clamp(2rem, 5vw, 5rem);
    border: 1px solid color-mix(in srgb, var(--color-red-500) 14%, transparent);
    content: "";
}

.bd-shop-hero__media::after {
    inset: auto 20% 12%;
    height: 10%;
    background: color-mix(in srgb, var(--color-heading) 10%, transparent);
    filter: blur(24px);
}

.bd-shop-hero__image {
    width: min(72%, 27rem);
    height: min(80%, 31rem);
    object-fit: contain;
    object-position: center;
}

.bd-shop-hero__placeholder {
    border-radius: 0;
}

@media (min-width: 901px) {
    .bd-shop-hero {
        height: clamp(560px, 42vw, 640px);
    }

    .bd-shop-hero__content,
    .bd-shop-hero__media {
        height: 100%;
        min-height: 0;
    }
}

@media (max-width: 1180px) {
    .bd-shop-hero {
        grid-template-columns: minmax(0, 1fr) minmax(18rem, .72fr);
    }

    .bd-shop-hero__content {
        padding: clamp(2rem, 4.5vw, 4rem);
    }
}

@media (max-width: 900px) {
    .bd-shop-hero {
        grid-template-columns: 1fr;
    }

    .bd-shop-hero__content {
        min-height: 0;
    }

    .bd-shop-hero__media {
        min-height: clamp(290px, 54vw, 390px);
        max-height: none;
    }

    .bd-shop-hero__image {
        width: min(60%, 21rem);
        height: min(72%, 24rem);
    }
}

@media (max-width: 767px) {
    .post-type-archive-product .woocommerce-breadcrumb,
    .tax-product_cat .woocommerce-breadcrumb,
    .tax-product_tag .woocommerce-breadcrumb,
    .bd-shop-breadcrumbs {
        width: 100%;
        margin-top: .85rem;
        padding: .55rem .7rem;
        border-radius: 0;
        overflow-x: auto;
        flex-wrap: nowrap;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
    }

    .bd-shop-hero__content {
        padding: clamp(2rem, 10vw, 3rem) var(--container-padding-mobile);
    }

    .bd-shop-hero .woocommerce-products-header__title.page-title {
        max-width: 9.5ch;
        font-size: clamp(2.45rem, 13vw, 3.65rem);
    }

    .bd-shop-hero__facts {
        grid-template-columns: 1fr;
    }

    .bd-shop-hero__media {
        min-height: 18rem;
    }

    .bd-shop-hero__image {
        width: min(58%, 15rem);
        height: min(74%, 16rem);
    }
}

/* WooCommerce fuegt nach AJAX-Adds automatisch einen zweiten
   "Warenkorb anzeigen"-Link neben den Button. In der Produktkarte
   zerlegt dieser Link das Bild-/CTA-Layout; die Rueckmeldung kommt
   stattdessen ueber den Toast. */
.bd-product-card .added_to_cart.wc-forward {
    display: none !important;
}
