/* ===========================================
   HISTORICUM SHOP STYLES v12
   =========================================== */

:root {
    --h-black: #0a0a0a;
    --h-white: #ffffff;
    --h-paper: #f5f0e6;
    --h-accent: #ffd000;
    --h-gray-light: #b0b0b0;
    --h-font-cinzel: "Cinzel", serif;
    --h-font-cormorant: "Cormorant Garamond", serif;
    --h-shop-stage-width: 1760px;
    --h-shop-stage-outer-width: calc(var(--h-shop-stage-width) + 64px);
    --h-shop-widget-width: 286px;
    --h-shop-widget-gap: 28px;
    --h-shop-section-left-pad: 48px;
    --h-shop-section-right-pad: 18px;
    --h-shop-contour-edge: var(--h-shop-section-left-pad);
    --h-shop-contour-color: rgba(17, 17, 17, 0.74);
    --h-shop-contour-thin: 0.3px;
    --h-shop-contour-corner: 34px;
    --h-shop-contour-top-width: 100%;
    --h-noise-shadow-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 72' preserveAspectRatio='none'%3E%3Cdefs%3E%3Cfilter id='grain' x='0' y='0' width='100%25' height='100%25' color-interpolation-filters='sRGB'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='5.8' numOctaves='1' seed='27' result='noise'/%3E%3CfeColorMatrix in='noise' type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 0 0 0 -5.7' result='blackNoise'/%3E%3C/filter%3E%3ClinearGradient id='falloff' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0%25' stop-color='white' stop-opacity='.92'/%3E%3Cstop offset='34%25' stop-color='white' stop-opacity='.54'/%3E%3Cstop offset='100%25' stop-color='white' stop-opacity='0'/%3E%3C/linearGradient%3E%3CradialGradient id='round' cx='50%25' cy='0%25' r='82%25'%3E%3Cstop offset='0%25' stop-color='white' stop-opacity='1'/%3E%3Cstop offset='72%25' stop-color='white' stop-opacity='.7'/%3E%3Cstop offset='100%25' stop-color='white' stop-opacity='0'/%3E%3C/radialGradient%3E%3Cmask id='fall' mask-type='alpha'%3E%3Cellipse cx='60' cy='14' rx='58' ry='34' fill='url(%23round)'/%3E%3Crect x='1' y='0' width='118' height='70' fill='url(%23falloff)'/%3E%3C/mask%3E%3C/defs%3E%3Crect width='120' height='72' fill='black' filter='url(%23grain)' mask='url(%23fall)' opacity='1'/%3E%3C/svg%3E");
}

.h-noise-shadow {
    position: relative;
    isolation: isolate;
    overflow: visible;
    box-shadow: 0 18px 34px rgba(0, 0, 0, 0.26) !important;
    --h-noise-shadow-inset: -42px;
    --h-noise-shadow-opacity: 1;
    --h-noise-shadow-radius: 12px;
}

.h-noise-shadow::after {
    content: "";
    position: absolute;
    inset: var(--h-noise-shadow-inset);
    z-index: 0;
    pointer-events: none;
    border-radius: var(--h-noise-shadow-radius);
    background-image: var(--h-noise-shadow-image), var(--h-noise-shadow-image);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center;
    opacity: var(--h-noise-shadow-opacity);
    mix-blend-mode: multiply;
    display: none;
}

.h-noise-shadow > * {
    position: relative;
    z-index: 1;
}

body.historicum-shop-page {
    margin: 0 !important;
    padding-top: 0 !important;
    background: var(--h-black) !important;
}

.h-shop-page {
    background:
        radial-gradient(88% 64% at 0% 0%, rgba(235, 188, 0, 0.14) 0%, rgba(126, 92, 0, 0.06) 34%, rgba(0, 0, 0, 0) 68%),
        linear-gradient(180deg, #060400 0%, #020201 58%, #000000 100%);
    color: var(--h-white);
    min-height: 100vh;
    width: 100%;
    padding-top: 80px;
}

/* -----------------------------------------
   HERO
----------------------------------------- */
.h-shop-header-hero {
    position: relative;
    overflow: visible;
    background-color: #08130f;
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.90) 0%, rgba(4, 14, 10, 0.56) 56%, rgba(0, 0, 0, 0.92) 100%);
    background-repeat: no-repeat;
    background-size: cover;
    isolation: isolate;
    padding-bottom: 6px;
}

.h-shop-header-hero::before {
    content: "";
    position: absolute;
    inset: -80px 0 -110px;
    background:
        radial-gradient(122% 88% at 50% 48%, rgba(16, 58, 42, 0.38) 0%, rgba(8, 30, 22, 0.28) 46%, rgba(0, 0, 0, 0) 78%),
        linear-gradient(180deg, rgba(0, 0, 0, 0.88) 0%, rgba(4, 20, 14, 0.66) 44%, rgba(5, 22, 16, 0.64) 58%, rgba(0, 0, 0, 0.90) 100%);
    mix-blend-mode: normal;
    opacity: 1;
    pointer-events: none;
    z-index: 1;
}

.h-shop-bg-overlay {
    position: absolute;
    top: -90px;
    bottom: -190px;
    left: 50%;
    width: 100%;
    height: auto;
    transform: translateX(-50%);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    opacity: 0.58;
    z-index: 0;
    pointer-events: none;
}

.h-shop-header-inner {
    position: relative;
    z-index: 2;
    max-width: none;
    margin: 0;
    padding: 30px var(--h-shop-section-left-pad) 30px;
}

.h-shop-header-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 26px;
    align-items: center;
}

.h-shop-title-block {
    min-height: 98px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.h-shop-title {
    display: inline-block;
    margin: 0 0 4px;
    font-family: var(--h-font-cinzel);
    font-size: clamp(58px, 6vw, 88px);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--h-white) !important;
    line-height: 1.04;
}

.h-shop-title-text {
    color: var(--h-white) !important;
}

.h-title-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--h-accent);
    flex-shrink: 0;
}

.h-shop-subtitle {
    margin: 0;
    font-family: var(--h-font-cormorant);
    font-size: clamp(27px, 2.4vw, 34px);
    font-weight: 500;
    color: var(--h-gray-light);
    line-height: 1.1;
}

.h-shop-breadcrumb {
    align-self: end;
    text-align: right;
    font-family: var(--h-font-cormorant);
    font-size: clamp(17px, 1.15vw, 21px);
    color: #ffffff;
    line-height: 1.15;
}

.h-shop-breadcrumb a {
    color: #ffffff !important;
    text-decoration: none;
}

.h-shop-breadcrumb a:visited,
.h-shop-breadcrumb a:focus,
.h-shop-breadcrumb a:active {
    color: #ffffff !important;
}

.h-shop-breadcrumb a:hover {
    color: var(--h-accent);
}

.h-shop-breadcrumb .h-sep {
    margin: 0 8px;
    color: var(--h-accent);
}

.h-shop-breadcrumb .h-current {
    color: var(--h-accent);
}

/* Remove yellow lines/background bands */
.h-diagonal-bands,
.h-band {
    display: none !important;
}

/* -----------------------------------------
   HERO CAROUSEL - fighters favorite style
----------------------------------------- */
.h-shop-hero-carousel {
    position: relative;
    z-index: 2;
    padding: 24px 0 0;
}

.h-shop-page .h-shop-fighter-wrapper {
    position: relative;
    width: 100%;
    left: 50%;
    transform: translateX(-50%);
    overflow: visible;
    padding-bottom: 0;
}

.h-shop-page .h-shop-fighter-carousel {
    overflow-x: auto;
    overflow-y: hidden;
    cursor: grab;
    display: flex;
    gap: 20px;
    padding: 8px var(--h-shop-section-left-pad) 10px;
    scrollbar-width: none;
    -ms-overflow-style: none;
    overscroll-behavior: contain;
    touch-action: pan-y;
}

.h-shop-page .h-shop-fighter-carousel::-webkit-scrollbar {
    display: none;
}

.h-shop-page .h-shop-fighter-carousel:active,
.h-shop-page .h-shop-fighter-carousel.is-dragging {
    cursor: grabbing;
}

.h-shop-page .h-shop-fighter-carousel.is-dragging * {
    pointer-events: none;
}

.h-shop-page .h-bs-slide {
    flex: 0 0 280px;
    position: relative;
    isolation: isolate;
    box-shadow: none !important;
    --h-noise-shadow-opacity: 1;
    --h-noise-shadow-radius: 12px;
}

.h-shop-page .h-bs-slide::after {
    content: "";
    position: absolute;
    top: auto;
    right: 0;
    bottom: -20px;
    left: 0;
    height: 48px;
    z-index: 0;
    pointer-events: none;
    border-radius: var(--h-noise-shadow-radius);
    background-image: var(--h-noise-shadow-image), var(--h-noise-shadow-image);
    background-repeat: no-repeat;
    background-size: 100% 100%, 88% 72%;
    background-position: center top, center 10px;
    image-rendering: pixelated;
    opacity: 0.48;
    mix-blend-mode: multiply;
    display: none;
}

.h-shop-page .h-bs-card {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    border-radius: 10px;
    border: 1px solid rgba(17, 17, 17, 0.78);
    overflow: hidden;
    background: #0b0b0b;
    box-shadow: 0 18px 34px rgba(0, 0, 0, 0.26);
    transition: transform 0.25s ease, border-color 0.25s ease;
}

.h-shop-page .h-bs-card:hover {
    transform: translateY(-6px);
    border-color: rgba(0, 0, 0, 0.92);
    box-shadow: 0 22px 42px rgba(0, 0, 0, 0.32);
}

.h-shop-page .h-bs-badge {
    position: absolute;
    top: 0;
    right: 0;
    width: 30px;
    height: 30px;
    background: var(--h-accent);
    color: #111;
    font-size: 14px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
    border-radius: 0 0 0 8px;
}

.h-shop-page .h-bs-image {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #111;
}

.h-shop-page .h-bs-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.28s ease, opacity 0.36s ease;
}

.h-shop-page .h-bs-image img.h-shop-card-watermark,
.h-shop-ws-card .h-ss-image img.h-shop-card-watermark {
    position: absolute;
    right: auto;
    bottom: 8px;
    left: 8px;
    z-index: 4;
    display: block;
    width: 42px;
    height: auto;
    max-height: 34px;
    object-fit: contain;
    opacity: 0.98;
    pointer-events: none;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.55));
    transition: none;
}

.h-shop-page .h-bs-image .h-card-image-secondary {
    position: absolute;
    inset: 0;
    z-index: 2;
    opacity: 0;
    pointer-events: none;
}

.h-shop-page .h-bs-card:hover .h-card-image-primary {
    opacity: 0;
}

.h-shop-page .h-bs-card:hover .h-card-image-secondary {
    opacity: 1;
}

.h-shop-page .h-bs-card:hover .h-bs-image img {
    transform: scale(1.05);
}

.h-shop-page .h-bs-card:hover .h-bs-image img.h-shop-card-watermark,
.h-shop-ws-card:hover .h-ss-image img.h-shop-card-watermark {
    opacity: 0.98;
    transform: none;
}

.h-shop-page .h-bs-info {
    background: #000;
    padding: 10px 12px 12px;
    position: relative;
    overflow: hidden;
}

.h-shop-page .h-bs-info::after {
    content: "ORDER NOW";
    position: absolute;
    left: -1px;
    right: -1px;
    top: 0;
    bottom: 0;
    height: auto;
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--h-accent);
    color: #111111;
    font-family: var(--h-font-instrument);
    font-size: 18px;
    font-weight: 800;
    letter-spacing: 0.05em;
    line-height: 1;
    text-transform: uppercase;
    pointer-events: none;
    clip-path: inset(0 100% 0 0);
    transform: translateZ(0);
    transition: clip-path 0.18s cubic-bezier(0.25, 0.9, 0.25, 1);
    will-change: clip-path;
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
}

.h-shop-page .h-bs-card:hover .h-bs-info::after {
    clip-path: inset(0 0 0 0);
}

.h-shop-page .h-bs-title {
    margin: 0 0 6px;
    color: #fff;
    font-family: var(--h-font-instrument);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.2;
    text-transform: uppercase;
    min-height: 30px;
}

.h-shop-page .h-bs-bottom-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 8px;
}

.h-shop-page .h-bs-reviews .h-stars,
.h-shop-page .h-bs-reviews .star-rating {
    color: var(--h-accent);
    font-size: 11px;
    letter-spacing: 1.5px;
}

.h-shop-page .h-bs-price {
    position: relative;
    overflow: hidden;
    color: var(--h-accent);
    font-family: var(--h-font-instrument);
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
    display: inline-flex;
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 4px;
    padding: 4px 10px;
    border: 0.5px solid rgba(255, 208, 0, 0.9);
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.2);
    transform: translateZ(0);
    transition: color 0.24s ease, border-color 0.24s ease, background 0.24s ease;
}

.h-shop-page .h-bs-price::before {
    display: none;
}

.h-shop-page .h-bs-price::after {
    display: none;
}

.h-shop-page .h-bs-price > *,
.h-shop-page .h-bs-price .woocommerce-Price-amount {
    position: relative;
    z-index: 1;
}

.h-shop-page .h-bs-card:hover .h-bs-price {
    color: var(--h-accent);
    border-color: rgba(255, 208, 0, 0.9);
    background: rgba(0, 0, 0, 0.2);
}

.h-shop-page .h-bs-card:hover .h-bs-price * {
    color: inherit !important;
}

.h-shop-page .h-bs-price ins,
.h-shop-page .h-bs-price > .woocommerce-Price-amount {
    background: transparent;
    text-decoration: none;
    color: inherit;
    font-family: var(--h-font-instrument);
    font-size: inherit;
    line-height: 1;
}

.h-shop-page .h-bs-price del {
    color: #ffffff;
    opacity: 1;
    font-size: 0.58em;
    line-height: 1;
    text-decoration: line-through;
    margin-top: 0;
    text-align: center;
}

.h-shop-page .h-bs-price del .woocommerce-Price-amount {
    font-size: 1em;
}

.h-shop-page .h-bs-price ins {
    display: inline;
    padding: 0;
    border: 0;
    border-radius: 0;
    color: var(--h-accent);
    line-height: 1;
}

.h-shop-page .h-bs-wrapper .h-carousel-controls {
    justify-content: flex-end;
    padding: 0 70px 0;
    display: flex;
    gap: 10px;
    position: relative;
    z-index: 30;
    pointer-events: auto;
}

/* Hero arrows on dark background */
.h-shop-hero-carousel .h-carousel-arrow {
    border-color: rgba(255, 255, 255, 0.92);
    background: rgba(0, 0, 0, 0.26);
    position: relative;
    z-index: 31;
    pointer-events: auto !important;
}

.h-shop-hero-carousel .h-carousel-arrow::before {
    border-top-color: rgba(255, 255, 255, 0.95);
    border-right-color: rgba(255, 255, 255, 0.95);
}

.h-shop-hero-carousel .h-carousel-arrow:hover {
    background: var(--h-accent);
    border-color: var(--h-accent);
}

.h-shop-hero-carousel .h-carousel-arrow:hover::before {
    border-top-color: #111;
    border-right-color: #111;
}

/* -----------------------------------------
   TAG ROW
----------------------------------------- */
.h-shop-tags-row {
    position: relative;
    z-index: 2;
    padding: 2px 8px 10px;
}

.h-shop-tags-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    justify-content: stretch;
    align-items: center;
    gap: 10px;
    width: min(1700px, calc(100vw - 16px));
    margin: 0 auto;
}

.h-shop-tag-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    width: 100%;
    padding: 9px 14px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.78);
    background: transparent;
    color: #fff;
    font-family: var(--h-font-cinzel);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}

.h-shop-tag-btn:hover {
    border-color: var(--h-accent);
    background: transparent;
    color: var(--h-accent);
}

.h-shop-tag-btn.is-active,
.h-shop-tag-btn[aria-pressed="true"],
.h-shop-tag-btn[aria-current="true"] {
    background: var(--h-accent);
    border-color: var(--h-accent);
    color: #111;
}

/* -----------------------------------------
   PAPER STACK + RIPS
----------------------------------------- */
.h-shop-paper-stack {
    position: relative;
    z-index: 4;
    margin-top: -1px;
    padding: 0 0 90px;
    background:
        radial-gradient(90% 54% at 50% 0%, rgba(7, 30, 22, 0.28) 0%, rgba(0, 0, 0, 0) 62%),
        linear-gradient(180deg, #030505 0%, #010202 100%);
    --h-section-divider-left: 60px;
    --h-section-divider-right: 172px;
    --h-section-divider-y: -30px;
}

.h-shop-paper-stack::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 360px;
    z-index: 0;
    background:
        linear-gradient(180deg, rgba(3, 22, 15, 0.86) 0%, rgba(2, 8, 7, 0.72) 42%, rgba(1, 2, 2, 0) 100%),
        radial-gradient(78% 62% at 50% 0%, rgba(12, 54, 38, 0.42) 0%, rgba(0, 0, 0, 0) 70%);
    pointer-events: none;
}

.h-shop-paper-layout {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) var(--h-shop-widget-width);
    align-items: start;
    gap: var(--h-shop-widget-gap);
    width: 100%;
    margin: 0;
    padding: 0;
}

.h-shop-sections-column {
    position: relative;
    min-width: 0;
    z-index: 1;
}

.h-shop-sections-column::after {
    content: "";
    position: absolute;
    top: 48px;
    right: -10px;
    bottom: 48px;
    z-index: 3;
    width: 16px;
    background-color: var(--h-paper);
    clip-path: polygon(
        0 0,
        70% 0,
        92% 4%,
        72% 8%,
        96% 12%,
        68% 16%,
        94% 20%,
        70% 24%,
        98% 28%,
        66% 32%,
        92% 36%,
        70% 40%,
        96% 44%,
        68% 48%,
        94% 52%,
        70% 56%,
        98% 60%,
        66% 64%,
        92% 68%,
        70% 72%,
        96% 76%,
        68% 80%,
        94% 84%,
        70% 88%,
        96% 92%,
        72% 96%,
        70% 100%,
        0 100%
    );
    pointer-events: none;
}

.h-shop-widgets-column {
    position: sticky;
    top: 96px;
    align-self: start;
    z-index: 8;
    padding-top: 50px;
    padding-right: 20px;
    padding-bottom: 36px;
}

.h-paper-section {
    position: relative;
    margin-top: 0;
    --h-rip-offset: 0%;
}

/* Continuous paper layout:
   keep only first top-rip and last bottom-rip */
