/*
 * Nova++ – maritime Schicht
 * Wird nach dem NOVA-Basis-CSS geladen und prägt Header, Flyouts, Karten und Footer.
 */

:root {
    --npp-ink: #071923;
    --npp-deep: #284080;
    --npp-glass: #3a5694;
    --npp-foam: #f4f7f5;
    --npp-paper: #f7fbfc;
    --npp-sand: #d0b868;
    --npp-king: #284080;
    --npp-gold: #d0b868;
    --npp-brass: #d0b868;
    --npp-buoy: #e07a5f;
    --npp-ink-soft: #16323a;
    --npp-line: rgba(40, 64, 128, 0.12);
    --npp-shadow: 0 22px 50px rgba(7, 25, 35, 0.12);
    --npp-ease: cubic-bezier(0.16, 1, 0.3, 1);
    --npp-header: 4.75rem;
}

html.npp {
    scroll-behavior: smooth;
}

html.npp::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    z-index: 4000;
    height: 3px;
    width: calc(var(--npp-tide, 0) * 100%);
    background: linear-gradient(90deg, var(--npp-glass), var(--npp-brass));
    pointer-events: none;
}

body {
    background:
        radial-gradient(900px 420px at 100% -8%, rgba(40, 64, 128, 0.14), transparent 55%),
        radial-gradient(720px 380px at -12% 8%, rgba(196, 165, 116, 0.18), transparent 50%),
        var(--npp-foam);
    color: var(--npp-ink-soft);
    font-family: "Outfit", "Segoe UI", sans-serif;
}

h1, h2, h3, h4, .h1, .h2, .h3, .h4,
.sidepanel-left .box-normal .box-normal-link,
.productlist-filter-headline {
    font-family: "Fraunces", Georgia, serif;
    font-weight: 500;
    color: var(--npp-ink);
    letter-spacing: -0.02em;
}

a {
    color: var(--npp-deep);
}

a:hover {
    color: var(--npp-gold);
}

::selection {
    background: rgba(40, 64, 128, 0.22);
    color: var(--npp-ink);
}

header,
#footer {
    position: relative;
}

header {
    z-index: 1020;
}

/* Kopfzeile */

#header-top-bar {
    background: var(--npp-ink);
    color: var(--npp-sand);
    letter-spacing: 0.08em;
    font-size: 0.75rem;
    text-transform: uppercase;
}

#header-top-bar a:not(.dropdown-item):not(.btn),
#header-top-bar .nav-link {
    color: var(--npp-sand);
}

#header-top-bar a:not(.dropdown-item):not(.btn):hover,
#header-top-bar .nav-link:hover {
    color: #fff;
}

header {
    background: rgba(247, 251, 252, 0.96);
    backdrop-filter: blur(18px);
    box-shadow: none;
    border-bottom: 1px solid transparent;
    transition: background 0.4s var(--npp-ease), box-shadow 0.4s var(--npp-ease), border-color 0.4s;
}

html.npp-scrolled header {
    background: rgba(247, 251, 252, 0.94);
    border-bottom-color: var(--npp-line);
    box-shadow: 0 12px 30px rgba(7, 25, 35, 0.06);
}

header .navbar-brand,
header .navbar-brand:hover,
header .navbar-brand:focus,
header .nav-logo-wrapper,
header .logo-wrapper,
header .toggler-logo-wrapper {
    background: transparent;
    box-shadow: none;
    transform: none;
}

header .navbar-brand {
    position: relative;
    z-index: 30;
}

header .navbar-brand img,
header .navbar-brand:hover img,
header .navbar-brand:focus img {
    transform: none;
    transition: none;
    background: transparent;
    box-shadow: none;
    border: 0;
    outline: none;
}

header #mainNavigation .nav-link,
header .navbar-nav > .nav-item > .nav-link {
    font-weight: 580;
    letter-spacing: 0.01em;
    color: var(--npp-ink-soft);
}

@media (min-width: 992px) {
    header .navbar-nav > .nav-item > .nav-link::before {
        border: 0;
        height: 2px;
        bottom: 0.9rem;
        width: 0;
        background: linear-gradient(90deg, var(--npp-glass), var(--npp-brass));
        border-radius: 99px;
        transition: width 0.45s var(--npp-ease);
    }

    header .navbar-nav > .nav-item.active > .nav-link::before,
    header .navbar-nav > .nav-item:hover > .nav-link::before,
    header .navbar-nav > .nav-item.hover > .nav-link::before,
    header .navbar-nav > .nav-item:focus-within > .nav-link::before {
        width: calc(100% - 2.4rem);
    }
}

header .nav-right .nav-link {
    transition: transform 0.35s var(--npp-ease), color 0.35s;
}

header .nav-right .nav-link:hover {
    transform: translateY(-2px);
    color: var(--npp-gold);
}

.npp-search {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 11rem;
    height: 3.05rem;
    margin: 0;
    background: rgba(40, 64, 128, 0.05);
    border: 1px solid rgba(40, 64, 128, 0.28);
    border-radius: 0.95rem;
    box-shadow: none;
    transition: background 0.4s var(--npp-ease), border-color 0.4s var(--npp-ease), box-shadow 0.4s var(--npp-ease);
}

.npp-search:hover {
    background: rgba(40, 64, 128, 0.09);
    border-color: rgba(40, 64, 128, 0.5);
}

.npp-search:focus-within {
    background: rgba(40, 64, 128, 0.07);
    border-color: var(--npp-king);
    box-shadow: 0 0 0 4px rgba(40, 64, 128, 0.12);
}

.npp-search__input,
.npp-search .twitter-typeahead,
.npp-search .tt-input,
.npp-search .tt-hint {
    width: 100%;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.npp-search__input {
    height: 3.05rem;
    margin: 0;
    padding: 0 3.1rem 0 1.25rem;
    border-radius: 0.95rem !important;
    color: var(--npp-ink);
    font-size: 1rem;
    letter-spacing: 0.01em;
    caret-color: var(--npp-king);
    outline: none;
    -webkit-appearance: none;
    appearance: none;
}

.npp-search__input::placeholder,
.npp-search .tt-hint {
    color: rgba(40, 64, 128, 0.55) !important;
    opacity: 1;
}

.npp-search__input::-webkit-search-decoration,
.npp-search__input::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
}

.npp-search__submit {
    position: absolute;
    top: 50%;
    right: 1.05rem;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.6rem;
    height: 1.6rem;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--npp-king);
    font-size: 1.05rem;
    box-shadow: none;
    transform: translateY(-50%);
    cursor: pointer;
    transition: color 0.35s var(--npp-ease), transform 0.45s var(--npp-ease);
}

.npp-search:hover .npp-search__submit,
.npp-search__submit:hover,
.npp-search__submit:focus {
    background: transparent;
    color: var(--npp-gold);
    box-shadow: none;
    transform: translateY(-50%) scale(1.12);
}

.npp-search .tt-menu {
    margin-top: 0.45rem;
    padding: 0.35rem;
    border: 0;
    border-radius: 0.95rem;
    background: #fff;
    box-shadow: var(--npp-shadow);
}

@media (prefers-reduced-motion: reduce) {
    .npp-search,
    .npp-search__submit {
        transition: none;
    }

    .npp-search:hover .npp-search__submit,
    .npp-search__submit:hover,
    .npp-search__submit:focus {
        transform: translateY(-50%);
    }
}

/* Desktop-Suche im Kopf: eigenes Formular, nicht das mobile npp-search */

#shop-nav #search {
    flex: 1 1 15rem;
    max-width: 22rem;
}

#shop-nav #search .search-wrapper,
#shop-nav #search form,
#shop-nav #search .form-icon {
    width: 100%;
}

#shop-nav #search .input-group {
    position: relative;
    flex-wrap: nowrap;
    align-items: center;
    height: 2.85rem;
    background: rgba(40, 64, 128, 0.05);
    border: 1px solid rgba(40, 64, 128, 0.28);
    border-radius: 0.95rem;
    box-shadow: none;
    transition: background 0.4s var(--npp-ease), border-color 0.4s var(--npp-ease), box-shadow 0.4s var(--npp-ease);
}

#shop-nav #search .form-icon:hover .input-group {
    background: rgba(40, 64, 128, 0.09);
    border-color: rgba(40, 64, 128, 0.5);
}

#shop-nav #search .form-control:focus {
    box-shadow: none;
}

#shop-nav #search .input-group:focus-within {
    background: rgba(40, 64, 128, 0.07);
    border-color: var(--npp-king);
    box-shadow: 0 0 0 4px rgba(40, 64, 128, 0.12);
}

#shop-nav #search .form-control {
    height: 2.85rem;
    border: 0 !important;
    border-radius: 0.95rem !important;
    background: transparent !important;
    color: var(--npp-ink) !important;
    box-shadow: none !important;
    padding-right: 2.8rem;
    caret-color: var(--npp-king);
}

#shop-nav #search .form-control::placeholder {
    color: rgba(40, 64, 128, 0.55);
    opacity: 1;
}

#shop-nav #search .input-group-append {
    position: absolute;
    top: 0;
    right: 0.1rem;
    bottom: 0;
    z-index: 4;
    display: flex;
    align-items: center;
    margin: 0;
}

#shop-nav #search .btn,
#shop-nav #search .btn-secondary,
#shop-nav #search .btn:hover,
#shop-nav #search .btn:focus,
#shop-nav #search .btn-secondary:hover,
#shop-nav #search .btn-secondary:focus {
    border: 0;
    background: transparent;
    color: var(--npp-king);
    box-shadow: none;
    padding: 0 0.75rem;
    transform: none;
}

#shop-nav #search .form-icon:hover .btn,
#shop-nav #search .btn:hover,
#shop-nav #search .btn:focus {
    color: var(--npp-gold);
    background: transparent;
}

#shop-nav #search .form-clear {
    position: absolute;
    top: 50%;
    right: 2.5rem;
    z-index: 4;
    color: var(--npp-sand);
    transform: translateY(-50%);
}

/* Flyout */

@media (min-width: 992px) {
    header .navbar-nav > .nav-item.dropdown-full {
        position: static;
    }

    header .navbar-nav > .nav-item > .dropdown-menu {
        top: 100%;
        display: block;
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
        transform: translateY(12px);
        margin-top: 0;
        z-index: 20;
        padding: 1.75rem 0 2rem;
        border: 0;
        border-radius: 0 0 1.75rem 1.75rem;
        background:
            linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(244, 247, 245, 0.98));
        box-shadow: var(--npp-shadow);
        transition: opacity 0.35s var(--npp-ease), transform 0.45s var(--npp-ease), visibility 0.35s;
        overflow: auto;
        max-height: calc(100vh - 8rem);
    }

    header .navbar-nav > .nav-item > .dropdown-menu::after {
        content: "";
        position: absolute;
        left: 8%;
        right: 8%;
        top: 0;
        height: 2px;
        background: linear-gradient(90deg, transparent, var(--npp-glass), var(--npp-brass), transparent);
        transform: scaleX(0.2);
        opacity: 0;
        transition: transform 0.6s var(--npp-ease), opacity 0.4s;
    }

    header .navbar-nav > .nav-item.npp-open > .dropdown-menu,
    header .navbar-nav > .nav-item.show > .dropdown-menu,
    header .navbar-nav > .nav-item.hover > .dropdown-menu,
    header .navbar-nav > .nav-item.dropdown:focus-within > .dropdown-menu {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
    }

    header .navbar-nav > .cart-icon-dropdown > .dropdown-menu,
    header .navbar-nav > .cart-icon-dropdown.dropdown:focus-within > .dropdown-menu,
    header .navbar-nav > .cart-icon-dropdown.show > .dropdown-menu,
    header .navbar-nav > .cart-icon-dropdown.npp-open > .dropdown-menu,
    header .navbar-nav > .cart-icon-dropdown.hover > .dropdown-menu {
        display: none;
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
        transform: none;
    }

    header .navbar-nav > .nav-item.npp-open > .dropdown-menu::after,
    header .navbar-nav > .nav-item.show > .dropdown-menu::after,
    header .navbar-nav > .nav-item.hover > .dropdown-menu::after,
    header .navbar-nav > .nav-item.dropdown:focus-within > .dropdown-menu::after {
        transform: scaleX(1);
        opacity: 1;
    }

    header .navbar-nav > .nav-item > .dropdown-menu .nav-item,
    header .navbar-nav > .nav-item > .dropdown-menu .dropdown-item {
        opacity: 0;
        transform: translateY(8px);
    }

    header .navbar-nav > .nav-item.npp-open > .dropdown-menu .nav-item,
    header .navbar-nav > .nav-item.show > .dropdown-menu .nav-item,
    header .navbar-nav > .nav-item.hover > .dropdown-menu .nav-item,
    header .navbar-nav > .nav-item.dropdown:focus-within > .dropdown-menu .nav-item,
    header .navbar-nav > .nav-item.npp-open > .dropdown-menu .dropdown-item,
    header .navbar-nav > .nav-item.show > .dropdown-menu .dropdown-item,
    header .navbar-nav > .nav-item.hover > .dropdown-menu .dropdown-item,
    header .navbar-nav > .nav-item.dropdown:focus-within > .dropdown-menu .dropdown-item {
        animation: npp-rise 0.55s var(--npp-ease) both;
    }

    header .dropdown-menu .nav-item:nth-child(2),
    header .dropdown-menu .dropdown-item:nth-child(2) { animation-delay: 0.04s; }
    header .dropdown-menu .nav-item:nth-child(3),
    header .dropdown-menu .dropdown-item:nth-child(3) { animation-delay: 0.08s; }
    header .dropdown-menu .nav-item:nth-child(4),
    header .dropdown-menu .dropdown-item:nth-child(4) { animation-delay: 0.12s; }
    header .dropdown-menu .nav-item:nth-child(5),
    header .dropdown-menu .dropdown-item:nth-child(5) { animation-delay: 0.16s; }
    header .dropdown-menu .nav-item:nth-child(6),
    header .dropdown-menu .dropdown-item:nth-child(6) { animation-delay: 0.2s; }
}

header .submenu-headline-toplevel {
    font-family: "Fraunces", Georgia, serif;
    font-size: 1.05rem;
    color: var(--npp-deep);
    border-bottom-color: var(--npp-line);
}

header .dropdown-menu .nav-link,
header .dropdown-item {
    border-radius: 0.6rem;
    transition: transform 0.35s var(--npp-ease), color 0.3s, background 0.3s;
}

header .dropdown-menu .nav-link:hover,
header .dropdown-item:hover,
header .dropdown-item:focus {
    transform: translateX(6px);
    color: var(--npp-glass);
    background: rgba(40, 64, 128, 0.06);
}

