/* Premium Deluxe — page styles (isolated copy from shop-app + default theme.css, scoped to .pd-body) */


.shop-header-search {
    max-width: 36rem;
    flex: 1 1 10rem;
    min-width: 5rem;
}


.shop-account-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    max-width: 100%;
}


.shop-account-toggle__label {
    min-width: 0;
    flex: 0 1 auto;
    max-width: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: start;
    line-height: 1.2;
}


.shop-account-avatar {
    width: 1.45rem;
    height: 1.45rem;
    border: 1px solid rgba(255, 255, 255, 0.65);
    border-radius: 999px;
    object-fit: cover;
    background: rgba(255, 255, 255, 0.18);
}


@media (min-width: 1200px) {
    .shop-header-search {
        flex: 2 1 22rem !important;
        max-width: min(42rem, 48vw);
    }
}


@media (max-width: 1199.98px) {
    .shop-header-search {
        max-width: 100%;
    }
}


[data-bs-theme="dark"] .shop-navbar .shop-header-search .input-group-text,
[data-bs-theme="dark"] .shop-navbar .shop-header-search .form-control {
    color: #cbd5e1;
    background-color: #0b1220;
    border-color: rgba(148, 163, 184, 0.28);
}


[data-bs-theme="dark"] .shop-navbar .shop-header-search .form-control::placeholder {
    color: #7b8798;
    opacity: 1;
}


[data-bs-theme="dark"] .shop-navbar .shop-header-search .form-control:focus {
    color: #e2e8f0;
    background-color: #0f172a;
    border-color: rgba(59, 130, 246, 0.65);
    box-shadow: 0 0 0 0.15rem rgba(59, 130, 246, 0.22);
}


[data-bs-theme="dark"] .shop-footer {
    color: #9ca3af !important;
    background-color: #2b3038 !important;
    border-top-color: rgba(255, 255, 255, 0.08) !important;
}


[data-bs-theme="dark"] .shop-footer .text-body,
[data-bs-theme="dark"] .shop-footer h2,
[data-bs-theme="dark"] .shop-footer h3 {
    color: #e5e7eb !important;
}


[data-bs-theme="dark"] .shop-footer .text-body-secondary,
[data-bs-theme="dark"] .shop-footer .text-body-tertiary,
[data-bs-theme="dark"] .shop-footer .cms-html,
[data-bs-theme="dark"] .shop-footer p,
[data-bs-theme="dark"] .shop-footer span {
    color: #9ca3af !important;
}


[data-bs-theme="dark"] .shop-footer .link-secondary,
[data-bs-theme="dark"] .shop-footer .btn-link.link-secondary {
    color: #aeb6c2 !important;
}


[data-bs-theme="dark"] .shop-footer .link-secondary:hover,
[data-bs-theme="dark"] .shop-footer .link-secondary:focus-visible,
[data-bs-theme="dark"] .shop-footer .btn-link.link-secondary:hover,
[data-bs-theme="dark"] .shop-footer .btn-link.link-secondary:focus-visible {
    color: #e5e7eb !important;
}


[data-bs-theme="dark"] .shop-footer .bg-body-tertiary {
    background-color: #23282f !important;
    color: #9ca3af !important;
}


.shop-shell-content-row--ad-grid > .shop-ad-rail--left {
    grid-column: 1;
}


.shop-shell-content-row--ad-grid > .shop-ad-rail--right {
    grid-column: 3;
}


@media (min-width: 992px) {
    .shop-shell-content-row--ad-grid > .shop-ad-rail {
        justify-self: center;
        width: min(var(--shop-ad-rail-width), 100%);
        max-width: var(--shop-ad-rail-width);
        position: sticky;
        top: calc(var(--shop-app-chrome-height, 7rem) + 0.75rem);
        align-self: start;
        z-index: 1;
    }
}


.shop-ad-rail .shop-advertising-zone {
    margin-block: 0;
}


.shop-ad-rail--left {
    padding-left: 0.35rem;
    padding-right: 0.25rem;
}


.shop-ad-rail--right {
    padding-right: 0.35rem;
    padding-left: 0.25rem;
}


.product-premium-header,
.product-price-panel,
.product-sales-stock,
.product-digital-panel,
.product-variant-panel {
    border: 1px solid var(--bs-border-color);
    border-radius: 1.1rem;
    background-color: color-mix(in srgb, var(--bs-card-bg) 88%, var(--bs-body-bg));
    padding: 1rem;
}


.product-profile-hero .product-sales-stock {
    margin-top: 1.25rem;
}


.shop-product-card {
    transition: transform 0.18s ease, box-shadow 0.18s ease;
    min-width: 0;
}


:root[data-theme="light"] .shop-product-card,
:root[data-bs-theme="light"] .shop-product-card,
html.theme-light .shop-product-card {
    background-color: #ffffff;
    color: #050f1c;
}


:root[data-theme="light"] .shop-product-card .card-body,
:root[data-bs-theme="light"] .shop-product-card .card-body,
html.theme-light .shop-product-card .card-body {
    background-color: #ffffff !important;
    color: #050f1c !important;
}


:root[data-theme="light"] .shop-product-card .text-body,
:root[data-bs-theme="light"] .shop-product-card .text-body,
html.theme-light .shop-product-card .text-body {
    color: #0f172a !important;
}


:root[data-theme="light"] .shop-product-card .text-body-secondary,
:root[data-bs-theme="light"] .shop-product-card .text-body-secondary,
html.theme-light .shop-product-card .text-body-secondary {
    color: #475569 !important;
}


:root[data-theme="dark"] .shop-product-card,
:root[data-bs-theme="dark"] .shop-product-card,
html.theme-dark .shop-product-card {
    background-color: #050f1c;
    color: #e2e8f0;
}


:root[data-theme="dark"] .shop-product-card .card-body,
:root[data-bs-theme="dark"] .shop-product-card .card-body,
html.theme-dark .shop-product-card .card-body {
    background-color: #050f1c !important;
    color: #e2e8f0 !important;
}


:root[data-theme="dark"] .shop-product-card .text-body,
:root[data-bs-theme="dark"] .shop-product-card .text-body,
html.theme-dark .shop-product-card .text-body {
    color: #e2e8f0 !important;
}


:root[data-theme="dark"] .shop-product-card .text-body-secondary,
:root[data-bs-theme="dark"] .shop-product-card .text-body-secondary,
html.theme-dark .shop-product-card .text-body-secondary {
    color: #cbd5e1 !important;
}


.shop-product-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 1rem 2.25rem rgba(15, 23, 42, 0.14) !important;
}


.shop-ad-banner {
    overflow: hidden;
    border: 1px solid var(--bs-border-color);
    border-radius: 1rem;
    background-color: var(--bs-card-bg);
    box-shadow: 0 0.75rem 1.8rem rgba(15, 23, 42, 0.08);
}


.product-premium-meta {
    padding: 0.9rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 1rem;
    background-color: color-mix(in srgb, var(--bs-card-bg) 82%, var(--bs-primary-bg-subtle));
}


@media (max-width: 991.98px) {
    .shop-navbar-inner {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        column-gap: 0.5rem;
    }

    .shop-navbar .navbar-brand {
        order: 1;
        flex: 0 1 auto;
        max-width: calc(100% - 3.25rem);
    }

    .shop-navbar-toggler {
        order: 2;
        margin-left: auto;
    }

    .shop-header-search--navbar {
        order: 3;
        flex: 0 0 100%;
        width: 100%;
        max-width: 100% !important;
        min-width: 0;
        margin: 0.35rem 0 0.15rem !important;
    }

    .shop-header-search--navbar .input-group {
        width: 100%;
    }

    .shop-header-search--navbar .form-control {
        font-size: 16px;
    }

    .shop-header-collapse {
        order: 4;
        flex: 0 0 100%;
        width: 100%;
    }

    .shop-header-collapse.navbar-collapse.show {
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        padding-top: 0.15rem;
    }

    .shop-navbar-primary > .nav-item.dropdown-mega {
        position: static;
        width: 100%;
    }

    .shop-navbar-primary > .nav-item.dropdown-mega > .nav-link.dropdown-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
    }

    .shop-navbar .dropdown-mega .dropdown-menu.shop-mega {
        position: static !important;
        inset: auto !important;
        transform: none !important;
        float: none;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 0.35rem !important;
        padding: 0.75rem !important;
        border-radius: 0.5rem;
        max-height: min(65vh, 24rem);
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14);
    }

    .shop-mega .container-fluid {
        padding-left: 0;
        padding-right: 0;
    }

    .shop-mega .col-lg-4 {
        display: none;
    }

    .shop-mega-cat-grid > .col {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .shop-mega-link {
        word-break: break-word;
    }

    .shop-header-actions {
        justify-content: flex-start;
        width: 100%;
        padding-top: 0.35rem;
        border-top: 1px solid rgba(255, 255, 255, 0.12);
        margin-top: 0.35rem;
    }

    .shop-live-search-dropdown.shop-live-search-dropdown--header-wide.is-open {
        border-radius: 0.65rem;
    }

    .shop-live-search-dropdown--xonic .shop-live-search-card {
        flex: 0 0 clamp(104px, 30vw, 132px);
    }

    .shop-topbar-usp span:nth-child(2) {
        display: none;
    }
}