.h-shop-sections-column > .h-paper-section:not(:first-of-type) .h-torn-top {
    display: none;
}

.h-shop-sections-column > .h-paper-section:not(:last-of-type) .h-torn-bottom {
    display: none;
}

.h-paper-section::before {
    content: "";
    display: block;
    height: 0;
    background: transparent;
}

.h-paper-section.h-first-section::before {
    display: none;
}

/* Safety: hide spacer on first visible section even if PHP index skips empties */
.h-shop-sections-column > .h-paper-section:first-of-type::before {
    display: none !important;
}

.h-torn-top,
.h-torn-bottom {
    position: relative;
    width: 100%;
    height: 50px;
    background: transparent !important;
    background-image: none !important;
    overflow: hidden;
    z-index: 2;
}

/* Fallback torn shape (for browsers/cases where mask rendering fails) */
.h-torn-top::before,
.h-torn-bottom::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--h-paper);
    clip-path: polygon(0 68%, 6% 62%, 12% 70%, 18% 64%, 24% 72%, 30% 66%, 36% 74%, 42% 68%, 48% 76%, 54% 70%, 60% 78%, 66% 71%, 72% 77%, 78% 69%, 84% 75%, 90% 67%, 96% 73%, 100% 70%, 100% 100%, 0 100%);
}

.h-torn-bottom::before {
    transform: scaleY(-1);
    transform-origin: center;
}

/* Preferred mask-based torn shape */
.h-torn-top::after,
.h-torn-bottom::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--h-paper);
    opacity: 0;
}

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
    .h-torn-top::before,
    .h-torn-bottom::before {
        opacity: 0;
    }

    .h-torn-top::after,
    .h-torn-bottom::after {
        opacity: 1;
    }

    .h-torn-top::after,
    .h-torn-bottom::after {
        -webkit-mask-image: url("https://historicum.pl/wp-content/uploads/2026/04/torn-edge.svg");
        -webkit-mask-size: 150% 100%;
        -webkit-mask-repeat: no-repeat;
        mask-image: url("https://historicum.pl/wp-content/uploads/2026/04/torn-edge.svg");
        mask-size: 150% 100%;
        mask-repeat: no-repeat;
    }

    .h-torn-top::after {
        -webkit-mask-position: var(--h-rip-offset) bottom;
        mask-position: var(--h-rip-offset) bottom;
    }

    .h-torn-bottom::after {
        -webkit-mask-position: var(--h-rip-offset) top;
        mask-position: var(--h-rip-offset) top;
        transform: scaleY(-1);
        transform-origin: center;
    }
}

.h-torn-top::after,
.h-torn-bottom::after {
    -webkit-mask-image: url("https://historicum.pl/wp-content/uploads/2026/04/torn-edge.svg");
    -webkit-mask-size: 150% 100%;
    -webkit-mask-repeat: no-repeat;
    mask-image: url("https://historicum.pl/wp-content/uploads/2026/04/torn-edge.svg");
    mask-size: 150% 100%;
    mask-repeat: no-repeat;
}

.h-torn-top::after {
    -webkit-mask-position: var(--h-rip-offset) bottom;
    mask-position: var(--h-rip-offset) bottom;
}

.h-torn-bottom::after {
    -webkit-mask-position: var(--h-rip-offset) top;
    mask-position: var(--h-rip-offset) top;
    transform: scaleY(-1);
    transform-origin: center;
}

.h-paper-content {
    position: relative;
    background-color: var(--h-paper);
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 0;
    overflow: visible;
}

/* Left bracket contour for each shop section */
.h-shop-paper-stack .h-paper-section .h-paper-content::after,
.h-shop-paper-stack .h-paper-section .h-paper-content::before {
    display: none;
}

.h-shop-paper-stack .h-paper-section .h-shop-section-main::after {
    content: "";
    display: block;
    position: absolute;
    top: 20px;
    bottom: auto;
    left: calc((var(--h-shop-section-left-pad) * -1) + 18px);
    height: 88px;
    width: 126px;
    z-index: 0;
    pointer-events: none;
    background-image:
        linear-gradient(var(--h-shop-contour-color), var(--h-shop-contour-color)),
        linear-gradient(var(--h-shop-contour-color), var(--h-shop-contour-color));
    background-repeat: no-repeat;
    background-size:
        var(--h-shop-contour-thin) 100%,
        124px var(--h-shop-contour-thin);
    background-position:
        left top,
        left top;
}

.h-paper-content::before,
.h-shop-section-main::before {
    content: "";
    position: absolute;
    inset: 0;
    background: transparent;
    pointer-events: none;
    z-index: 0;
}

.h-shop-paper-stack .h-paper-section .h-shop-section-main::before {
    top: 20px;
    bottom: auto;
    left: calc((var(--h-shop-section-left-pad) * -1) + 18px);
    height: var(--h-shop-contour-corner);
    width: 126px;
    inset: 20px auto auto calc((var(--h-shop-section-left-pad) * -1) + 18px);
    background-image:
        linear-gradient(var(--h-shop-contour-color), var(--h-shop-contour-color)),
        linear-gradient(var(--h-shop-contour-color), var(--h-shop-contour-color));
    background-repeat: no-repeat;
    background-size:
        var(--h-shop-contour-corner) 0.5px,
        0.5px var(--h-shop-contour-corner);
    background-position:
        left top,
        left top;
}

.h-shop-sections-column > .h-paper-section:not(:first-of-type) .h-shop-section-main {
    padding-top: 18px;
}

.h-paper-content > * {
    position: relative;
    z-index: 1;
}

.h-paper-title-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    width: min(var(--h-shop-stage-width), calc(100vw - 96px));
    margin: 0 auto 4px;
    padding: 0;
}

.h-paper-title-link {
    text-decoration: none;
}

.h-paper-title {
    margin: 0;
    color: #111;
    font-family: var(--h-font-cinzel);
    font-size: clamp(32px, 3vw, 42px);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.h-paper-title-note {
    align-self: flex-end;
    margin-bottom: 5px;
    color: rgba(17, 17, 17, 0.68);
    font-family: var(--h-font-cormorant);
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
}

.h-paper-title-link:hover .h-paper-title {
    color: var(--h-accent);
}

.h-paper-subnav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    width: min(var(--h-shop-stage-width), calc(100vw - 96px));
    margin: 0 auto 8px;
    padding: 0;
}

.h-subnav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 6px 14px;
    border: 1px solid rgba(17, 17, 17, 0.35);
    border-radius: 999px;
    color: #262626;
    text-decoration: none;
    font-family: var(--h-font-cormorant);
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}

.h-subnav-link:hover {
    border-color: var(--h-accent);
    color: #111;
    background: rgba(255, 208, 0, 0.2);
}

.h-shop-material-filter {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    width: min(var(--h-shop-stage-width), calc(100vw - 96px));
    margin: 0 auto 8px;
    padding: 0;
}

.h-material-filter-btn {
    cursor: pointer;
    background: transparent;
}

.h-tag-filter-btn,
.h-material-filter-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 6px 14px;
    border: 1px solid rgba(17, 17, 17, 0.35);
    border-radius: 999px;
    color: #262626;
    font-family: var(--h-font-cormorant);
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
}

.h-material-filter-btn.is-active {
    border-color: var(--h-accent);
    color: #111;
    background: var(--h-accent);
}

.h-shop-section-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    align-items: start;
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.h-shop-section-main {
    position: relative;
    min-width: 0;
    padding: 34px var(--h-shop-section-right-pad) 14px var(--h-shop-section-left-pad);
    background: transparent;
    overflow: visible;
}

.h-shop-section-main > * {
    position: relative;
    z-index: 1;
}

.h-shop-section-main .h-paper-title-wrap,
.h-shop-section-main .h-shop-material-filter,
.h-shop-section-main .h-paper-subnav {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}

.h-shop-section-main .h-shop-material-filter,
.h-shop-section-main .h-paper-subnav {
    padding-left: 0;
}

.h-shop-section-main .h-shop-section-carousel {
    width: calc(100% + 56px);
    max-width: none;
    margin-left: -28px;
    margin-right: -28px;
    padding-left: 28px;
    padding-right: 28px;
}

.h-shop-side-widgets {
    position: static;
    top: auto;
    right: auto;
    z-index: 8;
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
    padding-left: 0;
    border-left: 0;
    color: #111;
}

.h-shop-widget {
    position: relative;
    display: block;
    min-height: 112px;
    margin: 0;
    padding: 18px 18px 18px;
    color: #111;
    text-decoration: none;
    background-color: rgba(245, 240, 230, 0.98);
    background-image:
        radial-gradient(ellipse at center, rgba(245, 240, 230, 0) 44%, rgba(150, 120, 80, 0.12) 100%);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    border: 0;
    border-radius: 0;
    isolation: isolate;
    overflow: visible;
    clip-path: none;
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.24);
    transition: color 0.18s ease, transform 0.18s ease;
}

.h-shop-widget::before,
.h-shop-widget::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    height: 14px;
    background-color: var(--h-paper);
    pointer-events: none;
    z-index: 0;
}

.h-shop-paper-stack .h-paper-section .h-paper-content::before {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image: none;
    background-repeat: repeat;
    background-size: 256px 256px;
    opacity: 0.055;
}

.h-shop-paper-stack .h-paper-section .h-paper-content::after {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: radial-gradient(
        ellipse at center,
        transparent 35%,
        rgba(150, 120, 80, 0.18) 100%
    );
}

.h-shop-widget::before {
    top: -7px;
    -webkit-mask-image: url("https://historicum.pl/wp-content/uploads/2026/04/torn-edge.svg");
    -webkit-mask-size: 140% 100%;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: 38% bottom;
    mask-image: url("https://historicum.pl/wp-content/uploads/2026/04/torn-edge.svg");
    mask-size: 140% 100%;
    mask-repeat: no-repeat;
    mask-position: 38% bottom;
}

.h-shop-widget::after {
    bottom: -7px;
    transform: scaleY(-1);
    transform-origin: center;
    -webkit-mask-image: url("https://historicum.pl/wp-content/uploads/2026/04/torn-edge.svg");
    -webkit-mask-size: 140% 100%;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: 62% bottom;
    mask-image: url("https://historicum.pl/wp-content/uploads/2026/04/torn-edge.svg");
    mask-size: 140% 100%;
    mask-repeat: no-repeat;
    mask-position: 62% bottom;
}

.h-shop-widget:hover {
    color: #111;
    transform: translateX(-2px);
}

.h-shop-widget > * {
    position: relative;
    z-index: 1;
}

.h-shop-widget-kicker {
    display: block;
    margin-bottom: 7px;
    color: rgba(17, 17, 17, 0.66);
    font-family: var(--h-font-cormorant);
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
}

.h-shop-widget-title {
    margin: 0 0 12px;
    color: #050505;
    font-family: var(--h-font-cinzel);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: 0.02em;
}

.h-shop-widget-text {
    margin: -4px 0 13px;
    color: rgba(17, 17, 17, 0.78);
    font-family: var(--h-font-cormorant);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.22;
}

.h-shop-widget-select-row {
    display: grid;
    grid-template-columns: auto minmax(92px, 1fr);
    gap: 10px;
    align-items: center;
    margin: 10px 0 0;
    color: #111;
    font-family: var(--h-font-cormorant);
    font-size: 16px;
    font-weight: 700;
}

.h-shop-widget-control-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 12px;
    color: #111;
    font-family: var(--h-font-cormorant);
    font-size: 16px;
    font-weight: 700;
}

.h-shop-widget-button-group {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.h-shop-widget-option {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 54px;
    min-height: 30px;
    padding: 5px 12px;
    color: #111;
    text-align: center;
    border: 1px solid rgba(17, 17, 17, 0.52);
    border-radius: 999px;
    background: rgba(245, 240, 230, 0.8);
    font-family: var(--h-font-cormorant);
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.h-shop-widget-option.is-active {
    color: #050505;
    border-color: #111;
    background: var(--h-accent);
    box-shadow: inset 0 0 0 1px rgba(17, 17, 17, 0.12);
}

.h-shop-widget-select {
    width: 100%;
    min-height: 30px;
    padding: 4px 28px 4px 10px;
    color: #111;
    background: #f8f2e5;
    border: 1px solid rgba(17, 17, 17, 0.5);
    border-radius: 999px;
    font-family: var(--h-font-cormorant);
    font-size: 14px;
    font-weight: 700;
}

.h-shop-price-range {
    margin-top: 2px;
    padding-top: 0;
    border-top: 0;
}

.h-shop-price-range-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    color: #111;
    font-family: var(--h-font-cormorant);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.1;
}

.h-shop-price-range-output {
    color: rgba(17, 17, 17, 0.72);
    font-size: 13px;
    white-space: nowrap;
}

.h-shop-price-range-controls {
    position: relative;
    height: 34px;
    margin-top: 6px;
}

.h-shop-price-range-controls::before {
    content: "";
    position: absolute;
    top: 17px;
    right: 5px;
    left: 5px;
    height: 2px;
    background: rgba(17, 17, 17, 0.52);
    border-radius: 999px;
}

.h-shop-price-range-input {
    position: absolute;
    top: 8px;
    left: 0;
    width: 100%;
    margin: 0;
    appearance: none;
    background: transparent;
    pointer-events: none;
}

.h-shop-price-range-input::-webkit-slider-runnable-track {
    height: 18px;
    background: transparent;
}

.h-shop-price-range-input::-webkit-slider-thumb {
    width: 18px;
    height: 18px;
    appearance: none;
    background: #f5f0e6;
    border: 1px solid #111;
    border-radius: 50%;
    cursor: pointer;
    pointer-events: auto;
}

.h-shop-price-range-input::-moz-range-track {
    height: 18px;
    background: transparent;
}

.h-shop-price-range-input::-moz-range-thumb {
    width: 18px;
    height: 18px;
    background: #f5f0e6;
    border: 1px solid #111;
    border-radius: 50%;
    cursor: pointer;
    pointer-events: auto;
}

.h-shop-widget-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 7px 13px;
    color: #111;
    text-decoration: none;
    border: 1px solid rgba(17, 17, 17, 0.58);
    border-radius: 999px;
    background: rgba(255, 208, 0, 0.18);
    font-family: var(--h-font-cormorant);
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    transition: background 0.18s ease, border-color 0.18s ease;
}

.h-shop-widget:hover .h-shop-widget-action {
    border-color: var(--h-accent);
    background: rgba(255, 208, 0, 0.34);
}

/* -----------------------------------------
   SECTION CAROUSELS - workshop style (2 rows)
----------------------------------------- */
.h-shop-section-carousel {
    position: relative;
    width: 100%;
    max-width: var(--h-shop-stage-outer-width);
    left: 0;
    transform: none;
    margin: 12px auto 0;
    overflow: visible;
    padding: 0 32px 10px;
    box-sizing: border-box;
}

.h-shop-section-carousel .h-ss-viewport {
    overflow: hidden;
    padding: 22px 0 10px;
    margin: 0;
    cursor: grab;
    scrollbar-width: none;
    -ms-overflow-style: none;
    overscroll-behavior: auto;
    touch-action: pan-y;
}

.h-shop-section-carousel .h-ss-viewport::-webkit-scrollbar {
    display: none;
}

.h-shop-section-carousel .h-ss-viewport.is-dragging {
    cursor: grabbing;
}

.h-shop-section-carousel .h-ss-viewport.is-dragging * {
    user-select: none;
    pointer-events: none;
}

.h-shop-section-carousel .h-ss-pages-track {
    display: flex;
    align-items: stretch;
    overflow: visible;
    will-change: transform;
}

.h-shop-section-carousel .h-ss-page {
    flex: 0 0 100%;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    justify-content: stretch;
    gap: 16px;
    padding: 8px 0 12px;
    align-items: stretch;
    overflow: visible;
}

.h-shop-section-carousel.is-end-grid .h-ss-page {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    padding: 14px 28px 20px;
}

.h-shop-section-carousel.is-end-grid .h-ss-cell {
    padding: 0 0 32px;
}

.h-shop-section-carousel.is-end-grid .h-shop-ws-card {
    border-radius: 12px;
}

.h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-info {
    min-height: 116px;
    padding: 14px 12px 12px;
    gap: 8px;
}

.h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-title {
    font-size: 16px;
    min-height: 38px;
}

.h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-price {
    font-size: 20px;
    min-height: 36px;
    padding: 5px 12px;
}

.h-shop-section-carousel .h-ss-cell {
    min-width: 0;
    padding: 0 0 32px;
    display: block;
    position: relative;
    isolation: isolate;
    box-shadow: none !important;
    --h-noise-shadow-opacity: 0.48;
    --h-noise-shadow-radius: 12px;
}

.h-shop-section-carousel .h-ss-cell::after {
    content: "";
    position: absolute;
    top: auto;
    right: 0;
    bottom: 4px;
    left: 0;
    height: 48px;
    z-index: 0;
    pointer-events: none;
    border-radius: var(--h-noise-shadow-radius);
    background-image: var(--h-noise-shadow-image), var(--h-noise-shadow-image);
    background-repeat: no-repeat;
    background-size: 100% 100%, 88% 72%;
    background-position: center top, center 10px;
    image-rendering: pixelated;
    opacity: var(--h-noise-shadow-opacity);
    mix-blend-mode: multiply;
    display: none;
}

.h-shop-section-carousel .h-ss-cell-empty {
    visibility: hidden;
    pointer-events: none;
}

.h-shop-section-carousel .h-ss-cell-empty::after {
    display: none !important;
}

.h-shop-ws-card {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-height: 100%;
    border-radius: 10px;
    border: 1px solid rgba(17, 17, 17, 0.78);
    overflow: hidden;
    text-decoration: none;
    background: #0b0b0b;
    box-shadow: 0 18px 34px rgba(0, 0, 0, 0.26);
    transition: transform 0.25s ease, border-color 0.25s ease;
}

.h-shop-ws-card:hover {
    transform: translateY(-6px);
    border-color: rgba(0, 0, 0, 0.92);
    box-shadow: 0 22px 42px rgba(0, 0, 0, 0.32);
}

.h-shop-ws-card .h-ss-image {
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #111;
    position: relative;
}

.h-shop-ws-card .h-ss-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.28s ease, opacity 0.36s ease;
}

.h-shop-ws-card .h-card-image-secondary {
    position: absolute;
    inset: 0;
    z-index: 2;
    opacity: 0;
    pointer-events: none;
}

.h-shop-ws-card:hover .h-card-image-primary {
    opacity: 0;
}