header .submenu-headline-image img {
    border-radius: 1rem;
    transition: transform 0.6s var(--npp-ease);
}

header .submenu-headline-image:hover img {
    transform: scale(1.04);
}

@media (max-width: 991.98px) {
    header .navbar-collapse {
        background: linear-gradient(180deg, #f7fbfc 0%, #e8edf6 100%);
        box-shadow: var(--npp-shadow);
    }

    header .navbar-nav .nav-link {
        font-family: "Outfit", "Segoe UI", sans-serif;
    }

    header .navbar-nav .dropdown-menu.show,
    header .navbar-nav .nav-item.npp-open > .dropdown-menu {
        background: rgba(255, 255, 255, 0.72);
    }
}

/* Schaltflächen und Formulare */

.btn {
    border-radius: 999px;
    font-weight: 580;
    letter-spacing: 0.01em;
    transition: transform 0.35s var(--npp-ease), box-shadow 0.35s var(--npp-ease), background 0.35s;
}

.btn-primary {
    background: linear-gradient(180deg, #3a5694 0%, var(--npp-king) 100%);
    border-color: transparent;
    color: #f7fbfc;
    box-shadow: 0 8px 18px rgba(40, 64, 128, 0.18);
}

.btn-primary:hover,
.btn-primary:focus {
    background: linear-gradient(180deg, var(--npp-king) 0%, #1b2f66 100%);
    border-color: transparent;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 14px 26px rgba(40, 64, 128, 0.22);
}

.btn-outline-primary,
.btn-outline-secondary {
    border-radius: 999px;
    border-color: rgba(40, 64, 128, 0.35);
    color: var(--npp-deep);
}

.btn-outline-primary:hover,
.btn-outline-secondary:hover {
    background: var(--npp-deep);
    border-color: var(--npp-deep);
    color: #fff;
    transform: translateY(-2px);
}

.form-control {
    border-radius: 0.9rem;
    border-color: rgba(40, 64, 128, 0.22);
}

.form-control:focus {
    border-color: var(--npp-glass);
    box-shadow: 0 0 0 4px rgba(40, 64, 128, 0.14);
}

/* Inhalt, Karten, Artikel */

.breadcrumb-wrapper {
    border-color: var(--npp-line);
}

.breadcrumb a:hover {
    color: var(--npp-gold);
}

.content-cats-small .sub-categories,
.card,
.box {
    transition: transform 0.45s var(--npp-ease), box-shadow 0.45s var(--npp-ease);
}

.content-cats-small .sub-categories {
    background: rgba(255, 255, 255, 0.72);
    border-radius: 1.25rem;
    padding: 0.75rem;
}

.content-cats-small .sub-categories:hover,
html.npp-motion .content-cats-small .sub-categories.npp-in:hover {
    transform: translateY(-6px);
    box-shadow: var(--npp-shadow);
}

.content-cats-small img,
.subcategories-image img {
    border-radius: 1rem;
    transition: transform 0.6s var(--npp-ease);
}

.content-cats-small .sub-categories:hover img {
    transform: scale(1.04);
}

.productbox {
    background: rgba(255, 255, 255, 0.88);
    border-radius: 1.35rem;
    overflow: hidden;
    box-shadow: 0 1px 0 rgba(40, 64, 128, 0.04);
}

.productbox.productbox-hover:hover .productbox-inner::before,
.productbox.productbox-hover:focus .productbox-inner::before,
.productbox.productbox-hover.focus .productbox-inner::before {
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}

.productbox .ribbon,
.productbox .productbox-ribbon,
.productbox.productbox-hover:hover .productbox-ribbon.ribbon,
.productbox.productbox-hover:focus .productbox-ribbon.ribbon,
.productbox.productbox-hover.focus .productbox-ribbon.ribbon {
    top: 0.75rem !important;
    left: 0.75rem !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    transition: none;
}

.productbox-image,
.productbox .square-image,
.productbox .square-image .inner,
.list-gallery,
.list-gallery .second-wrapper {
    overflow: hidden;
}

.productbox .square-image .inner img,
.productbox:hover .square-image .inner img,
.productbox:focus-within .square-image .inner img,
.list-gallery img.first,
.list-gallery img.second,
.list-gallery:hover img.first,
.list-gallery:hover img.second {
    transform: translate(-50%, -50%);
}

.productbox:hover,
.productbox:focus-within,
html.npp-motion .productbox.npp-in:hover,
html.npp-motion .productbox.npp-in:focus-within {
    transform: translateY(-8px);
    box-shadow: var(--npp-shadow);
}

.productbox .productbox-title,
.productbox .productbox-title a {
    font-family: "Fraunces", Georgia, serif;
    color: var(--npp-ink);
    text-decoration: none;
}

.price,
.productbox-price .price {
    color: var(--npp-deep);
    font-family: "Fraunces", Georgia, serif;
}

.productbox .price_wrapper {
    display: flex;
    justify-content: flex-end;
    margin-top: 0.65rem;
}

.productbox .productbox-price {
    margin: 0;
    text-align: right;
}

.productbox .productbox-price > span {
    display: inline-flex;
    align-items: baseline;
    gap: 0.12rem;
    padding: 0.42rem 0.9rem 0.36rem;
    border: 1px solid rgba(40, 64, 128, 0.14);
    border-bottom: 2px solid #d0b868;
    border-radius: 0.85rem;
    background: linear-gradient(180deg, #ffffff, #f4f6fb);
    box-shadow: 0 8px 18px rgba(40, 64, 128, 0.08);
    color: #284080;
    font-size: clamp(1.08rem, 1.25vw, 1.32rem);
    font-weight: 560;
    line-height: 1;
    white-space: nowrap;
}

.ribbon,
.productbox-ribbon {
    background: var(--npp-brass);
    color: var(--npp-ink);
    border-radius: 999px;
    box-shadow: none;
}

.productbox .ribbon::before,
.productbox .ribbon::after,
.product-detail .ribbon::before,
.product-detail .ribbon::after {
    display: none !important;
    content: none !important;
}

.productbox .ribbon.ribbon-8,
.product-detail .ribbon.ribbon-8 {
    border: 2px solid #1a7a32;
    box-shadow: 0 0 0 3px rgba(26, 122, 50, 0.2);
    color: #0f5a24;
}

.productbox .ribbon.ribbon-7,
.product-detail .ribbon.ribbon-7 {
    border: 2px solid #c0392b;
    box-shadow: 0 0 0 3px rgba(192, 57, 43, 0.2);
    color: #8e241c;
}

.product-info .info-essential {
    display: grid;
    margin: 1.35rem 0 1.6rem;
    padding: 0.3rem;
    list-style: none;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(244, 247, 245, 0.92));
    border: 1px solid rgba(40, 64, 128, 0.1);
    border-radius: 1.2rem;
    box-shadow: 0 18px 40px rgba(7, 25, 35, 0.06);
    overflow: hidden;
}

.product-info .info-essential > li {
    display: grid;
    grid-template-columns: minmax(7.5rem, 10rem) 1fr;
    gap: 0.75rem;
    align-items: center;
    margin: 0;
    padding: 0.72rem 1rem;
    border-bottom: 1px solid rgba(40, 64, 128, 0.08);
}

.product-info .info-essential > li:last-child {
    border-bottom: 0;
}

.product-info .info-essential strong {
    font-family: "Outfit", "Segoe UI", sans-serif;
    font-size: 0.68rem;
    font-weight: 580;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: var(--npp-deep);
}

.product-info .info-essential a {
    color: var(--npp-ink);
    text-decoration: none;
    border-bottom: 0;
}

.product-info .info-essential a:hover {
    color: var(--npp-gold);
}

.product-info .info-essential .gpsr-compliance {
    width: 100%;
    margin: 0;
}

.product-info .info-essential .gpsr-compliance > .col {
    flex: 0 0 100%;
    max-width: 100%;
    padding: 0;
}

.product-info .info-essential .gpsr-compliance > .col:empty {
    display: none;
}

.product-info .info-essential .gpsr-compliance .product-manufacturer {
    margin: 0;
}

.product-info .info-essential details {
    border-top: 1px solid rgba(40, 64, 128, 0.08);
}

.product-info .info-essential summary {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    margin: 0;
    padding: 0.85rem 1rem;
    cursor: pointer;
    list-style: none;
}

.product-info .info-essential summary::-webkit-details-marker {
    display: none;
}

.product-info .info-essential summary::marker {
    content: "";
}

.product-info .info-essential summary::before {
    content: "";
    flex: 0 0 auto;
    width: 0.45rem;
    height: 0.45rem;
    border-right: 2px solid var(--npp-deep);
    border-bottom: 2px solid var(--npp-deep);
    transform: rotate(-45deg);
    transition: transform 0.3s var(--npp-ease);
}

.product-info .info-essential details[open] summary::before {
    transform: rotate(45deg);
}

.product-info .info-essential .product-manufacturer-manufacturer {
    padding: 0 1.1rem 1rem 2.15rem;
    color: var(--npp-ink-soft);
    font-size: 0.92rem;
    line-height: 1.6;
}

.product-info .info-essential .product-manufacturer-manufacturer p {
    margin: 0;
}

.product-info .shortdesc {
    position: relative;
    margin: 0 0 1.15rem;
    padding: 1.15rem 1.2rem 1.05rem 1.35rem;
    background: linear-gradient(180deg, #ffffff, #f3f7f6);
    border: 1px solid rgba(40, 64, 128, 0.1);
    border-radius: 1.25rem;
    box-shadow: 0 16px 36px rgba(7, 25, 35, 0.05);
}

.product-info .shortdesc::before {
    content: "";
    position: absolute;
    left: 0.7rem;
    top: 1rem;
    bottom: 1rem;
    width: 3px;
    border-radius: 99px;
    background: linear-gradient(180deg, var(--npp-glass), var(--npp-brass));
}

.product-info .shortdesc ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.product-info .shortdesc li {
    position: relative;
    margin: 0;
    padding: 0.38rem 0 0.38rem 1.35rem;
    color: var(--npp-ink);
    line-height: 1.45;
}

.product-info .shortdesc li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.78rem;
    width: 0.42rem;
    height: 0.42rem;
    border-radius: 50%;
    background: var(--npp-glass);
    box-shadow: 0 0 0 3px rgba(40, 64, 128, 0.14);
}

#product-offer .price_wrapper {
    margin: 0;
    padding: 1rem 1.15rem;
    background:
        linear-gradient(145deg, rgba(40, 64, 128, 0.07), rgba(208, 184, 104, 0.2));
    border: 1px solid rgba(40, 64, 128, 0.18);
    border-radius: 1.15rem;
    box-shadow: none;
}

#product-offer .price_wrapper .price,
#product-offer .price_wrapper .price span {
    display: block;
    font-family: "Fraunces", Georgia, serif;
    font-size: clamp(1.45rem, 1.7vw, 1.85rem);
    font-weight: 560;
    line-height: 1.1;
    color: var(--npp-king);
    white-space: nowrap;
}

#product-offer .price-note {
    margin-top: 0.7rem;
}

#product-offer .vat_info,
#product-offer .vat_info a,
#product-offer .price-note {
    color: #3c4d73;
    font-size: 0.88rem;
}

#product-offer .vat_info a {
    color: #8a7040;
    text-decoration: none;
    border-bottom: 1px solid rgba(208, 184, 104, 0.85);
}

.product-info .stock-information {
    border: 0;
    align-items: center;
    margin: 0.2rem 0 0.85rem;
    padding-top: 0;
    padding-bottom: 0;
}

.question-on-item {
    margin-left: auto;
}

.question-on-item .question {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    border: 1px solid rgba(40, 64, 128, 0.18);
    border-radius: 999px;
    padding: 0.45rem 0.95rem 0.45rem 0.45rem;
    color: var(--npp-deep);
    background: #fff;
    box-shadow: 0 8px 20px rgba(40, 64, 128, 0.08);
    text-decoration: none;
    font-weight: 580;
}

.question-on-item .question .fa,
.question-on-item .question .fas {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 50%;
    background: var(--npp-deep);
    color: #f7fbfc;
    font-size: 0.85rem;
}

.question-on-item .question:hover,
.question-on-item .question:focus {
    background: var(--npp-deep);
    color: #fff;
    text-decoration: none;
    transform: none;
}

.question-on-item .question:hover .fa,
.question-on-item .question:hover .fas,
.question-on-item .question:focus .fa,
.question-on-item .question:focus .fas {
    background: #fff;
    color: var(--npp-deep);
}

.basket-form-inline {
    display: flex;
    align-items: stretch;
    margin-top: 0.85rem;
}

.basket-form-inline > [class*="col"] {
    display: flex;
    align-items: stretch;
}

#quantity-grp.form-counter {
    display: flex;
    align-items: center;
    width: 100%;
    max-height: none;
    height: 3.5rem;
    min-height: 3.5rem;
    padding: 0.28rem;
    background: #fff;
    border: 1px solid rgba(40, 64, 128, 0.16);
    border-radius: 999px;
    box-shadow: 0 10px 24px rgba(7, 25, 35, 0.05);
}

#quantity-grp .btn {
    flex: 0 0 2.7rem;
    width: 2.7rem;
    height: 2.7rem;
    max-height: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(40, 64, 128, 0.08);
    color: var(--npp-deep);
    transform: none;
}

#quantity-grp .btn:hover,
#quantity-grp .btn:focus {
    background: var(--npp-deep);
    color: #fff;
    transform: none;
}

#quantity-grp .quantity {
    flex: 1 1 auto;
    width: 3rem;
    height: 2.7rem;
    border: 0;
    background: transparent;
    box-shadow: none;
    text-align: center;
    font-family: "Fraunces", Georgia, serif;
    font-size: 1.35rem;
    color: var(--npp-ink);
}

#quantity-grp .unit {
    border: 0;
    background: transparent;
    color: var(--npp-deep);
}