@media (min-width: 992px) {
    .shop-navbar-inner {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        column-gap: clamp(0.35rem, 1.1vw, 1rem);
    }

    .shop-navbar .shop-header-search--navbar {
        flex: 1 1 20rem;
        min-width: 8rem;
        max-width: min(52rem, 58vw);
        width: auto;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        overflow: visible;
    }

    .shop-navbar .shop-header-search--navbar .input-group {
        position: relative;
        display: flex;
        flex-wrap: nowrap;
        align-items: stretch;
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .shop-navbar-inner:not(:has(.shop-header-collapse--cart-rich)) .shop-header-search--navbar {
        flex: 2 1 26rem;
        max-width: min(44rem, 50vw);
    }

    .shop-navbar-inner:has(.shop-header-collapse--cart-rich) .shop-header-search--navbar {
        flex: 2 1 20rem !important;
        max-width: min(38rem, 46vw) !important;
    }
}


.shop-footer .letter-spacing-1 {
    letter-spacing: 0.04em;
}


.shop-search-strip .shop-live-search-dropdown {
    left: 0;
    right: 0;
    width: auto;
}


.shop-header-search {
    min-width: 5rem;
    max-width: min(44rem, 50vw);
}


@media (min-width: 992px) {
    /*
     * Kopfzeile: Suche + Hauptnav + Icon-Leiste teilen sich die Breite ohne Überlappung
     * (langer Firmenname + Warenkorb-Preis dürfen die Konten-Zeile nicht unter die Sprache schieben).
     */
    .shop-navbar .navbar-collapse.shop-header-collapse {
        flex-wrap: nowrap !important;
        align-items: center;
        column-gap: clamp(0.35rem, 1.1vw, 1rem);
        min-width: 0;
    }

    .shop-navbar .shop-header-collapse .shop-header-primary-nav.shop-navbar-primary {
        flex: 1 1 0%;
        min-width: 0;
        margin-inline-end: 0 !important;
        justify-content: flex-end;
        overflow-x: visible;
    }

    .shop-navbar-primary > .nav-item.shop-nav-item--account {
        min-width: 0;
        flex: 0 0 auto;
    }

    .shop-navbar-primary > .nav-item.shop-nav-item--account > .nav-link.shop-account-toggle {
        max-width: 100%;
        min-width: 0;
        flex-wrap: nowrap;
        white-space: nowrap;
        align-items: center;
    }

    /* Nav-Links dürfen unter Mindestbreite schrumpfen (sonst Überlappung mit Sprache/Theme) */
    .shop-navbar-primary > .nav-item {
        min-width: 0;
    }

    .shop-navbar-primary > .nav-item:first-child {
        flex-shrink: 0;
        min-width: auto;
    }

    .shop-navbar .shop-header-actions.shop-nav-collapse-order-actions {
        margin-inline-start: 0 !important;
        column-gap: 0.35rem !important;
        flex-wrap: nowrap !important;
        flex-shrink: 0;
    }
}


@supports (container-type: inline-size) {
    @media (min-width: 992px) {
        .shop-navbar > .container.shop-navbar-inner {
            container-type: inline-size;
            container-name: shopnav;
        }

        @container shopnav (max-width: 1180px) {
            .shop-navbar .shop-header-search {
                flex: 1 1 14rem !important;
                max-width: min(34rem, 44cqw) !important;
                min-width: 6rem;
            }

            .shop-navbar-primary {
                column-gap: 0.55rem !important;
            }
        }

        @container shopnav (max-width: 1020px) {
            .shop-navbar .shop-header-search {
                flex: 1 1 11rem !important;
                max-width: min(26rem, 38cqw) !important;
                min-width: 5rem;
            }
        }
    }
}


/* Logged-in account menu: as wide as the longest label (icons + text one line), capped to viewport */
.shop-header .shop-account-dropdown.dropdown-menu {
    width: max-content;
    max-width: min(100vw - 1rem, 24rem);
}


.shop-header .shop-account-dropdown .dropdown-item {
    white-space: nowrap;
}


.shop-live-search-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 0.35rem);
    left: 0;
    right: 0;
    z-index: 2050;
    max-height: min(28rem, 72vh);
    overflow: auto;
    border: 1px solid var(--bs-border-color);
    border-radius: 0.9rem;
    background-color: var(--bs-body-bg);
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.16);
}


body.pd-body[data-pd-theme="dark"] .shop-live-search-dropdown.is-open,
html.theme-dark body.pd-body .shop-live-search-dropdown,
:root[data-bs-theme="dark"] body.pd-body .shop-live-search-dropdown,
html.theme-dark .shop-live-search-dropdown,
:root[data-bs-theme="dark"] .shop-live-search-dropdown {
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
}


.shop-live-search-dropdown.is-open {
    display: block;
}


/* Breiter Ergebnisbereich: Maße per JS (position:fixed) an Navbar / Streifen angeglichen */
.shop-live-search-dropdown.shop-live-search-dropdown--header-wide.is-open {
    top: auto;
    left: auto;
    right: auto;
    border-radius: 0.85rem;
    overflow: hidden;
    box-shadow: 0 18px 50px rgba(15, 23, 42, 0.28);
}


html.theme-dark .shop-live-search-dropdown.shop-live-search-dropdown--header-wide.is-open,
:root[data-bs-theme="dark"] .shop-live-search-dropdown.shop-live-search-dropdown--header-wide.is-open {
    box-shadow: 0 22px 56px rgba(0, 0, 0, 0.55);
}


/* XONIC-style wide panel: light surface, horizontal product cards */
.shop-live-search-dropdown.shop-live-search-dropdown--xonic.is-open {
    background-color: #ffffff;
    color: #1a1d23;
    border: 1px solid rgba(15, 23, 42, 0.12);
}


.shop-live-search-dropdown--xonic .shop-live-search-dd-xonic {
    text-align: left;
}


.shop-live-search-dropdown--xonic .shop-live-search-dd-section {
    padding: 0.35rem 0.75rem 0.5rem;
}


.shop-live-search-dropdown--xonic .shop-live-search-dd-section--border {
    border-top: 1px solid rgba(15, 23, 42, 0.1);
    padding-top: 0.5rem;
}


.shop-live-search-dropdown--xonic .shop-live-search-dd-section-label {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 0.35rem;
}


.shop-live-search-dropdown--xonic .shop-live-search-dd-scroller {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-inline: -0.15rem;
    padding-bottom: 0.15rem;
}


.shop-live-search-dropdown--xonic .shop-live-search-dd-cards {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.65rem;
    padding: 0.15rem 0.15rem 0.35rem;
}


.shop-live-search-dropdown--xonic .shop-live-search-card {
    flex: 0 0 clamp(118px, 22vw, 168px);
    max-width: 168px;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 0.55rem;
    padding: 0.45rem;
    background: #ffffff;
    color: #0f172a;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    text-decoration: none;
    transition:
        border-color 0.15s ease,
        box-shadow 0.15s ease,
        background-color 0.15s ease;
}


.shop-live-search-dropdown--xonic .shop-live-search-card:hover,
.shop-live-search-dropdown--xonic .shop-live-search-card.active {
    border-color: rgba(37, 99, 235, 0.45);
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.1);
    background-color: #f8fafc;
}


.shop-live-search-dropdown--xonic .shop-live-search-card__figure {
    position: relative;
    aspect-ratio: 1 / 1;
    border-radius: 0.4rem;
    overflow: hidden;
    background: #e2e8f0;
}


.shop-live-search-dropdown--xonic .shop-live-search-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}


.shop-live-search-dropdown--xonic .shop-live-search-card__ph {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 3.5rem;
    background: linear-gradient(135deg, #e2e8f0, #f1f5f9);
}


.shop-live-search-dropdown--xonic .shop-live-search-card__ph i {
    font-size: 1.35rem;
    line-height: 1;
}


.shop-live-search-dropdown--xonic .shop-live-search-card__ph--domain {
    background: linear-gradient(135deg, rgba(13, 110, 253, 0.16), rgba(13, 202, 240, 0.1));
}


.shop-live-search-dropdown--xonic .shop-live-search-card__ph--domain i {
    color: #0d6efd;
}


.shop-live-search-dropdown--xonic .shop-live-search-card__ph--generic i {
    color: #64748b;
    font-size: 1.2rem;
}


.shop-live-search-dropdown--xonic .shop-live-search-card__title {
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.3;
    color: #0f172a;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.45rem;
}


.shop-live-search-dropdown--xonic .shop-live-search-card__price {
    font-size: 0.82rem;
    font-weight: 800;
    color: #0f172a;
}


.shop-live-search-dropdown--xonic .shop-live-search-hl {
    background-color: #fff3cd;
    color: #1a1d23;
}


.shop-live-search-dropdown--xonic .shop-live-search-dd-inhalt-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}


.shop-live-search-dropdown--xonic .shop-live-search-dd-inhalt-link {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.75rem;
    padding: 0.45rem 0.15rem;
    text-decoration: none;
    color: #0f172a;
    font-size: 0.88rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}


.shop-live-search-dropdown--xonic .shop-live-search-dd-inhalt-link:last-child {
    border-bottom: 0;
}


.shop-live-search-dropdown--xonic .shop-live-search-dd-inhalt-link:hover,
.shop-live-search-dropdown--xonic .shop-live-search-dd-inhalt-link.active {
    background-color: #f1f5f9;
}


.shop-live-search-dropdown--xonic .shop-live-search-dd-inhalt-name {
    font-weight: 600;
    min-width: 0;
}


.shop-live-search-dropdown--xonic .shop-live-search-dd-inhalt-meta {
    font-size: 0.72rem;
    color: #64748b;
    white-space: nowrap;
}


.shop-live-search-dropdown--xonic .shop-live-search-dd-footer--xonic {
    border-top: 1px solid rgba(15, 23, 42, 0.1);
    background: #ffffff;
}