.h-shop-ws-card:hover .h-card-image-secondary {
    opacity: 1;
}

.h-shop-ws-card:hover .h-ss-image img {
    transform: scale(1.05);
}

.h-shop-ws-card .h-ss-info {
    background: #000;
    padding: 12px 10px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    position: relative;
    overflow: hidden;
}

.h-shop-ws-card .h-ss-info::after {
    content: "ORDER NOW";
    position: absolute;
    left: -1px;
    right: -1px;
    top: auto;
    bottom: 0;
    height: var(--h-shop-order-bar-height, 48px);
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--h-accent);
    color: #111111;
    font-family: var(--h-font-instrument);
    font-size: 19px;
    font-weight: 800;
    letter-spacing: 0.05em;
    line-height: 1;
    text-transform: uppercase;
    pointer-events: none;
    clip-path: inset(0 100% 0 0);
    transform: translateZ(0);
    transition: clip-path 0.18s cubic-bezier(0.25, 0.9, 0.25, 1);
    will-change: clip-path;
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
}

.h-shop-ws-card:hover .h-ss-info::after {
    clip-path: inset(0 0 0 0);
}

.h-shop-ws-card .h-ss-title {
    margin: 0;
    color: #fff;
    font-family: var(--h-font-instrument);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.2;
    text-transform: uppercase;
    min-height: 28px;
    text-align: center;
    max-width: 95%;
    white-space: normal;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.h-shop-ws-card .h-ss-bottom-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    transform: none;
}

.h-shop-ws-card .h-ss-reviews .h-stars,
.h-shop-ws-card .h-ss-reviews .star-rating {
    color: var(--h-accent);
    font-size: 10px;
    letter-spacing: 1.4px;
}

.h-shop-ws-card .h-ss-price {
    position: relative;
    overflow: hidden;
    color: var(--h-accent);
    font-family: var(--h-font-instrument);
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    display: inline-flex;
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 3px;
    padding: 3px 8px;
    border: 0.5px solid rgba(255, 208, 0, 0.9);
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.2);
    min-height: 30px;
    margin: 0 auto;
    transform: translateZ(0);
    transition: color 0.24s ease, border-color 0.24s ease, background 0.24s ease;
}

.h-shop-ws-card .h-ss-price::before {
    display: none;
}

.h-shop-ws-card .h-ss-price::after {
    display: none;
}

.h-shop-ws-card .h-ss-price > *,
.h-shop-ws-card .h-ss-price .woocommerce-Price-amount {
    position: relative;
    z-index: 1;
}

.h-shop-ws-card:hover .h-ss-price {
    color: var(--h-accent);
    border-color: rgba(255, 208, 0, 0.9);
    background: rgba(0, 0, 0, 0.2);
}

.h-shop-ws-card:hover .h-ss-price * {
    color: inherit !important;
}

.h-shop-ws-card .h-ss-price ins,
.h-shop-ws-card .h-ss-price > .woocommerce-Price-amount {
    background: transparent;
    text-decoration: none;
    color: inherit;
    font-family: var(--h-font-instrument);
    font-size: inherit;
    line-height: 1;
}

.h-shop-ws-card .h-ss-price del {
    color: #ffffff;
    opacity: 1;
    font-size: 0.58em;
    line-height: 1;
    text-decoration: line-through;
    margin-top: 0;
    text-align: center;
}

.h-shop-ws-card .h-ss-price del .woocommerce-Price-amount {
    font-size: 1em;
}

.h-shop-ws-card .h-ss-price ins {
    display: inline;
    padding: 0;
    border: 0;
    border-radius: 0;
    color: var(--h-accent);
    line-height: 1;
}

/* Sale tape (shop cards) */
.h-bs-card.is-sale::before,
.h-shop-section-carousel .h-ss-cell.is-sale .h-ss-card::before {
    content: "SALE";
    position: absolute;
    top: 10px;
    left: -66px;
    right: auto;
    width: 200px;
    height: 24px;
    border-radius: 4px;
    background: var(--h-accent);
    color: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Instrument Sans", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1;
    text-transform: uppercase;
    transform: rotate(-24deg);
    z-index: 65;
    pointer-events: none;
}

.h-shop-section-carousel .h-carousel-controls {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    padding: 0 0 2px;
}

.h-shop-section-carousel .h-carousel-page-indicator {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 56px;
    color: #111;
    font-family: var(--h-font-cinzel);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.02em;
}

/* -----------------------------------------
   Footer alignment
----------------------------------------- */
.h-shop-page + .h-footer,
.h-shop-page ~ .h-footer {
    margin-top: 8px;
}