.basket-form-inline .btn-primary {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 3.5rem;
    min-height: 3.5rem;
    margin: 0;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(180deg, #34539a 0%, var(--npp-king) 100%);
    color: #f7fbfc;
    font-size: 1.05rem;
    letter-spacing: 0.01em;
    box-shadow: 0 12px 24px rgba(40, 64, 128, 0.22);
}

.basket-form-inline .btn-primary:hover,
.basket-form-inline .btn-primary:focus {
    background: linear-gradient(180deg, var(--npp-king) 0%, #1b2f66 100%);
    color: #fff;
    transform: none;
    box-shadow: 0 16px 28px rgba(40, 64, 128, 0.28);
}

#image_wrapper #gallery .square-image {
    background: linear-gradient(180deg, #ffffff, #f4f7f5);
    border-radius: 1.4rem;
    overflow: hidden;
    box-shadow: 0 18px 40px rgba(7, 25, 35, 0.07);
}

#product-offer > .product-headline {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    margin: 0 0 1.35rem;
    padding: 0 0 0.2rem;
    text-align: center;
}

#product-offer .product-title {
    margin: 0;
    font-family: "Fraunces", Georgia, serif;
    font-size: clamp(1.35rem, 1.85vw, 2rem);
    font-weight: 560;
    line-height: 1.2;
    color: var(--npp-ink);
}

@media (min-width: 1100px) {
    #product-offer .product-title {
        white-space: nowrap;
    }
}

.product-gallery .product-actions {
    position: absolute;
    visibility: hidden;
}

.question-on-item .product-actions {
    position: static;
    visibility: visible;
    display: flex;
    flex: 1 1 auto;
    width: 100%;
    margin: 0;
}

.product-detail .product-actions .compare {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    width: 100%;
    height: 100%;
    min-height: 2.7rem;
    margin: 0;
    padding: 0.45rem 0.8rem;
    border: 1px solid rgba(40, 64, 128, 0.2);
    border-radius: 0.85rem;
    background: #fff;
    color: var(--npp-king);
    box-shadow: none;
    transform: none;
    transition: background 0.35s var(--npp-ease), color 0.35s var(--npp-ease);
}

.product-detail .product-actions .compare::after {
    content: "Vergleichen";
    font-family: "Outfit", "Segoe UI", sans-serif;
    font-size: 0.82rem;
    font-weight: 620;
    letter-spacing: 0.01em;
}

.product-detail .product-actions .compare:hover,
.product-detail .product-actions .compare:focus {
    background: var(--npp-king);
    color: #fff;
    transform: none;
}

.npp-buybar {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    align-items: stretch;
    width: 100%;
    margin: 0 0 1rem;
}

.npp-buybar > .npp-buybar__stock,
.npp-buybar > .question-on-item,
.npp-buybar > .price_wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 8.75rem;
    height: auto;
    margin: 0;
    padding: 0.85rem 0.9rem;
    border: 1px solid rgba(40, 64, 128, 0.16);
    border-radius: 1.15rem;
    background: linear-gradient(180deg, #ffffff, #f4f6fb);
    box-shadow: 0 10px 24px rgba(40, 64, 128, 0.06);
}

@media (max-width: 991.98px) {
    .npp-buybar {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991.98px) {
    .product-info .stock-information {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem;
        height: auto;
        margin: 0;
        border: 0;
        padding: 0;
    }
}

.product-info .stock-information > .col,
.product-info .question-on-item {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(40, 64, 128, 0.1);
    border-radius: 1.15rem;
    background: linear-gradient(180deg, #ffffff, #f3f7f6);
    box-shadow: 0 12px 28px rgba(7, 25, 35, 0.05);
}

.product-info .stock-information > .col:not(.question-on-item) {
    flex: 1 1 auto;
}

.product-info .question-on-item {
    flex-direction: column;
    justify-content: center;
    gap: 0.45rem;
    min-height: 7.25rem;
}

.product-info .stock-information > .col:not(.question-on-item),
#product-offer .price_wrapper {
    min-height: 7.25rem;
}

.question-on-item .question {
    width: 100%;
    justify-content: center;
    min-height: 2.7rem;
    white-space: nowrap;
    border-color: rgba(40, 64, 128, 0.2);
    color: var(--npp-king);
}

.question-on-item .question .fa,
.question-on-item .question .fas {
    background: var(--npp-king);
}

.question-on-item .question:hover,
.question-on-item .question:focus {
    background: var(--npp-king);
    color: #fff;
}

.product-info .delivery-status,
.product-info .delivery-status ul,
.product-info .delivery-status li {
    margin: 0;
}

.product-info .delivery-status .status {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-weight: 680;
    color: var(--npp-deep);
}

.product-info .estimated-delivery {
    margin-top: 0.28rem;
    color: var(--npp-ink-soft);
    font-size: 0.88rem;
    line-height: 1.35;
}

#product-offer .price_wrapper {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#gallery_preview_wrapper {
    margin-top: 1rem;
    padding: 0.7rem 0.4rem;
    background: linear-gradient(180deg, #ffffff, #e8edf6);
    border: 1px solid rgba(40, 64, 128, 0.12);
    border-radius: 1.25rem;
    box-shadow: 0 16px 34px rgba(7, 25, 35, 0.07);
}

#image_wrapper #gallery_preview.slick-initialized {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

#image_wrapper #gallery_preview .slick-list {
    flex: 1 1 auto;
    margin: 0;
}

#image_wrapper #gallery_preview .slick-slide {
    padding: 0.2rem 0.35rem;
}

#gallery_preview .square-image {
    border-radius: 0.85rem;
    overflow: hidden;
    outline: 2px solid transparent;
    outline-offset: 3px;
    transition: outline-color 0.3s var(--npp-ease), transform 0.3s var(--npp-ease);
}

#gallery_preview .slick-current.square-image,
#gallery_preview .square-image:hover {
    outline-color: var(--npp-glass);
}

#image_wrapper #gallery_preview .slick-arrow {
    position: static;
    flex: 0 0 2.15rem;
    width: 2.15rem;
    height: 2.15rem;
    margin: 0 0.2rem;
    padding: 0;
    border: 1px solid rgba(40, 64, 128, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 6px 16px rgba(40, 64, 128, 0.08);
    opacity: 1;
    font-size: 0;
    transform: none;
    transition: background 0.3s var(--npp-ease), border-color 0.3s var(--npp-ease);
}

#image_wrapper #gallery_preview .slick-arrow::after {
    content: "" !important;
    display: block;
    width: 0.42rem;
    height: 0.42rem;
    margin: 0 auto;
    border-right: 2px solid var(--npp-king);
    border-bottom: 2px solid var(--npp-king);
    font-size: 0;
}

#image_wrapper #gallery_preview .slick-prev::after {
    transform: rotate(135deg) translate(-1px, -1px);
}

#image_wrapper #gallery_preview .slick-next::after {
    transform: rotate(-45deg) translate(-1px, -1px);
}

#image_wrapper #gallery_preview .slick-arrow:hover {
    background: var(--npp-king);
    border-color: var(--npp-king);
}

#image_wrapper #gallery_preview .slick-arrow:hover::after {
    border-color: #fff;
}

.modal {
    z-index: 4000;
}

.modal-backdrop {
    z-index: 3990;
    background: rgba(7, 25, 35, 0.62);
}

.modal-backdrop.show {
    opacity: 1;
    backdrop-filter: blur(7px);
}

[id^="question-popup"] .modal-dialog {
    max-width: 42rem;
}

[id^="question-popup"] .modal-content {
    border: 0;
    border-radius: 1.5rem;
    overflow: hidden;
    background: #f7fbfc;
    box-shadow: 0 30px 80px rgba(7, 25, 35, 0.28);
}

[id^="question-popup"] .modal-header {
    position: relative;
    align-items: center;
    min-height: 3.4rem;
    padding: 1.35rem 4.4rem 0.4rem 1.35rem;
    border: 0;
    background: transparent;
}

[id^="question-popup"] .modal-title {
    font-family: "Fraunces", Georgia, serif;
    font-size: 1.7rem;
    color: var(--npp-ink);
}

[id^="question-popup"] .modal-header .close,
[id^="question-popup"] .modal-header button.close {
    position: absolute !important;
    top: 0.9rem !important;
    right: 0.9rem !important;
    left: auto !important;
    z-index: 3;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    margin: 0 !important;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(40, 64, 128, 0.08);
    color: #071923;
    opacity: 1 !important;
    text-shadow: none;
    transform: none !important;
    font-size: 0;
    line-height: 1;
}

[id^="question-popup"] .modal-header .close span,
[id^="question-popup"] .modal-header button.close span {
    display: none !important;
}

[id^="question-popup"] .modal-header .close::after,
[id^="question-popup"] .modal-header button.close::after {
    content: "\00d7" !important;
    display: block;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 1.7rem !important;
    font-weight: 400 !important;
    line-height: 1;
    color: #071923;
}

[id^="question-popup"] .modal-header .close:hover,
[id^="question-popup"] .modal-header .close:focus,
[id^="question-popup"] .modal-header button.close:hover,
[id^="question-popup"] .modal-header button.close:focus {
    background: #284080;
    color: #fff;
}

[id^="question-popup"] .modal-header .close:hover::after,
[id^="question-popup"] .modal-header .close:focus::after,
[id^="question-popup"] .modal-header button.close:hover::after,
[id^="question-popup"] .modal-header button.close:focus::after {
    color: #fff;
}

[id^="question-popup"] .modal-body,
[id^="question-popup"] .modal-content > form,
[id^="question-popup"] fieldset {
    min-width: 0;
}

[id^="question-popup"] .modal-body {
    padding: 0.5rem 1.35rem 1.5rem;
}

[id^="question-popup"] legend {
    font-family: "Fraunces", Georgia, serif;
    font-size: 1.15rem;
    color: var(--npp-deep);
    border: 0;
}

[id^="question-popup"] .form-control,
[id^="question-popup"] .custom-select,
[id^="question-popup"] textarea {
    border: 1px solid rgba(40, 64, 128, 0.18);
    border-radius: 0.85rem;
    background: #fff;
    box-shadow: none;
}

[id^="question-popup"] .btn-primary,
[id^="question-popup"] button[type="submit"] {
    border-radius: 999px;
}

@media (prefers-reduced-motion: no-preference) {
    [id^="question-popup"].fade .modal-dialog {
        transform: translateY(28px) scale(0.98);
        transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
    }

    [id^="question-popup"].show .modal-dialog {
        transform: none;
    }
}

#image_wrapper.fullscreen {
    inset: 0;
    z-index: 5000;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 4.75rem 1.25rem 1.25rem;
    background: rgba(7, 25, 35, 0.86);
    backdrop-filter: blur(10px);
    overflow: auto;
}

#image_wrapper.fullscreen .gallery-with-action-main,
#image_wrapper.fullscreen .product-detail-image-preview-bar {
    background: transparent;
    border-radius: 1.25rem;
}

#image_wrapper.fullscreen .gallery-with-action-main {
    width: min(1080px, 100%);
    margin: 0 auto;
}

#image_wrapper.fullscreen .product-detail-image-topbar {
    position: static;
    height: auto;
    margin: 0;
    background: transparent;
    border-radius: 0;
}

#image_wrapper.fullscreen #image_fullscreen_close {
    position: absolute;
    top: calc(4.75rem + 0.7rem);
    right: calc(1.25rem + max(0px, (100vw - 2.5rem - 1080px) / 2) + 0.7rem);
    left: auto;
    z-index: 8;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: #f7fbfc;
    color: #071923;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.28);
    transform: none !important;
    opacity: 1;
    font-size: 0;
}

#image_wrapper.fullscreen #image_fullscreen_close span,
#image_wrapper.fullscreen #image_fullscreen_close .fa {
    display: none !important;
}

#image_wrapper.fullscreen #image_fullscreen_close::after {
    content: "\00d7" !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 1.7rem !important;
    font-weight: 400 !important;
    line-height: 1;
    color: #071923;
}

#image_wrapper.fullscreen #image_fullscreen_close:hover,
#image_wrapper.fullscreen #image_fullscreen_close:focus {
    background: var(--npp-sand);
    color: var(--npp-ink);
    transform: none;
}

#image_wrapper.fullscreen #gallery .square-image {
    background: #fff;
    border-radius: 1.25rem;
    overflow: hidden;
}

#image_wrapper.fullscreen #gallery .square-image,
#image_wrapper.fullscreen #gallery .slick-list,
#image_wrapper.fullscreen #gallery .slick-track {
    height: min(72vh, 820px);
}

#image_wrapper.fullscreen #gallery .square-image .inner img {
    left: 50%;
    top: 50%;
    margin: 0;
    transform: translate(-50%, -50%);
    object-fit: contain;
    object-position: center;
}

#productImagesModal .modal-dialog {
    width: min(1080px, calc(100vw - 2rem));
    max-width: none;
    margin: 4.5rem auto 1.5rem;
}

#productImagesModal .modal-content {
    position: relative;
    border: 0;
    border-radius: 1.35rem;
    overflow: visible;
    background: #f7fbfc;
    box-shadow: 0 30px 80px rgba(7, 25, 35, 0.35);
}

#productImagesModal .modal-header {
    position: static;
    padding: 0;
    border: 0;
}

#productImagesModal .modal-header .close {
    position: absolute !important;
    top: 0.7rem !important;
    right: 0.7rem !important;
    left: auto !important;
    z-index: 6;
    transform: none !important;
    font-size: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: #f7fbfc;
    color: var(--npp-ink);
    opacity: 1;
    text-shadow: none;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.28);
}

#productImagesModal .modal-header .close span,
#productImagesModal .modal-header .close .fa {
    display: none !important;
}

#productImagesModal .modal-header .close::after {
    content: "\00d7" !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 1.7rem !important;
    font-weight: 400 !important;
    line-height: 1;
    color: #071923;
}

#productImagesModal .modal-header .close:hover,
#productImagesModal .modal-header .close:focus {
    background: var(--npp-sand);
    color: var(--npp-ink);
    opacity: 1;
}

#productImagesModal .modal-body {
    padding: 0.75rem;
}

#productImagesModal .square-image {
    background: #fff;
    border-radius: 1rem;
    overflow: hidden;
}

#image_wrapper.fullscreen #gallery .slick-arrow,
#productImagesModal #gallery .slick-arrow,
.slick-lightbox .slick-arrow {
    display: flex !important;
    align-items: center;
    justify-content: center;
    position: fixed !important;
    top: 50% !important;
    bottom: auto !important;
    width: 3.5rem;
    height: 3.5rem;
    margin: 0 !important;
    padding: 0 !important;
    border: 0;
    border-radius: 999px;
    background: rgba(7, 25, 35, 0.78);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.32);
    opacity: 1 !important;
    z-index: 10020;
    transform: translateY(-50%) !important;
    cursor: pointer;
}

#image_wrapper.fullscreen #gallery .slick-prev,
#productImagesModal #gallery .slick-prev,
.slick-lightbox .slick-prev {
    left: 1.35rem !important;
    right: auto !important;
}

#image_wrapper.fullscreen #gallery .slick-next,
#productImagesModal #gallery .slick-next,
.slick-lightbox .slick-next {
    right: 1.35rem !important;
    left: auto !important;
}