.shop-live-search-dropdown--xonic .shop-live-search-dd-all-btn {
    font-weight: 600;
    letter-spacing: 0.02em;
}


.shop-live-search-dropdown--xonic .shop-live-search-dd-all-chevron {
    font-weight: 700;
    margin-left: 0.15rem;
}


/* Dark theme: breite XONIC-Suche — gleiche Flächen wie kompakte Live-Suche (Bootstrap body tokens) */
:root[data-bs-theme="dark"] .shop-live-search-dropdown.shop-live-search-dropdown--xonic.is-open,
html.theme-dark .shop-live-search-dropdown.shop-live-search-dropdown--xonic.is-open {
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
    border-color: var(--bs-border-color);
}


:root[data-bs-theme="dark"] .shop-live-search-dropdown--xonic .shop-live-search-dd-section-label,
html.theme-dark .shop-live-search-dropdown--xonic .shop-live-search-dd-section-label {
    color: var(--bs-secondary-color);
}


:root[data-bs-theme="dark"] .shop-live-search-dropdown--xonic .shop-live-search-dd-section--border,
html.theme-dark .shop-live-search-dropdown--xonic .shop-live-search-dd-section--border {
    border-top-color: var(--bs-border-color);
}


:root[data-bs-theme="dark"] .shop-live-search-dropdown--xonic .shop-live-search-card,
html.theme-dark .shop-live-search-dropdown--xonic .shop-live-search-card {
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
    border-color: var(--bs-border-color);
}


:root[data-bs-theme="dark"] .shop-live-search-dropdown--xonic .shop-live-search-card:hover,
:root[data-bs-theme="dark"] .shop-live-search-dropdown--xonic .shop-live-search-card.active,
html.theme-dark .shop-live-search-dropdown--xonic .shop-live-search-card:hover,
html.theme-dark .shop-live-search-dropdown--xonic .shop-live-search-card.active {
    background-color: color-mix(in srgb, var(--bs-primary) 14%, var(--bs-body-bg));
    border-color: rgba(59, 130, 246, 0.55);
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.35);
}


:root[data-bs-theme="dark"] .shop-live-search-dropdown--xonic .shop-live-search-card__figure,
html.theme-dark .shop-live-search-dropdown--xonic .shop-live-search-card__figure {
    background: var(--bs-secondary-bg);
}


:root[data-bs-theme="dark"] .shop-live-search-dropdown--xonic .shop-live-search-card__ph,
html.theme-dark .shop-live-search-dropdown--xonic .shop-live-search-card__ph {
    background: linear-gradient(135deg, var(--bs-secondary-bg), var(--bs-tertiary-bg));
}


:root[data-bs-theme="dark"] .shop-live-search-dropdown--xonic .shop-live-search-card__ph--domain,
html.theme-dark .shop-live-search-dropdown--xonic .shop-live-search-card__ph--domain {
    background: linear-gradient(
        135deg,
        color-mix(in srgb, var(--bs-primary) 24%, var(--bs-secondary-bg)),
        var(--bs-tertiary-bg)
    );
}


:root[data-bs-theme="dark"] .shop-live-search-dropdown--xonic .shop-live-search-card__ph--domain i,
html.theme-dark .shop-live-search-dropdown--xonic .shop-live-search-card__ph--domain i {
    color: var(--bs-primary);
}


:root[data-bs-theme="dark"] .shop-live-search-dropdown--xonic .shop-live-search-card__ph--generic i,
html.theme-dark .shop-live-search-dropdown--xonic .shop-live-search-card__ph--generic i {
    color: var(--bs-secondary-color);
}


:root[data-bs-theme="dark"] .shop-live-search-dropdown--xonic .shop-live-search-card__title,
html.theme-dark .shop-live-search-dropdown--xonic .shop-live-search-card__title {
    color: var(--bs-emphasis-color);
}


:root[data-bs-theme="dark"] .shop-live-search-dropdown--xonic .shop-live-search-card__price,
html.theme-dark .shop-live-search-dropdown--xonic .shop-live-search-card__price {
    color: var(--bs-primary);
}


:root[data-bs-theme="dark"] .shop-live-search-dropdown--xonic .shop-live-search-hl,
html.theme-dark .shop-live-search-dropdown--xonic .shop-live-search-hl {
    background-color: color-mix(in srgb, var(--bs-warning) 55%, rgba(255, 255, 255, 0.08));
    color: var(--bs-emphasis-color);
}


:root[data-bs-theme="dark"] .shop-live-search-dropdown--xonic .shop-live-search-dd-inhalt-link,
html.theme-dark .shop-live-search-dropdown--xonic .shop-live-search-dd-inhalt-link {
    color: var(--bs-body-color);
    border-bottom-color: var(--bs-border-color);
}


:root[data-bs-theme="dark"] .shop-live-search-dropdown--xonic .shop-live-search-dd-inhalt-link:hover,
:root[data-bs-theme="dark"] .shop-live-search-dropdown--xonic .shop-live-search-dd-inhalt-link.active,
html.theme-dark .shop-live-search-dropdown--xonic .shop-live-search-dd-inhalt-link:hover,
html.theme-dark .shop-live-search-dropdown--xonic .shop-live-search-dd-inhalt-link.active {
    background-color: var(--bs-secondary-bg);
}


:root[data-bs-theme="dark"] .shop-live-search-dropdown--xonic .shop-live-search-dd-inhalt-meta,
html.theme-dark .shop-live-search-dropdown--xonic .shop-live-search-dd-inhalt-meta {
    color: var(--bs-secondary-color);
}


:root[data-bs-theme="dark"] .shop-live-search-dropdown--xonic .shop-live-search-dd-footer--xonic,
html.theme-dark .shop-live-search-dropdown--xonic .shop-live-search-dd-footer--xonic {
    border-top-color: var(--bs-border-color);
    background: var(--bs-body-bg);
}


:root[data-bs-theme="dark"] .shop-live-search-dropdown--xonic .shop-live-search-dd-all-btn,
html.theme-dark .shop-live-search-dropdown--xonic .shop-live-search-dd-all-btn {
    background-color: var(--bs-body-color);
    border-color: var(--bs-body-color);
    color: var(--bs-body-bg);
}


:root[data-bs-theme="dark"] .shop-live-search-dropdown--xonic .shop-live-search-dd-all-btn:hover,
html.theme-dark .shop-live-search-dropdown--xonic .shop-live-search-dd-all-btn:hover {
    background-color: var(--bs-emphasis-color);
    border-color: var(--bs-emphasis-color);
    color: var(--bs-body-bg);
}


.shop-live-search-backdrop {
    position: fixed;
    inset: 0;
    /* Unter .shop-header (1030), damit Live-Suche & Header klickbar bleiben */
    z-index: 1010;
    background: rgba(15, 23, 42, 0.42);
}

body.pd-body .shop-live-search-backdrop {
    z-index: 1040;
    pointer-events: none;
}

body.pd-body .shop-live-search-dropdown.is-open {
    z-index: 2080 !important;
    pointer-events: auto;
}

body.pd-body .hp-field,
body.pd-body .hp-field-wrap .hp-field {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
    overflow: hidden !important;
}

.pd-block--hd .shop-home-section {
    margin-bottom: 0;
}

.pd-block--hd .shop-section-heading .text-primary {
    color: var(--pd-primary) !important;
}


[data-bs-theme="light"] .shop-live-search-backdrop {
    background: rgba(15, 23, 42, 0.22);
}


.shop-live-search-dropdown:not(.shop-live-search-dropdown--xonic) .shop-live-search-hit {
    border: 0;
    border-bottom: 1px solid var(--bs-border-color);
    text-decoration: none;
}


.shop-live-search-dropdown:not(.shop-live-search-dropdown--xonic) .shop-live-search-hit:last-of-type {
    border-bottom: 0;
}


.shop-live-search-dropdown:not(.shop-live-search-dropdown--xonic) .shop-live-search-hit:hover,
.shop-live-search-dropdown:not(.shop-live-search-dropdown--xonic) .shop-live-search-hit.active {
    background-color: color-mix(in srgb, var(--bs-primary) 14%, var(--bs-body-bg));
}


.shop-live-search-dropdown .shop-live-search-title {
    font-size: 0.9rem;
    line-height: 1.35;
    word-break: break-word;
}


.shop-live-search-dropdown .shop-live-search-hl {
    background-color: color-mix(in srgb, var(--bs-warning) 42%, transparent);
    color: inherit;
    padding: 0 0.12em;
}


html.theme-dark .shop-live-search-dropdown .shop-live-search-hl,
:root[data-bs-theme="dark"] .shop-live-search-dropdown .shop-live-search-hl {
    background-color: color-mix(in srgb, var(--bs-warning) 55%, rgba(255, 255, 255, 0.08));
}


.shop-live-search-dropdown .shop-live-search-type-badge {
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}


.shop-live-search-dropdown .shop-live-search-price {
    font-size: 0.9rem;
    color: var(--bs-primary);
}


.shop-live-search-dd-footer {
    position: sticky;
    bottom: 0;
    padding: 0;
    margin: 0;
    border-top: 1px solid var(--bs-border-color);
    background-color: var(--bs-body-bg);
}


.shop-live-search-dropdown:not(.shop-live-search-dropdown--xonic) .shop-live-search-dd-footer .btn {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}


.shop-live-search-thumb,
.shop-live-search-vendor-ph {
    width: 3rem;
    height: 3rem;
}