@media (min-width: 2101px) {
    .h-shop-section-carousel .h-ss-page {
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
        gap: 16px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

@media (min-width: 1701px) and (max-width: 2100px) {
    .h-shop-section-carousel .h-ss-page {
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
        gap: 16px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

@media (min-width: 1401px) and (max-width: 1700px) {
    .h-shop-section-carousel .h-ss-page {
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
        gap: 14px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

@media (min-width: 1041px) and (max-width: 1400px) {
    .h-shop-section-carousel .h-ss-page {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 12px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

@media (min-width: 768px) and (max-width: 1040px) {
    .h-shop-section-carousel .h-ss-page {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 12px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* -----------------------------------------
   Responsive
----------------------------------------- */
@media (max-width: 1300px) {
    .h-shop-paper-stack {
        --h-section-divider-left: 40px;
        --h-section-divider-right: 128px;
        --h-section-divider-y: -26px;
    }

    .h-shop-header-inner {
        padding: 24px var(--h-shop-section-left-pad) 24px;
    }

    .h-shop-page .h-shop-fighter-carousel {
        padding-left: var(--h-shop-section-left-pad);
        padding-right: var(--h-shop-section-left-pad);
    }

    .h-shop-page .h-bs-wrapper .h-carousel-controls {
        padding-left: 16px;
        padding-right: 16px;
    }

    .h-shop-section-carousel {
        max-width: calc(100vw - 16px);
    }

    .h-paper-title-wrap,
    .h-shop-material-filter,
    .h-paper-subnav {
        width: min(var(--h-shop-stage-width), calc(100vw - 80px));
        padding-left: 0;
        padding-right: 0;
    }

    .h-shop-tags-grid {
        width: min(1700px, calc(100vw - 12px));
    }
}

@media (max-width: 991px) {
    .h-shop-paper-stack {
        --h-section-divider-left: 12px;
        --h-section-divider-right: 94px;
        --h-section-divider-y: -22px;
    }

    .h-shop-page {
        padding-top: 70px;
    }

    .h-shop-header-row {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .h-shop-breadcrumb {
        grid-column: 1 / -1;
        text-align: left;
    }

    .h-shop-title-block {
        min-height: auto;
    }

    .h-shop-subtitle {
        font-size: clamp(22px, 4.2vw, 28px);
    }

    .h-shop-page .h-bs-slide {
        flex: 0 0 240px;
    }

    .h-paper-title-wrap,
    .h-shop-material-filter,
    .h-paper-subnav {
        width: calc(100vw - 40px);
        padding-left: 0;
        padding-right: 0;
    }

    .h-shop-section-carousel {
        max-width: 100%;
        padding-left: 20px;
        padding-right: 20px;
    }

    .h-shop-paper-stack .h-paper-section .h-shop-section-main::after {
        top: 22px;
        bottom: auto;
        left: calc((var(--h-shop-section-left-pad) * -1) + 18px);
        height: 84px;
        width: 104px;
    }

    .h-shop-paper-stack .h-paper-section .h-shop-section-main::before {
        inset: 22px auto auto calc((var(--h-shop-section-left-pad) * -1) + 18px);
        height: var(--h-shop-contour-corner);
        width: 104px;
    }

    .h-paper-title {
        font-size: 30px;
    }

    .h-title-dot {
        width: 10px;
        height: 10px;
    }
}

@media (max-width: 767px) {
    .h-shop-header-inner {
        padding: 18px 16px 20px;
    }

    .h-shop-page .h-shop-fighter-carousel {
        gap: 10px;
        padding: 10px 15px 8px;
    }

    .h-shop-page .h-bs-slide {
        flex: 0 0 160px;
    }

    .h-shop-page .h-bs-title {
        font-size: 12px;
        min-height: 26px;
    }

    .h-shop-page .h-bs-price {
        font-size: 14px;
    }

    .h-shop-page .h-bs-wrapper .h-carousel-controls,
    .h-shop-section-carousel .h-carousel-controls {
        justify-content: center;
        padding: 12px 8px 8px;
        gap: 18px;
    }

    .h-shop-tags-row {
        padding: 2px 8px 8px;
    }

    .h-shop-tags-grid {
        grid-template-columns: repeat(auto-fit, minmax(138px, 1fr));
        gap: 8px;
        width: min(1700px, calc(100vw - 10px));
    }

    .h-shop-tag-btn {
        min-height: 34px;
        padding: 8px 14px;
        font-size: 10px;
    }

    .h-paper-section::before {
        height: 0;
    }

    .h-torn-top,
    .h-torn-bottom {
        height: 42px;
    }

    .h-paper-content {
        padding: 18px 0 22px;
    }

    .h-shop-paper-stack .h-paper-section .h-shop-section-main::after {
        top: 16px;
        bottom: auto;
        left: -4px;
        height: 70px;
        width: 78px;
    }

    .h-shop-paper-stack .h-paper-section .h-shop-section-main::before {
        inset: 16px auto auto -4px;
        height: var(--h-shop-contour-corner);
        width: 78px;
    }

    .h-paper-title-wrap {
        gap: 10px;
        margin-bottom: 8px;
    }

    .h-paper-title-wrap,
    .h-shop-material-filter,
    .h-paper-subnav {
        width: calc(100vw - 24px);
        padding-left: 0;
        padding-right: 0;
    }

    .h-shop-material-filter {
        margin-bottom: 10px;
    }

    .h-paper-title {
        font-size: 24px;
    }

    .h-title-dot {
        width: 9px;
        height: 9px;
    }

    .h-subnav-link {
        min-height: 28px;
        padding: 5px 12px;
        font-size: 13px;
    }

    .h-shop-section-carousel {
        max-width: 100%;
        padding-left: 8px;
        padding-right: 8px;
    }

    .h-shop-section-carousel .h-ss-page {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-content: stretch;
        gap: 12px;
        padding: 10px 0 12px;
    }

    .h-shop-section-carousel .h-ss-viewport {
        padding: 22px 0 14px;
        margin: 0;
    }

    .h-shop-section-carousel.is-end-grid .h-ss-page {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        padding: 10px 15px 14px;
    }

    .h-shop-ws-card .h-ss-info {
        min-height: 82px;
        padding: 9px 8px 8px;
        gap: 5px;
    }

    .h-shop-ws-card .h-ss-title {
        font-size: 13px;
        min-height: 16px;
    }

    .h-shop-ws-card .h-ss-price {
        font-size: 17px;
    }

    .h-bs-card.is-sale::before,
    .h-shop-section-carousel .h-ss-cell.is-sale .h-ss-card::before {
        top: 8px;
        left: -54px;
        right: auto;
        width: 160px;
        height: 20px;
        font-size: 10px;
        border-radius: 3px;
    }

    .h-shop-ws-card {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }
}

@media (max-width: 1600px) {
    :root {
        --h-shop-widget-width: 232px;
        --h-shop-widget-gap: 22px;
        --h-shop-section-left-pad: 40px;
        --h-shop-section-right-pad: 16px;
    }

    .h-shop-widget-title {
        font-size: 16px;
    }
}

@media (max-width: 1180px) {
    .h-shop-paper-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }

    .h-shop-sections-column::after {
        display: none;
    }

    .h-shop-section-grid {
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
        padding-left: 20px;
        padding-right: 20px;
        gap: 0;
    }

    .h-shop-section-main .h-shop-section-carousel {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
        padding-left: 20px;
        padding-right: 20px;
    }

    .h-shop-widgets-column {
        position: relative;
        top: auto;
        padding: 16px 20px 30px;
    }

    .h-shop-side-widgets {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
        width: auto;
        margin: 0;
        padding-top: 0;
        padding-left: 0;
        border-top: 0;
        border-left: 0;
    }

    .h-shop-widget {
        min-height: 118px;
    }
}


/* ===========================================
   FINAL SHOP SYSTEM - CLEAN SOURCE OF TRUTH
   =========================================== */

:root {
    --h-paper-flat: #f5f0e6;
    --h-shop-widget-width: 330px;
    --h-shop-widget-separator: rgba(17, 17, 17, 0.42);
    --h-shop-main-column-nudge: 10px;
    --h-shop-shared-rip-height: 60px;
}

/* Paper is flat cream. Rips stay, texture/noise overlays do not. */
body.historicum-shop-page .h-paper-content,
body.historicum-shop-page .h-shop-section-main,
body.historicum-shop-page .h-shop-widget,
body.historicum-shop-page .h-torn-top::before,
body.historicum-shop-page .h-torn-top::after,
body.historicum-shop-page .h-torn-bottom::before,
body.historicum-shop-page .h-torn-bottom::after,
body.historicum-shop-page .h-shop-widget::before,
body.historicum-shop-page .h-shop-widget::after {
    background-color: var(--h-paper-flat) !important;
    background-image: none !important;
}

body.historicum-shop-page .h-paper-content::before,
body.historicum-shop-page .h-paper-content::after,
body.historicum-shop-page .h-shop-section-main::before,
body.historicum-shop-page .h-shop-section-main::after,
body.historicum-shop-page .h-shop-widget .h-paper-content::before,
body.historicum-shop-page .h-shop-widget .h-paper-content::after {
    content: none !important;
    display: none !important;
    background: none !important;
    background-image: none !important;
}

body.historicum-shop-page .h-shop-paper-stack {
    background: transparent !important;
}

body.historicum-shop-page .h-shop-paper-stack::before,
body.historicum-shop-page .h-shop-sections-column::after {
    content: none !important;
    display: none !important;
    background: none !important;
}

body.historicum-shop-page .h-paper-section {
    --h-rip-top-offset: 34%;
    --h-rip-bottom-offset: 62%;
}

/* Shop paper rips: preserve the detailed SVG-mask edge that was approved. */
body.historicum-shop-page .h-torn-top,
body.historicum-shop-page .h-torn-bottom {
    background: transparent !important;
    height: var(--h-shop-shared-rip-height) !important;
    overflow: hidden !important;
}

body.historicum-shop-page .h-torn-top::before,
body.historicum-shop-page .h-torn-bottom::before {
    opacity: 0 !important;
}

body.historicum-shop-page .h-torn-top::after,
body.historicum-shop-page .h-torn-bottom::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    opacity: 1 !important;
    background-color: var(--h-paper-flat) !important;
    background-image: none !important;
    -webkit-mask-image: url("https://historicum.pl/wp-content/uploads/2026/04/torn-edge.svg") !important;
    -webkit-mask-size: 112% 100% !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-image: url("https://historicum.pl/wp-content/uploads/2026/04/torn-edge.svg") !important;
    mask-size: 112% 100% !important;
    mask-repeat: no-repeat !important;
}

body.historicum-shop-page .h-torn-top::after {
    -webkit-mask-position: var(--h-rip-top-offset, 34%) bottom !important;
    mask-position: var(--h-rip-top-offset, 34%) bottom !important;
    transform: none !important;
}

body.historicum-shop-page .h-torn-bottom::after {
    -webkit-mask-position: var(--h-rip-bottom-offset, 62%) top !important;
    mask-position: var(--h-rip-bottom-offset, 62%) top !important;
    transform: scaleY(-1) !important;
    transform-origin: center !important;
}

body.historicum-shop-page .h-shop-paper-layout {
    align-items: flex-start !important;
    gap: 10px !important;
    pointer-events: none !important;
}

body.historicum-shop-page .h-shop-sections-column,
body.historicum-shop-page .h-shop-widgets-column,
body.historicum-shop-page .h-paper-section,
body.historicum-shop-page .h-paper-content,
body.historicum-shop-page .h-shop-section-carousel,
body.historicum-shop-page .h-shop-section-carousel *,
body.historicum-shop-page .h-shop-side-widgets,
body.historicum-shop-page .h-shop-side-widgets * {
    pointer-events: auto !important;
}

body.historicum-shop-page .h-shop-sections-column {
    transform: translateY(var(--h-shop-main-column-nudge)) !important;
}

/* Hero background: image reaches the rip, with one dark black/green overlay. */
body.historicum-shop-page .h-shop-header-hero {
    background-color: #050706 !important;
    background-image: none !important;
    overflow: visible !important;
    isolation: isolate !important;
}

body.historicum-shop-page .h-shop-header-hero::before {
    content: "" !important;
    position: absolute !important;
    top: -90px !important;
    right: 0 !important;
    bottom: -80px !important;
    left: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.84) 0%,
        rgba(2, 16, 11, 0.78) 42%,
        rgba(0, 0, 0, 0.88) 100%
    ) !important;
    opacity: 1 !important;
    mix-blend-mode: normal !important;
}

body.historicum-shop-page .h-shop-header-hero::after {
    content: none !important;
    display: none !important;
}

body.historicum-shop-page .h-shop-bg-overlay {
    top: -90px !important;
    bottom: -80px !important;
    opacity: 0.23 !important;
    background-position: center center !important;
    background-size: cover !important;
    mix-blend-mode: normal !important;
}

body.historicum-shop-page .h-shop-header-inner,
body.historicum-shop-page .h-shop-hero-carousel {
    position: relative !important;
    z-index: 3 !important;
}

/* Shared HeroCarousel engine scope for shop hero. */
body.historicum-shop-page .h-shop-hero-carousel {
    z-index: 80 !important;
    isolation: isolate !important;
    box-shadow: none !important;
    filter: none !important;
}

body.historicum-shop-page .h-shop-hero-carousel .h-carousel-controls {
    margin-top: 18px !important;
}

body.historicum-shop-page .h-shop-fighter-wrapper {
    overflow: hidden !important;
    box-shadow: none !important;
    filter: none !important;
}

body.historicum-shop-page .h-shop-fighter-carousel {
    overflow: visible !important;
    scroll-behavior: auto !important;
    scroll-snap-type: none !important;
    touch-action: pan-y !important;
    will-change: transform !important;
    backface-visibility: hidden !important;
}

body.historicum-shop-page .h-shop-hero-carousel .h-carousel-controls,
body.historicum-shop-page .h-shop-hero-carousel .h-carousel-arrow {
    position: relative !important;
    z-index: 200 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
}

body.historicum-shop-page .h-shop-hero-carousel,
body.historicum-shop-page .h-shop-hero-carousel * {
    -webkit-user-select: none !important;
    user-select: none !important;
}

/* Product cards: one card depth system, no divider stroke. */
body.historicum-shop-page .h-bs-slide,
body.historicum-shop-page .h-ss-cell {
    overflow: visible !important;
}

body.historicum-shop-page .h-shop-section-carousel .h-ss-viewport {
    overflow: hidden !important;
}

body.historicum-shop-page .h-shop-section-carousel .h-ss-pages-track,
body.historicum-shop-page .h-shop-section-carousel .h-ss-page {
    overflow: visible !important;
}

body.historicum-shop-page .h-bs-card,
body.historicum-shop-page .h-shop-ws-card {
    box-shadow: 0 9px 18px rgba(0, 0, 0, 0.38) !important;
}

body.historicum-shop-page .h-bs-card:hover,
body.historicum-shop-page .h-shop-ws-card:hover {
    border-color: rgba(0, 0, 0, 0.92) !important;
    box-shadow: 0 12px 22px rgba(0, 0, 0, 0.46) !important;
}

body.historicum-shop-page .h-bs-info,
body.historicum-shop-page .h-shop-ws-card .h-ss-info {
    background-color: #060606 !important;
    background-image: linear-gradient(180deg, rgba(92, 92, 92, 0.24) 0%, rgba(14, 14, 14, 0.68) 100%) !important;
}

body.historicum-shop-page .h-shop-ws-card .h-ss-info,
body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-info {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-height: 92px !important;
    padding: 10px 12px 12px !important;
    gap: 5px !important;
}

body.historicum-shop-page .h-shop-ws-card .h-ss-title,
body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-title {
    margin: 0 !important;
    line-height: 1.1 !important;
}

body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-info {
    min-height: 110px !important;
    padding: 16px 12px 14px !important;
    gap: 8px !important;
}

body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-title {
    min-height: 0 !important;
    max-width: 92% !important;
}

body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-bottom-row,
body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-price {
    flex: 0 0 auto !important;
}

body.historicum-shop-page .h-shop-ws-card .h-ss-bottom-row,
body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-bottom-row {
    margin: 0 !important;
    padding-top: 0 !important;
    border-top: none !important;
}

body.historicum-shop-page .h-shop-ws-card .h-ss-bottom-row::before,
body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-bottom-row::before {
    content: none !important;
    display: none !important;
}

body.historicum-shop-page .h-bs-info::after,
body.historicum-shop-page .h-shop-ws-card .h-ss-info::after {
    top: auto !important;
    bottom: 0 !important;
    z-index: 6 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body.historicum-shop-page .h-shop-hero-carousel .h-bs-slide {
    display: flex !important;
    align-items: stretch !important;
}

body.historicum-shop-page .h-shop-hero-carousel .h-bs-card {
    --h-shop-hero-order-bar-height: 64px;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
}

body.historicum-shop-page .h-shop-hero-carousel .h-bs-info {
    min-height: 104px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

body.historicum-shop-page .h-shop-hero-carousel .h-bs-info::after {
    height: var(--h-shop-hero-order-bar-height) !important;
}

body.historicum-shop-page .h-shop-ws-card .h-ss-info::after {
    height: var(--h-shop-order-bar-height, 48px) !important;
}

body.historicum-shop-page .h-shop-fighter-carousel .h-bs-title {
    font-size: 15px !important;
    line-height: 1.2 !important;
}

/* Main shop sections: tighter vertical flow and unclipped shadows. */
body.historicum-shop-page .h-paper-section {
    margin-bottom: 0 !important;
}

body.historicum-shop-page .h-paper-section + .h-paper-section {
    margin-top: 0 !important;
}

body.historicum-shop-page .h-shop-section-main {
    padding-bottom: 10px !important;
}

body.historicum-shop-page .h-shop-sections-column > .h-paper-section:not(:first-of-type) .h-shop-section-main {
    padding-top: 6px !important;
}

body.historicum-shop-page .h-paper-title-wrap {
    margin-bottom: 0 !important;
}

body.historicum-shop-page .h-shop-section-main .h-paper-title-wrap {
    width: calc(100% - 4px) !important;
    margin-left: 4px !important;
}

body.historicum-shop-page .h-paper-subnav,
body.historicum-shop-page .h-shop-material-filter {
    margin-top: 10px !important;
    margin-bottom: 4px !important;
}

body.historicum-shop-page .h-shop-section-main .h-shop-section-carousel {
    width: calc(100% + 56px) !important;
    margin-left: -28px !important;
    margin-right: -28px !important;
    margin-top: 4px !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
    padding-bottom: 0 !important;
    overflow: visible !important;
}

body.historicum-shop-page .h-shop-section-carousel .h-ss-viewport {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 12px 0 22px !important;
    overflow: hidden !important;
}

body.historicum-shop-page .h-shop-section-carousel .h-ss-page {
    box-sizing: border-box !important;
    padding: 8px 0 20px !important;
}

body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-ss-page {
    gap: 12px !important;
    padding: 10px 0 22px !important;
}

body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-ss-cell {
    padding: 0 0 18px !important;
}

body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card {
    border-radius: 8px !important;
}

body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-info {
    min-height: 74px !important;
    padding: 8px 8px 9px !important;
    gap: 4px !important;
}

body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-title {
    max-width: 96% !important;
    font-size: 11px !important;
    line-height: 1.12 !important;
}

body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-bottom-row {
    gap: 6px !important;
}

body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-reviews .h-stars,
body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-reviews .star-rating {
    font-size: 9px !important;
    letter-spacing: 1px !important;
}

body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-price {
    min-height: 28px !important;
    padding: 4px 8px !important;
    font-size: 14px !important;
    border-radius: 6px !important;
}

body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-info::after {
    height: var(--h-shop-order-bar-height, 48px) !important;
}

body.historicum-shop-page .h-shop-section-carousel .h-carousel-controls {
    padding: 0 !important;
    margin-top: -2px !important;
}

/* Connected widget stack: one paper block feel with thin separators. */
body.historicum-shop-page .h-shop-widgets-column {
    flex: 0 0 var(--h-shop-widget-width) !important;
    max-width: var(--h-shop-widget-width) !important;
    margin-top: 0 !important;
    transform: translateY(0) !important;
}

body.historicum-shop-page .h-shop-side-widgets {
    gap: 0 !important;
}

body.historicum-shop-page .h-shop-widget {
    margin: 0 !important;
    border-radius: 0 !important;
    border-left: none !important;
    border-right: none !important;
    border-top: 0 !important;
    border-bottom: 0.3px solid var(--h-shop-widget-separator) !important;
    box-shadow: none !important;
}

body.historicum-shop-page .h-shop-side-widgets .h-shop-widget::before,
body.historicum-shop-page .h-shop-side-widgets .h-shop-widget::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    height: var(--h-shop-shared-rip-height) !important;
    background-color: var(--h-paper-flat) !important;
    background-image: none !important;
    pointer-events: none !important;
    z-index: 0 !important;
    -webkit-mask-image: url("https://historicum.pl/wp-content/uploads/2026/04/torn-edge.svg") !important;
    -webkit-mask-size: 900% 100% !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-image: url("https://historicum.pl/wp-content/uploads/2026/04/torn-edge.svg") !important;
    mask-size: 900% 100% !important;
    mask-repeat: no-repeat !important;
}

body.historicum-shop-page .h-shop-side-widgets .h-shop-widget::before {
    top: -42px !important;
    -webkit-mask-position: 18% bottom !important;
    mask-position: 18% bottom !important;
}

body.historicum-shop-page .h-shop-side-widgets .h-shop-widget::after {
    bottom: -30px !important;
    transform: scaleY(-1) !important;
    transform-origin: center !important;
    -webkit-mask-position: 28% bottom !important;
    mask-position: 28% bottom !important;
}

body.historicum-shop-page .h-shop-widget:first-child::before {
    display: block !important;
}

body.historicum-shop-page .h-shop-widget:not(:first-child)::before,
body.historicum-shop-page .h-shop-widget:not(:last-child)::after {
    content: none !important;
    display: none !important;
}

body.historicum-shop-page .h-shop-widget:last-child {
    border-bottom: 0 !important;
}

body.historicum-shop-page .h-shop-widget:last-child::after {
    display: block !important;
}

body.historicum-shop-page .h-shop-widget h3,
body.historicum-shop-page .h-shop-widget-title {
    font-size: 19px !important;
    line-height: 1.05 !important;
}

body.historicum-shop-page .h-shop-widget,
body.historicum-shop-page .h-shop-widget p,
body.historicum-shop-page .h-shop-widget label,
body.historicum-shop-page .h-shop-widget span {
    font-size: 14px !important;
}

body.historicum-shop-page .h-shop-price-range-output {
    color: #111 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
    line-height: 1 !important;
}

body.historicum-shop-page .h-shop-preference-row,
body.historicum-shop-page .h-shop-widget-preferences .h-shop-widget-row {
    display: grid !important;
    grid-template-columns: 88px minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 10px !important;
}

body.historicum-shop-page .h-shop-widget-select,
body.historicum-shop-page .h-shop-widget-button,
body.historicum-shop-page .h-shop-widget-preferences button,
body.historicum-shop-page .h-shop-widget-preferences select {
    width: 100% !important;
    min-height: 34px !important;
    text-align: center !important;
    justify-content: center !important;
}

/* Price range: line-only control with thumbs centered on the line. */
body.historicum-shop-page .h-shop-widget-price-range [data-price-filter] {
    display: block !important;
}

body.historicum-shop-page .h-shop-widget-preferences [data-price-filter] {
    display: none !important;
}

body.historicum-shop-page .h-shop-price-range,
body.historicum-shop-page .h-shop-price-range-controls,
body.historicum-shop-page .h-shop-price-range-input,
body.historicum-shop-page .h-shop-price-range-input:focus {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

body.historicum-shop-page .h-shop-price-range-controls {
    position: relative !important;
    height: 30px !important;
    margin-top: 9px !important;
}

body.historicum-shop-page .h-shop-price-range-controls::before {
    content: none !important;
    display: none !important;
}

body.historicum-shop-page .h-shop-price-range-input {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    pointer-events: none !important;
}

body.historicum-shop-page .h-price-range-ui {
    position: relative !important;
    height: 30px !important;
    cursor: pointer !important;
    touch-action: none !important;
    user-select: none !important;
}

body.historicum-shop-page .h-price-range-line,
body.historicum-shop-page .h-price-range-fill {
    position: absolute !important;
    top: 50% !important;
    height: 1px !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
}

body.historicum-shop-page .h-price-range-line {
    left: 0 !important;
    right: 0 !important;
    background: #111 !important;
}

body.historicum-shop-page .h-price-range-fill {
    left: 0;
    width: 100%;
    background: #111 !important;
}

body.historicum-shop-page .h-price-range-thumb {
    position: absolute !important;
    top: 50% !important;
    width: 12px !important;
    height: 12px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #111 !important;
    transform: translate(-50%, -50%) !important;
    cursor: grab !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    box-shadow: none !important;
}

body.historicum-shop-page .h-price-range-thumb:active,
body.historicum-shop-page .h-price-range-thumb.is-active {
    cursor: grabbing !important;
    transform: translate(-50%, -50%) scale(1.08) !important;
}

body.historicum-shop-page .h-price-range-thumb:focus-visible {
    outline: 1px solid #111 !important;
    outline-offset: 4px !important;
}

body.historicum-shop-page .h-shop-price-range-input::-webkit-slider-runnable-track,
body.historicum-shop-page .h-shop-price-range-input::-moz-range-track {
    height: 30px !important;
    background: transparent !important;
    border: 0 !important;
}

body.historicum-shop-page .h-shop-price-range-input::-webkit-slider-thumb {
    width: 10px !important;
    height: 10px !important;
    margin-top: 10px !important;
    border-radius: 50% !important;
    border: 0 !important;
    background: #111 !important;
    cursor: pointer !important;
    pointer-events: auto;
    -webkit-appearance: none !important;
}

body.historicum-shop-page .h-shop-price-range-input::-moz-range-thumb {
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    border: 0 !important;
    background: #111 !important;
    cursor: pointer !important;
    pointer-events: auto;
}

@media screen and (max-width: 1200px) {
    body.historicum-shop-page .h-shop-widgets-column {
        flex: 1 1 auto !important;
        max-width: none !important;
        width: 100% !important;
    }
}


/* SHOP ROOT PAGE - NAVIGATION HERO */
body.historicum-shop-page {
    --h-shop-root-bg-position: 18% 78%;
    --h-shop-root-bg-size: cover;
    --h-shop-root-bg-opacity: 0.49;
}

body.historicum-shop-page .h-shop-page.h-level-1 {
    padding-top: 0;
}

body.historicum-shop-page .h-shop-nav-hero {
    position: relative;
    overflow: visible;
    isolation: isolate;
    z-index: 2;
    background: #000000;
    padding: 154px clamp(26px, 3vw, 58px) 110px;
}

body.historicum-shop-page .h-shop-nav-hero::before {
    content: "";
    position: absolute;
    inset: 0 0 -128px;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(
            180deg,
            rgba(0, 0, 0, 0.98) 0%,
            rgba(0, 0, 0, 0.74) 20%,
            rgba(0, 0, 0, 0.24) 45%,
            rgba(0, 0, 0, 0.62) 100%
        ),
        radial-gradient(
            120% 88% at 46% 58%,
            rgba(235, 188, 0, 0.16) 0%,
            rgba(64, 44, 0, 0.10) 54%,
            rgba(0, 0, 0, 0.96) 100%
        );
}

body.historicum-shop-page .h-shop-nav-hero::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: min(68vh, 680px);
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.7) 0%,
        rgba(0, 0, 0, 0.63) 24%,
        rgba(0, 0, 0, 0.24) 78%,
        rgba(0, 0, 0, 0) 100%
    );
}

body.historicum-shop-page .h-shop-nav-bg {
    position: absolute;
    top: 0;
    bottom: -128px;
    left: 50%;
    z-index: 0;
    width: 100%;
    transform: translateX(-50%);
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-position: var(--h-shop-root-bg-position);
    background-size: var(--h-shop-root-bg-size);
    opacity: var(--h-shop-root-bg-opacity);
    pointer-events: none;
}

body.historicum-shop-page .h-shop-nav-hero-inner {
    position: relative;
    z-index: 3;
    max-width: var(--h-shop-stage-width);
    margin: 0 auto;
}

body.historicum-shop-page .h-shop-nav-title-block {
    display: flex;
    width: 100%;
    max-width: min(1760px, calc(100vw - 70px));
    min-height: auto;
    margin: 0 auto 64px;
    align-items: flex-start;
    text-align: left;
}

body.historicum-shop-page .h-shop-nav-title-block .h-shop-title {
    margin-bottom: 10px;
    font-size: clamp(58px, 6vw, 88px);
    line-height: 1.04;
    letter-spacing: 0.08em;
}

body.historicum-shop-page .h-shop-nav-title-block .h-shop-subtitle {
    font-size: var(--h-size-h3, 25px);
    font-weight: 400;
    line-height: 1.2;
    color: rgba(255, 255, 255, 0.82);
}

body.historicum-shop-page .h-shop-nav-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(18px, 1.6vw, 30px);
    width: 100%;
    max-width: min(1760px, calc(100vw - 70px));
    margin: 0 auto;
}

body.historicum-shop-page .h-shop-nav-card {
    --h-shop-nav-corner-cut: 30px;
    position: relative;
    display: block;
    min-height: clamp(560px, 34vw, 690px);
    aspect-ratio: 3 / 5;
    border-radius: 6px;
    overflow: visible;
    text-decoration: none;
    color: var(--h-accent);
    border: 0;
    outline: 0;
    background: transparent;
    clip-path: polygon(0 0, calc(100% - var(--h-shop-nav-corner-cut)) 0, 100% var(--h-shop-nav-corner-cut), 100% 100%, 0 100%);
    box-shadow: none;
    filter:
        drop-shadow(0 34px 42px rgba(0, 0, 0, 0.5))
        drop-shadow(-10px 16px 24px rgba(0, 0, 0, 0.36));
    transition:
        transform 0.5s cubic-bezier(0.4, 0, 0.2, 1),
        filter 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

body.historicum-shop-page .h-shop-nav-card:hover {
    z-index: 10;
    transform: translateY(-8px);
    box-shadow: none;
    filter:
        drop-shadow(0 42px 52px rgba(0, 0, 0, 0.58))
        drop-shadow(-12px 22px 30px rgba(0, 0, 0, 0.44));
}

body.historicum-shop-page .h-shop-nav-card-inner {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    min-height: inherit;
    overflow: hidden;
    border-radius: 4px;
    background: #000;
    box-shadow: none;
    clip-path: polygon(0 0, calc(100% - var(--h-shop-nav-corner-cut)) 0, 100% var(--h-shop-nav-corner-cut), 100% 100%, 0 100%);
}

body.historicum-shop-page .h-shop-nav-card-inner::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.18) 0%,
        rgba(0, 0, 0, 0.28) 36%,
        rgba(0, 0, 0, 0.6) 58%,
        rgba(0, 0, 0, 0.88) 78%,
        #000000 100%
    );
    transition: background 0.4s ease;
}

body.historicum-shop-page .h-shop-nav-card:hover .h-shop-nav-card-inner::after {
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.12) 0%,
        rgba(0, 0, 0, 0.24) 36%,
        rgba(0, 0, 0, 0.54) 58%,
        rgba(0, 0, 0, 0.82) 78%,
        rgba(0, 0, 0, 0.98) 100%
    );
}

body.historicum-shop-page .h-shop-nav-card img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: cover;
    object-position: center 18%;
    filter: grayscale(100%);
    transform: scale(1.025);
    transition:
        filter 0.45s ease,
        transform 0.55s cubic-bezier(0.4, 0, 0.2, 1);
}

body.historicum-shop-page .h-shop-nav-card:hover img {
    filter: grayscale(100%);
    transform: scale(1.065);
}

body.historicum-shop-page .h-shop-nav-card-buhurt img,
body.historicum-shop-page .h-shop-nav-card-profight img,
body.historicum-shop-page .h-shop-nav-card-duelling img,
body.historicum-shop-page .h-shop-nav-card-training img {
    filter: grayscale(100%);
}

body.historicum-shop-page .h-shop-nav-card-buhurt img,
body.historicum-shop-page .h-shop-nav-card-profight img {
    object-position: center 8%;
}