#image_wrapper.fullscreen #gallery .slick-arrow::after,
#productImagesModal #gallery .slick-arrow::after,
.slick-lightbox .slick-arrow::after {
    content: "" !important;
    display: block;
    width: 0.95rem;
    height: 1.15rem;
    margin: 0;
    border: 0 !important;
    background: #d0b868;
    font-family: inherit !important;
    font-size: 0 !important;
    font-weight: 400 !important;
}

#image_wrapper.fullscreen #gallery .slick-prev::after,
#productImagesModal #gallery .slick-prev::after,
.slick-lightbox .slick-prev::after {
    clip-path: polygon(100% 0, 0 50%, 100% 100%);
    margin-right: 0.14rem;
}

#image_wrapper.fullscreen #gallery .slick-next::after,
#productImagesModal #gallery .slick-next::after,
.slick-lightbox .slick-next::after {
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    margin-left: 0.14rem;
}

#image_wrapper.fullscreen #gallery .slick-arrow:hover,
#image_wrapper.fullscreen #gallery .slick-arrow:focus,
#productImagesModal #gallery .slick-arrow:hover,
#productImagesModal #gallery .slick-arrow:focus,
.slick-lightbox .slick-arrow:hover,
.slick-lightbox .slick-arrow:focus {
    background: #284080;
    opacity: 1 !important;
}

#image_wrapper.fullscreen #gallery .slick-arrow:hover::after,
#image_wrapper.fullscreen #gallery .slick-arrow:focus::after,
#productImagesModal #gallery .slick-arrow:hover::after,
#productImagesModal #gallery .slick-arrow:focus::after,
.slick-lightbox .slick-arrow:hover::after,
.slick-lightbox .slick-arrow:focus::after {
    background: #fff;
}

.slick-lightbox-close {
    top: calc(6vh + 0.4rem);
    right: calc(6vw + 0.4rem);
    z-index: 20;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border: 0;
    border-radius: 999px;
    background: #f7fbfc;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.28);
}

.slick-lightbox-close:before {
    content: "\00d7";
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1.7rem;
    line-height: 1;
    color: #071923;
    opacity: 1;
}

#product-offer {
    background: transparent;
    border-radius: 0;
    padding: 0;
}

aside .card > .card-heading > .card-title,
.productlist-filter-headline {
    border-bottom-color: var(--npp-line);
    color: var(--npp-ink);
}

aside .nav-panel > .nav > .active > .nav-link {
    border-bottom-color: var(--npp-glass);
}

.page-item.active .page-link::after,
.page-item.active .page-text::after {
    border-bottom-color: var(--npp-glass);
}

.badge-primary,
.bg-primary {
    background-color: var(--npp-deep) !important;
}

.text-primary {
    color: var(--npp-glass) !important;
}

.banner img,
.img-fluid.banner {
    border-radius: 1.5rem;
}

html.npp-motion .banner img {
    animation: npp-drift 22s ease-in-out infinite alternate;
}

.slick-dots li button {
    border-color: rgba(40, 64, 128, 0.2);
    background: rgba(40, 64, 128, 0.15);
}

.slick-dots li.slick-active button {
    background: var(--npp-deep);
    border-color: var(--npp-deep);
    transform: scale(1.15);
}

/* Footer */

.npp-shore {
    position: relative;
    z-index: 2;
    display: block;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-bottom: -1px;
    padding: 0;
    color: var(--npp-ink);
    line-height: 0;
    overflow: hidden;
}

.npp-shore svg {
    display: block;
    width: 100%;
    height: 4.5rem;
}

.npp-shore + #footer,
.npp-shore + footer,
#footer {
    margin-top: 0;
}

#footer {
    background:
        radial-gradient(600px 180px at 90% 0%, rgba(40, 64, 128, 0.25), transparent 60%),
        var(--npp-ink);
    color: #d8deee;
    margin-top: 0;
}

#footer a {
    color: #d8deee;
    text-decoration: none;
}

#footer a:hover {
    color: var(--npp-sand);
}

#footer h1, #footer h2, #footer h3, #footer h4, #footer h5,
#footer .card-title {
    color: #f7fbfc;
}

#copyright {
    background: #041018;
    color: #9aa6c0;
}

.is-checkout .npp-shore {
    display: none;
}

/* Bewegung */

@keyframes npp-rise {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes npp-drift {
    from { transform: scale(1); }
    to { transform: scale(1.05); }
}

html.npp-motion .productbox,
html.npp-motion .content-cats-small .sub-categories,
html.npp-motion #footer .col,
html.npp-motion aside .box {
    opacity: 0;
    transform: translateY(18px);
}

html.npp-motion .productbox.npp-in,
html.npp-motion .content-cats-small .sub-categories.npp-in,
html.npp-motion #footer .col.npp-in,
html.npp-motion aside .box.npp-in {
    opacity: 1;
    transform: none;
    transition: opacity 0.7s var(--npp-ease), transform 0.7s var(--npp-ease), box-shadow 0.45s var(--npp-ease);
    transition-delay: calc(var(--npp-i, 0) * 45ms);
}

.npp-cart-tab {
    position: fixed;
    top: 42%;
    right: 0;
    z-index: 1040;
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    width: 2.55rem;
    margin: 0;
    padding: 0.7rem 0.28rem 0.85rem;
    border: 0;
    border-radius: 0.85rem 0 0 0.85rem;
    background: var(--npp-king);
    color: #fff;
    box-shadow: -8px 8px 22px rgba(40, 64, 128, 0.22);
    cursor: pointer;
    transition: right 0.48s var(--npp-ease), background 0.3s var(--npp-ease);
}

.npp-cart-tab.is-on {
    display: inline-flex;
}

.npp-cart-tab__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.45rem;
    height: 1.45rem;
    padding: 0 0.35rem;
    border-radius: 999px;
    background: var(--npp-gold);
    color: #1c2a4a;
    font-size: 0.75rem;
    font-weight: 740;
}

.npp-cart-tab__label {
    writing-mode: vertical-rl;
    font-size: 0.72rem;
    font-weight: 650;
    letter-spacing: 0.08em;
}

.npp-cart-tab:hover {
    background: #1b2f66;
}

body.npp-cart-open .npp-cart-tab {
    right: min(28rem, 100vw);
}

body.npp-cart-open #cart-dropdown-container.show,
body.npp-cart-closing #cart-dropdown-container.show {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    z-index: 1045;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    flex-direction: column;
    width: min(28rem, 100vw);
    max-width: 100vw;
    height: 100vh;
    max-height: none !important;
    margin: 0;
    padding: 1.35rem 1.25rem 1.4rem;
    overflow: hidden;
    border: 0;
    border-radius: 1.5rem 0 0 1.5rem;
    background: linear-gradient(180deg, #ffffff, #f4f6fb);
    box-shadow: -28px 0 60px rgba(20, 28, 52, 0.2);
    transform: translateX(0);
    animation: npp-drawer-in 0.48s var(--npp-ease);
}

body.npp-cart-closing #cart-dropdown-container.show {
    animation: npp-drawer-out 0.42s var(--npp-ease) forwards;
    pointer-events: none !important;
}

body.npp-cart-open #cart-dropdown-container.npp-cart-quiet.show {
    animation: none !important;
    transform: translateX(0) !important;
}

@keyframes npp-drawer-in {
    from { transform: translateX(104%); }
    to { transform: translateX(0); }
}

@keyframes npp-drawer-out {
    from { transform: translateX(0); }
    to { transform: translateX(104%); }
}

.npp-cart-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 1rem;
}

.npp-cart-head strong {
    font-family: "Fraunces", Georgia, serif;
    font-size: 1.7rem;
    font-weight: 560;
    color: var(--npp-king);
}

.npp-cart-close {
    width: 2.4rem;
    height: 2.4rem;
    border: 0;
    border-radius: 999px;
    background: rgba(40, 64, 128, 0.08);
    color: var(--npp-king);
    font-size: 1.3rem;
    line-height: 1;
    cursor: pointer;
}

.npp-cart-close:hover {
    background: var(--npp-king);
    color: #fff;
}

#cart-dropdown-container.show .table-responsive {
    flex: 1 1 auto;
    min-height: 0;
    max-height: none !important;
    overflow: auto;
}

#cart-dropdown-container.show .dropdown-body {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    width: 100%;
    margin-top: auto;
}

.cart-dropdown .dropdown-cart-items .row,
.cart-dropdown .cart-items .row {
    margin: 0 0 0.7rem;
    padding: 0.7rem;
    border: 1px solid rgba(40, 64, 128, 0.1);
    border-radius: 1rem;
    background: #fff;
    transition: border-color 0.3s var(--npp-ease), transform 0.3s var(--npp-ease);
}

.cart-dropdown .dropdown-cart-items .row:hover,
.cart-dropdown .cart-items .row:hover {
    border-color: rgba(208, 184, 104, 0.9);
    transform: translateY(-2px);
}

.cart-dropdown .dropdown-cart-items img {
    border-radius: 0.7rem;
}

.cart-dropdown .dropdown-cart-items td.text-right-util {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.45rem;
}

.npp-cart-remove,
.npp-cart-step,
.npp-cart-drop {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0;
    padding: 0.28rem 0.55rem;
    border: 1px solid rgba(40, 64, 128, 0.22);
    border-radius: 999px;
    background: #fff;
    color: #284080;
    font-family: "Outfit", "Segoe UI", sans-serif;
    font-size: 0.75rem;
    font-weight: 640;
    line-height: 1;
    cursor: pointer;
}

.npp-cart-remove:hover,
.npp-cart-remove:focus,
.npp-cart-step:hover,
.npp-cart-step:focus,
.npp-cart-drop:hover,
.npp-cart-drop:focus {
    background: #284080;
    color: #fff;
    border-color: #284080;
}

.npp-qty {
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
    height: 2.15rem;
    margin-top: 0.15rem;
    padding: 0.12rem;
    border: 1px solid rgba(40, 64, 128, 0.22);
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(208, 184, 104, 0.28);
}

.npp-qty-down,
.npp-qty-up {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.7rem;
    height: 1.7rem;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: #284080;
    color: #fff;
    font-size: 0.72rem;
    line-height: 1;
    cursor: pointer;
}

.npp-qty-down.is-remove {
    background: #fff;
    color: #284080;
    box-shadow: inset 0 0 0 1px rgba(40, 64, 128, 0.28);
}

.npp-qty-down:hover,
.npp-qty-down:focus,
.npp-qty-up:hover,
.npp-qty-up:focus,
.npp-qty-down.is-remove:hover,
.npp-qty-down.is-remove:focus {
    background: #1b2f66;
    color: #fff;
}

.npp-qty-val {
    min-width: 1.55rem;
    color: #284080;
    font-weight: 740;
    text-align: center;
}

.cart-dropdown .cart-dropdown-total,
.cart-dropdown .cart-dropdown-shipping-notice {
    margin-top: 0.85rem;
    color: #3c4d73;
}

#cart-dropdown-container .dropdown-body > ul {
    margin-bottom: 0;
}

#cart-dropdown-container .dropdown-body > hr {
    display: none;
}

#cart-dropdown-container .npp-sum-line,
.basket-summary .npp-sum-line {
    display: flex;
    flex-wrap: nowrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 0.4rem;
    color: #284080;
}

.basket-summary .npp-sum-line > .col {
    min-width: 0;
    flex: 1 1 auto;
    width: auto;
    max-width: none;
}

.basket-summary .npp-sum-line > .col:last-child {
    flex: 0 0 auto;
    text-align: right;
}

#cart-dropdown-container .npp-liefer,
.basket-summary .npp-liefer {
    padding-top: 0.15rem;
}

#cart-dropdown-container .npp-grand,
.basket-summary .npp-grand {
    margin-top: 0.55rem;
    padding-top: 0.5rem;
    border-top: 1px solid rgba(40, 64, 128, 0.16);
    font-size: 1.14rem;
    font-weight: 760;
}

#cart-dropdown-container .npp-grand .npp-sum-price,
.basket-summary .npp-grand .npp-sum-price {
    font-family: "Fraunces", Georgia, serif;
    font-size: 1.35rem;
    font-weight: 680;
    color: #284080;
    white-space: nowrap;
}

#cart-dropdown-container .npp-ship-note,
.basket-summary .shipping-costs {
    margin-top: 0.4rem;
    color: #5c6b8a;
    font-size: 0.82rem;
}

#cart-dropdown-container .dropdown-body > .cart-dropdown-shipping-notice {
    margin-top: 0;
    margin-bottom: 0.85rem;
}

#cart-dropdown-container .cart-dropdown-shipping-notice,
.npp-ship-goal {
    margin-top: 0.9rem;
    padding: 0.95rem 1rem 1rem;
    border: 1px solid #d0b868;
    border-radius: 1rem;
    background: linear-gradient(180deg, #fffdf6, #f4f6fb);
    color: #284080;
    font-size: 0.98rem;
    line-height: 1.35;
}

#cart-dropdown-container .cart-dropdown-shipping-notice .font-weight-bold,
.npp-ship-goal .font-weight-bold {
    color: #8f6a28;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.npp-ship-rest {
    display: block;
    margin: 0.2rem 0 0.15rem;
    font-family: "Fraunces", Georgia, serif;
    font-size: 1.55rem;
    font-weight: 620;
    line-height: 1.1;
    color: #8f6a28;
}

.npp-ship-pill {
    display: inline-flex;
    align-items: center;
    align-self: center;
    gap: 0.4rem;
    max-width: 9.2rem;
    margin: 0 0.15rem 0 0;
    padding: 0.32rem 0.55rem;
    border: 1px solid #d0b868;
    border-radius: 0.85rem;
    background: linear-gradient(180deg, #fff, #f4f6fb);
    color: #284080;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1.2;
    white-space: normal;
}

.npp-ship-pill__mark {
    flex: 0 0 auto;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 999px;
    background: #d0b868;
    box-shadow: 0 0 0 3px rgba(208, 184, 104, 0.35);
}

.cart-dropdown .cart-dropdown-total-item-price {
    color: var(--npp-king);
    font-weight: 680;
}

#cart-dropdown-container .cart-dropdown-buttons {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    width: 100%;
    margin: 0.75rem 0 0;
    padding: 0;
}

#cart-dropdown-container .cart-dropdown-buttons > [class*="col"] {
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    padding: 0;
}

#cart-dropdown-container .cart-dropdown-buttons .btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 2.8rem;
    margin: 0;
    border-radius: 999px;
    transition: background 0.3s var(--npp-ease), color 0.3s var(--npp-ease);
}