.shop-live-search-vendor-ph {
    font-size: 1rem;
}


.shop-live-search-thumb.shop-live-search-thumb--product-ph {
    width: 3rem;
    height: 3rem;
    font-size: 1.05rem;
}


.shop-cart-nav-qty {
    font-size: 0.65rem;
    min-width: 1.1rem;
    padding: 0.2em 0.35em;
    line-height: 1;
}


.shop-navbar .nav-link .shop-cart-nav-total {
    font-weight: 500;
    max-width: 6.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-block;
    vertical-align: bottom;
}


@media (max-width: 1399.98px) {
    .shop-cart-nav-total {
        display: none !important;
    }
}


@media (min-width: 992px) {
    .shop-navbar .shop-header-collapse {
        column-gap: clamp(0.5rem, 1.2vw, 1.35rem);
    }

    .shop-navbar-inner:has(.shop-header-collapse--cart-rich) .shop-header-search--navbar {
        flex: 1 1 16rem !important;
        max-width: min(44rem, 52vw) !important;
        min-width: 6rem;
    }

    .shop-navbar .shop-header-collapse.shop-header-collapse--cart-rich .shop-navbar-primary {
        column-gap: clamp(0.45rem, 0.9vw, 1rem) !important;
    }
}


@media (max-width: 991.98px) {
    .shop-header-search {
        max-width: none;
    }

    .shop-header-actions {
        justify-content: flex-end;
    }
}


.shop-footer {
    position: relative;
}


/* Column width = chip width + gap only (no 1fr stretch — that caused huge empty gaps). */
.footer-method-list {
    display: grid;
    grid-template-columns: repeat(4, max-content);
    gap: 0.38rem;
    align-items: center;
    justify-items: start;
    justify-content: start;
    width: 100%;
}


/* Payments: max. 4 icons per row (second row via explicit chunks in shop_footer.php). */
.footer-method-list--stacked {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.42rem;
    width: 100%;
}


.footer-method-list--stacked .footer-method-row {
    display: grid;
    grid-template-columns: repeat(4, max-content);
    gap: 0.38rem;
    align-items: center;
    justify-items: start;
    justify-content: start;
    width: 100%;
}


/* Payments use the same grid as shipping: chips fill each cell (left-aligned block, same width/gap). */

/* Shipping: trucks read heavier at equal em-size — keep slightly smaller than payment icons */
.shop-footer .footer-method-list:not(.footer-method-list--stacked) .footer-method-icon > i {
    font-size: 1.06rem;
    line-height: 1;
}


.shop-footer .footer-method-list:not(.footer-method-list--stacked) .footer-method-icon {
    min-height: 2.35rem;
}


/* Payment block (stacked): FA / Bootstrap icons a touch larger for balance */
.shop-footer .footer-method-list--stacked .footer-method-icon > i {
    font-size: 1.44rem;
    line-height: 1;
}


.shop-footer .footer-method-icon .footer-method-img {
    display: block;
    flex: 1 1 auto;
    align-self: center;
    width: 100%;
    min-width: 0;
    height: 1.85rem;
    object-fit: contain;
    object-position: center center;
}


.footer-method-icon--image {
    filter: none;
    opacity: 1;
}


.footer-method-icon--image:hover,
.footer-method-icon--image:focus-within {
    filter: none;
    opacity: 1;
}


.footer-method-icon {
    position: relative;
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 2.5rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 0.7rem;
    padding: 0.6rem;
    color: var(--bs-body-color);
    background-color: color-mix(in srgb, var(--bs-body-bg) 84%, var(--bs-card-bg));
    filter: grayscale(1);
    opacity: 0.72;
    transition: filter 0.18s ease, opacity 0.18s ease, transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}


.footer-method-icon i {
    width: auto;
    font-size: 1rem;
    color: var(--bs-primary);
}


.footer-method-icon span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.1;
    text-align: left;
}


.footer-method-icon:hover,
.footer-method-icon:focus-within {
    border-color: rgba(var(--bs-primary-rgb), 0.45);
    box-shadow: 0 0.75rem 1.6rem rgba(15, 23, 42, 0.12);
    filter: grayscale(0);
    opacity: 1;
    transform: translateY(-2px);
}


.footer-method-icon--paypal i {
    color: #003087;
}


.footer-method-icon--stripe i {
    color: #635bff;
}


.footer-method-icon--klarna i {
    color: #ffb3c7;
}


.footer-method-icon--wero i {
    color: #0d9488;
}


.footer-method-icon--sofort i,
.footer-method-icon--dhl i {
    color: #ffcc00;
}


.footer-method-icon--giropay i,
.footer-method-icon--banktransfer i,
.footer-method-icon--ups i {
    color: #6f42c1;
}


.footer-method-icon--invoice i,
.footer-method-icon--sepa i {
    color: #198754;
}


[data-bs-theme="dark"] .footer-method-icon {
    background-color: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.14);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
    filter: grayscale(0);
    opacity: 0.96;
}


[data-bs-theme="dark"] .footer-method-icon i {
    color: rgba(255, 255, 255, 0.82);
    text-shadow: 0 0 0.55rem rgba(255, 255, 255, 0.18);
}


[data-bs-theme="dark"] .footer-method-icon:hover {
    box-shadow: 0 0.75rem 1.8rem rgba(0, 0, 0, 0.28);
}


[data-bs-theme="dark"] .footer-method-icon--paypal:hover i {
    color: #4da3ff;
}


[data-bs-theme="dark"] .footer-method-icon--stripe:hover i {
    color: #9b8cff;
}


[data-bs-theme="dark"] .footer-method-icon--klarna:hover i {
    color: #fecdd3;
}


[data-bs-theme="dark"] .footer-method-icon--wero:hover i {
    color: #5eead4;
}


[data-bs-theme="dark"] .footer-method-icon--banktransfer:hover i {
    color: #ffb15c;
}


[data-bs-theme="dark"] .footer-method-icon--dhl:hover i {
    color: #ffd84d;
}


[data-bs-theme="dark"] .footer-method-icon--ups:hover i {
    color: #b9783f;
}


[data-bs-theme="dark"] .footer-method-icon--gls:hover i {
    color: #4da3ff;
}


[data-bs-theme="dark"] .footer-method-icon--dpd:hover i {
    color: #ff5c6c;
}


[data-bs-theme="dark"] .footer-method-icon--hermes:hover i {
    color: #7dd3fc;
}


@media (max-width: 575.98px) {
    .shop-footer .container {
        padding-top: 2.25rem !important;
        padding-bottom: 2.25rem !important;
    }

    .footer-method-list:not(.footer-method-list--stacked),
    .footer-method-list--stacked .footer-method-row {
        grid-template-columns: repeat(4, max-content);
        gap: 0.35rem;
    }
}


/* Account / support data tables: light header strip (like Werbebanner table-light), readable in dark storefront */
.shop-datatable-thead > tr > th {
    background-color: #fff !important;
    color: #212529 !important;
    border-color: rgba(33, 37, 41, 0.12) !important;
}


.shop-datatable-thead .btn-link {
    color: #212529 !important;
}


.shop-datatable-thead .btn-link:hover,
.shop-datatable-thead .btn-link:focus {
    color: #000 !important;
}


.shop-datatable-thead .text-body-secondary {
    color: #495057 !important;
}


/* Hellmodus: Link-Farben aus dem Theme überschreiben (sonst helle Schrift auf hellem Streifen). */
html[data-bs-theme="light"] .shop-datatable-thead > tr > th,
:root[data-bs-theme="light"] .shop-datatable-thead > tr > th {
    background-color: #fff !important;
    color: #212529 !important;
}


html[data-bs-theme="light"] .shop-datatable-thead .btn-link,
:root[data-bs-theme="light"] .shop-datatable-thead .btn-link {
    color: #212529 !important;
}


html[data-bs-theme="light"] .shop-datatable-thead .btn-link:hover,
html[data-bs-theme="light"] .shop-datatable-thead .btn-link:focus,
:root[data-bs-theme="light"] .shop-datatable-thead .btn-link:hover,
:root[data-bs-theme="light"] .shop-datatable-thead .btn-link:focus {
    color: #000 !important;
}


.shop-nav-link-icon {
    margin-inline-end: 0.4rem;
}


@media (min-width: 992px) {
    .shop-nav-link-icon {
        margin-inline-end: 0.28rem;
    }

    /* Primary nav: more horizontal rhythm + slightly smaller labels so the bar breathes */
    .shop-navbar-primary {
        column-gap: 0.85rem !important;
        row-gap: 0.35rem !important;
        flex-wrap: nowrap !important;
        min-width: 0;
    }

    .shop-navbar-primary > .nav-item > .nav-link {
        font-size: 0.8125rem;
        padding-left: 0.45rem !important;
        padding-right: 0.45rem !important;
        flex-wrap: nowrap !important;
        white-space: nowrap;
    }

    .shop-navbar-primary .shop-nav-link-icon {
        font-size: 1.05rem;
        margin-inline-end: 0.32rem;
    }
}


@media (min-width: 992px) and (max-width: 1199.98px) {
    .shop-navbar-primary {
        column-gap: 0.42rem !important;
    }

    .shop-navbar-primary > .nav-item > .nav-link {
        font-size: 0.72rem;
        padding-left: 0.32rem !important;
        padding-right: 0.32rem !important;
    }

    .shop-navbar-primary .shop-nav-link-icon {
        font-size: 0.92rem;
        margin-inline-end: 0.22rem;
    }

    .shop-navbar .navbar-brand {
        max-width: min(200px, 42vw);
    }

    .shop-brand-logos .logo-light,
    .shop-brand-logos .logo-dark {
        max-height: 38px;
    }

    .shop-header-search {
        min-width: 10rem;
        max-width: min(40rem, 52vw);
        flex: 1 1 20rem !important;
    }

    .shop-header-actions {
        gap: 0.35rem !important;
    }
}