body.historicum-shop-page .h-shop-nav-card-training img {
    object-position: 28% 18%;
}

body.historicum-shop-page .h-shop-nav-card-buhurt:hover img,
body.historicum-shop-page .h-shop-nav-card-profight:hover img,
body.historicum-shop-page .h-shop-nav-card-duelling:hover img,
body.historicum-shop-page .h-shop-nav-card-training:hover img {
    filter: grayscale(100%);
}

body.historicum-shop-page .h-shop-nav-copy {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    top: auto;
    z-index: 3;
    display: flex;
    min-height: 148px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    overflow: hidden;
    padding: 26px 30px 34px;
    background: transparent;
    text-align: left;
    transform: none;
}

body.historicum-shop-page .h-shop-nav-copy::before {
    content: "";
    position: absolute;
    inset: -1px;
    z-index: 0;
    background: var(--h-accent);
    opacity: 0;
    clip-path: inset(0 100% 0 0);
    transition: clip-path 0.22s cubic-bezier(0.25, 0.9, 0.25, 1), opacity 0.12s ease;
}

body.historicum-shop-page .h-shop-nav-card:hover .h-shop-nav-copy::before {
    opacity: 1;
    clip-path: inset(0 0 0 0);
}

body.historicum-shop-page .h-shop-nav-card-title,
body.historicum-shop-page .h-shop-nav-card-subtitle {
    position: relative;
    z-index: 1;
    display: block;
    color: var(--h-accent);
    transition: color 0.18s ease;
}

body.historicum-shop-page .h-shop-nav-card-title {
    margin: 0 0 10px;
    font-family: var(--h-font-cinzel);
    font-size: clamp(34px, 2.35vw, 50px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

body.historicum-shop-page .h-shop-nav-card-subtitle {
    margin: 0;
    font-family: var(--h-font-instrument, "Instrument Sans", Arial, sans-serif);
    font-size: clamp(12px, 0.72vw, 15px);
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0.035em;
}

body.historicum-shop-page .h-shop-nav-card:hover .h-shop-nav-card-title,
body.historicum-shop-page .h-shop-nav-card:hover .h-shop-nav-card-subtitle {
    color: #111;
}

body.historicum-shop-page .h-shop-recent-favorites-title {
    position: relative;
    z-index: 85;
    max-width: min(1760px, calc(100vw - 70px));
    margin: -18px auto 26px;
    text-align: left;
    font-family: var(--h-font-cormorant);
    font-size: clamp(22px, 1.9vw, 32px);
    font-weight: 600;
    line-height: 1.15;
    color: rgba(255, 255, 255, 0.86);
    letter-spacing: 0.035em;
    opacity: 0;
    pointer-events: none;
    transform: translateY(12px);
    transition: opacity 0.32s ease, transform 0.32s ease;
}

body.historicum-shop-page.h-shop-root-recent-visible .h-shop-recent-favorites-title {
    opacity: 1;
    transform: translateY(0);
}

body.historicum-shop-page .h-shop-nav-hero + .h-shop-paper-stack {
    padding-top: 54px !important;
    background: transparent !important;
}

body.historicum-shop-page .h-shop-nav-hero + .h-shop-paper-stack::before {
    background: transparent !important;
}

@media screen and (max-width: 1180px) {
    body.historicum-shop-page .h-shop-nav-hero {
        padding: 104px 24px 76px;
    }

    body.historicum-shop-page .h-shop-nav-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 820px;
    }

    body.historicum-shop-page .h-shop-nav-card {
        min-height: clamp(440px, 60vw, 600px);
    }
}

@media screen and (max-width: 576px) {
    body.historicum-shop-page .h-shop-nav-hero {
        padding: 94px 14px 58px;
    }

    body.historicum-shop-page .h-shop-nav-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        max-width: calc(100vw - 28px);
    }

    body.historicum-shop-page .h-shop-nav-card {
        min-height: 0;
        aspect-ratio: 3 / 4;
    }

    body.historicum-shop-page .h-shop-nav-copy {
        min-height: 108px;
        padding: 16px 14px 18px;
    }

    body.historicum-shop-page .h-shop-nav-title-block .h-shop-title {
        font-size: clamp(42px, 12vw, 56px);
        line-height: 1.05;
    }

    body.historicum-shop-page .h-shop-nav-title-block .h-shop-subtitle {
        font-size: clamp(18px, 5vw, 24px);
        line-height: 1.18;
    }

    body.historicum-shop-page .h-shop-nav-card-title {
        font-size: clamp(21px, 5.8vw, 27px);
        line-height: 1.04;
        letter-spacing: 0.03em;
        white-space: nowrap;
        overflow-wrap: normal;
        word-break: normal;
    }

    body.historicum-shop-page .h-shop-nav-card-subtitle {
        font-size: clamp(11px, 2.9vw, 13px);
        line-height: 1.2;
    }
}

/* Final shop structure pass: category logic, clean cards, mobile stability. */
body.historicum-shop-page .h-shop-page {
    background:
        linear-gradient(180deg, #060400 0%, #030201 46%, #010101 82%, #000000 100%) !important;
}

body.historicum-shop-page .h-shop-paper-stack {
    position: relative !important;
    isolation: isolate !important;
    background:
        linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) calc(100% - 280px), #000000 100%) !important;
}

body.historicum-shop-page .h-shop-paper-stack::after {
    content: "" !important;
    position: absolute !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 0 !important;
    display: block !important;
    height: 280px !important;
    pointer-events: none !important;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000000 82%, #000000 100%) !important;
}

body.historicum-shop-page .h-shop-paper-layout {
    position: relative !important;
    z-index: 1 !important;
}

body.historicum-shop-page .h-bs-image img.h-shop-card-watermark,
body.historicum-shop-page .h-shop-ws-card .h-ss-image img.h-shop-card-watermark {
    filter: none !important;
}

body.historicum-shop-page .h-bs-card:hover .h-card-image-primary.h-card-image-only {
    opacity: 1 !important;
}

body.historicum-shop-page .h-bs-card:hover .h-card-image-primary:not(.h-card-image-only) {
    opacity: 0 !important;
}

body.historicum-shop-page .h-bs-info,
body.historicum-shop-page .h-shop-ws-card .h-ss-info {
    background-color: #000000 !important;
    background-image: linear-gradient(180deg, #060606 0%, #000000 100%) !important;
}

body.historicum-shop-page .h-bs-info::after,
body.historicum-shop-page .h-shop-ws-card .h-ss-info::after {
    right: -1px !important;
    bottom: 0 !important;
    left: -1px !important;
    background: var(--h-accent) !important;
}

body.historicum-shop-page .h-shop-header-row {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    align-items: start !important;
}

body.historicum-shop-page .h-shop-breadcrumb {
    align-self: start !important;
    margin-top: 2px !important;
    text-align: left !important;
}

body.historicum-shop-page .h-shop-filter-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    align-items: center !important;
    margin-top: 10px !important;
    margin-bottom: 4px !important;
}

body.historicum-shop-page .h-shop-filter-row + .h-shop-filter-row {
    margin-top: 8px !important;
}

body.historicum-shop-page .h-shop-filter-row-material .h-subnav-link {
    border-color: rgba(123, 89, 18, 0.55) !important;
    background: transparent !important;
    box-shadow: inset 0 0 0 1px rgba(255, 228, 111, 0.08) !important;
}

body.historicum-shop-page .h-shop-filter-row-material .h-subnav-link:hover {
    border-color: var(--h-accent) !important;
    background: transparent !important;
}

body.historicum-shop-page .h-shop-filter-row-material .h-subnav-link.is-active {
    border-color: var(--h-accent) !important;
    background: var(--h-accent) !important;
}

body.historicum-shop-page .h-shop-filter-row-tags .h-subnav-link {
    border-color: rgba(40, 32, 19, 0.34) !important;
    background: transparent !important;
}

body.historicum-shop-page .h-shop-filter-row-tags .h-subnav-link:hover {
    border-color: rgba(120, 80, 20, 0.66) !important;
    background: transparent !important;
}

body.historicum-shop-page .h-shop-filter-row-tags .h-subnav-link.is-active {
    border-color: rgba(120, 80, 20, 0.66) !important;
    background: var(--h-accent) !important;
}

@media screen and (min-width: 577px) and (max-width: 1240px) {
    body.historicum-shop-page .h-shop-nav-hero {
        padding-right: 24px !important;
        padding-left: 24px !important;
    }

    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-title-block {
        align-items: center !important;
        text-align: center !important;
    }

    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-title-block .h-shop-title,
    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-title-block .h-shop-subtitle {
        width: 100% !important;
        text-align: center !important;
    }

    body.historicum-shop-page .h-shop-nav-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        max-width: min(900px, calc(100vw - 48px)) !important;
        gap: 20px !important;
    }

    body.historicum-shop-page .h-shop-nav-card {
        min-height: clamp(360px, 54vw, 560px) !important;
        aspect-ratio: 4 / 5 !important;
    }
}

@media screen and (max-width: 767px) {
    body.historicum-shop-page .h-shop-widgets-column,
    body.historicum-shop-page .h-shop-side-widgets {
        display: none !important;
    }

    body.historicum-shop-page .h-shop-paper-layout {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.historicum-shop-page .h-shop-header-inner {
        padding-right: 16px !important;
        padding-left: 16px !important;
    }

    body.historicum-shop-page .h-shop-hero-carousel .h-carousel-controls,
    body.historicum-shop-page .h-shop-section-carousel .h-carousel-controls {
        justify-content: center !important;
        padding: 10px 0 8px !important;
        margin-right: auto !important;
        margin-left: auto !important;
        text-align: center !important;
    }

    body.historicum-shop-page .h-shop-section-carousel {
        padding-right: 14px !important;
        padding-left: 14px !important;
    }
}

@media screen and (max-width: 1180px) {
    body.historicum-shop-page .h-shop-widgets-column,
    body.historicum-shop-page .h-shop-side-widgets {
        display: none !important;
    }
}

body.historicum-shop-page .h-shop-mobile-widgets {
    display: none;
}

@media screen and (max-width: 1180px) {
    body.historicum-shop-page .h-shop-paper-stack {
        padding-bottom: 0 !important;
        overflow: visible !important;
    }

    body.historicum-shop-page .h-shop-sections-column > .h-paper-section:last-of-type .h-torn-bottom {
        display: none !important;
    }

    body.historicum-shop-page .h-shop-mobile-widgets {
        display: block !important;
        position: relative;
        z-index: 2;
        width: 100%;
        margin: 0;
        padding: 0;
        color: #111111;
        overflow: visible !important;
        background-color: transparent;
        background-image: none;
    }

    body.historicum-shop-page .h-shop-mobile-widget-content {
        position: relative;
        z-index: 1;
        padding: 0 20px 30px !important;
        background-color: var(--h-paper-flat) !important;
        background-image: none !important;
    }

    body.historicum-shop-page .h-shop-mobile-widget-paper {
        position: relative;
        width: min(100%, 620px);
        max-width: 620px;
        margin: 0 auto;
        padding: 22px 0 0;
        color: #111111;
        background: transparent;
        box-shadow: none;
    }

    body.historicum-shop-page .h-shop-mobile-widget-paper::before,
    body.historicum-shop-page .h-shop-mobile-widget-paper::after {
        content: none;
        display: none;
    }

    body.historicum-shop-page .h-shop-mobile-widget-grid {
        position: relative;
        z-index: 1;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        width: 100%;
    }

    body.historicum-shop-page .h-shop-mobile-widget-link {
        display: flex;
        min-height: 42px;
        align-items: center;
        justify-content: center;
        padding: 10px 14px;
        border: 1px solid rgba(17, 17, 17, 0.78);
        color: #111111;
        font-family: var(--h-font-cinzel);
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 0.06em;
        line-height: 1.1;
        text-align: center;
        text-decoration: none;
        text-transform: uppercase;
    }

    body.historicum-shop-page .h-shop-mobile-widgets .h-torn-bottom {
        display: block !important;
        position: relative;
        z-index: 5;
        height: var(--h-shop-shared-rip-height) !important;
        margin-bottom: calc(var(--h-shop-shared-rip-height) * -1);
        background: transparent !important;
        background-image: none !important;
        overflow: hidden !important;
    }

    body.historicum-shop-page .h-shop-mobile-widgets .h-torn-bottom::before {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        inset: 0 !important;
        opacity: 1 !important;
        background-color: var(--h-paper-flat) !important;
        clip-path: polygon(0 68%, 6% 62%, 12% 70%, 18% 64%, 24% 72%, 30% 66%, 36% 74%, 42% 68%, 48% 76%, 54% 70%, 60% 78%, 66% 71%, 72% 77%, 78% 69%, 84% 75%, 90% 67%, 96% 73%, 100% 70%, 100% 100%, 0 100%) !important;
        transform: scaleY(-1) !important;
        transform-origin: center !important;
    }

    body.historicum-shop-page .h-shop-mobile-widgets .h-torn-bottom::after {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        inset: 0 !important;
        opacity: 1 !important;
        background-color: var(--h-paper-flat) !important;
        background-image: none !important;
        -webkit-mask-image: url("https://historicum.pl/wp-content/uploads/2026/04/torn-edge.svg") !important;
        -webkit-mask-size: 112% 100% !important;
        -webkit-mask-repeat: no-repeat !important;
        -webkit-mask-position: var(--h-rip-offset, 62%) top !important;
        mask-image: url("https://historicum.pl/wp-content/uploads/2026/04/torn-edge.svg") !important;
        mask-size: 112% 100% !important;
        mask-repeat: no-repeat !important;
        mask-position: var(--h-rip-offset, 62%) top !important;
        transform: scaleY(-1) !important;
        transform-origin: center !important;
    }
}

@media screen and (max-width: 767px) {
    body.historicum-shop-page .h-shop-mobile-widgets {
        width: 100%;
        margin-right: calc(50% - 50vw);
        margin-left: calc(50% - 50vw);
    }

    body.historicum-shop-page .h-shop-mobile-widget-content {
        padding: 0 16px 28px !important;
    }

    body.historicum-shop-page .h-shop-mobile-widget-paper {
        width: 100%;
        max-width: none;
    }

    body.historicum-shop-page .h-shop-mobile-widget-grid {
        grid-template-columns: 1fr;
    }

    body.historicum-shop-page .h-shop-mobile-widget-grid .h-shop-mobile-widget-link:first-of-type {
        margin-top: 12px;
    }
}

@media screen and (max-width: 576px) {
    body.historicum-shop-page .h-shop-nav-title-block {
        width: 100% !important;
        max-width: calc(100vw - 28px) !important;
        margin: 0 auto 30px !important;
        align-items: center !important;
        text-align: center !important;
    }

    body.historicum-shop-page .h-shop-nav-title-block .h-shop-title,
    body.historicum-shop-page .h-shop-nav-title-block .h-shop-subtitle {
        text-align: center !important;
    }

    body.historicum-shop-page .h-shop-nav-grid {
        width: 100% !important;
        max-width: calc(100vw - 28px) !important;
    }
}

/* Final main shop product grid contract.
   Match the Workshop Recommended sizing model: six desktop columns, two rows,
   no placeholder cells, no stretched short pages, and no yellow hover outline. */
body.historicum-shop-page .h-carousel-page-indicator {
    display: none !important;
}

body.historicum-shop-page .h-shop-section-carousel,
body.historicum-shop-page .h-shop-hero-carousel {
    overflow: visible !important;
}

body.historicum-shop-page .h-shop-section-carousel .h-ss-viewport {
    overflow: hidden !important;
    padding-top: 12px !important;
    padding-bottom: 22px !important;
}

body.historicum-shop-page .h-shop-section-carousel .h-ss-pages-track {
    overflow: visible !important;
    align-content: start !important;
    align-items: stretch !important;
    grid-auto-rows: auto !important;
}

body.historicum-shop-page .h-shop-section-carousel .h-ss-page,
body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-ss-page {
    overflow: hidden !important;
    align-content: start !important;
    align-items: stretch !important;
    grid-auto-rows: auto !important;
}

body.historicum-shop-page .h-shop-section-carousel .h-ss-page {
    gap: 16px !important;
    padding: 8px 8px 18px !important;
}

body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-ss-page {
    padding-right: 8px !important;
    padding-left: 8px !important;
}

body.historicum-shop-page .h-shop-section-carousel .h-ss-cell,
body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-ss-cell {
    display: flex !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    padding-bottom: 24px !important;
}

body.historicum-shop-page .h-shop-section-carousel .h-ss-cell-empty {
    display: none !important;
}

body.historicum-shop-page .h-carousel-arrow:disabled,
body.historicum-shop-page .h-carousel-arrow[aria-disabled="true"] {
    opacity: 0.35 !important;
    cursor: default !important;
    pointer-events: none !important;
}

body.historicum-shop-page .h-shop-ws-card,
body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card {
    --h-shop-order-bar-height: 48px;
    --h-shop-price-hover-shift: 8px;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-color: rgba(17, 17, 17, 0.86) !important;
    border-radius: 10px !important;
    box-shadow: 0 4px 7px rgba(0, 0, 0, 0.54), 0 1px 2px rgba(0, 0, 0, 0.38) !important;
}

body.historicum-shop-page .h-shop-ws-card.is-sale,
body.historicum-shop-page .h-shop-section-carousel .h-ss-cell.is-sale .h-shop-ws-card {
    --h-shop-order-bar-height: 58px;
    --h-shop-price-hover-shift: 10px;
}

body.historicum-shop-page .h-shop-ws-card:hover,
body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card:hover {
    border-color: rgba(0, 0, 0, 0.94) !important;
    outline-color: rgba(0, 0, 0, 0.94) !important;
    box-shadow: 0 5px 8px rgba(0, 0, 0, 0.60), 0 1px 3px rgba(0, 0, 0, 0.42) !important;
}

body.historicum-shop-page .h-bs-card:hover {
    border-color: rgba(0, 0, 0, 0.94) !important;
    outline-color: rgba(0, 0, 0, 0.94) !important;
}

body.historicum-shop-page .h-shop-ws-card .h-ss-image,
body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-image {
    flex: 0 0 auto !important;
}

body.historicum-shop-page .h-shop-ws-card .h-ss-info,
body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-info {
    flex: 1 1 auto !important;
    min-height: 92px !important;
    padding: 15px 12px 13px !important;
    gap: 5px !important;
    justify-content: flex-end !important;
    overflow: hidden !important;
}

body.historicum-shop-page .h-shop-ws-card.is-sale .h-ss-info,
body.historicum-shop-page .h-shop-section-carousel .h-ss-cell.is-sale .h-shop-ws-card .h-ss-info {
    min-height: 102px !important;
}

body.historicum-shop-page .h-shop-ws-card .h-ss-title,
body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-title {
    max-width: 95% !important;
    min-height: 30px !important;
    margin: 0 !important;
    color: #ffffff !important;
    font-family: var(--h-font-instrument) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.14 !important;
    transform: translateY(4px) !important;
}

body.historicum-shop-page .h-shop-section-carousel .h-ss-cell.is-sale .h-ss-title {
    font-size: 16px !important;
}

body.historicum-shop-page .h-shop-ws-card .h-ss-bottom-row,
body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-bottom-row {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border-top: 0 !important;
    justify-content: center !important;
    transition: transform 0.18s ease !important;
    will-change: transform !important;
}

body.historicum-shop-page .h-shop-ws-card .h-ss-bottom-row::before {
    content: none !important;
}

body.historicum-shop-page .h-shop-ws-card .h-ss-price,
body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-price {
    display: inline-flex !important;
    flex-direction: column-reverse !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 31px !important;
    margin: 0 auto !important;
    padding: 4px 9px !important;
    gap: 3px !important;
    color: var(--h-accent) !important;
    font-family: var(--h-font-instrument) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-align: center !important;
    white-space: nowrap !important;
    transition: transform 0.18s ease, color 0.24s ease, border-color 0.24s ease, background 0.24s ease !important;
    will-change: transform !important;
}

body.historicum-shop-page .h-shop-ws-card .h-ss-price ins,
body.historicum-shop-page .h-shop-ws-card .h-ss-price > .woocommerce-Price-amount {
    display: inline-block !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: inherit !important;
    font-size: 1.15em !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

body.historicum-shop-page .h-shop-ws-card .h-ss-price ins *,
body.historicum-shop-page .h-shop-ws-card .h-ss-price ins bdi,
body.historicum-shop-page .h-shop-ws-card .h-ss-price > .woocommerce-Price-amount * {
    display: inline !important;
    color: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    white-space: nowrap !important;
}

body.historicum-shop-page .h-shop-ws-card .h-ss-price del {
    display: block !important;
    color: #ffffff !important;
    font-size: 0.83em !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-decoration: line-through !important;
    text-decoration-color: #ffffff !important;
    white-space: nowrap !important;
}

body.historicum-shop-page .h-shop-ws-card .h-ss-price del *,
body.historicum-shop-page .h-shop-ws-card .h-ss-price del bdi {
    display: inline !important;
    color: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    white-space: nowrap !important;
}

body.historicum-shop-page .h-shop-ws-card .h-ss-info::after,
body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-info::after {
    content: "ORDER NOW" !important;
    position: absolute !important;
    top: auto !important;
    right: -1px !important;
    bottom: 0 !important;
    left: -1px !important;
    z-index: 6 !important;
    display: flex !important;
    height: var(--h-shop-order-bar-height) !important;
    align-items: center !important;
    justify-content: center !important;
    padding-bottom: 0 !important;
    background: var(--h-accent) !important;
    color: #111111 !important;
    font-family: var(--h-font-instrument) !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    letter-spacing: 0.05em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    pointer-events: none !important;
    clip-path: inset(0 100% 0 0) !important;
    transition: clip-path 0.18s cubic-bezier(0.25, 0.9, 0.25, 1) !important;
}

body.historicum-shop-page .h-shop-ws-card:hover .h-ss-info::after,
body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card:hover .h-ss-info::after {
    clip-path: inset(0 0 0 0) !important;
}

body.historicum-shop-page .h-shop-ws-card:hover .h-ss-bottom-row,
body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card:hover .h-ss-bottom-row {
    transform: translateY(var(--h-shop-price-hover-shift)) !important;
}

body.historicum-shop-page .h-shop-ws-card:hover .h-ss-title,
body.historicum-shop-page .h-shop-ws-card:hover .h-ss-bottom-row,
body.historicum-shop-page .h-shop-ws-card:hover .h-ss-price {
    opacity: 1 !important;
}

body.historicum-shop-page .h-shop-hero-carousel .h-bs-carousel {
    overflow-x: auto !important;
    overflow-y: visible !important;
    padding-right: 18px !important;
    padding-left: 18px !important;
    margin-right: -18px !important;
    margin-left: -18px !important;
}

/*
 * Final shop category hero contract.
 * Contact-page reference: section gradient below, one low-opacity image layer,
 * then content. /shop uses .h-shop-nav-hero; category pages use .h-shop-header-hero.
 */
body.historicum-shop-page {
    background-color: #000000 !important;
    background-image: none !important;
}

body.historicum-shop-page .h-shop-page,
body.historicum-shop-page .h-shop-page.h-level-1 {
    background-color: #000000 !important;
    background-image: linear-gradient(
        135deg,
        #140d00 0%,
        #080500 24%,
        #020201 56%,
        #000000 100%
    ) !important;
}

body.historicum-shop-page .h-shop-header-hero {
    position: relative !important;
    overflow: visible !important;
    isolation: isolate !important;
    background-color: transparent !important;
    background-image: none !important;
}

body.historicum-shop-page .h-shop-nav-hero {
    position: relative !important;
    overflow: visible !important;
    isolation: isolate !important;
    background-color: transparent !important;
    background-image: none !important;
}

body.historicum-shop-page .h-shop-header-hero::before {
    content: none !important;
    display: none !important;
    background: none !important;
}

body.historicum-shop-page .h-shop-nav-hero::before {
    content: none !important;
    display: none !important;
    background: none !important;
}

body.historicum-shop-page .h-shop-header-hero::after {
    content: none !important;
    display: none !important;
}

body.historicum-shop-page .h-shop-nav-hero::after {
    content: none !important;
    display: none !important;
    background: none !important;
}

body.historicum-shop-page .h-shop-bg-overlay {
    top: -80px !important;
    right: auto !important;
    bottom: -128px !important;
    left: 50% !important;
    width: 100% !important;
    height: auto !important;
    transform: translateX(-50%) !important;
    background-position: center center !important;
    background-size: cover !important;
    opacity: 0.1 !important;
    mix-blend-mode: normal !important;
    z-index: 0 !important;
}

body.historicum-shop-page .h-shop-nav-bg {
    top: 0 !important;
    bottom: -128px !important;
    left: 50% !important;
    width: 100% !important;
    transform: translateX(-50%) !important;
    background-position: var(--h-shop-root-bg-position) !important;
    background-size: var(--h-shop-root-bg-size) !important;
    opacity: 0.1 !important;
    mix-blend-mode: normal !important;
    z-index: 0 !important;
}

body.historicum-shop-page .h-shop-header-inner,
body.historicum-shop-page .h-shop-hero-carousel,
body.historicum-shop-page .h-shop-nav-hero-inner {
    position: relative !important;
    z-index: 1 !important;
}

body.historicum-shop-page .h-shop-paper-stack {
    background-color: transparent !important;
    background-image: none !important;
}

body.historicum-shop-page .h-shop-paper-stack::before {
    content: none !important;
    display: none !important;
    background: none !important;
}

body.historicum-shop-page .h-shop-paper-stack::after {
    content: none !important;
    display: none !important;
    background: none !important;
}

/* Final mobile/tablet shop contract:
   Root /shop keeps separated proportional category cards and centered copy;
   category hero breadcrumbs share the exact title inset, and hero-card prices
   anchor to the card bottom without changing main section carousel geometry. */
body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    justify-content: center !important;
}

body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    aspect-ratio: 3 / 5 !important;
}