.cart-dropdown .cart-dropdown-buttons .btn-primary {
    border: 0;
    background: linear-gradient(180deg, #34539a, var(--npp-king));
}

.cart-dropdown .cart-dropdown-buttons .btn-outline-primary,
.cart-dropdown .cart-dropdown-buttons .btn-secondary {
    border-color: rgba(40, 64, 128, 0.35);
    color: var(--npp-king);
    background: transparent;
}

.cart-dropdown .cart-dropdown-buttons .btn:hover {
    transform: translateY(-2px);
}

.cart-dropdown .cart-dropdown-empty {
    margin: auto 0;
    padding: 2rem 1rem;
    text-align: center;
    color: #3c4d73;
}

#breadcrumb,
#breadcrumb a,
#breadcrumb .breadcrumb-item,
#breadcrumb .breadcrumb-item.active {
    color: #284080;
}

#breadcrumb a:hover,
#breadcrumb .breadcrumb-item.active {
    color: #284080;
    font-weight: 680;
}

.product-info .info-essential a,
.product-info .info-essential summary,
.product-info .info-essential summary strong,
.product-info .info-essential strong {
    color: #284080 !important;
}

.product-info .info-essential summary::before {
    border-right-color: #284080;
    border-bottom-color: #284080;
}

.product-info .shortdesc {
    background: linear-gradient(180deg, #ffffff, #f4f6fb);
    border-color: rgba(40, 64, 128, 0.16);
}

.product-info .shortdesc::before,
.product-info .shortdesc li::before {
    background: #284080;
    box-shadow: none;
}

.product-info .delivery-status,
.product-info .delivery-status .status,
.product-info .estimated-delivery,
.product-info .estimated-delivery a {
    color: #284080 !important;
}

.product-info .estimated-delivery a {
    border-bottom: 1px solid rgba(208, 184, 104, 0.9);
}

#gallery_preview_wrapper {
    background: #f4f6fb;
    border: 1px solid rgba(40, 64, 128, 0.28);
}

.npp-buybar .question-on-item {
    gap: 0.45rem;
}

#product-offer .npp-buybar > .question-on-item {
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    gap: 0.5rem;
}

#product-offer .npp-buybar .product-actions {
    display: flex !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    position: static !important;
    visibility: visible !important;
}

#product-offer .npp-buybar .question,
#product-offer .npp-buybar .compare {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    flex: 0 0 auto;
    width: 100% !important;
    height: 2.8rem !important;
    min-width: 0 !important;
    min-height: 2.8rem !important;
    max-height: 2.8rem !important;
    margin: 0 !important;
    padding: 0 0.85rem !important;
    border: 1px solid rgba(40, 64, 128, 0.22) !important;
    border-radius: 0.85rem !important;
    background: #fff !important;
    color: #284080 !important;
    opacity: 1 !important;
    box-shadow: none !important;
    text-decoration: none;
    font-family: "Outfit", "Segoe UI", sans-serif !important;
    font-size: 0.86rem !important;
    font-weight: 640;
    line-height: 1 !important;
    white-space: nowrap;
    overflow: hidden;
}

#product-offer .npp-buybar .compare::after {
    font-size: 0.86rem;
    font-weight: 640;
    line-height: 1;
}

#product-offer .npp-buybar .question .fa,
#product-offer .npp-buybar .question .fas,
#product-offer .npp-buybar .question .far,
#product-offer .npp-buybar .compare .fa,
#product-offer .npp-buybar .compare .fas,
#product-offer .npp-buybar .compare .far {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 1rem !important;
    height: 1rem !important;
    min-width: 1rem !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
    color: #284080 !important;
    font-size: 1rem !important;
    line-height: 1 !important;
    overflow: hidden;
}

#product-offer .npp-buybar .question .fa::before,
#product-offer .npp-buybar .question .fas::before,
#product-offer .npp-buybar .question .far::before {
    content: "?" !important;
    font-family: "Outfit", "Segoe UI", sans-serif !important;
    font-style: normal;
    font-weight: 720;
}

.npp-buybar .question:hover,
.npp-buybar .question:focus,
.npp-buybar .compare:hover,
.npp-buybar .compare:focus {
    background: #284080;
    border-color: #284080;
    color: #fff !important;
    transform: none;
}

#product-offer .npp-buybar .question:hover .fa,
#product-offer .npp-buybar .question:hover .fas,
#product-offer .npp-buybar .question:hover .far,
#product-offer .npp-buybar .compare:hover .fa,
#product-offer .npp-buybar .compare:hover .fas,
#product-offer .npp-buybar .compare:hover .far,
#product-offer .npp-buybar .question:focus .fa,
#product-offer .npp-buybar .question:focus .fas,
#product-offer .npp-buybar .compare:focus .fa,
#product-offer .npp-buybar .compare:focus .fas {
    background: none !important;
    color: #d0b868 !important;
}

#product-offer .npp-buybar > .price_wrapper {
    align-items: center;
    background: linear-gradient(180deg, #ffffff, #f4f6fb);
    border: 1px solid rgba(40, 64, 128, 0.16);
    box-shadow: 0 10px 24px rgba(40, 64, 128, 0.06);
    color: #284080;
    text-align: center;
}

#product-offer .npp-buybar > .price_wrapper .price {
    display: block;
    width: auto;
    margin: 0;
    background: none;
    text-align: center;
}

#product-offer .npp-buybar > .price_wrapper .price span {
    display: inline-block;
    width: auto;
    background: none;
    background-image: none;
    color: #8f6a28 !important;
    -webkit-text-fill-color: #8f6a28;
    border-bottom: 2px solid #284080;
    padding-bottom: 0.08rem;
    white-space: nowrap;
    animation: none;
}

#product-offer .npp-buybar__stock:has(.status-2) {
    background: linear-gradient(180deg, #ffffff, #f3faf4);
    border-color: rgba(28, 135, 30, 0.32);
}

#product-offer .npp-buybar__stock:has(.status-1) {
    background: linear-gradient(180deg, #ffffff, #fffaf0);
    border-color: rgba(196, 146, 20, 0.4);
}

#product-offer .npp-buybar__stock:has(.status-0) {
    background: linear-gradient(180deg, #ffffff, #fff5f5);
    border-color: rgba(185, 0, 0, 0.32);
}

#product-offer .npp-buybar .delivery-status,
#product-offer .npp-buybar .delivery-status ul,
#product-offer .npp-buybar .delivery-status li {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

#product-offer .npp-buybar .delivery-status .status {
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    flex-wrap: wrap;
    gap: 0.35rem;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    margin: 0 0 0.45rem;
    padding: 0.45rem 0.65rem;
    border-radius: 0.9rem;
    font-size: clamp(0.72rem, 2.5cqi, 0.84rem);
    font-weight: 720;
    line-height: 1.25;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
}

#product-offer .npp-buybar__stock {
    container-type: inline-size;
    min-width: 0;
    align-items: stretch;
}

#product-offer .npp-buybar .npp-status-label {
    display: block;
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
    text-align: center;
    white-space: nowrap;
}

#product-offer .npp-buybar .status.npp-notify-status {
    cursor: pointer;
    margin-bottom: 0.45rem;
}

#product-offer .npp-buybar .status.npp-notify-status:hover,
#product-offer .npp-buybar .status.npp-notify-status:focus {
    background: #9d1212 !important;
    color: #fff !important;
    border-color: #9d1212 !important;
}

#product-offer .npp-buybar .status.npp-notify-status:hover .status-icon,
#product-offer .npp-buybar .status.npp-notify-status:focus .status-icon {
    color: #fff !important;
}

.npp-notify-open,
.npp-notify-buy .btn-primary {
    position: relative;
    z-index: 0;
    height: auto;
    min-height: 3.5rem;
    padding: 0.75rem 1.15rem;
    border: 2px solid transparent !important;
    background:
        linear-gradient(180deg, #34539a 0%, #284080 100%) padding-box,
        linear-gradient(120deg, #284080, #d0b868, #ffffff, #284080, #d0b868) border-box !important;
    background-size: 100% 100%, 280% 100% !important;
    background-position: 0 0, 0 0;
    white-space: normal;
    line-height: 1.25;
    text-align: center;
    box-shadow: 0 0 0 4px rgba(208, 184, 104, 0.28), 0 14px 28px rgba(40, 64, 128, 0.24);
    animation: npp-notify-border 2.4s linear infinite;
}

@keyframes npp-notify-border {
    to {
        background-position: 0 0, 100% 0;
    }
}

.npp-notify-open .fa-shopping-cart,
.npp-notify-open svg {
    display: none;
}

.npp-notify-modal .modal-dialog {
    max-width: 40rem;
}

.npp-notify-modal .modal-content {
    border: 0;
    border-radius: 1.5rem;
    overflow: hidden;
    background: linear-gradient(180deg, #ffffff, #f4f6fb);
    box-shadow: 0 30px 80px rgba(40, 64, 128, 0.28);
}

.npp-notify-modal .modal-header {
    align-items: center;
    padding: 1.35rem 1.35rem 0.35rem;
    border: 0;
    background: transparent;
}

.npp-notify-modal .modal-title {
    font-family: "Fraunces", Georgia, serif;
    font-size: 1.55rem;
    line-height: 1.2;
    color: #284080;
}

.npp-notify-modal .modal-header .close {
    width: 2.5rem;
    height: 2.5rem;
    margin: 0 0 0 0.75rem;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(40, 64, 128, 0.08);
    color: #284080;
    opacity: 1;
    text-shadow: none;
    font-size: 1.6rem;
    line-height: 2.5rem;
}

.npp-notify-modal .modal-header .close:hover,
.npp-notify-modal .modal-header .close:focus {
    background: #284080;
    color: #fff;
}

.npp-notify-modal .modal-body {
    padding: 0.35rem 1.35rem 1.45rem;
}

.npp-notify-modal fieldset {
    margin: 0;
    padding: 0;
    border: 0;
    min-inline-size: 0;
}

.npp-notify-modal hr {
    display: none !important;
}

.npp-notify-modal .form-group {
    margin-bottom: 0.85rem;
}

.npp-notify-modal legend {
    width: auto;
    margin: 0 0 0.85rem;
    padding: 0;
    border: 0;
    font-family: "Fraunces", Georgia, serif;
    font-size: 1.05rem;
    color: #284080;
}

.npp-notify-modal .form-control {
    height: 3rem;
    border: 1px solid rgba(40, 64, 128, 0.18);
    border-radius: 999px;
    background: #fff;
    box-shadow: none;
    color: #071923;
}

.npp-notify-modal .form-control:focus {
    border-color: #284080;
    box-shadow: 0 0 0 3px rgba(208, 184, 104, 0.35);
}

.npp-notify-modal .btn-primary,
.npp-notify-modal button[type="submit"] {
    min-height: 3.1rem;
    margin-top: 0.35rem;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(180deg, #34539a 0%, #284080 100%);
    box-shadow: 0 12px 24px rgba(40, 64, 128, 0.22);
}

.npp-notify-modal .btn-primary:hover,
.npp-notify-modal .btn-primary:focus,
.npp-notify-modal button[type="submit"]:hover,
.npp-notify-modal button[type="submit"]:focus {
    background: linear-gradient(180deg, #284080 0%, #1b2f66 100%);
    color: #fff;
}

.alert.npp-notify-hidden {
    display: none !important;
}

.npp-notify-done .modal-dialog {
    max-width: 36rem;
}

.npp-notify-done-mark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4.2rem;
    height: 4.2rem;
    margin: 0 auto 1rem;
    border-radius: 999px;
    background: rgba(40, 64, 128, 0.08);
    color: #284080;
    font-size: 1.45rem;
    box-shadow: 0 0 0 6px rgba(208, 184, 104, 0.28);
}

.npp-notify-done-text {
    margin: 0 0 0.9rem;
    color: #071923;
    font-size: 1rem;
    line-height: 1.55;
    text-align: center;
}

.npp-notify-done-step {
    margin: 0 0 1.15rem;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(40, 64, 128, 0.16);
    border-left: 4px solid #d0b868;
    border-radius: 0.9rem;
    background: linear-gradient(180deg, #ffffff, #f4f6fb);
    color: #284080;
    font-weight: 680;
    line-height: 1.45;
    text-align: left;
}

.npp-notify-done .btn-primary {
    width: 100%;
}

.npp-notify-done-mark-ok {
    background: #284080;
    color: #d0b868;
    box-shadow: 0 0 0 8px rgba(208, 184, 104, 0.35);
    font-size: 1.7rem;
}

.npp-notify-active .modal-content {
    animation: npp-notify-pop 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes npp-notify-pop {
    from {
        transform: translateY(18px) scale(0.96);
    }
    to {
        transform: none;
    }
}

a[href="#availabilityNotification"],
#availabilityNotification,
#tab-availabilityNotification,
#tab-availabilityNotification-head,
.card:has(#tab-availabilityNotification),
.card:has(#tab-availabilityNotification-head) {
    display: none !important;
}

#product-offer .npp-buybar .estimated-delivery a {
    display: inline-block;
    white-space: nowrap;
}

#product-offer .npp-buybar .delivery-status .status-2,
#product-offer .npp-buybar .delivery-status .status-2 .status-icon {
    color: #146c1c !important;
    background: rgba(28, 135, 30, 0.12);
    border: 1px solid rgba(28, 135, 30, 0.28);
}

#product-offer .npp-buybar .delivery-status .status-2 .status-icon {
    background: transparent;
    border: 0;
}

#product-offer .npp-buybar .delivery-status .status-1,
#product-offer .npp-buybar .delivery-status .status-1 .status-icon {
    color: #8a6410 !important;
    background: rgba(212, 168, 32, 0.18);
    border: 1px solid rgba(196, 146, 20, 0.42);
}

#product-offer .npp-buybar .delivery-status .status-1 .status-icon {
    background: transparent;
    border: 0;
}

#product-offer .npp-buybar .delivery-status .status-0,
#product-offer .npp-buybar .delivery-status .status-0 .status-icon {
    color: #9d1212 !important;
    background: rgba(185, 0, 0, 0.1);
    border: 1px solid rgba(185, 0, 0, 0.3);
}

#product-offer .npp-buybar .delivery-status .status-0 .status-icon {
    background: transparent;
    border: 0;
}

.npp-buybar .vat_info a {
    color: #8a7040;
}

@media (prefers-reduced-motion: reduce) {
    html.npp {
        scroll-behavior: auto;
    }

    .banner img,
    .productbox,
    .btn,
    #product-offer .npp-buybar > .price_wrapper .price,
    #product-offer .npp-buybar > .price_wrapper .price span {
        animation: none !important;
        transition: none !important;
    }
}