@media (min-width: 1200px) and (max-width: 1399.98px) {
    .shop-navbar-primary {
        column-gap: 0.55rem !important;
    }

    .shop-navbar-primary > .nav-item > .nav-link {
        font-size: 0.76rem;
        padding-left: 0.38rem !important;
        padding-right: 0.38rem !important;
    }

    .shop-navbar-primary .shop-nav-link-icon {
        font-size: 0.98rem;
    }

    .shop-header-search {
        flex: 2 1 24rem !important;
        max-width: min(40rem, 46vw);
    }

    .shop-brand-logos .logo-light,
    .shop-brand-logos .logo-dark {
        max-height: 42px;
    }
}


/* Wishlist heart/globe on product cards: visible on dark gradients and light cards */
.shop-wishlist-toggle-btn {
    line-height: 1;
    padding: 0.38rem 0.48rem;
    border-radius: 999px;
    background-color: rgba(var(--bs-body-bg-rgb), 0.94);
    border: 1px solid var(--bs-border-color-translucent);
    color: var(--bs-body-color);
}


.shop-wishlist-toggle-btn:focus-visible {
    box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.35);
}


[data-bs-theme="dark"] .shop-wishlist-toggle-btn {
    background-color: rgba(15, 23, 42, 0.92);
    border-color: rgba(148, 163, 184, 0.4);
}


.shop-wishlist-toggle-icon-off {
    color: rgba(33, 37, 41, 0.72) !important;
    opacity: 1;
}


[data-bs-theme="dark"] .shop-wishlist-toggle-icon-off {
    color: rgba(248, 250, 252, 0.92) !important;
}


/* Wishlist page */
.shop-wishlist-toolbar .form-label {
    color: var(--bs-secondary-color);
}


.shop-wishlist-card .card-title a:hover {
    text-decoration: underline !important;
}


body.pd-body .shop-wishlist-card__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    max-width: calc(100% - 1rem);
}

body.pd-body .shop-wishlist-card__badge,
body.pd-body .shop-wishlist-card .product-badge-stack .pd-badge {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    white-space: nowrap;
    padding: 0.22rem 0.55rem;
    border-radius: 999px;
    font-size: 0.65rem;
    font-weight: 700;
    line-height: 1.2;
    background: var(--pd-primary) !important;
    color: #fff !important;
    border: 0;
    box-shadow: 0 0.15rem 0.45rem color-mix(in srgb, var(--pd-primary) 35%, transparent);
}

.shop-wishlist-card .position-relative.bg-body-secondary {
    overflow: hidden;
    border-top-left-radius: var(--bs-card-inner-border-radius, 0.375rem);
    border-top-right-radius: var(--bs-card-inner-border-radius, 0.375rem);
}


.shop-wishlist-card__img {
    object-fit: cover;
    object-position: center center;
    padding: 0;
    background-color: var(--bs-secondary-bg);
}


/* Product grid: slightly shorter teaser so action rows align more evenly */
.card.shop-product-card .shop-product-card-teaser {
    -webkit-line-clamp: 3;
    line-clamp: 3;
}


.shop-hd-hosting-carousel-slide-row .hd-pkg {
    flex: 1 1 auto;
    width: 100%;
    max-width: 22rem;
    margin-left: auto;
    margin-right: auto;
}


/* Hosting-Pakete: etwas schmalere Karten im Raster */
.hd-hosting-packages-row {
    --bs-gutter-x: 1.25rem;
    --bs-gutter-y: 1.25rem;
}


@media (min-width: 992px) {
    .hd-hosting-packages-row .hd-pkg {
        max-width: 22rem;
        margin-left: auto;
        margin-right: auto;
    }
}


.hd-pkg {
    border-radius: calc(var(--pd-radius) * 1.35);
    border: 2px solid color-mix(in srgb, var(--pd-text) 12%, transparent);
    height: 100%;
    position: relative;
    overflow: hidden;
    background: var(--pd-card);
    box-shadow: var(--pd-shadow);
}