@media screen and (min-width: 1241px) and (max-width: 1560px) {
    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-hero {
        padding-right: clamp(24px, 3vw, 44px) !important;
        padding-left: clamp(24px, 3vw, 44px) !important;
    }

    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-grid {
        max-width: calc(100vw - 72px) !important;
        gap: clamp(18px, 1.5vw, 24px) !important;
    }

    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-copy {
        padding: 20px 18px 26px !important;
    }

    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-card-title {
        font-size: clamp(30px, 2.25vw, 40px) !important;
    }
}

@media screen and (min-width: 768px) and (max-width: 1240px) {
    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-title-block {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        max-width: min(920px, calc(100vw - 72px)) !important;
        margin-right: auto !important;
        margin-left: auto !important;
        text-align: center !important;
    }

    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-title-block .h-shop-title,
    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-title-block .h-shop-subtitle {
        width: 100% !important;
        text-align: center !important;
    }

    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: 100% !important;
        max-width: min(940px, calc(100vw - 72px)) !important;
        gap: 24px !important;
        box-sizing: border-box !important;
    }

    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-copy {
        align-items: center !important;
        text-align: center !important;
    }

    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-card-title,
    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-card-subtitle {
        width: 100% !important;
        text-align: center !important;
    }
}

@media screen and (max-width: 1040px) {
    body.historicum-shop-page {
        --h-shop-mobile-card-shadow-room: 14px;
    }

    body.historicum-shop-page .h-shop-section-carousel .h-shop-ws-card,
    body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card,
    body.historicum-shop-page .h-shop-section-carousel .h-shop-ws-card.is-sale,
    body.historicum-shop-page .h-shop-section-carousel .h-ss-cell.is-sale .h-shop-ws-card {
        --h-shop-order-bar-height: 58px !important;
        --h-shop-price-hover-shift: 10px !important;
    }

    body.historicum-shop-page .h-shop-section-carousel .h-shop-ws-card .h-ss-info,
    body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-info,
    body.historicum-shop-page .h-shop-section-carousel .h-shop-ws-card.is-sale .h-ss-info,
    body.historicum-shop-page .h-shop-section-carousel .h-ss-cell.is-sale .h-shop-ws-card .h-ss-info {
        justify-content: space-between !important;
        min-height: 102px !important;
        padding: 12px 10px !important;
        gap: 10px !important;
    }

    body.historicum-shop-page .h-shop-section-carousel .h-shop-ws-card .h-ss-title,
    body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-title,
    body.historicum-shop-page .h-shop-section-carousel .h-ss-cell.is-sale .h-ss-title {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 18px !important;
        overflow: hidden !important;
        color: #ffffff !important;
        font-size: 13px !important;
        line-height: 1.15 !important;
        text-align: center !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        transform: none !important;
        -webkit-line-clamp: unset !important;
        -webkit-box-orient: initial !important;
    }

    body.historicum-shop-page .h-shop-section-carousel .h-shop-ws-card .h-ss-bottom-row,
    body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-bottom-row {
        margin-top: auto !important;
    }

    body.historicum-shop-page .h-shop-section-carousel .h-ss-viewport {
        transition: height 220ms ease !important;
    }

    body.historicum-shop-page .h-shop-section-carousel .h-ss-pages-track {
        align-items: flex-start !important;
        overflow: visible !important;
    }

    body.historicum-shop-page .h-shop-section-carousel .h-ss-page,
    body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-ss-page {
        box-sizing: border-box !important;
        padding-right: var(--h-shop-mobile-card-shadow-room) !important;
        padding-left: var(--h-shop-mobile-card-shadow-room) !important;
        overflow: visible !important;
        clip-path: inset(-28px 0 -28px 0) !important;
    }

    body.historicum-shop-page .h-shop-section-carousel .h-ss-cell,
    body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-ss-cell {
        padding-right: 2px !important;
        padding-left: 2px !important;
    }

    body.historicum-shop-page .h-shop-section-carousel.h-carousel-one-row-page .h-ss-viewport {
        padding-bottom: 8px !important;
    }

    body.historicum-shop-page .h-shop-section-carousel.h-carousel-one-row-page .h-ss-page,
    body.historicum-shop-page .h-shop-section-carousel.is-end-grid.h-carousel-one-row-page .h-ss-page {
        padding-bottom: 8px !important;
    }
}