.basket-heading {
    color: #284080;
    font-family: "Fraunces", Georgia, serif;
}

#cart-form .cart-items-header {
    align-items: center;
    margin: 0 0 0.55rem;
    padding: 0.7rem 0.9rem;
    border: 1px solid rgba(40, 64, 128, 0.12);
    border-radius: 1.2rem;
    background: linear-gradient(180deg, #ffffff, #f4f6fb);
    box-shadow: 0 10px 26px rgba(40, 64, 128, 0.05);
    color: #284080;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

#cart-form .cart-items-header > .col-12,
#cart-form .cart-items-header hr,
#cart-form .cart-items-body hr {
    display: none;
}

#cart-form .cart-items-header .cart-items-quantity,
#cart-form .cart-items-header .cart-items-single-price,
#cart-form .cart-items-body .cart-items-quantity {
    display: flex;
    justify-content: center;
    text-align: center;
}

#cart-form .cart-items-header .cart-items-price,
#cart-form .cart-items-body .cart-items-price {
    text-align: right;
}

#cart-form .cart-items-body {
    margin: 0 0 0.85rem;
    padding: 0.85rem 0.9rem 0.7rem;
    border: 1px solid rgba(40, 64, 128, 0.12);
    border-radius: 1.2rem;
    background: #fff;
    box-shadow: 0 10px 26px rgba(40, 64, 128, 0.06);
}

#cart-form .cart-items-name {
    color: #284080;
    font-weight: 700;
    text-decoration: none;
}

#cart-form .cart-items-name:hover {
    color: #1b2f66;
}

#cart-form .cart-items-body .list-unstyled {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin: 0.55rem 0 0;
}

#cart-form .cart-items-body .list-unstyled li {
    display: inline-flex;
    gap: 0.28rem;
    margin: 0;
    padding: 0.18rem 0.55rem;
    border: 1px solid rgba(40, 64, 128, 0.14);
    border-radius: 999px;
    background: #f4f6fb;
    color: #284080;
    font-size: 0.76rem;
    line-height: 1.35;
}

#cart-form .cart-items-body .list-unstyled strong {
    font-weight: 700;
    color: #1b2f66;
}

#cart-form .price_overall {
    color: #8f6a28 !important;
    font-family: "Fraunces", Georgia, serif;
    font-size: 1.28rem;
    border-bottom: 2px solid #284080;
}

#cart-form .cart-items-quantity .form-counter {
    display: inline-flex;
    align-items: center;
    width: auto;
    height: 2.75rem;
    padding: 0.18rem;
    border: 1px solid rgba(40, 64, 128, 0.22);
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(208, 184, 104, 0.28);
}

#cart-form .cart-items-quantity .input-group-prepend,
#cart-form .cart-items-quantity .input-group-append {
    margin: 0;
}

#cart-form .cart-items-quantity .form-counter .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.2rem;
    height: 2.2rem;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: #284080;
    color: #fff;
}

#cart-form .cart-items-quantity .form-counter .btn:hover,
#cart-form .cart-items-quantity .form-counter .btn:focus {
    background: #1b2f66;
    color: #fff;
}

#cart-form .cart-items-quantity .quantity {
    width: 2.5rem;
    height: 2.2rem;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: #284080;
    font-weight: 740;
    text-align: center;
    -moz-appearance: textfield;
    appearance: textfield;
}

#cart-form .cart-items-quantity .quantity::-webkit-inner-spin-button,
#cart-form .cart-items-quantity .quantity::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

#cart-form .qty-wrapper::before,
#cart-form .qty-wrapper::after,
#cart-form .form-counter .btn::after {
    content: none !important;
    display: none !important;
}

#cart-form .cart-items-quantity .btn.is-remove {
    background: #fff;
    color: #284080;
    box-shadow: inset 0 0 0 1.5px #284080;
}

#cart-form .cart-items-delete,
#cart-form .cart-items-delete-button,
#cart-form button.droppos {
    display: none !important;
}

#pushed-success {
    display: none !important;
}

.npp-fly {
    position: fixed;
    z-index: 2000;
    object-fit: contain;
    border-radius: 1rem;
    background: #fff;
    pointer-events: none;
    box-shadow: 0 16px 36px rgba(40, 64, 128, 0.28);
    transition: transform 0.68s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.68s ease;
}

.npp-qty-cap {
    position: fixed;
    z-index: 2100;
    left: 0;
    top: 0;
    transform: translate(-50%, calc(-100% + 8px));
    padding: 0.38rem 0.75rem;
    border: 1px solid #d0b868;
    border-radius: 999px;
    background: #284080;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 680;
    line-height: 1.2;
    white-space: nowrap;
    box-shadow: 0 10px 24px rgba(40, 64, 128, 0.28);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.28s ease, transform 0.28s ease;
}

.npp-qty-cap::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 100%;
    margin-left: -6px;
    border: 6px solid transparent;
    border-top-color: #284080;
}

.npp-qty-cap.is-on {
    opacity: 1;
    transform: translate(-50%, -100%);
}

.alert.npp-qty-alert-hidden {
    display: none !important;
}

#cart-form .cart-items-delete-button {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.35rem;
    padding: 0.35rem 0.7rem;
    border: 1px solid rgba(40, 64, 128, 0.22);
    border-radius: 999px;
    background: #fff;
    color: #284080;
    font-weight: 680;
}

#cart-form .cart-items-delete-button:hover,
#cart-form .cart-items-delete-button:focus {
    background: #284080;
    color: #fff;
}

.basket-summary.card,
.basket-summary.card-gray {
    border: 1px solid rgba(40, 64, 128, 0.14);
    border-radius: 1.25rem;
    background: linear-gradient(180deg, #fff, #f7f8fc);
    box-shadow: 0 12px 30px rgba(40, 64, 128, 0.08);
}

.basket-summary .price_label,
.basket-summary .tax_label {
    color: #284080;
}

#cart-checkout-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 2.9rem;
    margin-top: 0.95rem;
    border-radius: 999px;
    background: #284080;
    border-color: #284080;
}

#cart-checkout-btn:hover,
#cart-checkout-btn:focus {
    background: #1b2f66;
    border-color: #1b2f66;
}

#checkout .stepper .step-current .badge-primary,
#checkout .stepper .step-current .badge-count {
    color: #d0b868 !important;
    background-color: #284080 !important;
}

#checkout .stepper .step-current .badge-primary {
    box-shadow: 0 0 0 2px #d0b868;
}

#checkout .stepper .step-current .step-text {
    color: #284080;
    font-weight: 700;
}

#checkout .stepper .step-current .step-content::after {
    height: 3px;
    background: #d0b868;
}

#register-customer:not(.npp-mode-login):not(.npp-mode-guest) > #existing-customer,
#register-customer:not(.npp-mode-login):not(.npp-mode-guest) > #customer,
#register-customer.npp-mode-login > #customer,
#register-customer.npp-mode-guest > #existing-customer {
    display: none !important;
}

#register-customer.npp-mode-login > #existing-customer,
#register-customer.npp-mode-guest > #customer {
    flex: 0 0 100%;
    max-width: 760px;
    margin-right: auto;
    margin-left: auto;
}

#register-customer.npp-mode-login .npp-checkout-kicker,
#register-customer.npp-mode-login .npp-checkout-title,
#register-customer.npp-mode-guest .npp-checkout-kicker,
#register-customer.npp-mode-guest .npp-checkout-title,
#register-customer .checkout-existing-customer-hr,
#register-customer.npp-mode-login .npp-checkout-options,
#register-customer.npp-mode-guest .npp-checkout-options,
#register-customer.npp-mode-choose .npp-checkout-back,
#register-customer:not(.npp-mode-login):not(.npp-mode-guest) .npp-checkout-back {
    display: none;
}

.npp-checkout-choice {
    max-width: 760px;
    margin: 0 auto 1.5rem;
}

.npp-checkout-kicker {
    margin: 0 0 0.35rem;
    color: #d0b868;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.npp-checkout-title {
    margin: 0 0 1rem;
    color: #284080;
    font-size: 1.7rem;
    line-height: 1.2;
}

.npp-checkout-options {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.85rem;
}

@media (min-width: 700px) {
    .npp-checkout-options {
        grid-template-columns: 1fr 1fr;
    }
}

.npp-checkout-option {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
    width: 100%;
    margin: 0;
    padding: 1.15rem 1.2rem;
    border: 1px solid rgba(40, 64, 128, 0.16);
    border-radius: 1.15rem;
    background: #fff;
    box-shadow: 0 10px 28px rgba(40, 64, 128, 0.06);
    color: #284080;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.npp-checkout-option:hover,
.npp-checkout-option:focus {
    border-color: #d0b868;
    box-shadow: 0 12px 30px rgba(40, 64, 128, 0.1);
    outline: none;
}

.npp-checkout-option.is-selected {
    border-color: #284080;
    box-shadow: inset 0 0 0 2px #d0b868;
}

.npp-checkout-option-title {
    font-size: 1.08rem;
    font-weight: 700;
}

.npp-checkout-option-text {
    color: #5c6b86;
    font-size: 0.92rem;
    line-height: 1.4;
}

.npp-checkout-back {
    margin-top: 0.2rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: #284080;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: #d0b868;
    text-underline-offset: 0.2rem;
    cursor: pointer;
}

#register-customer #customer,
#existing-customer .card {
    padding: 1.25rem 1.4rem 1.35rem;
    border: 1px solid rgba(40, 64, 128, 0.12);
    border-radius: 1.15rem;
    background: #fff;
    box-shadow: 0 10px 28px rgba(40, 64, 128, 0.06);
}

#existing-customer .card {
    padding: 1.35rem 1.4rem 1.2rem;
}

#form-register > hr,
#neukunde > hr {
    display: none;
}

#form-register .inc-billing-address-form h1,
#neukunde .inc-billing-address-form h1 {
    margin-bottom: 0.35rem;
    color: #284080;
    font-size: 1.85rem;
    line-height: 1.2;
}

#form-register .inc-billing-address-form .required-info,
#neukunde .inc-billing-address-form .required-info {
    color: #5c6b86;
}

#form-register .inc-billing-address-form > .form-row > [class*="col-"],
#neukunde .inc-billing-address-form > .form-row > [class*="col-"],
#form-register .register-form-account > [class*="col-"],
#neukunde .register-form-account > [class*="col-"],
#form-register .inc-shipping-address > [class*="col-"],
#neukunde .inc-shipping-address > [class*="col-"] {
    flex: 0 0 100%;
    max-width: 100%;
}

#form-register .inc-billing-address-form hr,
#neukunde .inc-billing-address-form hr,
#form-register .register-form-account > .col-12 > hr,
#neukunde .register-form-account > .col-12 > hr {
    display: none;
}

#form-register .inc-billing-address-form .h3,
#neukunde .inc-billing-address-form .h3,
#form-register #select-shipping-address .h3,
#neukunde #select-shipping-address .h3 {
    margin: 1.4rem 0 0.7rem;
    padding-bottom: 0.4rem;
    border-bottom: 1px solid rgba(40, 64, 128, 0.14);
    color: #284080;
    font-size: 1.05rem;
}

#form-register .inc-shipping-address,
#neukunde .inc-shipping-address {
    margin-top: 1.6rem;
    padding: 1rem 1.15rem 0.35rem;
    border: 1px solid rgba(40, 64, 128, 0.14);
    border-radius: 1rem;
    background: #f4f6fb;
}

#form-register #checkout_register_shipping_address + label,
#neukunde #checkout_register_shipping_address + label,
#form-register .inc-shipping-address .custom-control-label,
#neukunde .inc-shipping-address .custom-control-label {
    color: #284080;
    font-weight: 700;
}

#form-register .form-control,
#neukunde .form-control,
#existing-customer .form-control,
#form-register .custom-select,
#neukunde .custom-select {
    min-height: 3rem;
    border-color: rgba(40, 64, 128, 0.18);
    border-radius: 0.85rem;
}

#form-register .form-control:focus,
#neukunde .form-control:focus,
#existing-customer .form-control:focus,
#form-register .custom-select:focus,
#neukunde .custom-select:focus {
    border-color: #284080;
    box-shadow: 0 0 0 3px rgba(208, 184, 104, 0.45);
}

#form-register .npp-firm-extra,
#neukunde .npp-firm-extra {
    display: none !important;
}

#form-register.npp-firm-open .npp-firm-extra,
#neukunde.npp-firm-open .npp-firm-extra {
    display: block !important;
}

#form-register:not(.npp-firm-open) .npp-firm-main,
#neukunde:not(.npp-firm-open) .npp-firm-main {
    flex: 0 0 100%;
    max-width: 100%;
}

.npp-switch {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.45rem;
    margin: 0.35rem 0 0.8rem;
    padding: 0.35rem;
    border-radius: 1rem;
    background: #f4f6fb;
}

.npp-switch button {
    min-height: 3rem;
    margin: 0;
    padding: 0.55rem 0.8rem;
    border: 1px solid transparent;
    border-radius: 0.8rem;
    background: transparent;
    color: #284080;
    font-weight: 700;
    line-height: 1.25;
    cursor: pointer;
}

.npp-switch button.is-selected {
    border-color: rgba(208, 184, 104, 0.9);
    background: #fff;
    box-shadow: 0 6px 16px rgba(40, 64, 128, 0.08);
}

.npp-switch-source .custom-control {
    position: absolute !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

#form-register .direct-advertising,
#neukunde .direct-advertising {
    display: none !important;
}

.npp-footnote {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin: -0.2rem 0 0.8rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: #284080;
    font-size: 0.86rem;
    font-weight: 700;
    cursor: pointer;
}

.npp-footnote sup {
    color: #d0b868;
    font-size: 0.95rem;
}

.npp-footnote-pop {
    margin: 0 0 0.9rem;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(208, 184, 104, 0.8);
    border-radius: 0.85rem;
    background: #fff;
    color: #3d4a63;
    font-size: 0.86rem;
    line-height: 1.45;
    box-shadow: 0 10px 24px rgba(40, 64, 128, 0.08);
}

.npp-ship-hint {
    margin: 0 0 0.8rem;
    color: #5c6b86;
    font-size: 0.9rem;
}

#form-register .checkout-button-row,
#neukunde .checkout-button-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    margin-top: 1.5rem;
}

#form-register .checkout-button-row > .checkout-register-form-buttons-privacy,
#form-register .checkout-button-row > .checkout-button-row-submit,
#neukunde .checkout-button-row > .checkout-button-row-submit {
    flex: 0 1 auto !important;
    width: auto !important;
    max-width: none !important;
    margin: 0;
    padding-right: 0;
    padding-left: 0;
}