.hd-pkg-featured {
    border-color: color-mix(in srgb, var(--pd-primary) 55%, #20c997);
    box-shadow: 0 0.75rem 1.5rem color-mix(in srgb, var(--pd-primary) 28%, transparent);
}

/* Hosting-CTA (shop-app.css wird im Premium-Theme nicht geladen) */
body.pd-body {
    --hp-cta-green: #1a6f5c;
    --hp-cta-green-hover: #145a4a;
    --hp-cta-green-border: #124f42;
}

body.pd-body .hosting-pkg-cta {
    background-color: var(--hp-cta-green) !important;
    border: 2px solid var(--hp-cta-green-border) !important;
    color: #fff !important;
    font-weight: 700;
    border-radius: calc(var(--pd-radius) * 1.1);
    box-shadow: 0 0.2rem 0.5rem color-mix(in srgb, var(--hp-cta-green) 40%, transparent);
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

body.pd-body .hosting-pkg-cta:hover,
body.pd-body .hosting-pkg-cta:focus-visible {
    background-color: var(--hp-cta-green-hover) !important;
    border-color: var(--hp-cta-green-hover) !important;
    color: #fff !important;
    box-shadow: 0 0.25rem 0.65rem color-mix(in srgb, var(--hp-cta-green) 45%, transparent);
}

body.pd-body .hosting-pkg-cta--ghost {
    background-color: transparent !important;
    color: color-mix(in srgb, var(--hp-cta-green) 88%, #fff) !important;
    border: 2px solid color-mix(in srgb, var(--hp-cta-green) 55%, transparent) !important;
    box-shadow: none;
}

body.pd-body .hosting-pkg-cta--ghost:hover,
body.pd-body .hosting-pkg-cta--ghost:focus-visible {
    background-color: color-mix(in srgb, var(--hp-cta-green) 22%, var(--pd-card)) !important;
    border-color: var(--hp-cta-green) !important;
    color: #fff !important;
}

body.pd-body .hosting-popular-corner-badge {
    position: absolute;
    top: 0;
    right: 0;
    left: auto;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.42rem 0.72rem 0.48rem 0.8rem;
    border-radius: 0 0 0 0.85rem;
    background: linear-gradient(135deg, var(--pd-primary), var(--pd-hover));
    color: #fff;
    font-size: 0.62rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.055em;
    line-height: 1;
    white-space: nowrap;
    box-shadow: 0 0.2rem 0.65rem color-mix(in srgb, var(--pd-primary) 35%, transparent);
    max-width: min(10.5rem, 100%);
}

body.pd-body .hosting-popular-corner-badge span {
    display: inline-block;
    line-height: 1;
}

body.pd-body button.btn.hosting-pkg-cta.hosting-pkg-cta--featured,
body.pd-body a.btn.hosting-pkg-cta.hosting-pkg-cta--featured {
    background: var(--pd-primary) !important;
    border-color: var(--pd-primary) !important;
    color: #fff !important;
    box-shadow: 0 0.2rem 0.55rem color-mix(in srgb, var(--pd-primary) 35%, transparent);
}

body.pd-body button.btn.hosting-pkg-cta.hosting-pkg-cta--featured:hover,
body.pd-body a.btn.hosting-pkg-cta.hosting-pkg-cta--featured:hover {
    background: color-mix(in srgb, var(--pd-primary) 78%, #0c1a33) !important;
    border-color: color-mix(in srgb, var(--pd-primary) 78%, #0c1a33) !important;
}


/* Innenfläche unter dem Eck-Badge (Paketkarten: Padding nicht auf .hd-pkg, damit „Beliebt“ wirklich in der Ecke sitzt) */
.hd-pkg__inner {
    min-height: 0;
}


.hd-pkg ul {
    padding-left: 1.1rem;
    margin: 0;
}


.hd-pkg li {
    margin-bottom: 0.35rem;
    font-size: 0.9rem;
}


/* Cart: avoid inline width (CSP); narrow quantity field */
.shop-cart-table {
    table-layout: fixed;
    width: 100%;
}


.shop-cart-table .shop-cart-col-product,
.shop-cart-table td.shop-cart-col-product,
.shop-cart-product-name {
    overflow-wrap: anywhere;
    word-break: break-word;
}


@media (min-width: 768px) {
    .shop-cart-table .shop-cart-col-product {
        width: 38%;
    }

    .shop-cart-table .shop-cart-col-price {
        width: 16%;
    }

    .shop-cart-table .shop-cart-col-qty,
    .shop-cart-th-qty {
        width: 22%;
    }

    .shop-cart-table .shop-cart-col-line {
        width: 14%;
    }
}


.shop-cart-th-qty {
    width: 9rem;
}


.shop-cart-qty-input {
    max-width: 4.5rem;
}


@media (max-width: 767.98px) {
    .shop-cart-table-wrap {
        overflow-x: visible;
    }

    .shop-cart-table thead {
        display: none;
    }

    .shop-cart-table tbody tr {
        display: grid;
        gap: 0.65rem;
        padding: 1rem 0.85rem;
        border-bottom: 1px solid var(--bs-border-color);
    }

    .shop-cart-table tbody td {
        display: block;
        width: 100% !important;
        max-width: 100%;
        padding: 0;
        border: 0;
        text-align: start !important;
        white-space: normal !important;
    }

    .shop-cart-table tbody td.shop-cart-col-product {
        padding-bottom: 0.15rem;
    }

    .shop-cart-table tbody td.shop-cart-col-price::before,
    .shop-cart-table tbody td.shop-cart-col-qty::before,
    .shop-cart-table tbody td.shop-cart-col-line::before {
        display: block;
        font-size: 0.72rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        color: var(--bs-secondary-color);
        margin-bottom: 0.25rem;
        content: attr(data-label);
    }

    .shop-cart-table tbody td.shop-cart-col-line {
        font-size: 1.05rem;
    }

    .shop-cart-qty-form {
        flex-wrap: wrap;
    }

    .shop-cart-table tbody td.shop-cart-col-actions {
        display: flex;
        justify-content: flex-end;
        padding-top: 0.15rem;
    }

    .shop-cart-table tbody td.shop-cart-col-actions::before {
        display: none;
    }
}


/* Product profile: prevent horizontal overflow on small screens */
.product-profile-hero .row > [class*="col"] {
    min-width: 0;
}


@media (max-width: 767.98px) {
    .product-profile-hero {
        overflow-x: clip;
    }

    .product-profile-hero .product-premium-header h1.display-6 {
        font-size: clamp(1.35rem, 5.5vw, 2rem);
        line-height: 1.25;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .product-header-facts .product-fact-badge {
        white-space: normal;
        text-align: start;
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    .product-price-panel .d-flex.flex-wrap.align-items-end {
        flex-direction: column;
        align-items: flex-start !important;
        gap: 0.5rem !important;
    }

    .product-price-main {
        font-size: clamp(1.65rem, 7vw, 2.25rem);
    }

    .product-line-band-inner {
        flex-direction: column;
        align-items: flex-start !important;
    }

    .product-description--html {
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    .product-description--html table {
        display: block;
        max-width: 100%;
        overflow-x: auto;
    }

    .product-description--html pre {
        max-width: 100%;
        overflow-x: auto;
        white-space: pre-wrap;
    }

    nav[aria-label="breadcrumb"] .breadcrumb-item.active {
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .product-variant-panel .form-select-lg {
        font-size: 1rem;
    }
}


/* Konto: Kontotyp-Pille (Profil-Kachel) */
.shop-account-type-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.28rem 0.65rem 0.28rem 0.5rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border: 1px solid transparent;
    line-height: 1.1;
    box-shadow: 0 0.25rem 0.85rem rgba(15, 23, 42, 0.12);
}


.shop-account-type-pill__icon {
    font-size: 1rem;
    line-height: 1;
    opacity: 0.92;
}


.shop-account-type-pill--private {
    color: #0f172a;
    border-color: rgba(100, 116, 139, 0.45);
    background: linear-gradient(135deg, #f8fafc 0%, #e0e7ff 100%);
}


[data-bs-theme="dark"] .shop-account-type-pill--private {
    color: #e2e8f0;
    border-color: rgba(148, 163, 184, 0.4);
    background: linear-gradient(135deg, rgba(30, 41, 59, 0.95) 0%, rgba(79, 70, 229, 0.38) 100%);
    box-shadow: 0 0.35rem 1rem rgba(0, 0, 0, 0.35);
}


.shop-account-type-pill--business {
    color: #fff;
    border-color: rgba(147, 197, 253, 0.55);
    background: linear-gradient(120deg, #1d4ed8 0%, #6d28d9 48%, #0ea5e9 100%);
    box-shadow: 0 0.35rem 1rem rgba(37, 99, 235, 0.4);
}


.shop-account-type-pill--business .shop-account-type-pill__icon {
    color: rgba(255, 255, 255, 0.95);
}


.catalog-thumb-wrap {
    width: 56px;
    height: 56px;
    flex-shrink: 0;
    line-height: 0;
}


.catalog-thumb-wrap > a {
    display: block;
    width: 100%;
    height: 100%;
    line-height: 0;
}


.catalog-thumb-wrap--ph-domain {
    background: linear-gradient(
        145deg,
        color-mix(in srgb, var(--bs-primary) 16%, var(--bs-secondary-bg)),
        var(--bs-secondary-bg)
    ) !important;
}


.shop-search-grid-card__ph--domain {
    background: linear-gradient(
        135deg,
        color-mix(in srgb, var(--bs-primary) 12%, var(--bs-secondary-bg)),
        var(--bs-secondary-bg)
    ) !important;
}


.catalog-thumb-img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
    display: block;
    vertical-align: top;
}


/* Startseite / Katalog: „Details“ und Warenkorb — gleiche kompakte Hoehe (btn-sm-aehnlich) */
.shop-product-card-actions,
.catalog-card-actions {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}


.shop-product-card-actions .shop-product-card-quick-cart-form,
.catalog-card-actions .shop-product-card-quick-cart-form {
    display: flex;
    align-items: center;
}


.shop-product-card-actions > a.btn-sm.btn-outline-primary,
.shop-product-card-actions .shop-product-card-quick-cart-form .btn-sm,
.catalog-card-actions > a.btn-sm.btn-outline-primary,
.catalog-card-actions .shop-product-card-quick-cart-form .btn-sm {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.95rem;
    height: 1.95rem;
    max-height: 1.95rem;
    padding: 0 0.42rem;
    font-size: 0.75rem;
    line-height: 1.1;
}


.shop-product-card-actions .shop-product-card-quick-cart-form .btn-sm,
.catalog-card-actions .shop-product-card-quick-cart-form .btn-sm {
    min-width: 1.95rem;
    width: auto;
}


.shop-product-card-actions .shop-product-card-quick-cart-form .btn-sm .fa-solid,
.shop-product-card-actions .shop-product-card-quick-cart-form .btn-sm .bi,
.catalog-card-actions .shop-product-card-quick-cart-form .btn-sm .fa-solid,
.catalog-card-actions .shop-product-card-quick-cart-form .btn-sm .bi {
    font-size: 0.82rem;
    line-height: 1;
}


/* Fußzeile: Bewertung und Aktionen vertikal mittig */
.shop-product-card-footer-row.d-flex {
    align-items: center;
}


.shop-product-card-footer-row .product-card-ratings {
    align-self: center;
    flex-shrink: 0;
}


/* Highlight-Banner: Warenkorb rechts, groesseres Touch-Ziel */
.shop-spotlight-home__cta {
    width: 100%;
}


.shop-spotlight-home__cart-wrap {
    margin-inline-start: auto;
}


.shop-spotlight-home__cart-wrap .shop-product-card-quick-cart-form .btn {
    min-width: 3.5rem;
    min-height: 3.15rem;
    padding: 0.55rem 0.65rem;
    font-size: 1.35rem;
    line-height: 1;
}


.shop-spotlight-home__cart-wrap .shop-product-card-quick-cart-form .btn .fa-solid,
.shop-spotlight-home__cart-wrap .shop-product-card-quick-cart-form .btn .bi {
    font-size: 1.25em;
    line-height: 1;
}


/* CMS-Seiten: Inhalt nutzt volle Card-Breite (kein künstliches max-width mehr). */

.shop-footer-support-card {
    border-color: rgba(var(--bs-primary-rgb), 0.28) !important;
    background: rgba(var(--bs-primary-rgb), 0.07);
}


[data-bs-theme="dark"] .shop-footer-support-card {
    background: rgba(var(--bs-primary-rgb), 0.14);
    border-color: rgba(var(--bs-primary-rgb), 0.38) !important;
}


.shop-footer-support-iconlink {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    margin: 0;
    border-radius: 0.35rem;
    color: var(--bs-secondary-color);
    text-decoration: none;
}


.shop-footer-support-iconlink:hover,
.shop-footer-support-iconlink:focus-visible {
    color: rgb(var(--bs-primary-rgb));
    background: rgba(var(--bs-primary-rgb), 0.14);
}


.home-media-slider--full {
    position: relative;
    left: 50%;
    right: 50%;
    width: 100vw;
    margin-left: -50vw;
    margin-right: -50vw;
}


.home-media-slider--full .carousel {
    border-radius: 0;
}


.home-media-slider--box {
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
}

body.pd-body .home-media-slider .carousel-control-prev,
body.pd-body .home-media-slider .carousel-control-next {
    width: 2.75rem;
    height: 2.75rem;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    opacity: 1;
}

body.pd-body .home-media-slider .carousel-control-prev-icon,
body.pd-body .home-media-slider .carousel-control-next-icon {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    background-color: color-mix(in srgb, #000 55%, transparent) !important;
    background-size: 55% 55%;
}


.home-media-slider__frame {
    aspect-ratio: 16 / 6;
    min-height: 260px;
    background: #05070d;
}


.home-media-slider__img,
.home-media-slider__video,
.home-media-slider__embed {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
}


.home-media-slider__video {
    object-fit: contain;
}


@media (max-width: 767.98px) {
    .home-media-slider__frame {
        aspect-ratio: 16 / 10;
        min-height: 220px;
    }
}


.shop-product-card .shop-product-card-teaser,
.card .shop-product-card-teaser {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
    line-height: 1.45;
}


.product-media-carousel .product-media-image,
.shop-product-card .product-card-media-img,
.vendor-product-card-img {
    object-fit: contain !important;
    background-color: var(--bs-secondary-bg);
}

.shop-product-card .product-card-media-img,
.vendor-product-card-img {
    padding: 0.75rem;
}


/* Footer: optional “Made in Germany” badge (Admin → Einstellungen → Shop) */
.shop-made-in-germany {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.35rem 0.65rem 0.35rem 0.45rem;
    border-radius: 0.65rem;
    border: 1px solid rgba(15, 23, 42, 0.12);
    background: linear-gradient(165deg, #fff 0%, #f8fafc 55%, #f1f5f9 100%);
    box-shadow: 0 0.08rem 0.35rem rgba(15, 23, 42, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.9);
    color: #0f172a;
    font-family: var(--bs-font-sans-serif);
    text-decoration: none;
    line-height: 1.1;
    vertical-align: middle;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}


a.shop-made-in-germany:hover {
    transform: translateY(-1px);
    border-color: rgba(15, 23, 42, 0.2);
    box-shadow: 0 0.2rem 0.65rem rgba(15, 23, 42, 0.1);
    color: #0f172a;
}


.shop-made-in-germany__flag {
    display: flex;
    flex-direction: column;
    width: 0.55rem;
    height: 2.1rem;
    border-radius: 0.12rem;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.08);
}


.shop-made-in-germany__stripe {
    flex: 1;
    min-height: 0;
}


.shop-made-in-germany__stripe--black {
    background: #1a1a1a;
}


.shop-made-in-germany__stripe--red {
    background: #c1121f;
}


.shop-made-in-germany__stripe--gold {
    background: #ffce00;
}


.shop-made-in-germany__text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
}


.shop-made-in-germany__line1 {
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #475569;
}


.shop-made-in-germany__line2 {
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: -0.01em;
}


[data-bs-theme="dark"] .shop-made-in-germany,
[data-theme="dark"] .shop-made-in-germany {
    border-color: rgba(248, 250, 252, 0.12);
    background: linear-gradient(165deg, rgba(30, 41, 59, 0.95) 0%, rgba(15, 23, 42, 0.98) 100%);
    color: #f8fafc;
    box-shadow: 0 0.12rem 0.5rem rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}


[data-bs-theme="dark"] .shop-made-in-germany__line1,
[data-theme="dark"] .shop-made-in-germany__line1 {
    color: #94a3b8;
}


[data-bs-theme="dark"] a.shop-made-in-germany:hover,
[data-theme="dark"] a.shop-made-in-germany:hover {
    color: #fff;
    border-color: rgba(248, 250, 252, 0.22);
}


.shop-copy-code-btn--icon {
    width: 2.125rem;
    min-width: 2.125rem;
    height: 2.125rem;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    line-height: 1;
}


.shop-copy-code-btn--icon .bi {
    font-size: 1rem;
}


/* Sales-Badge: kompakt Feuer + Prozent (Karten) */
.shop-promo-sales-badge--pct {
    display: inline-flex;
    align-items: center;
    gap: 0.15em;
    font-weight: 700;
    white-space: nowrap;
    line-height: 1.1;
}


.shop-promo-sales-badge--pct .shop-promo-sales-badge__hot {
    display: inline-flex;
    align-items: center;
    gap: 0.15em;
}


.shop-promo-sales-badge--pct .bi-fire {
    font-size: 1.05em;
    line-height: 1;
    opacity: 0.95;
}


.shop-promo-sales-badge--pct .shop-promo-sales-badge__pct {
    font-variant-numeric: tabular-nums;
}


.shop-promo-sales-badge-on-card {
    box-shadow: 0 0.3rem 0.65rem rgba(15, 23, 42, 0.18);
}


/* Startseite: seitliches Aktions-Widget (fixiert, schließbar) */
.shop-promo-index-widget {
    position: fixed;
    z-index: 1040;
    width: min(17.5rem, calc(100vw - 1.25rem));
    max-height: min(72vh, 30rem);
    display: flex;
    flex-direction: column;
    min-height: 0;
    background: transparent;
    color: var(--bs-body-color);
    border: none;
    box-shadow: none;
    top: 50%;
    transform: translateY(-50%);
}


.shop-promo-index-widget__panel {
    flex: 1 1 auto;
    min-height: 0;
    max-height: 100%;
    display: flex;
    flex-direction: column;
}


.shop-promo-index-widget__panel > .card {
    min-height: 0;
}


.shop-promo-index-widget--right {
    right: 0;
    left: auto;
}


.shop-promo-index-widget--right .shop-promo-index-widget__panel > .card {
    border-radius: 0.75rem 0 0 0.75rem !important;
    border: 1px solid var(--bs-border-color-translucent) !important;
    box-shadow: 0 0.5rem 2rem rgba(0, 0, 0, 0.18) !important;
    background: var(--bs-body-bg);
}


.shop-promo-index-widget--left {
    right: auto;
    left: 0;
}


.shop-promo-index-widget--left .shop-promo-index-widget__panel > .card {
    border-radius: 0 0.75rem 0.75rem 0 !important;
    border: 1px solid var(--bs-border-color-translucent) !important;
    box-shadow: 0 0.5rem 2rem rgba(0, 0, 0, 0.18) !important;
    background: var(--bs-body-bg);
}


.shop-promo-index-widget--right .shop-promo-index-widget__panel--slide-in {
    animation: shop-promo-panel-slide-in-right 3s ease-out forwards;
}


.shop-promo-index-widget--left .shop-promo-index-widget__panel--slide-in {
    animation: shop-promo-panel-slide-in-left 3s ease-out forwards;
}


.shop-promo-index-widget__body {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}


.shop-promo-index-widget__item:last-child {
    border-bottom: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}


.shop-promo-index-widget__code {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.5rem;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    border-radius: 0.35rem;
    background: var(--bs-tertiary-bg);
    border: 1px solid var(--bs-border-color-translucent);
}


[data-bs-theme="dark"] .shop-promo-index-widget__code {
    background: var(--bs-secondary-bg, #2b3035);
    border-color: var(--bs-border-color-translucent, rgba(255, 255, 255, 0.12));
}


@media (max-width: 767.98px) {
    .shop-promo-index-widget {
        top: auto;
        bottom: calc(var(--shop-app-chrome-height, 56px) + 0.75rem);
        transform: none;
        border-radius: 0.75rem !important;
        max-height: min(50vh, 22rem);
        width: min(18rem, calc(100vw - 1.3rem));
    }

    .shop-promo-index-widget--right {
        right: 0.65rem;
        left: auto;
    }

    .shop-promo-index-widget--left {
        left: 0.65rem;
        right: auto;
    }

    .shop-promo-index-widget__panel > .card {
        border-radius: 0.75rem !important;
    }

    @keyframes shop-promo-slide-in-mobile {
        from {
            opacity: 0;
            transform: translateY(10px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .shop-promo-index-widget__panel--slide-in {
        animation: shop-promo-slide-in-mobile 3s ease-out forwards !important;
    }
}


/* Homepage promo widget: collapsed “peek” mode (percent tab only — clip, no squashed shell) */
.shop-promo-index-widget--peek {
    display: flex;
    flex-direction: unset;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    width: auto;
    max-width: min(22rem, calc(100vw - 1rem));
    max-height: none;
    overflow: visible;
    top: 0;
    bottom: 0;
    margin-top: auto;
    margin-bottom: auto;
    height: fit-content;
    transform: none;
    --shop-promo-shell-w: min(17.5rem, calc(100vw - 1.25rem));
    --shop-promo-peek-tab-w: 3.125rem;
    transition: max-width 0.32s ease, box-shadow 0.32s ease;
}


/* Collapsed: narrow viewport clips inner — only the handle stays visible (right: last column, left: first) */
.shop-promo-index-widget--peek.shop-promo-index-widget--peek-collapsed {
    max-width: var(--shop-promo-peek-tab-w);
    overflow: hidden;
    border-radius: 0.65rem 0 0 0.65rem;
    box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.14);
}


.shop-promo-index-widget--peek.shop-promo-index-widget--peek-collapsed.shop-promo-index-widget--left {
    border-radius: 0 0.65rem 0.65rem 0;
    justify-content: flex-start;
}


.shop-promo-index-widget--peek.shop-promo-index-widget--peek-collapsed.shop-promo-index-widget--right {
    border-radius: 0.65rem 0 0 0.65rem;
    justify-content: flex-end;
}


.shop-promo-index-widget--peek.shop-promo-index-widget--peek-expanded {
    max-width: min(22rem, calc(100vw - 1rem));
    overflow: visible;
}


/* Ausgeklappt: nur das Panel, kein blauer Prozent-Streifen am Rand */
.shop-promo-index-widget--peek.shop-promo-index-widget--peek-expanded .shop-promo-index-widget__peek-tab {
    display: none !important;
}


.shop-promo-index-widget--peek .shop-promo-index-widget__inner {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    flex-shrink: 0;
    width: max-content;
    max-width: none;
    transform: none;
}


.shop-promo-index-widget--peek.shop-promo-index-widget--right .shop-promo-index-widget__inner {
    flex-direction: row-reverse;
}


.shop-promo-index-widget--peek.shop-promo-index-widget--left .shop-promo-index-widget__inner {
    flex-direction: row;
}


.shop-promo-index-widget--peek .shop-promo-index-widget__inner--slide-in {
    animation: shop-promo-peek-inner-slide-in 3s ease-out forwards;
}


.shop-promo-index-widget--peek.shop-promo-index-widget--left .shop-promo-index-widget__inner--slide-in {
    animation: shop-promo-peek-inner-slide-in-left 3s ease-out forwards;
}


.shop-promo-index-widget__peek-tab {
    flex: 0 0 var(--shop-promo-peek-tab-w, 3.125rem);
    width: var(--shop-promo-peek-tab-w, 3.125rem);
    min-height: 5.75rem;
    border: none;
    border-radius: inherit;
    background: var(--bs-primary);
    color: #fff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;
    padding: 0.4rem 0.2rem;
    cursor: pointer;
    line-height: 1.05;
}


.shop-promo-index-widget--peek.shop-promo-index-widget--peek-collapsed .shop-promo-index-widget__peek-tab {
    border-radius: inherit;
}


.shop-promo-index-widget--peek.shop-promo-index-widget--right .shop-promo-index-widget__peek-tab {
    border-radius: 0.65rem 0 0 0.65rem;
}


.shop-promo-index-widget--peek.shop-promo-index-widget--left .shop-promo-index-widget__peek-tab {
    border-radius: 0 0.65rem 0.65rem 0;
}


.shop-promo-index-widget__peek-label {
    font-size: 0.58rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: rgba(255, 255, 255, 0.88);
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}


.shop-promo-index-widget__peek-pct {
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}


.shop-promo-index-widget--peek .shop-promo-index-widget__shell {
    width: var(--shop-promo-shell-w, min(17.5rem, calc(100vw - 1.25rem)));
    max-height: min(72vh, 30rem);
    display: flex;
    flex-direction: column;
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
    border: 1px solid var(--bs-border-color-translucent) !important;
    box-shadow: 0 0.5rem 2rem rgba(0, 0, 0, 0.18) !important;
    overflow: hidden;
    border-radius: 0.75rem 0 0 0.75rem !important;
}


.shop-promo-index-widget--peek .shop-promo-index-widget__body {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}


.shop-promo-index-widget--peek.shop-promo-index-widget--left .shop-promo-index-widget__shell {
    border-radius: 0 0.75rem 0.75rem 0 !important;
}


.shop-promo-index-widget--peek.shop-promo-index-widget--peek-collapsed .shop-promo-index-widget__peek-tab {
    animation: shop-promo-peek-pulse 2.6s ease-in-out infinite;
}


@media (max-width: 767.98px) {
    /* Peek: stacked above accessibility FAB; compact “-25%” only (see accessibilityCertificate.css :root) */
    .shop-promo-index-widget--peek {
        top: auto;
        bottom: var(--shop-promo-stack-bottom, calc(5.25rem + 3rem + 0.5rem));
        margin-top: 0;
        margin-bottom: 0;
        height: auto;
        --shop-promo-shell-w: min(16rem, calc(100vw - 3.5rem));
    }

    .shop-promo-index-widget--peek.shop-promo-index-widget--right {
        right: 0.75rem;
        left: auto;
    }

    .shop-promo-index-widget--peek.shop-promo-index-widget--left {
        left: 0.75rem;
        right: auto;
    }

    @media (min-width: 576px) {
        .shop-promo-index-widget--peek.shop-promo-index-widget--right {
            right: 1rem;
        }

        .shop-promo-index-widget--peek.shop-promo-index-widget--left {
            left: 1rem;
        }
    }

    .shop-promo-index-widget--peek .shop-promo-index-widget__peek-label {
        display: none !important;
    }

    .shop-promo-index-widget--peek .shop-promo-index-widget__peek-pct {
        writing-mode: horizontal-tb;
        transform: none;
        font-size: 0.8125rem;
        font-weight: 800;
        letter-spacing: -0.04em;
        line-height: 1;
    }

    /* Collapsed: round chip, panel hidden (fit-content on aside was showing tab + banner) */
    .shop-promo-index-widget--peek.shop-promo-index-widget--peek-collapsed {
        display: flex !important;
        align-items: center;
        justify-content: center !important;
        width: 2.875rem !important;
        height: 2.875rem !important;
        max-width: 2.875rem !important;
        max-height: 2.875rem !important;
        padding: 0 !important;
        border-radius: 50% !important;
        box-shadow: 0 0.35rem 1.1rem rgba(0, 0, 0, 0.22) !important;
        overflow: hidden !important;
    }

    .shop-promo-index-widget--peek.shop-promo-index-widget--peek-collapsed .shop-promo-index-widget__shell {
        display: none !important;
    }

    .shop-promo-index-widget--peek.shop-promo-index-widget--peek-collapsed .shop-promo-index-widget__inner {
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        max-width: none;
        flex-direction: row;
    }

    .shop-promo-index-widget--peek.shop-promo-index-widget--peek-collapsed .shop-promo-index-widget__peek-tab {
        animation: none !important;
        flex: 1 1 auto !important;
        width: 100% !important;
        height: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 50% !important;
        display: flex !important;
        flex-direction: row;
        align-items: center;
        justify-content: center;
    }

    /* Expanded: full panel only after tap */
    .shop-promo-index-widget--peek.shop-promo-index-widget--peek-expanded {
        width: auto !important;
        height: auto !important;
        max-width: min(17rem, calc(100vw - 2rem)) !important;
        max-height: none !important;
        border-radius: 0 !important;
        overflow: visible !important;
        box-shadow: none !important;
    }

    .shop-promo-index-widget--peek.shop-promo-index-widget--peek-expanded .shop-promo-index-widget__shell {
        display: flex !important;
        flex-direction: column;
    }

    .shop-promo-index-widget--peek.shop-promo-index-widget--peek-expanded .shop-promo-index-widget__inner {
        width: max-content;
        max-width: min(17rem, calc(100vw - 2rem));
        transform: none !important;
    }

    .shop-promo-index-widget--peek.shop-promo-index-widget--peek-expanded.shop-promo-index-widget--right .shop-promo-index-widget__inner {
        flex-direction: row-reverse;
    }

    .shop-promo-index-widget--peek.shop-promo-index-widget--peek-expanded.shop-promo-index-widget--left .shop-promo-index-widget__inner {
        flex-direction: row;
    }

    .shop-promo-index-widget--peek .shop-promo-index-widget__shell {
        width: var(--shop-promo-shell-w, min(16rem, calc(100vw - 3.5rem)));
        max-height: min(58vh, 24rem);
    }
}

/* Premium eStore header: Admin header.search_layout (compact vs fullwidth) */
@media (min-width: 992px) {
    .pd-estore-main__inner[data-pd-search-layout="fullwidth"],
    .pd-estore-main__inner:has(.pd-estore-search--fullwidth) {
        display: flex !important;
        flex-wrap: nowrap;
        align-items: center;
        gap: 1rem 1.25rem;
    }

    .pd-estore-main__inner[data-pd-search-layout="fullwidth"] .pd-estore-brand {
        flex: 0 0 auto;
    }

    .pd-estore-main__inner[data-pd-search-layout="fullwidth"] .pd-estore-search.shop-header-search--navbar,
    .pd-estore-search.pd-estore-search--fullwidth.shop-header-search--navbar {
        flex: 1 1 0% !important;
        max-width: none !important;
        min-width: 0 !important;
        width: 1% !important;
    }

    .pd-estore-main__inner[data-pd-search-layout="fullwidth"] .pd-estore-actions {
        flex: 0 0 auto;
    }

    .pd-estore-main__inner[data-pd-search-layout="compact"] .pd-estore-search.shop-header-search--navbar {
        flex: 0 1 auto !important;
        max-width: min(26rem, 42vw) !important;
        width: 100% !important;
        justify-self: start;
    }
}

/* Account: Hinweise-Badges (wie Konto-Kachel) */
body.pd-body .shop-notice-tile-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.65rem;
    padding: 0.28rem 0.55rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1;
    color: #fff;
    border: 1px solid color-mix(in srgb, var(--pd-primary) 55%, #fff 45%);
    border-radius: 999px;
    background: linear-gradient(
        160deg,
        color-mix(in srgb, var(--pd-primary) 92%, #fff 8%) 0%,
        color-mix(in srgb, var(--pd-primary) 55%, #0f172a 45%) 100%
    );
    box-shadow: 0 0.2rem 0.55rem color-mix(in srgb, var(--pd-primary) 35%, transparent);
}

body.pd-body .shop-notice-read-pill.pd-badge {
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.3rem 0.65rem;
    color: #fff;
    background: color-mix(in srgb, var(--pd-primary) 88%, #fff 12%);
    border: 1px solid color-mix(in srgb, var(--pd-primary) 40%, transparent);
    box-shadow: 0 0.15rem 0.45rem color-mix(in srgb, var(--pd-primary) 28%, transparent);
}

body.pd-body .shop-brand-logo-single__img {
    max-height: var(--shop-brand-logo-max, 40px);
    width: auto;
    object-fit: contain;
}

html[data-bs-theme="light"] body.pd-body .shop-brand-logo-single__img--dark,
body.pd-body:not([data-bs-theme="dark"]) .shop-brand-logo-single__img--dark {
    display: none !important;
}

html[data-bs-theme="dark"] body.pd-body .shop-brand-logo-single__img--light {
    display: none !important;
}

body.pd-body .hd-portal-empty {
    border-radius: calc(var(--pd-radius) * 1.35);
    border: 1px solid color-mix(in srgb, var(--pd-primary) 14%, transparent);
}

body.pd-body .hd-portal-empty .btn-primary {
    border-radius: 999px;
    font-weight: 700;
    background: var(--pd-primary);
    border-color: var(--pd-primary);
}

body.pd-body .hd-portal-body .nav-pills .nav-link.active {
    background: var(--pd-primary);
    color: #fff;
}

body.pd-body .hd-portal-password-form .btn-primary {
    border-radius: 999px;
    font-weight: 700;
}

body.pd-body .hd-pkg__inner {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 100%;
}

body.pd-body .hd-pkg .hosting-pkg-cta {
    margin-top: auto;
}