@media screen and (max-width: 767px) {
    body.historicum-shop-page {
        --h-shop-mobile-header-inset: 24px;
        --h-shop-mobile-card-shadow-room: 8px;
        --h-shop-mobile-hero-price-bar: 50px;
        --h-shop-mobile-hero-sale-bar: 64px;
    }

    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-hero {
        padding: 70px 14px 38px !important;
    }

    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-title-block {
        max-width: calc(100vw - 44px) !important;
        margin: 0 auto 16px !important;
        align-items: center !important;
        text-align: center !important;
    }

    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-title-block .h-shop-title {
        width: 100% !important;
        font-size: clamp(42px, 12vw, 58px) !important;
        line-height: 1.04 !important;
        text-align: center !important;
    }

    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-title-block .h-shop-subtitle {
        width: 100% !important;
        font-family: var(--h-font-cormorant) !important;
        font-size: clamp(19px, 5vw, 25px) !important;
        font-weight: 500 !important;
        line-height: 1.1 !important;
        text-align: center !important;
    }

    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: min(100%, calc(100vw - 34px)) !important;
        max-width: calc(100vw - 34px) !important;
        gap: clamp(14px, 4vw, 18px) !important;
        justify-content: stretch !important;
        align-items: stretch !important;
        box-sizing: border-box !important;
    }

    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-card {
        aspect-ratio: 1 / 1 !important;
        min-height: 0 !important;
        min-width: 0 !important;
    }

    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-copy {
        min-height: 90px !important;
        align-items: center !important;
        padding: 10px 8px 12px !important;
        text-align: center !important;
    }

    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-card-title,
    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-card-subtitle {
        width: 100% !important;
        max-width: 100% !important;
        text-align: center !important;
    }

    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-card-title {
        font-size: clamp(21px, 5.8vw, 27px) !important;
        line-height: 1.04 !important;
        letter-spacing: 0.03em !important;
        white-space: nowrap !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        hyphens: none !important;
    }

    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-card-subtitle {
        font-size: clamp(11px, 2.8vw, 13px) !important;
        line-height: 1.18 !important;
    }

    /* Mobile shop product-card contract:
       two readable columns, square image area, and one fixed info area so every
       product keeps the same form whether the item is discounted or regular. */
    body.historicum-shop-page .h-paper-title {
        max-width: 100% !important;
        font-size: clamp(20px, 5.8vw, 24px) !important;
        line-height: 1.06 !important;
    }

    body.historicum-shop-page .h-shop-section-main {
        padding-right: 10px !important;
        padding-left: 10px !important;
    }

    body.historicum-shop-page .h-shop-section-main .h-shop-section-carousel {
        width: 100% !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        padding-right: 8px !important;
        padding-left: 8px !important;
    }

    body.historicum-shop-page .h-shop-section-carousel .h-ss-page,
    body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-ss-page {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
        padding-right: var(--h-shop-mobile-card-shadow-room) !important;
        padding-left: var(--h-shop-mobile-card-shadow-room) !important;
    }

    body.historicum-shop-page .h-shop-section-carousel .h-shop-ws-card .h-ss-info,
    body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-info,
    body.historicum-shop-page .h-shop-section-carousel .h-shop-ws-card.is-sale .h-ss-info,
    body.historicum-shop-page .h-shop-section-carousel .h-ss-cell.is-sale .h-shop-ws-card .h-ss-info {
        min-height: 112px !important;
        padding: 13px 10px 12px !important;
    }

    body.historicum-shop-page .h-shop-section-carousel .h-shop-ws-card .h-ss-title,
    body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-title,
    body.historicum-shop-page .h-shop-section-carousel .h-ss-cell.is-sale .h-ss-title {
        font-size: 14px !important;
        line-height: 1.16 !important;
    }

    body.historicum-shop-page .h-shop-section-carousel .h-shop-ws-card .h-ss-price,
    body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-price {
        font-size: 17px !important;
    }

    body.historicum-shop-page .h-shop-header-inner {
        padding: 18px 0 20px !important;
    }

    body.historicum-shop-page .h-shop-header-row {
        width: 100% !important;
        max-width: none !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px !important;
        box-sizing: border-box !important;
        padding-right: var(--h-shop-mobile-header-inset) !important;
        padding-left: var(--h-shop-mobile-header-inset) !important;
    }

    body.historicum-shop-page .h-shop-title-block,
    body.historicum-shop-page .h-shop-breadcrumb {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        grid-column: 1 / -1 !important;
        justify-self: start !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
        text-align: left !important;
    }

    body.historicum-shop-page .h-shop-breadcrumb {
        display: block !important;
        align-self: start !important;
        margin-top: 4px !important;
        font-size: 16px !important;
        line-height: 1.2 !important;
    }

    body.historicum-shop-page .h-shop-hero-carousel .h-carousel-page-indicator {
        display: none !important;
    }

    body.historicum-shop-page .h-shop-hero-carousel .h-bs-slide {
        flex: 0 0 160px !important;
        min-height: 0 !important;
    }

    body.historicum-shop-page .h-shop-hero-carousel .h-bs-card {
        --h-shop-hero-order-bar-height: var(--h-shop-mobile-hero-price-bar);
        height: 100% !important;
        min-height: 0 !important;
    }

    body.historicum-shop-page .h-shop-hero-carousel .h-bs-card.is-sale {
        --h-shop-hero-order-bar-height: var(--h-shop-mobile-hero-sale-bar);
    }

    body.historicum-shop-page .h-shop-hero-carousel .h-bs-info {
        min-height: 112px !important;
        padding: 10px 9px 11px !important;
        display: flex !important;
        flex: 1 1 auto !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        gap: 7px !important;
    }

    body.historicum-shop-page .h-shop-hero-carousel .h-bs-title {
        min-height: 32px !important;
        margin: 0 !important;
        font-size: 12px !important;
        line-height: 1.18 !important;
    }

    body.historicum-shop-page .h-shop-hero-carousel .h-bs-bottom-row {
        width: 100% !important;
        min-height: 42px !important;
        margin-top: auto !important;
        display: flex !important;
        align-items: flex-end !important;
        justify-content: center !important;
        gap: 0 !important;
    }

    body.historicum-shop-page .h-shop-hero-carousel .h-bs-reviews {
        display: none !important;
    }

    body.historicum-shop-page .h-shop-hero-carousel .h-bs-price {
        width: min(100%, 132px) !important;
        min-height: 34px !important;
        margin: 0 auto !important;
        padding: 4px 7px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 2px !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    body.historicum-shop-page .h-shop-hero-carousel .h-bs-price ins,
    body.historicum-shop-page .h-shop-hero-carousel .h-bs-price > .woocommerce-Price-amount {
        order: 1 !important;
        display: block !important;
        max-width: 100% !important;
        font-size: 1.1em !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    body.historicum-shop-page .h-shop-hero-carousel .h-bs-price del {
        order: 2 !important;
        display: block !important;
        max-width: 100% !important;
        font-size: 0.74em !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    body.historicum-shop-page .h-shop-hero-carousel .h-bs-price .h-lowest-price-note {
        order: 3 !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        color: rgba(255, 255, 255, 0.72) !important;
        font-size: 8px !important;
        font-weight: 500 !important;
        line-height: 1 !important;
        text-align: center !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.historicum-shop-page .h-shop-hero-carousel .h-bs-info::after {
        top: auto !important;
        bottom: 0 !important;
        height: var(--h-shop-hero-order-bar-height) !important;
    }

    body.tax-product_cat:not(.historicum-shop-page) .woocommerce-breadcrumb,
    body.post-type-archive-product:not(.historicum-shop-page) .woocommerce-breadcrumb {
        display: block !important;
        box-sizing: border-box !important;
        width: 100% !important;
        margin: 8px 0 0 !important;
        padding-right: 24px !important;
        padding-left: 24px !important;
        color: #ffffff !important;
        font-family: var(--h-font-cormorant);
        font-size: 16px !important;
        line-height: 1.2 !important;
        text-align: left !important;
    }

    body.tax-product_cat:not(.historicum-shop-page) .woocommerce-breadcrumb a,
    body.post-type-archive-product:not(.historicum-shop-page) .woocommerce-breadcrumb a {
        color: #ffffff !important;
        text-decoration: none !important;
    }
}

/* ============================================================
   ROUND 2 — items 0, 0.1, 1-align, 2, 3, 4, 5, 6
   ============================================================ */

/* Item 6: distant yellow glow from top-left, behind everything */
body.historicum-shop-page .h-shop-page,
body.historicum-shop-page .h-shop-page.h-level-1 {
    background-color: #000000 !important;
    background-image:
        radial-gradient(58% 64% at 0% 0%, rgba(235, 188, 0, 0.20) 0%, rgba(180, 140, 0, 0.08) 22%, rgba(235, 188, 0, 0.02) 46%, rgba(0, 0, 0, 0) 68%),
        linear-gradient(135deg, #140d00 0%, #080500 24%, #020201 56%, #000000 100%) !important;
}

/* Item 0: stronger black gradient from bottom on each /shop nav card */
body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-card-inner::after {
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 0) 32%,
        rgba(0, 0, 0, 0.35) 52%,
        rgba(0, 0, 0, 0.78) 72%,
        rgba(0, 0, 0, 0.96) 88%,
        #000000 100%
    ) !important;
    opacity: 1 !important;
}

/* Item 1: text left-aligned on tablet + desktop (mobile stays centered as-is) */
@media screen and (min-width: 768px) {
    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-copy {
        align-items: flex-start !important;
        text-align: left !important;
    }
    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-card-title,
    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-card-subtitle {
        text-align: left !important;
        width: 100% !important;
    }
}

/* Item 2: mobile shop section — title/tags row aligned with block grid start (10px) */
@media (max-width: 767px) {
    body.historicum-shop-page .h-shop-section-main .h-paper-title-wrap,
    body.historicum-shop-page .h-shop-section-main .h-shop-material-filter,
    body.historicum-shop-page .h-shop-section-main .h-paper-subnav,
    body.historicum-shop-page .h-shop-section-main .h-shop-filter-row {
        padding-left: 10px !important;
        padding-right: 10px !important;
        width: calc(100% - 20px) !important;
        margin-left: 0 !important;
    }
}

/* Item 4: mobile category-page hero — vertical scroll bubbles to page (pan-x only) */
@media (max-width: 991px) {
    body.historicum-shop-page .h-shop-hero-carousel .h-bs-wrapper {
        touch-action: pan-y !important;
    }

    body.historicum-shop-page .h-shop-fighter-carousel,
    body.historicum-shop-page .h-shop-hero-carousel .h-bs-carousel {
        touch-action: pan-x pan-y !important;
        overscroll-behavior-x: contain !important;
        overscroll-behavior-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }
}

/* Item 5: mobile /shop — more space before nav blocks, less padding to paper rip */
@media (max-width: 767px) {
    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-hero {
        padding-bottom: 16px !important;
    }
    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-title-block {
        margin-bottom: 52px !important;
    }
}

/* ============================================================
   NEXT PATCH — shop mobile/desktop alignment refinements
   ============================================================ */

/* MOBILE 1: 4 hero blocks — titles same height + 10% smaller text */
@media (max-width: 767px) {
    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-card-title {
        min-height: 22px !important;
        font-size: clamp(15px, 4.4vw, 19px) !important;
        line-height: 1.05 !important;
    }
    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-card-subtitle {
        min-height: 26px !important;
        font-size: clamp(9px, 2.2vw, 10px) !important;
        line-height: 1.15 !important;
    }
    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-copy {
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-end !important;
    }
}

/* MOBILE 3: shop titles never overflow viewport */
@media (max-width: 767px) {
    body.historicum-shop-page .h-shop-title-text,
    body.historicum-shop-page .h-paper-title {
        font-size: clamp(18px, 5.5vw, 30px) !important;
        word-break: break-word;
        overflow-wrap: break-word;
        max-width: 100% !important;
    }
    body.historicum-shop-page .h-shop-title {
        max-width: calc(100vw - 28px);
    }
}

/* Filter row groups — split, with 0.2px gray top/bottom only */
body.historicum-shop-page .h-shop-filter-group {
    width: 100%;
    padding: 10px 0;
    box-shadow:
        0 -0.2px 0 0 rgba(136, 136, 136, 0.7),
        inset 0 -0.2px 0 0 rgba(136, 136, 136, 0.7);
    border: none;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}
body.historicum-shop-page .h-shop-filter-group + .h-shop-filter-group {
    margin-top: -0.2px;
}
body.historicum-shop-page .h-shop-filter-group-label {
    font-family: var(--h-font-cinzel);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--h-text, #1a1a1a);
    margin-right: 6px;
}

/* Stack header: title → subtitle → breadcrumb, all left-aligned to same edge */
body.historicum-shop-page .h-shop-header-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
}
body.historicum-shop-page .h-shop-title-block,
body.historicum-shop-page .h-shop-breadcrumb {
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}
body.historicum-shop-page .h-shop-breadcrumb {
    align-self: flex-start !important;
}

/* Normalize shop titles across every level — never overflow viewport */
body.historicum-shop-page .h-shop-title,
body.historicum-shop-page .h-shop-title-text {
    max-width: 100% !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto;
}
body.historicum-shop-page .h-shop-title-text {
    font-size: clamp(22px, 3.4vw, 42px) !important;
    line-height: 1.05 !important;
}
body.historicum-shop-page .h-shop-subtitle {
    font-size: clamp(13px, 1.1vw, 17px) !important;
}
body.historicum-shop-page .h-paper-title {
    font-size: clamp(18px, 2.4vw, 30px) !important;
    max-width: 100% !important;
    word-break: break-word !important;
}
@media (max-width: 767px) {
    body.historicum-shop-page .h-shop-title-text {
        font-size: clamp(18px, 5.2vw, 26px) !important;
    }
    body.historicum-shop-page .h-paper-title {
        font-size: clamp(15px, 4.6vw, 22px) !important;
    }
    body.historicum-shop-page .h-shop-header-inner,
    body.historicum-shop-page .h-shop-header-row,
    body.historicum-shop-page .h-shop-title-block {
        max-width: calc(100vw - 28px) !important;
    }
}


/* ============================================================
   NEXT 2 SHOP PATCH — specificity-based carousel + title fixes
   ============================================================ */

/* Language/currency widgets above any background overlay */
body.historicum-shop-page .h-shop-side-widgets,
body.historicum-shop-page .h-shop-mobile-widgets {
    position: relative;
    z-index: 6;
}

/* Desktop 5: subtitle size up + closer to title */
body.historicum-shop-page .h-shop-header-row .h-shop-title {
    margin-bottom: 2px;
}
body.historicum-shop-page .h-shop-header-row .h-shop-subtitle {
    margin-top: 0;
    font-size: clamp(15px, 1.25vw, 19px);
    line-height: 1.25;
}

/* Desktop 4 redo: bounding box = paper width, blocks stay paper-aligned */
@media (min-width: 768px) {
    body.historicum-shop-page .h-paper-section .h-paper-content {
        overflow: visible;
    }
    body.historicum-shop-page .h-shop-section-main .h-shop-section-carousel {
        position: relative;
        width: calc(100% + var(--h-paper-pad-x, 60px) * 2);
        max-width: none;
        margin-left: calc(var(--h-paper-pad-x, 60px) * -1);
        margin-right: calc(var(--h-paper-pad-x, 60px) * -1);
        padding-left: 0;
        padding-right: 0;
        overflow: hidden;
    }
    body.historicum-shop-page .h-shop-section-carousel .h-ss-viewport {
        width: 100%;
        overflow: hidden;
        padding-left: 0;
        padding-right: 0;
    }
    body.historicum-shop-page .h-shop-section-carousel .h-ss-page {
        padding-left: var(--h-paper-pad-x, 60px);
        padding-right: var(--h-paper-pad-x, 60px);
    }
}

/* Mobile section bounding box — extend to viewport edges, content stays aligned */
@media (max-width: 767px) {
    body.historicum-shop-page .h-paper-section .h-paper-content {
        overflow: visible;
    }
    body.historicum-shop-page .h-shop-section-main .h-shop-section-carousel {
        position: relative;
        width: 100%;
        max-width: 100vw;
        left: 50%;
        margin-left: -50vw;
        margin-right: 0;
        padding-left: 0;
        padding-right: 0;
        overflow: hidden;
    }
    body.historicum-shop-page .h-shop-section-carousel .h-ss-page {
        padding-left: 10px;
        padding-right: 10px;
    }
}

/* Hero carousel — drop shadow shows above/below, horizontal still clips */
body.historicum-shop-page .h-shop-hero-carousel .h-bs-wrapper {
    overflow: visible;
    clip-path: inset(-32px 0 -32px 0);
}
body.historicum-shop-page .h-shop-hero-carousel .h-bs-carousel {
    overflow-x: auto;
    overflow-y: visible;
    padding-top: 18px;
    padding-bottom: 18px;
}

/* Mobile 6 — verticals must scroll past the hero carousel */
@media (max-width: 991px) {
    body.historicum-shop-page,
    body.historicum-shop-page .h-shop-page,
    body.historicum-shop-page .h-shop-header-hero,
    body.historicum-shop-page .h-shop-hero-carousel,
    body.historicum-shop-page .h-shop-hero-carousel .h-bs-wrapper {
        touch-action: pan-y;
    }

    body.historicum-shop-page .h-shop-hero-carousel .h-bs-carousel,
    body.historicum-shop-page .h-shop-fighter-carousel {
        touch-action: pan-x pan-y;
        overflow-x: auto;
        overflow-y: visible;
        -webkit-overflow-scrolling: touch;
        scroll-behavior: auto;
    }
}

/* Mobile 7 — kill any right-side horizontal page scroll */
body.historicum-shop-page {
    overflow-x: clip;
    max-width: 100vw;
}
body.historicum-shop-page main#historicum-shop {
    overflow-x: clip;
    max-width: 100vw;
}

/* Mobile 4 — hero block titles sit closer to subtitle */
@media (max-width: 767px) {
    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-card-title {
        margin-bottom: 2px;
    }
}

/* Mobile 5 — section names hard-aligned to where the block grid starts (10px) */
@media (max-width: 767px) {
    body.historicum-shop-page .h-shop-section-main .h-paper-title-wrap,
    body.historicum-shop-page .h-shop-section-main .h-paper-title-wrap .h-paper-title {
        text-align: left;
        padding-left: 10px;
        margin-left: 0;
    }
    body.historicum-shop-page .h-shop-section-main .h-paper-title-link {
        display: inline-block;
        padding-left: 0;
    }
}

/* ============================================================
   SHOP WIDGETS, CAROUSELS, AND CARD FINISH
   ============================================================ */

@media (min-width: 768px) {
    body.historicum-shop-page .h-shop-page.h-level-1 {
        background-color: #000000 !important;
        background-image: none !important;
    }

    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-title-block {
        gap: 0 !important;
        margin-bottom: 58px !important;
    }

    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-title-block .h-shop-title,
    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-title-block .h-shop-title-text {
        margin-bottom: 0 !important;
        font-size: clamp(75px, 7.8vw, 114px) !important;
        line-height: 0.98 !important;
    }

    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-title-block .h-shop-subtitle {
        margin-top: -2px !important;
        font-size: clamp(20px, 1.8vw, 28px) !important;
        line-height: 1.08 !important;
    }

    body.historicum-shop-page:not(.h-level-1) .h-shop-title-text,
    body.historicum-shop-page .h-shop-header-row .h-shop-title-text {
        font-size: clamp(34px, 4.4vw, 55px) !important;
        line-height: 1 !important;
    }

    body.historicum-shop-page .h-shop-header-row .h-shop-title {
        margin-bottom: 0 !important;
    }

    body.historicum-shop-page .h-shop-header-row .h-shop-subtitle {
        margin-top: -3px !important;
    }
}

body.historicum-shop-page .h-shop-widgets-column {
    position: sticky !important;
    top: 96px !important;
    align-self: start !important;
    z-index: 20 !important;
}

body.historicum-shop-page .h-shop-side-widgets {
    position: relative !important;
    z-index: 21 !important;
}

body.historicum-shop-page .h-shop-widget-select,
body.historicum-shop-page .h-shop-widget-select option {
    text-transform: uppercase !important;
}