#form-register .checkout-register-form-buttons-privacy .popup,
#form-register .checkout-button-row-submit .btn,
#neukunde .checkout-button-row-submit .btn,
#existing-customer .btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.9rem;
    padding: 0.65rem 1.25rem;
    border-radius: 999px;
    font-weight: 700;
    text-decoration: none;
}

#form-register .checkout-register-form-buttons-privacy .popup {
    border: 1px solid #284080;
    background: #fff;
    color: #284080;
}

#form-register .checkout-register-form-buttons-privacy .popup:hover,
#form-register .checkout-register-form-buttons-privacy .popup:focus {
    border-color: #d0b868;
    color: #284080;
}

#form-register .checkout-button-row-submit .btn,
#neukunde .checkout-button-row-submit .btn,
#existing-customer .btn-primary {
    background: #284080;
    border-color: #284080;
    color: #fff;
}

@media (max-width: 699px) {
    .npp-switch {
        grid-template-columns: 1fr;
    }

    #form-register .checkout-button-row > .checkout-register-form-buttons-privacy,
    #form-register .checkout-button-row > .checkout-button-row-submit {
        flex: 1 1 100% !important;
    }

    #form-register .checkout-register-form-buttons-privacy .popup,
    #form-register .checkout-button-row-submit .btn {
        width: 100%;
    }
}

#checkout.npp-mode-login .npp-checkout-options,
#checkout.npp-mode-guest .npp-checkout-options,
#checkout.npp-mode-login .npp-checkout-kicker,
#checkout.npp-mode-login .npp-checkout-title,
#checkout.npp-mode-guest .npp-checkout-kicker,
#checkout.npp-mode-guest .npp-checkout-title,
#checkout.npp-mode-choose .npp-checkout-back,
#checkout:not(.npp-mode-login):not(.npp-mode-guest) .npp-checkout-back {
    display: none;
}

#existing-customer .customer-login-buttons .form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
    margin: 0;
}

#existing-customer .customer-login-buttons .form-row > [class*="col-"] {
    width: auto;
    max-width: none;
    padding: 0;
}

#existing-customer .customer-login-buttons-forgot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 2.9rem;
    padding: 0.65rem 1rem;
    border: 1px solid #284080;
    border-radius: 999px;
    background: #fff;
    color: #284080;
    font-weight: 700;
    text-decoration: none;
}

#existing-customer .customer-login-buttons-forgot:hover,
#existing-customer .customer-login-buttons-forgot:focus {
    background: #284080;
    border-color: #284080;
    color: #d0b868;
    text-decoration: none;
}

.npp-footnote-plus {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 999px;
    background: #284080;
    color: #d0b868;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1;
}

.npp-footnote.is-open .npp-footnote-plus {
    transform: rotate(45deg);
}

.npp-password-modal .modal-content,
#deliverySpots .modal-content {
    border: 0;
    border-radius: 1.2rem;
    overflow: visible;
    box-shadow: 0 24px 60px rgba(40, 64, 128, 0.18);
}

.npp-password-modal .modal-header,
#deliverySpots .modal-header {
    position: relative;
    border: 0;
    padding: 1.2rem 4rem 0.2rem 1.3rem;
}

#deliverySpots .modal-header .close {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    left: auto;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: #284080;
    color: #d0b868;
    opacity: 1;
    transform: none;
    text-shadow: none;
    font-size: 1.5rem;
    line-height: 1;
}

#deliverySpots .modal-header .close::after {
    color: #d0b868;
    font-size: 1.05rem;
    line-height: 2.5rem;
}

#deliverySpots .modal-header .close:hover,
#deliverySpots .modal-header .close:focus {
    background: #1b2f66;
    color: #fff;
    opacity: 1;
}

#deliverySpots .modal-header .close:hover::after,
#deliverySpots .modal-header .close:focus::after {
    color: #fff;
}

button.storelocator,
#storelocator {
    min-height: 2.9rem;
    margin: 0.2rem 0 0.8rem;
    padding: 0.65rem 1.35rem;
    border: 0;
    border-radius: 999px;
    background: #d0b868;
    color: #284080;
    font-weight: 700;
    letter-spacing: 0.01em;
    box-shadow: none;
}

button.storelocator:hover,
button.storelocator:focus,
#storelocator:hover,
#storelocator:focus {
    background: #284080;
    color: #d0b868;
}

.npp-password-modal .modal-title,
#deliverySpots .modal-title {
    color: #284080;
    font-size: 1.35rem;
}

.npp-password-modal .modal-body,
#deliverySpots .modal-body {
    padding: 0.4rem 1.3rem 1.3rem;
    color: #3d4a63;
}

.npp-password-modal .btn-primary,
#deliverySpots .dhlData,
.npp-spot-use {
    min-height: 2.8rem;
    border: 0;
    border-radius: 999px;
    background: #284080;
    color: #fff;
    font-weight: 700;
}

.npp-password-result {
    margin: 0.9rem 0 0;
    color: #284080;
    font-weight: 700;
}

#checkout:has(#checkout-shipping-payment) > h1 {
    max-width: 860px;
    margin-right: auto;
    margin-left: auto;
}

#checkout:has(#checkout-shipping-payment) > .row {
    justify-content: center;
}

#checkout:has(#checkout-shipping-payment) > .row > [class*="col-"] {
    flex: 0 0 100%;
    max-width: 860px;
}

#checkout .checkout-shipping-form {
    max-width: none;
}

#checkout-shipping-payment .h2,
#fieldset-payment .h2,
#jtl_pack_optionen legend {
    margin-bottom: 0.8rem;
    color: #284080;
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.checkout-shipping-form-options .custom-radio {
    display: block;
    margin: 0 0 0.7rem;
    padding: 0.95rem 1.1rem;
    border: 1px solid rgba(40, 64, 128, 0.14);
    border-radius: 1rem;
    background: #fff;
    cursor: pointer;
}

.checkout-shipping-form-options .custom-control-input,
.checkout-shipping-form-options .custom-radio input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.checkout-shipping-form-options .custom-control-label {
    position: static;
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    cursor: pointer;
}

.checkout-shipping-form-options .custom-control-label::before,
.checkout-shipping-form-options .custom-control-label::after {
    display: none !important;
}

.checkout-shipping-form-options .custom-radio:has(input:checked) {
    border-color: #284080;
    background: #f4f6fb;
    box-shadow: inset 4px 0 0 #d0b868, 0 12px 28px rgba(40, 64, 128, 0.08);
}

.checkout-shipping-form-options .price-col,
.checkout-shipping-form-options .font-weight-bold-util {
    color: #284080;
    font-weight: 700;
}

#fieldset-payment .form-row,
#fieldset-payment [role="radiogroup"] {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

@media (min-width: 900px) {
    #fieldset-payment .form-row,
    #fieldset-payment [role="radiogroup"] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

#fieldset-payment .checkout-payment-method {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto !important;
    max-width: none !important;
    min-height: 8.2rem;
    margin: 0;
    padding: 1rem 0.85rem;
    border: 1px solid rgba(40, 64, 128, 0.14);
    border-radius: 1rem;
    background: #fff;
    text-align: center;
    cursor: pointer;
}

#fieldset-payment .checkout-payment-method .custom-control,
#fieldset-payment .checkout-payment-method .custom-radio {
    width: 100%;
    min-height: 6.4rem;
    margin: 0;
    padding: 0;
}

#fieldset-payment .custom-control-input,
#fieldset-payment input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

#fieldset-payment .custom-control-label {
    position: static;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 6.4rem;
    margin: 0;
    padding: 0;
    cursor: pointer;
}

#fieldset-payment .custom-control-label::before,
#fieldset-payment .custom-control-label::after {
    display: none !important;
}

#fieldset-payment .checkout-payment-method img {
    display: block;
    width: auto;
    max-width: 7.5rem;
    max-height: 2.8rem;
    margin: 0 auto 0.55rem;
    object-fit: contain;
}

#fieldset-payment .checkout-payment-method .title,
#fieldset-payment .checkout-payment-method .content {
    display: block;
    color: #284080;
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.3;
}

#fieldset-payment .checkout-payment-method-note,
#fieldset-payment .checkout-payment-method small {
    display: block;
    margin-top: 0.25rem;
    color: #5c6b86;
    font-size: 0.82rem;
    font-weight: 500;
    line-height: 1.35;
}

#fieldset-payment .checkout-payment-method:has(input:checked) {
    border-color: #284080;
    background: #f4f6fb;
    box-shadow: inset 0 0 0 2px #d0b868, 0 12px 28px rgba(40, 64, 128, 0.08);
}

#jtl_pack_optionen {
    display: block;
    margin-top: 0.4rem;
    padding: 1rem 1.05rem 0.4rem;
    border: 1px solid rgba(208, 184, 104, 0.7);
    border-radius: 1rem;
    background: #f7f8fc;
}

#jtl_pack_optionen.npp-wish-off {
    display: none !important;
}

#fieldset-payment {
    margin-top: 0.5rem;
    padding: 1rem 1.05rem 0.9rem;
    border: 1px solid rgba(208, 184, 104, 0.7);
    border-radius: 1rem;
    background: #f7f8fc;
}

#fieldset-payment > hr {
    display: none;
}

.npp-pay-mollie-line {
    margin: 0 0 0.85rem;
    color: #284080;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.4;
}

#jtl_pack_optionen .button-label,
#jtl_pack_optionen .button-label p {
    border-radius: 999px;
}

#jtl_pack_optionen .button-label p {
    margin: 0;
    padding: 0.45rem 0.75rem;
    font-weight: 700;
}

.npp-mollie-badge {
    display: inline-flex;
    margin-top: 0.35rem;
    padding: 0.15rem 0.55rem;
    border-radius: 999px;
    background: #f4f6fb;
    color: #284080;
    font-size: 0.75rem;
    font-weight: 700;
}

.npp-spot-list {
    display: grid;
    gap: 0.55rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.npp-spot-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem 0.8rem;
    border: 1px solid rgba(40, 64, 128, 0.12);
    border-radius: 0.9rem;
}

.npp-spot-list strong {
    display: block;
    color: #284080;
}

.npp-spot-list span {
    color: #5c6b86;
    font-size: 0.88rem;
}

.npp-spot-empty {
    margin: 0.2rem 0 0.4rem;
    color: #284080;
}

@media (max-width: 699px) {
    #existing-customer .customer-login-buttons .form-row {
        grid-template-columns: 1fr;
    }
}

#order-confirm {
    max-width: 860px;
    margin: 0 auto 2rem;
}

#order-confirm > h1 {
    margin-bottom: 1.1rem;
    color: #284080;
    text-align: center;
}

#order-confirm > .row {
    row-gap: 1rem;
}

#order-confirm > .row > [class*="col-"] {
    flex: 0 0 100%;
    max-width: 100%;
}

#order-confirm .checkout-confirmation-pre-form-hr,
#order-confirm .checkout-confirmation-legal-notice,
#complete_order > hr {
    display: none;
}

#order-confirm .card {
    border: 1px solid rgba(208, 184, 104, 0.7);
    border-radius: 1rem;
    background: #f7f8fc;
    box-shadow: none;
    overflow: hidden;
}

#order-confirm .card-products,
#order-confirm .card-products .card-body,
#order-confirm .card-products .card-header {
    overflow: visible;
}

#order-confirm .card-header {
    background: transparent;
    border-bottom: 1px solid rgba(208, 184, 104, 0.45);
    padding: 0.85rem 1.05rem;
}

#order-confirm .card-body {
    padding: 1rem 1.05rem 1.05rem;
}

#order-confirm .checkout-confirmation-heading,
#order-confirm .npp-confirm-cart-head .h3 {
    margin: 0;
    color: #284080;
    font-weight: 700;
}

#order-confirm .checkout-confirmation-billing-address .title,
#order-confirm .checkout-confirmation-shipping .title {
    color: #284080;
}

#order-confirm .btn-link {
    color: #284080;
    font-weight: 700;
}

#order-confirm .btn-link .fa {
    margin-left: 0;
    color: #d0b868;
    font-size: 1rem;
}

#order-confirm .checkout-confirmation-change {
    display: none;
}

#order-confirm .card-products .card-header {
    padding-right: 0.45rem;
}

#order-confirm .npp-confirm-cart-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    width: 100%;
}

#order-confirm .npp-confirm-cart-head .btn {
    margin: 0;
    padding: 0 0.15rem;
    line-height: 1;
}

#order-confirm .npp-confirm-cart-head .fa {
    margin: 0;
    color: #d0b868;
    font-size: 1rem;
}

#order-confirm #comment,
#order-confirm .checkout-confirmation-comment {
    width: 100%;
    min-height: 7rem;
    padding: 0.75rem 0.85rem;
    border: 1px solid rgba(40, 64, 128, 0.16);
    border-radius: 0.9rem;
    background: #fff;
    color: #1d2740;
}

#order-confirm .checkout-items-total > hr {
    display: none;
}

#order-confirm .checkout-items-total-total {
    align-items: center;
    margin: 0.35rem 0 0;
    padding: 0.45rem 0 0;
    border: 0;
    border-top: 1px solid rgba(40, 64, 128, 0.14);
    border-radius: 0;
    background: transparent;
}

#order-confirm .npp-more {
    position: relative;
    display: inline-block;
    margin-top: 0.2rem;
}

#order-confirm .npp-more-label {
    color: #284080;
    font-size: 0.86rem;
    font-weight: 700;
    cursor: help;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

#order-confirm .npp-more-pop {
    position: absolute;
    left: 0;
    top: calc(100% + 0.35rem);
    z-index: 30;
    width: max-content;
    max-width: 280px;
    padding: 0.7rem 0.85rem;
    border: 1px solid rgba(208, 184, 104, 0.85);
    border-radius: 0.85rem;
    background: #fff;
    box-shadow: 0 12px 28px rgba(40, 64, 128, 0.14);
    opacity: 0;
    visibility: hidden;
}

#order-confirm .npp-more:hover .npp-more-pop,
#order-confirm .npp-more:focus-within .npp-more-pop {
    opacity: 1;
    visibility: visible;
}

#order-confirm .npp-more-pop ul {
    margin: 0;
}

#order-confirm .checkout-items-item > div {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

#order-confirm .checkout-items-item-main {
    justify-self: stretch;
    width: 100%;
    text-align: left;
}

#order-confirm .npp-ship-label {
    color: #284080;
    font-weight: 700;
}

#order-confirm .checkout-items-item:has(.npp-ship-label) .checkout-items-item-main {
    margin-left: 0;
    text-align: left;
}

@media (min-width: 768px) {
    #order-confirm .checkout-items-header,
    #order-confirm .checkout-items-item {
        display: grid !important;
        grid-template-columns: 76px minmax(0, 1fr) 7.4rem 6.8rem 5.6rem 6.8rem;
        column-gap: 0.85rem;
        align-items: start;
        margin-right: 0;
        margin-left: 0;
    }

    #order-confirm .checkout-items-header > [class*="col-"],
    #order-confirm .checkout-items-item > [class*="col-"] {
        width: auto !important;
        max-width: none !important;
        flex: none !important;
        padding-right: 0;
        padding-left: 0;
        white-space: nowrap;
    }

    #order-confirm .checkout-items-header > [class*="col-"]:nth-child(2),
    #order-confirm .checkout-items-item > [class*="col-"]:nth-child(2) {
        justify-self: stretch;
        width: 100%;
        margin-left: 0 !important;
        text-align: left;
        white-space: normal;
    }

    #order-confirm .checkout-items-header > [class*="col-"]:nth-child(n+3),
    #order-confirm .checkout-items-item > [class*="col-"]:nth-child(n+3) {
        text-align: right;
    }

    #order-confirm .checkout-items-item > [class*="col-"]:last-child {
        grid-column: 1 / -1;
        text-align: left;
    }

    #order-confirm .checkout-items-item-title {
        display: none;
    }

    #order-confirm .checkout-items-item-main p {
        margin: 0 0 0.15rem;
    }

    #order-confirm .checkout-items-item-image-wrapper img {
        width: 64px;
        height: auto;
    }

    #order-confirm .checkout-items-total-wrapper {
        margin: 0;
    }

    #order-confirm .checkout-items-total {
        flex: 0 0 100%;
        max-width: 100%;
        padding: 0;
    }

    #order-confirm .checkout-items-total .row {
        display: grid;
        grid-template-columns: 76px minmax(0, 1fr) 7.4rem 6.8rem 5.6rem 6.8rem;
        column-gap: 0.85rem;
        align-items: center;
        margin: 0.2rem 0;
    }

    #order-confirm .checkout-items-total .row > [class*="col-"] {
        width: auto;
        max-width: none;
        padding: 0;
    }

    #order-confirm .checkout-items-total .row > :first-child {
        grid-column: 1 / 6;
        justify-self: end;
        width: max-content;
        max-width: none;
        white-space: nowrap;
        text-align: right;
    }

    #order-confirm .checkout-items-total .row > .price-col {
        grid-column: 6;
        white-space: nowrap;
        text-align: right;
    }

    #order-confirm .checkout-items-item:has(.npp-ship-label) .checkout-items-item-main {
        grid-column: 2;
        justify-self: start;
        width: auto;
        margin-left: 0;
        text-align: left;
    }

    #order-confirm .checkout-items-item:has(.npp-ship-label) .checkout-items-item-vat {
        grid-column: 3;
    }

    #order-confirm .checkout-items-item:has(.npp-ship-label) .checkout-items-item-price-single {
        grid-column: 4;
        text-align: right;
    }

    #order-confirm .checkout-items-item:has(.npp-ship-label) .checkout-items-item-quantity {
        grid-column: 5;
        text-align: right;
    }

    #order-confirm .checkout-items-item:has(.npp-ship-label) .price-col {
        grid-column: 6;
        text-align: right;
    }
}

#order-confirm .checkout-items-total-total .price_label,
#order-confirm .checkout-items-total-total .price_label strong {
    color: #284080;
    font-size: 1.05rem;
}

#order-confirm .checkout-items-total-total .total-sum {
    color: #284080;
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: -0.02em;
}

#order-confirm .npp-legal {
    margin: 0 0 1rem;
    padding: 1rem 1.05rem 0.85rem;
    border: 1px solid rgba(208, 184, 104, 0.7);
    border-radius: 1rem;
    background: #f7f8fc;
}

#order-confirm .npp-legal.is-missing {
    border-color: #b42318;
    box-shadow: 0 0 0 3px rgba(180, 35, 24, 0.12);
}

#order-confirm .npp-legal-title {
    margin: 0 0 0.75rem;
    color: #284080;
    font-size: 1.05rem;
    font-weight: 700;
}

#order-confirm .npp-legal-row {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    margin: 0 0 0.6rem;
    color: #1d2740;
    line-height: 1.45;
}

#order-confirm .npp-legal-row input {
    width: 1.15rem;
    height: 1.15rem;
    margin-top: 0.15rem;
    accent-color: #284080;
    flex: 0 0 auto;
}

#order-confirm .npp-legal-row a {
    color: #284080;
    font-weight: 700;
    text-decoration: underline;
}

#order-confirm .npp-legal.is-missing .npp-legal-row.is-unchecked {
    color: #b42318;
}

#order-confirm .npp-legal-hint {
    margin: 0.35rem 0 0;
    color: #b42318;
    font-weight: 700;
}

#order-confirm #complete-order-button {
    min-height: 3.2rem;
    border: 0;
    border-radius: 999px;
    background: #284080;
    color: #fff;
    font-size: 1.05rem;
    font-weight: 700;
}

#order-confirm #complete-order-button:hover,
#order-confirm #complete-order-button:focus {
    background: #1c2f66;
    color: #d0b868;
}

#panel-submit-order .checkout-button-row .btn-outline-primary {
    display: none;
}

.product-detail .alert.choose-variations {
    display: none !important;
}

.product-detail .variations .variation-wrapper {
    margin: 0 0 0.85rem;
    padding: 0.95rem 1rem 1rem;
    background: linear-gradient(180deg, #ffffff, #f3f7f6);
    border: 1px solid rgba(40, 64, 128, 0.1);
    border-radius: 1.2rem;
    box-shadow: 0 16px 36px rgba(7, 25, 35, 0.05);
}

.product-detail .variations .variation-wrapper dt {
    margin: 0 0 0.45rem;
    font-family: "Outfit", "Segoe UI", sans-serif;
    font-size: 0.68rem;
    font-weight: 580;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: var(--npp-deep, #1d3550);
}

.product-detail .variations .form-group {
    margin: 0;
}

.product-detail .variations .bootstrap-select,
.product-detail .variations select.custom-select {
    width: 100% !important;
}

.product-detail .variations .bootstrap-select > .dropdown-toggle,
.product-detail .variations select.custom-select {
    height: 3rem;
    padding: 0 1.15rem;
    border: 1px solid rgba(40, 64, 128, 0.18);
    border-radius: 999px;
    background: #fff;
    color: #071923;
    box-shadow: none;
    font-weight: 560;
}

.product-detail .variations .bootstrap-select > .dropdown-toggle:focus,
.product-detail .variations select.custom-select:focus {
    border-color: #284080;
    box-shadow: 0 0 0 3px rgba(208, 184, 104, 0.35);
    outline: 0;
}

.product-detail .variations .dropdown-menu {
    margin-top: 0.35rem;
    padding: 0.4rem;
    border: 1px solid rgba(40, 64, 128, 0.12);
    border-radius: 1rem;
    box-shadow: 0 18px 40px rgba(7, 25, 35, 0.12);
}

.product-detail .variations .dropdown-item {
    border-radius: 0.75rem;
    color: #071923;
}

.product-detail .variations .dropdown-item:hover,
.product-detail .variations .dropdown-item:focus,
.product-detail .variations .dropdown-item.active {
    background: rgba(40, 64, 128, 0.08);
    color: #071923;
}

#product-tabs {
    display: none !important;
}

.product-detail .tab-content > .tab-pane {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    height: auto !important;
    margin: 0 0 1.15rem;
}

.product-detail .npp-story-title {
    margin: 0.2rem 0 0.7rem;
    font-family: "Fraunces", Georgia, serif;
    font-size: 1.45rem;
    font-weight: 560;
    color: #071923;
}

#tab-description .npp-story-title {
    margin-bottom: 0.85rem;
    font-size: 1.9rem;
}

#tab-description .desc {
    position: relative;
    margin: 0 0 1.15rem;
    padding: 1.55rem 1.6rem 1.45rem 2rem;
    background: linear-gradient(180deg, #ffffff 0%, #f8f4e8 100%);
    border: 2px solid rgba(40, 64, 128, 0.28);
    border-radius: 1.35rem;
    box-shadow: 0 24px 54px rgba(40, 64, 128, 0.14);
    color: #071923;
    font-size: 1.08rem;
    line-height: 1.7;
}

#tab-description .desc::before {
    content: "";
    position: absolute;
    left: 0.85rem;
    top: 1.15rem;
    bottom: 1.15rem;
    width: 5px;
    border-radius: 99px;
    background: linear-gradient(180deg, #284080, #d0b868);
}

#tab-description .desc p:empty {
    display: none;
}

#tab-description .desc ul {
    margin: 0.4rem 0 0;
    padding: 0;
    list-style: none;
}

#tab-description .desc li {
    position: relative;
    margin: 0;
    padding: 0.32rem 0 0.32rem 1.35rem;
}

#tab-description .desc li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.72rem;
    width: 0.42rem;
    height: 0.42rem;
    border-radius: 50%;
    background: #284080;
    box-shadow: 0 0 0 3px rgba(40, 64, 128, 0.14);
}

.product-attributes {
    margin: 0;
    padding: 0.3rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(244, 247, 245, 0.92));
    border: 1px solid rgba(40, 64, 128, 0.1);
    border-radius: 1.2rem;
    box-shadow: 0 18px 40px rgba(7, 25, 35, 0.06);
    overflow: hidden;
}

.product-attributes table {
    display: block;
    width: 100%;
    margin: 0;
    background: transparent;
    border: 0;
}

.product-attributes tbody {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

@media (max-width: 760px) {
    .product-attributes tbody {
        grid-template-columns: 1fr;
    }
}

.product-attributes thead {
    display: none;
}

.product-attributes tr {
    display: grid;
    grid-template-columns: minmax(7.5rem, 11rem) 1fr;
    gap: 0.75rem;
    align-items: center;
    padding: 0.72rem 1rem;
    border-bottom: 1px solid rgba(40, 64, 128, 0.08);
    background: transparent !important;
}

.product-attributes tr:last-child {
    border-bottom: 0;
}

.product-attributes td {
    display: block;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.product-attributes td.h6 {
    margin: 0;
    font-family: "Outfit", "Segoe UI", sans-serif;
    font-size: 0.68rem;
    font-weight: 580;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: #1d3550;
}

.product-attributes td:not(.h6),
.product-attributes td:not(.h6) a,
.product-attributes td:not(.h6) span,
.product-attributes .attr-characteristic,
.product-attributes .badge {
    display: inline;
    margin: 0 0.35rem 0 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    color: #071923 !important;
    font-family: "Outfit", "Segoe UI", sans-serif !important;
    font-size: 0.98rem !important;
    font-weight: 600 !important;
    letter-spacing: 0;
    text-transform: none;
    box-shadow: none;
}

.product-attributes .attr-characteristic a:hover,
.product-attributes .badge:hover {
    color: #8a7040 !important;
}

#tab-votes {
    margin-top: 2.4rem;
}

#tab-votes .reviews {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 7.5rem;
    padding: 1.35rem 1.15rem;
    text-align: center;
    background: linear-gradient(180deg, #ffffff, #f3f7f6);
    border: 1px solid rgba(40, 64, 128, 0.1);
    border-radius: 1.25rem;
    box-shadow: 0 16px 36px rgba(7, 25, 35, 0.05);
}

#tab-votes .reviews > p,
#tab-votes .subheadline,
#tab-votes .card:has(img[src*="shopvote"]),
#tab-votes .card:has(img[src*="lfs_shopvote"]) {
    display: block !important;
}

#tab-votes #reviews-overview,
#tab-votes form,
#tab-votes .reviews .row,
#tab-votes #reviews-overview > .col,
#tab-votes #reviews-overview > [class*="col"],
#tab-votes form .col,
#tab-votes form [class*="col"] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    flex: 1 1 auto;
}

#tab-votes button[name="bewerten"] {
    min-height: 2.9rem;
    margin: 0 auto;
    padding: 0.45rem 1.2rem;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(180deg, #34539a 0%, #284080 100%);
    color: #fff;
    box-shadow: 0 12px 24px rgba(40, 64, 128, 0.2);
    font-weight: 650;
}

#tab-votes button[name="bewerten"]:hover,
#tab-votes button[name="bewerten"]:focus {
    background: linear-gradient(180deg, #284080 0%, #1b2f66 100%);
    color: #fff;
}

.flrd-wrapper,
.btn360,
.btn-youtube {
    display: none !important;
}

.npp-media-card {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: #071923 center / cover no-repeat;
    cursor: pointer;
    overflow: hidden;
}

.npp-media-card img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    transform: none;
    object-fit: cover;
    opacity: 0.92;
}

.npp-media-veil {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(7, 25, 35, 0.05), rgba(7, 25, 35, 0.38));
}

.npp-media-mark {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 5.4rem;
    height: 5.4rem;
    border-radius: 999px;
    color: #fff;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
}

.npp-media-youtube .npp-media-mark {
    width: 5.6rem;
    height: 3.9rem;
    border-radius: 1.15rem;
    background: #ff0033;
}

.npp-media-youtube .npp-media-mark svg {
    width: 1.7rem;
    height: 1.7rem;
    margin-left: 0.15rem;
}

.npp-media-spin .npp-media-mark {
    background: rgba(7, 25, 35, 0.55);
    border: 2px solid #d0b868;
    backdrop-filter: blur(4px);
}

.npp-media-spin .npp-media-mark::before {
    content: "";
    position: absolute;
    inset: -0.45rem;
    border: 1px dashed rgba(208, 184, 104, 0.85);
    border-radius: 999px;
}

.npp-media-spin .npp-media-mark span {
    font-family: "Fraunces", Georgia, serif;
    font-size: 1.15rem;
    letter-spacing: 0.04em;
    color: #d0b868;
}

.npp-media-card:hover .npp-media-mark,
.npp-media-card:focus .npp-media-mark {
    transform: translate(-50%, -50%) scale(1.06);
}

.npp-media-frame {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    background: #071923;
}

#gallery_preview .npp-media-mark {
    width: 2.1rem;
    height: 2.1rem;
}

#gallery_preview .npp-media-youtube .npp-media-mark {
    width: 2.2rem;
    height: 1.55rem;
    border-radius: 0.4rem;
}

#gallery_preview .npp-media-spin .npp-media-mark span {
    font-size: 0.62rem;
}