body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-hero {
    background-color: #000000 !important;
    background-image:
        radial-gradient(82% 74% at 0% 0%, rgba(235, 188, 0, 0.24) 0%, rgba(126, 92, 0, 0.11) 34%, rgba(0, 0, 0, 0) 70%),
        linear-gradient(180deg, #090600 0%, #050301 48%, #000000 100%) !important;
    background-repeat: no-repeat !important;
    background-size: 100% 100% !important;
}

body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-hero::before {
    content: none !important;
    display: none !important;
    background: none !important;
}

body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-hero::after {
    content: none !important;
    display: none !important;
    background: none !important;
}

body.historicum-shop-page .h-shop-bg-overlay,
body.historicum-shop-page .h-shop-nav-bg {
    opacity: 0.13 !important;
}

body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-bg {
    top: 0 !important;
    bottom: -190px !important;
    z-index: 0 !important;
    opacity: 0.12 !important;
    mix-blend-mode: normal !important;
}

body.historicum-shop-page .h-shop-header-inner,
body.historicum-shop-page .h-shop-hero-carousel,
body.historicum-shop-page .h-shop-nav-hero-inner {
    z-index: 2 !important;
}

body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-copy {
    align-items: flex-start !important;
    text-align: left !important;
}

body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-card-title,
body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-card-subtitle {
    width: 100% !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    text-align: left !important;
    text-indent: 0 !important;
}

body.historicum-shop-page .h-shop-section-main .h-paper-title-wrap,
body.historicum-shop-page .h-shop-section-main .h-shop-filter-group,
body.historicum-shop-page .h-shop-section-main .h-shop-material-filter,
body.historicum-shop-page .h-shop-section-main .h-paper-subnav {
    padding-left: 10px !important;
    box-sizing: border-box !important;
}

body.historicum-shop-page .h-shop-section-main .h-paper-title-wrap .h-paper-title {
    padding-left: 0 !important;
    margin-left: 0 !important;
}

body.historicum-shop-page .h-shop-section-main .h-shop-filter-group {
    padding-left: 10px !important;
}

@media (min-width: 768px) {
    body.historicum-shop-page .h-paper-section .h-paper-content,
    body.historicum-shop-page .h-shop-section-main {
        overflow: visible !important;
    }

    body.historicum-shop-page .h-shop-section-main .h-shop-section-carousel {
        position: relative !important;
        left: auto !important;
        width: calc(100% + var(--h-shop-section-left-pad, 48px) + var(--h-shop-section-right-pad, 18px)) !important;
        max-width: none !important;
        margin-left: calc(var(--h-shop-section-left-pad, 48px) * -1) !important;
        margin-right: calc(var(--h-shop-section-right-pad, 18px) * -1) !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
        overflow: hidden !important;
        clip-path: none !important;
    }

    body.historicum-shop-page .h-shop-section-carousel .h-ss-viewport {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        clip-path: none !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    body.historicum-shop-page .h-shop-section-carousel .h-ss-page,
    body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-ss-page {
        padding-right: var(--h-shop-section-right-pad, 18px) !important;
        padding-left: var(--h-shop-section-left-pad, 48px) !important;
    }
}

body.historicum-shop-page .h-shop-section-main .h-shop-section-carousel {
    overflow: hidden !important;
    clip-path: none !important;
}

body.historicum-shop-page .h-shop-section-carousel .h-ss-viewport {
    overflow: hidden !important;
    clip-path: none !important;
    padding-bottom: 18px !important;
    transition: height 220ms cubic-bezier(0.22, 0.85, 0.22, 1) !important;
}

body.historicum-shop-page .h-shop-section-carousel .h-ss-pages-track {
    align-items: flex-start !important;
    overflow: visible !important;
}

body.historicum-shop-page .h-shop-section-carousel .h-ss-page,
body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-ss-page {
    overflow: visible !important;
    justify-content: start !important;
    align-content: start !important;
    align-items: stretch !important;
    grid-auto-rows: minmax(0, auto) !important;
    padding-top: 8px !important;
    padding-bottom: 18px !important;
}

body.historicum-shop-page .h-shop-section-carousel .h-ss-cell,
body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-ss-cell {
    padding-bottom: 28px !important;
}

body.historicum-shop-page .h-shop-section-carousel.h-carousel-one-row-page .h-ss-viewport {
    padding-bottom: 18px !important;
}

body.historicum-shop-page .h-shop-hero-carousel .h-bs-card,
body.historicum-shop-page .h-shop-ws-card,
body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card {
    border: 1px solid rgba(17, 17, 17, 0.78) !important;
    border-radius: 10px !important;
    background: #0b0b0b !important;
    -webkit-box-shadow: 4px 4px 8px -1px #000000 !important;
    box-shadow: 4px 4px 8px -1px #000000 !important;
    transform: none !important;
}

body.historicum-shop-page .h-shop-hero-carousel .h-bs-card:hover,
body.historicum-shop-page .h-shop-hero-carousel .h-bs-card:focus-visible,
body.historicum-shop-page .h-shop-ws-card:hover,
body.historicum-shop-page .h-shop-ws-card:focus-visible {
    border-color: var(--h-accent) !important;
    -webkit-box-shadow: 4px 4px 8px -1px #000000 !important;
    box-shadow: 4px 4px 8px -1px #000000 !important;
    transform: none !important;
}

body.historicum-shop-page .h-shop-hero-carousel .h-bs-info,
body.historicum-shop-page .h-shop-ws-card .h-ss-info,
body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-info,
body.historicum-shop-page .h-shop-ws-card.is-sale .h-ss-info,
body.historicum-shop-page .h-shop-section-carousel .h-ss-cell.is-sale .h-shop-ws-card .h-ss-info {
    flex: 0 0 108px !important;
    min-height: 108px !important;
    max-height: 108px !important;
    height: 108px !important;
    justify-content: center !important;
    gap: 5px !important;
    background-color: #090909 !important;
    background-image: linear-gradient(135deg, #252525 0%, #121212 48%, #020202 100%) !important;
}

body.historicum-shop-page .h-shop-hero-carousel .h-bs-info::after,
body.historicum-shop-page .h-shop-ws-card .h-ss-info::after,
body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-info::after {
    right: -1px !important;
    bottom: -1px !important;
    left: -1px !important;
    height: 43px !important;
    background: var(--h-accent) !important;
    color: #111111 !important;
    font-family: var(--h-font-instrument) !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    letter-spacing: 0.05em !important;
    line-height: 1 !important;
}

body.historicum-shop-page .h-shop-hero-carousel .h-bs-info::after {
    height: 48px !important;
}

body.historicum-shop-page .h-shop-ws-card .h-ss-title,
body.historicum-shop-page .h-shop-section-carousel .h-shop-ws-card .h-ss-title,
body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-title,
body.historicum-shop-page .h-shop-section-carousel .h-ss-cell.is-sale .h-ss-title {
    min-height: 28px !important;
    margin-bottom: 0 !important;
    max-height: none !important;
    display: block !important;
    overflow: visible !important;
    white-space: normal !important;
    text-overflow: clip !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: initial !important;
}

body.historicum-shop-page .h-shop-hero-carousel .h-bs-title {
    max-height: none !important;
    display: block !important;
    overflow: visible !important;
    white-space: normal !important;
    text-overflow: clip !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: initial !important;
    text-align: left !important;
}

body.historicum-shop-page .h-shop-ws-card:hover,
body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card:hover {
    -webkit-box-shadow: 4px 4px 8px -1px #000000 !important;
    box-shadow: 4px 4px 8px -1px #000000 !important;
    transform: none !important;
}

body.historicum-shop-page .h-shop-ws-card .h-ss-price,
body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-price {
    gap: 12px !important;
    margin-top: 0 !important;
}

body.historicum-shop-page .h-shop-hero-carousel .h-bs-card:hover .h-bs-price,
body.historicum-shop-page .h-shop-hero-carousel .h-bs-card:focus-visible .h-bs-price,
body.historicum-shop-page .h-shop-hero-carousel .h-bs-card:active .h-bs-price,
body.historicum-shop-page .h-shop-ws-card:hover .h-ss-price,
body.historicum-shop-page .h-shop-ws-card:focus-visible .h-ss-price,
body.historicum-shop-page .h-shop-ws-card:active .h-ss-price {
    opacity: 0 !important;
    visibility: hidden !important;
}

body.historicum-shop-page .h-shop-hero-carousel .h-bs-card:hover .h-bs-price *,
body.historicum-shop-page .h-shop-hero-carousel .h-bs-card:focus-visible .h-bs-price *,
body.historicum-shop-page .h-shop-hero-carousel .h-bs-card:active .h-bs-price *,
body.historicum-shop-page .h-shop-ws-card:hover .h-ss-price *,
body.historicum-shop-page .h-shop-ws-card:focus-visible .h-ss-price *,
body.historicum-shop-page .h-shop-ws-card:active .h-ss-price * {
    opacity: 0 !important;
    visibility: hidden !important;
}

body.historicum-shop-page .h-bs-price .woocommerce-Price-currencySymbol,
body.historicum-shop-page .h-ss-price .woocommerce-Price-currencySymbol {
    display: inline-block !important;
    margin-right: 0 !important;
    margin-left: 3px !important;
}

body.historicum-shop-page .h-tag-filter-btn.is-active,
body.historicum-shop-page .h-subnav-link.h-tag-filter-btn.is-active,
body.historicum-shop-page .h-material-filter-btn.is-active,
body.historicum-shop-page .h-subnav-link.h-material-filter-btn.is-active {
    border-color: var(--h-accent) !important;
    background: var(--h-accent) !important;
    color: #111111 !important;
}

body.historicum-shop-page .h-bs-card.h-set-temporarily-unavailable,
body.historicum-shop-page .h-shop-ws-card.h-set-temporarily-unavailable {
    opacity: 0.52 !important;
    filter: grayscale(1) !important;
}

body.historicum-shop-page .h-ss-cell.h-set-temporarily-unavailable {
    opacity: 1 !important;
    filter: none !important;
}

body.historicum-shop-page .h-bs-card.h-set-temporarily-unavailable::after,
body.historicum-shop-page .h-shop-ws-card.h-set-temporarily-unavailable::after {
    content: "TEMPORARILY UNAVAILABLE";
    position: absolute;
    top: 12px;
    right: 12px;
    left: 12px;
    z-index: 90;
    display: flex;
    min-height: 32px;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
    border: 1px solid rgba(235, 188, 0, 0.75);
    border-radius: 6px;
    background: rgba(5, 5, 5, 0.86);
    color: var(--h-accent);
    font-family: var(--h-font-cinzel);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1.15;
    text-align: center;
    pointer-events: none;
}

body.historicum-shop-page .h-sets-unavailable-label {
    color: var(--h-accent) !important;
    font-family: var(--h-font-cinzel) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.06em !important;
    line-height: 1.15 !important;
    text-transform: uppercase !important;
}

body.historicum-shop-page .h-bs-card.is-sale::before,
body.historicum-shop-page .h-shop-section-carousel .h-ss-cell.is-sale .h-ss-card::before,
body.historicum-shop-page .h-shop-section-carousel .h-ss-cell.is-sale .h-shop-ws-card::before {
    content: none !important;
    display: none !important;
}

body.historicum-shop-page .h-shop-sale-ribbon {
    position: absolute !important;
    top: 8px !important;
    left: -78px !important;
    z-index: 85 !important;
    display: flex !important;
    width: 244px !important;
    height: 44px !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 2px !important;
    border: 1px solid rgba(0, 0, 0, 0.24) !important;
    border-radius: 4px !important;
    background: var(--h-accent) !important;
    color: #111111 !important;
    font-family: var(--h-font-instrument) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    pointer-events: none !important;
    transform: rotate(-24deg) !important;
    -webkit-box-shadow: 2px 2px 4px -2px rgba(0, 0, 0, 0.55) !important;
    box-shadow: 2px 2px 4px -2px rgba(0, 0, 0, 0.55) !important;
}

body.historicum-shop-page .h-shop-sale-ribbon-label,
body.historicum-shop-page .h-shop-sale-ribbon-amount {
    display: block !important;
    line-height: 1 !important;
}

body.historicum-shop-page .h-shop-sale-ribbon-label {
    font-size: 10px !important;
    letter-spacing: 0.16em !important;
}

body.historicum-shop-page .h-shop-sale-ribbon-amount {
    margin-top: 0 !important;
    font-size: 16px !important;
    letter-spacing: 0.035em !important;
}

body.historicum-shop-page .h-shop-header-hero {
    background-color: transparent !important;
    background-image: none !important;
}

body.historicum-shop-page .h-shop-header-hero::after {
    content: none !important;
    display: none !important;
    background: none !important;
}

body.historicum-shop-page .h-shop-bg-overlay {
    opacity: 0.1 !important;
}

body.historicum-shop-page .h-shop-hero-carousel .h-bs-image img,
body.historicum-shop-page .h-shop-section-carousel .h-ss-image img {
    filter: none !important;
    transform: none !important;
    transition: opacity 0.34s ease !important;
}

body.historicum-shop-page .h-shop-hero-carousel .h-card-image-primary,
body.historicum-shop-page .h-shop-section-carousel .h-card-image-primary {
    opacity: 1 !important;
}

body.historicum-shop-page .h-shop-hero-carousel .h-card-image-secondary,
body.historicum-shop-page .h-shop-section-carousel .h-card-image-secondary {
    z-index: 2 !important;
    opacity: 0 !important;
}

body.historicum-shop-page .h-shop-hero-carousel .h-bs-card:hover .h-bs-image img,
body.historicum-shop-page .h-shop-section-carousel .h-shop-ws-card:hover .h-ss-image img {
    filter: none !important;
    transform: none !important;
}

body.historicum-shop-page .h-shop-hero-carousel .h-bs-card:hover .h-card-image-primary.h-card-image-only,
body.historicum-shop-page .h-shop-section-carousel .h-shop-ws-card:hover .h-card-image-primary.h-card-image-only {
    opacity: 1 !important;
}

body.historicum-shop-page .h-shop-hero-carousel .h-bs-card:hover .h-card-image-primary:not(.h-card-image-only),
body.historicum-shop-page .h-shop-section-carousel .h-shop-ws-card:hover .h-card-image-primary:not(.h-card-image-only) {
    opacity: 1 !important;
}

body.historicum-shop-page .h-shop-hero-carousel .h-bs-card:hover .h-card-image-secondary,
body.historicum-shop-page .h-shop-section-carousel .h-shop-ws-card:hover .h-card-image-secondary {
    opacity: 1 !important;
}

body.historicum-shop-page .h-shop-hero-carousel .h-bs-card:hover .h-shop-card-watermark,
body.historicum-shop-page .h-shop-section-carousel .h-shop-ws-card:hover .h-shop-card-watermark {
    opacity: 0.98 !important;
    filter: none !important;
    transform: none !important;
}

@media (max-width: 767px) {
    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-title-block {
        gap: 10px !important;
        margin-bottom: 10px !important;
    }

    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-title-block .h-shop-title,
    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-title-block .h-shop-title-text {
        font-size: clamp(50px, 14.4vw, 70px) !important;
        line-height: 0.96 !important;
        margin-bottom: 0 !important;
    }

    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-title-block .h-shop-subtitle {
        margin-top: 0 !important;
        line-height: 1.03 !important;
    }

    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-hero {
        padding-bottom: 8px !important;
    }

    body.historicum-shop-page .h-shop-nav-hero + .h-shop-paper-stack {
        padding-top: 18px !important;
    }

    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-hero::after {
        content: none !important;
        display: none !important;
        background: none !important;
    }

    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-bg {
        bottom: -86px !important;
    }

    body.historicum-shop-page .h-shop-bg-overlay {
        bottom: -112px !important;
    }

    body.historicum-shop-page .h-shop-section-main .h-paper-title-wrap,
    body.historicum-shop-page .h-shop-section-main .h-shop-filter-group,
    body.historicum-shop-page .h-shop-section-main .h-shop-material-filter,
    body.historicum-shop-page .h-shop-section-main .h-paper-subnav {
        padding-left: 10px !important;
    }

    body.historicum-shop-page .h-shop-section-main .h-paper-title-wrap .h-paper-title {
        font-size: clamp(18px, 5.5vw, 26px) !important;
        padding-left: 0 !important;
        margin-left: 0 !important;
    }

    body.historicum-shop-page .h-shop-section-main .h-shop-filter-group {
        padding-left: 10px !important;
    }

    body.historicum-shop-page .h-shop-section-main {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    body.historicum-shop-page .h-shop-section-main .h-shop-section-carousel {
        position: relative !important;
        left: 50% !important;
        width: 100% !important;
        max-width: 100vw !important;
        margin-right: 0 !important;
        margin-left: -50vw !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
        overflow: hidden !important;
        clip-path: none !important;
    }

    body.historicum-shop-page .h-shop-section-carousel .h-ss-viewport {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        clip-path: none !important;
        padding: 8px 0 18px !important;
    }

    body.historicum-shop-page .h-shop-section-carousel .h-ss-pages-track {
        display: flex !important;
        align-items: flex-start !important;
        overflow: visible !important;
    }

    body.historicum-shop-page .h-shop-section-carousel .h-ss-page,
    body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-ss-page {
        flex: 0 0 100% !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
        padding: 8px 10px 18px !important;
        overflow: visible !important;
        clip-path: none !important;
    }

    body.historicum-shop-page .h-shop-section-carousel .h-ss-cell,
    body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-ss-cell {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        padding: 0 0 20px !important;
    }

    body.historicum-shop-page .h-shop-section-carousel .h-shop-ws-card,
    body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card,
    body.historicum-shop-page .h-shop-section-carousel .h-shop-ws-card.is-sale,
    body.historicum-shop-page .h-shop-section-carousel .h-ss-cell.is-sale .h-shop-ws-card {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
    }

    body.historicum-shop-page .h-shop-section-carousel .h-shop-ws-card .h-ss-image,
    body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-image {
        width: 100% !important;
        aspect-ratio: 1 / 1 !important;
        flex: 0 0 auto !important;
    }

    body.historicum-shop-page .h-shop-section-carousel .h-shop-ws-card .h-ss-info,
    body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card .h-ss-info,
    body.historicum-shop-page .h-shop-section-carousel .h-shop-ws-card.is-sale .h-ss-info,
    body.historicum-shop-page .h-shop-section-carousel .h-ss-cell.is-sale .h-shop-ws-card .h-ss-info {
        flex: 0 0 108px !important;
        height: 108px !important;
        min-height: 108px !important;
        max-height: 108px !important;
        padding: 12px 10px !important;
        justify-content: center !important;
        gap: 4px !important;
    }
}

/* Desktop hero carousel: the JS loop translates a cloned slide belt, so the
   moving track itself must not become a scroll container. */
body.historicum-shop-page .h-shop-hero-carousel .h-bs-carousel {
    overflow: visible !important;
}

@media (max-width: 991px) {
    body.historicum-shop-page .h-shop-hero-carousel .h-bs-carousel {
        overflow-x: auto !important;
        overflow-y: visible !important;
    }
}

/* Final mobile scroll contract: paged product grids must never trap vertical
   page scroll. The hero carousel keeps native horizontal scrolling separately. */
@media (max-width: 767px) {
    body.historicum-shop-page .h-shop-section-carousel .h-ss-viewport,
    body.historicum-shop-page .h-shop-section-carousel .h-ss-pages-track,
    body.historicum-shop-page .h-shop-section-carousel .h-ss-page {
        touch-action: pan-y !important;
        overscroll-behavior-y: auto !important;
    }
}

/* Main shop section carousel cards: keep the deeper product-card shadow. */
body.historicum-shop-page .h-shop-section-carousel .h-ss-cell,
body.historicum-shop-page .h-shop-section-carousel .h-ss-cell::after {
    box-shadow: none !important;
    filter: none !important;
}

body.historicum-shop-page .h-shop-section-carousel .h-ss-cell::after {
    display: none !important;
}

body.historicum-shop-page .h-shop-section-carousel .h-shop-ws-card,
body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card,
body.historicum-shop-page .h-shop-section-carousel .h-shop-ws-card.is-sale,
body.historicum-shop-page .h-shop-section-carousel .h-ss-cell.is-sale .h-shop-ws-card {
    -webkit-box-shadow: 0 4px 7px rgba(0, 0, 0, 0.54), 0 1px 2px rgba(0, 0, 0, 0.38) !important;
    box-shadow: 0 4px 7px rgba(0, 0, 0, 0.54), 0 1px 2px rgba(0, 0, 0, 0.38) !important;
    filter: none !important;
}

body.historicum-shop-page .h-shop-section-carousel .h-shop-ws-card:hover,
body.historicum-shop-page .h-shop-section-carousel .h-shop-ws-card:focus-visible,
body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card:hover,
body.historicum-shop-page .h-shop-section-carousel.is-end-grid .h-shop-ws-card:focus-visible {
    -webkit-box-shadow: 0 5px 8px rgba(0, 0, 0, 0.60), 0 1px 3px rgba(0, 0, 0, 0.42) !important;
    box-shadow: 0 5px 8px rgba(0, 0, 0, 0.60), 0 1px 3px rgba(0, 0, 0, 0.42) !important;
    filter: none !important;
    transform: none !important;
}

/* ============================================================
   FINAL MOBILE /SHOP RIP FADE POSITION FIX
   Issue: the mobile black fade was coming from .h-shop-nav-hero::before,
   which covered the hero from the top. Keep the nav background image above
   the fade and move the fade down to the rip area only.
   ============================================================ */
@media (max-width: 767px) {
    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-hero {
        position: relative !important;
        overflow: visible !important;
        isolation: isolate !important;
        background-color: #000000 !important;
        padding-bottom: 8px !important;
    }

    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-hero::before {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        top: auto !important;
        right: 0 !important;
        bottom: -42px !important;
        left: 0 !important;
        height: 150px !important;
        z-index: 0 !important;
        pointer-events: none !important;
        background: linear-gradient(
            180deg,
            rgba(0, 0, 0, 0) 0%,
            rgba(0, 0, 0, 0.12) 34%,
            rgba(0, 0, 0, 0.46) 68%,
            rgba(0, 0, 0, 0.92) 100%
        ) !important;
        opacity: 1 !important;
        mix-blend-mode: normal !important;
    }

    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-hero::after {
        content: none !important;
        display: none !important;
        background: none !important;
    }

    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-bg {
        top: 0 !important;
        bottom: -86px !important;
        z-index: 1 !important;
        opacity: 0.13 !important;
        mix-blend-mode: normal !important;
    }

    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-hero-inner,
    body.historicum-shop-page .h-shop-page.h-level-1 .h-shop-nav-grid {
        position: relative !important;
        z-index: 3 !important;
    }

    body.historicum-shop-page .h-shop-nav-hero + .h-shop-paper-stack {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
}


/* ============================================================
   MOBILE TAP TARGET FIX - min 44px on interactive elements
   ============================================================ */
@media (max-width: 767px) {
    .h-shop-tag-btn,
    .h-material-filter-btn,
    .h-tag-filter-btn {
        min-height: 44px !important;
        padding: 10px 16px !important;
    }

    .h-shop-widget-option {
        min-height: 44px !important;
        padding: 10px 14px !important;
    }

    .h-shop-widget-select {
        min-height: 44px !important;
        padding: 8px 28px 8px 12px !important;
    }

    .h-subnav-link {
        min-height: 44px !important;
        padding: 10px 14px !important;
    }

    .h-shop-widget-preferences button,
    .h-shop-widget-preferences select {
        min-height: 44px !important;
    }
}