/* Source: Views/Products/Details.cshtml */
/* Keep the refreshed design scoped to the legacy MVC product page. */
        .legacy-product-shell {
            --legacy-ink: #20323f;
            --legacy-muted: #617380;
            --legacy-accent: #0d7f77;
            --legacy-accent-dark: #0a5e59;
            --legacy-highlight: #c9493f;
            --legacy-surface: #ffffff;
            --legacy-soft: #f6f1e7;
            --legacy-soft-border: #e6ddcf;
            padding: 18px 0 44px;
        }
        .legacy-product-hero {
            background:
                radial-gradient(circle at top left, rgba(13, 127, 119, 0.10), transparent 36%),
                linear-gradient(135deg, #fffdf8 0%, #f7f2e7 48%, #eef6f4 100%);
            border: 1px solid var(--legacy-soft-border);
            border-radius: 30px;
            box-shadow: 0 28px 50px rgba(24, 37, 49, 0.10);
            overflow: hidden;
            padding: 34px;
        }
        .legacy-product-media {
            background: linear-gradient(180deg, #fffdfa 0%, #f3ede2 100%);
            border: 1px solid #ebe2d1;
            border-radius: 26px;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
            height: 100%;
            padding: 22px;
            position: relative;
        }
        .legacy-product-media-badge {
            background: rgba(13, 127, 119, 0.12);
            border: 1px solid rgba(13, 127, 119, 0.18);
            border-radius: 999px;
            color: var(--legacy-accent-dark);
            display: inline-block;
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 0.14em;
            margin-bottom: 16px;
            padding: 8px 12px;
            text-transform: uppercase;
        }
        .legacy-product-media img {
            border-radius: 18px;
            box-shadow: 0 22px 42px rgba(24, 37, 49, 0.18);
            display: block;
            margin: 0 auto;
            max-height: 560px;
            object-fit: contain;
            opacity: 1;
            transition: opacity 0.25s ease;
            width: 100%;
        }
        .legacy-product-media img.lazy-load-image,
        .legacy-recommend-image img.lazy-load-image {
            opacity: 0.45;
        }
        .legacy-product-media img.lazy-loaded,
        .legacy-recommend-image img.lazy-loaded {
            opacity: 1;
        }
        .legacy-product-summary {
            color: var(--legacy-ink);
            padding: 4px 8px 4px 18px;
        }
        .legacy-product-kicker {
            color: var(--legacy-accent);
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 0.18em;
            margin-bottom: 12px;
            text-transform: uppercase;
        }
        .legacy-product-title {
            color: var(--legacy-ink);
            font-size: 38px;
            font-weight: 700;
            letter-spacing: -0.02em;
            line-height: 1.12;
            margin: 0 0 14px;
        }
        .legacy-product-copy {
            color: var(--legacy-muted);
            font-size: 17px;
            line-height: 1.85;
            margin-bottom: 20px;
        }
        .legacy-product-facts {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            margin-bottom: 18px;
        }
        .legacy-product-fact {
            background: rgba(255, 255, 255, 0.88);
            border: 1px solid #dce8e4;
            border-radius: 999px;
            color: #29454a;
            font-size: 13px;
            font-weight: 600;
            padding: 10px 14px;
        }
        .legacy-product-tags {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            margin-bottom: 24px;
        }
        .legacy-product-tag {
            background: #edf6f4;
            border: 1px solid #d7eae4;
            border-radius: 999px;
            color: #1f6660;
            display: inline-block;
            font-size: 13px;
            font-weight: 700;
            padding: 9px 14px;
            text-decoration: none;
        }
        .legacy-product-tag:hover {
            background: #e2f0ed;
            color: #154944;
            text-decoration: none;
        }
        .legacy-product-price-row {
            align-items: center;
            display: flex;
            flex-wrap: wrap;
            gap: 14px;
            margin-bottom: 10px;
        }
        .legacy-product-price-row del {
            color: #87919a;
            font-size: 22px;
            margin: 0;
        }
        .legacy-product-price-row ins {
            color: var(--legacy-highlight);
            font-size: 38px;
            font-weight: 700;
            margin: 0;
            text-decoration: none;
        }
        .legacy-product-save {
            background: #fff1ed;
            border: 1px solid #f3d1c6;
            border-radius: 999px;
            color: var(--legacy-highlight);
            font-size: 13px;
            font-weight: 700;
            padding: 8px 12px;
        }
        .legacy-product-format {
            color: var(--legacy-muted);
            font-size: 14px;
            margin-bottom: 22px;
        }
        .legacy-product-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 22px;
        }
        .legacy-product-primary {
            background: linear-gradient(135deg, var(--legacy-highlight) 0%, #af2f45 100%);
            border-radius: 999px;
            box-shadow: 0 16px 28px rgba(175, 47, 69, 0.20);
            color: #fff;
            display: inline-block;
            font-size: 14px;
            font-weight: 700;
            letter-spacing: 0.08em;
            padding: 14px 22px;
            text-transform: uppercase;
        }
        .legacy-product-primary:hover,
        .legacy-product-primary:focus {
            color: #fff;
            text-decoration: none;
        }
        .legacy-product-cart {
            background: linear-gradient(135deg, var(--legacy-accent) 0%, var(--legacy-accent-dark) 100%);
            box-shadow: 0 16px 28px rgba(13, 127, 119, 0.22);
        }
        .legacy-product-buy-now {
            background: linear-gradient(135deg, var(--legacy-highlight) 0%, #af2f45 100%);
            box-shadow: 0 16px 28px rgba(175, 47, 69, 0.20);
        }
        .legacy-product-secondary {
            background: #fff;
            border: 1px solid #d9e7df;
            border-radius: 999px;
            color: var(--legacy-accent-dark);
            display: inline-block;
            font-size: 14px;
            font-weight: 700;
            padding: 14px 18px;
        }
        .legacy-product-secondary:hover,
        .legacy-product-secondary:focus {
            color: var(--legacy-accent-dark);
            text-decoration: none;
        }
        .legacy-product-trust {
            list-style: none;
            margin: 0;
            padding: 0;
        }
        .legacy-product-trust li {
            color: #41545f;
            font-size: 14px;
            margin-bottom: 8px;
            padding-left: 22px;
            position: relative;
        }
        .legacy-product-trust li:before {
            color: var(--legacy-accent);
            content: "\2022";
            font-size: 20px;
            left: 0;
            line-height: 1;
            position: absolute;
            top: 0;
        }
        .legacy-product-layout {
            display: grid;
            gap: 24px;
            grid-template-columns: minmax(0, 1.55fr) minmax(280px, 0.95fr);
            margin-top: 28px;
        }
        .legacy-product-panel {
            background: var(--legacy-surface);
            border: 1px solid #ece5d8;
            border-radius: 24px;
            box-shadow: 0 18px 36px rgba(26, 35, 44, 0.06);
            margin-bottom: 24px;
            overflow: hidden;
        }
        .legacy-product-panel-head {
            align-items: center;
            background: linear-gradient(135deg, #fbf8f1 0%, #f3f8f7 100%);
            border-bottom: 1px solid #eee6d9;
            display: flex;
            justify-content: space-between;
            padding: 20px 24px;
        }
        .legacy-product-panel-head h2,
        .legacy-product-panel-head h3 {
            color: var(--legacy-ink);
            font-size: 22px;
            font-weight: 700;
            margin: 0;
        }
        .legacy-product-panel-body {
            padding: 24px;
        }
        .legacy-product-description {
            color: #324652;
            font-size: 16px;
            line-height: 1.9;
        }
        .legacy-product-description h2,
        .legacy-product-description h3,
        .legacy-product-description h4 {
            color: var(--legacy-ink);
            margin-top: 0;
        }
        .legacy-product-description p:last-child {
            margin-bottom: 0;
        }
        .legacy-product-meta-grid {
            display: grid;
            gap: 14px;
        }
        .legacy-product-meta-card {
            background: linear-gradient(180deg, #fffdfa 0%, #f7f4ed 100%);
            border: 1px solid #ede3d3;
            border-radius: 18px;
            padding: 18px;
        }
        .legacy-product-meta-card strong {
            color: #345058;
            display: block;
            font-size: 12px;
            letter-spacing: 0.12em;
            margin-bottom: 8px;
            text-transform: uppercase;
        }
        .legacy-product-meta-card div,
        .legacy-product-meta-card span {
            color: #455863;
            font-size: 16px;
            line-height: 1.7;
        }
        .legacy-product-video {
            aspect-ratio: 16 / 9;
            background: #11181d;
            border-radius: 18px;
            overflow: hidden;
            width: 100%;
        }
        .legacy-product-video iframe,
        .legacy-product-video video {
            border: 0;
            display: block;
            height: 100%;
            width: 100%;
        }
        .legacy-product-section-title {
            color: var(--legacy-ink);
            font-size: 28px;
            font-weight: 700;
            margin: 14px 0 18px;
        }
        .legacy-recommend-card {
            background: #fff;
            border: 1px solid #ece5d8;
            border-radius: 22px;
            box-shadow: 0 16px 30px rgba(25, 37, 46, 0.06);
            height: 100%;
            overflow: hidden;
            transition: transform 0.18s ease, box-shadow 0.18s ease;
        }
        .legacy-recommend-card:hover {
            box-shadow: 0 22px 36px rgba(25, 37, 46, 0.10);
            transform: translateY(-4px);
        }
        .legacy-recommend-image {
            background: linear-gradient(180deg, #faf7ef 0%, #f0eadf 100%);
            display: block;
            padding: 18px;
        }
        .legacy-recommend-image img {
            border-radius: 14px;
            display: block;
            height: 250px;
            margin: 0 auto;
            object-fit: contain;
            width: 100%;
        }
        .legacy-recommend-body {
            padding: 18px 18px 20px;
        }
        .legacy-recommend-body h3 {
            font-size: 18px;
            line-height: 1.45;
            margin: 0 0 10px;
        }
        .legacy-recommend-body h3 a {
            color: var(--legacy-ink);
        }
        .legacy-recommend-body h3 a:hover {
            color: var(--legacy-accent-dark);
            text-decoration: none;
        }
        .legacy-recommend-price {
            margin-bottom: 14px;
        }
        .legacy-recommend-price del {
            color: #9199a1;
            margin-right: 8px;
        }
        .legacy-recommend-price ins {
            color: var(--legacy-highlight);
            font-size: 22px;
            font-weight: 700;
            text-decoration: none;
        }
        .legacy-recommend-link {
            color: var(--legacy-accent-dark);
            font-size: 13px;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
        }
        .legacy-recommend-link:hover {
            color: var(--legacy-accent-dark);
            text-decoration: none;
        }
        @media (max-width: 1199px) {
            .legacy-product-title { font-size: 34px; }
        }
        @media (max-width: 991px) {
            .legacy-product-hero { padding: 26px; }
            .legacy-product-summary { padding: 22px 0 0; }
            .legacy-product-layout { grid-template-columns: 1fr; }
        }
        @media (max-width: 767px) {
            .legacy-product-title { font-size: 28px; }
            .legacy-product-price-row ins { font-size: 31px; }
            .legacy-product-panel-head,
            .legacy-product-panel-body { padding-left: 18px; padding-right: 18px; }
            .legacy-recommend-image img { height: 220px; }
        }


/* Source: Views/Products/ModernDetails.cshtml */
/* Keep the modern product experience self-contained so legacy product pages remain visually unchanged. */
        .modern-product-shell { padding: 12px 0 30px; }
        .modern-product-hero {
            background: linear-gradient(135deg, #f6f4ee 0%, #ffffff 52%, #eef7f4 100%);
            border: 1px solid #e7e0d0;
            border-radius: 26px;
            box-shadow: 0 24px 50px rgba(35, 43, 61, 0.08);
            overflow: hidden;
            padding: 42px;
        }
        .modern-product-kicker {
            color: #2d7c6f;
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 0.18em;
            text-transform: uppercase;
        }
        .modern-product-title {
            color: #1e2f2d;
            font-size: 42px;
            font-weight: 700;
            line-height: 1.12;
            margin: 12px 0 16px;
        }
        .modern-product-summary {
            color: #55636d;
            font-size: 17px;
            line-height: 1.8;
            margin-bottom: 22px;
        }
        .modern-product-facts {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            margin-bottom: 18px;
        }
        .modern-product-fact {
            background: rgba(255, 255, 255, 0.92);
            border: 1px solid #d9e7df;
            border-radius: 999px;
            color: #2c4648;
            font-size: 13px;
            font-weight: 600;
            padding: 10px 14px;
        }
        .modern-product-tags {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            margin-bottom: 26px;
        }
        .modern-product-tag {
            background: #f0f7f5;
            border: 1px solid #d1e5df;
            border-radius: 999px;
            color: #1f6660;
            display: inline-block;
            font-size: 13px;
            font-weight: 700;
            padding: 9px 14px;
            text-decoration: none;
        }
        .modern-product-tag:hover {
            background: #e6f2ef;
            color: #164c48;
            text-decoration: none;
        }
        .modern-product-price-wrap {
            align-items: end;
            display: flex;
            gap: 12px;
            margin-bottom: 24px;
        }
        .modern-product-price-wrap del {
            color: #8b949d;
            font-size: 20px;
        }
        .modern-product-price-wrap ins {
            color: #b44c27;
            font-size: 34px;
            font-weight: 700;
            text-decoration: none;
        }
        .modern-product-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 16px;
        }
        .modern-product-note {
            color: #607070;
            font-size: 13px;
            margin: 0;
        }
        .modern-product-cover {
            background: linear-gradient(180deg, #fffdf7 0%, #f0ece2 100%);
            border: 1px solid #efe7d5;
            border-radius: 24px;
            box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
            padding: 22px;
            position: relative;
        }
        .modern-product-cover img {
            border-radius: 16px;
            box-shadow: 0 22px 40px rgba(22, 34, 43, 0.18);
            width: 100%;
        }
        .modern-product-card {
            background: #fff;
            border: 1px solid #ece8de;
            border-radius: 22px;
            box-shadow: 0 20px 40px rgba(28, 32, 38, 0.05);
            margin-top: 28px;
            padding: 28px;
        }
        .modern-product-card h3 {
            color: #233441;
            margin-bottom: 14px;
        }
        .modern-product-description {
            color: #34444f;
            font-size: 16px;
            line-height: 1.9;
        }
        .modern-product-video-frame {
            aspect-ratio: 16 / 9;
            background: #0f171d;
            border-radius: 18px;
            overflow: hidden;
            width: 100%;
        }
        .modern-product-video-frame iframe {
            border: 0;
            height: 100%;
            width: 100%;
        }
        .modern-product-video-frame video {
            display: block;
            height: 100%;
            width: 100%;
        }
        .modern-product-grid {
            display: grid;
            gap: 14px;
            grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
            margin-top: 20px;
        }
        .modern-product-grid .modern-product-meta {
            background: #f9f8f3;
            border: 1px solid #ebe5d7;
            border-radius: 18px;
            min-height: 120px;
            padding: 18px;
        }
        .modern-product-grid strong {
            color: #294247;
            display: block;
            font-size: 12px;
            letter-spacing: 0.12em;
            margin-bottom: 8px;
            text-transform: uppercase;
        }
        .modern-product-grid span,
        .modern-product-grid .modern-product-meta div {
            color: #455863;
            font-size: 16px;
            line-height: 1.6;
        }
        @media (max-width: 991px) {
            .modern-product-hero { padding: 28px; }
            .modern-product-title { font-size: 34px; }
        }
        @media (max-width: 767px) {
            .modern-product-title { font-size: 28px; }
            .modern-product-price-wrap ins { font-size: 28px; }
            .modern-product-cover { margin-top: 24px; }
        }


/* Source: Views/Products/TagDirectory.cshtml */
:root {
            --pc-bg: #f6f2e8;
            --pc-surface: #ffffff;
            --pc-border: rgba(17, 24, 39, 0.08);
            --pc-text: #102039;
            --pc-muted: #5c6b7d;
            --pc-gold: #f4bf55;
            --pc-gold-deep: #d58a18;
            --pc-blue: #12345a;
            --pc-shadow: 0 22px 60px rgba(15, 23, 42, 0.08);
        }

        body {
            background:
                radial-gradient(circle at top right, rgba(212, 160, 60, 0.16), transparent 22%),
                linear-gradient(180deg, #fcfaf4 0%, #f6f2e8 100%);
        }

        .product-directory-page {
            padding: 24px 0 56px;
        }

        .product-directory-page-host,
        .product-directory-page-host > .content-wrap,
        .product-directory-page-host > .content-wrap > .container {
            width: 100% !important;
        }

        .product-directory-page-host > .content-wrap > .container {
            max-width: 1320px !important;
        }

        .product-directory-hero {
            background: var(--pc-surface);
            border: 1px solid var(--pc-border);
            border-radius: 28px;
            box-shadow: var(--pc-shadow);
            margin-bottom: 26px;
            overflow: hidden;
            padding: 28px;
            position: relative;
        }

        .product-directory-hero::before {
            background: linear-gradient(90deg, rgba(244, 191, 85, 0.18), rgba(18, 52, 90, 0.02));
            content: "";
            inset: 0 auto auto 0;
            height: 100%;
            position: absolute;
            width: 48%;
        }

        .product-directory-breadcrumbs,
        .product-directory-hero-grid {
            position: relative;
            z-index: 1;
        }

        .product-directory-breadcrumbs {
            color: var(--pc-muted);
            font-size: 13px;
            margin-bottom: 18px;
        }

        .product-directory-breadcrumbs a {
            color: var(--pc-blue);
        }

        .product-directory-hero-grid {
            align-items: start;
            display: grid;
            gap: 20px;
            grid-template-columns: minmax(0, 1.45fr) minmax(260px, 0.75fr);
        }

        .product-directory-label {
            color: var(--pc-gold-deep);
            display: inline-block;
            font-size: 12px;
            font-weight: 800;
            letter-spacing: 0.18em;
            margin-bottom: 12px;
            text-transform: uppercase;
        }

        .product-directory-hero h1 {
            color: var(--pc-text);
            font-family: Georgia, "Times New Roman", serif;
            font-size: 42px;
            line-height: 1.1;
            margin: 0 0 14px;
        }

        .product-directory-hero p {
            color: var(--pc-muted);
            font-size: 17px;
            line-height: 1.7;
            margin: 0;
            max-width: 860px;
        }

        .product-directory-stats {
            background: linear-gradient(180deg, #fffdfa 0%, #f8f3e9 100%);
            border: 1px solid #eadfca;
            border-radius: 22px;
            display: grid;
            gap: 14px;
            padding: 20px;
        }

        .product-directory-stat {
            border-bottom: 1px solid rgba(18, 52, 90, 0.08);
            padding-bottom: 12px;
        }

        .product-directory-stat:last-child {
            border-bottom: 0;
            padding-bottom: 0;
        }

        .product-directory-stat strong {
            color: var(--pc-text);
            display: block;
            font-size: 28px;
            line-height: 1;
            margin-bottom: 5px;
        }

        .product-directory-stat span {
            color: var(--pc-muted);
            display: block;
            font-size: 13px;
            line-height: 1.5;
        }

        .product-directory-search {
            background: var(--pc-surface);
            border: 1px solid var(--pc-border);
            border-radius: 24px;
            box-shadow: 0 16px 40px rgba(15, 23, 42, 0.05);
            margin-bottom: 24px;
            padding: 18px;
        }

        .product-directory-search form {
            align-items: end;
            display: grid;
            gap: 14px;
            grid-template-columns: minmax(0, 1fr) auto;
        }

        .product-directory-search label {
            color: var(--pc-text);
            display: block;
            font-size: 13px;
            font-weight: 800;
            letter-spacing: 0.08em;
            margin-bottom: 8px;
            text-transform: uppercase;
        }

        .product-directory-search input[type="text"] {
            background: #fffdf9;
            border: 1px solid #d9e0eb;
            border-radius: 999px;
            color: var(--pc-text);
            font-size: 15px;
            min-height: 52px;
            padding: 0 18px;
            width: 100%;
        }

        .product-directory-search-actions {
            align-items: center;
            display: flex;
            gap: 10px;
        }

        .product-directory-search-btn {
            align-items: center;
            background: linear-gradient(180deg, #17324f 0%, #10233b 100%);
            border: 0;
            border-radius: 999px;
            color: #ffffff;
            display: inline-flex;
            font-size: 14px;
            font-weight: 700;
            justify-content: center;
            min-height: 52px;
            padding: 0 22px;
        }

        .product-directory-search-clear {
            color: var(--pc-blue);
            font-size: 14px;
            font-weight: 700;
            white-space: nowrap;
        }

        .product-directory-grid {
            display: grid;
            gap: 22px;
            grid-template-columns: repeat(4, minmax(0, 1fr));
        }

        .product-directory-card {
            background: var(--pc-surface);
            border: 1px solid var(--pc-border);
            border-radius: 22px;
            box-shadow: 0 18px 48px rgba(15, 23, 42, 0.06);
            display: grid;
            grid-template-rows: auto 1fr;
            overflow: hidden;
        }

        .product-directory-card-media {
            background: linear-gradient(180deg, #fffdfa 0%, #f7f1e7 100%);
            display: flex;
            justify-content: center;
            padding: 18px 18px 10px;
        }

        .product-directory-card-media img {
            border-radius: 14px;
            box-shadow: 0 16px 36px rgba(15, 23, 42, 0.14);
            max-height: 260px;
            max-width: 100%;
        }

        .product-directory-card-body {
            display: grid;
            gap: 12px;
            padding: 18px;
        }

        .product-directory-card-format {
            color: var(--pc-gold-deep);
            font-size: 11px;
            font-weight: 800;
            letter-spacing: 0.12em;
            text-transform: uppercase;
        }

        .product-directory-card h2 {
            color: var(--pc-text);
            font-size: 20px;
            line-height: 1.35;
            margin: 0;
        }

        .product-directory-card h2 a {
            color: inherit;
        }

        .product-directory-card-copy {
            color: var(--pc-muted);
            font-size: 15px;
            line-height: 1.7;
            min-height: 70px;
        }

        .product-directory-card-price {
            align-items: baseline;
            color: var(--pc-text);
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
        }

        .product-directory-card-price strong {
            font-size: 24px;
            line-height: 1;
        }

        .product-directory-card-price del {
            color: #8c96a6;
            font-size: 14px;
        }

        .product-directory-card-price span {
            color: #137333;
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 0.04em;
            text-transform: uppercase;
        }

        .product-directory-card-actions {
            display: grid;
            gap: 10px;
            grid-template-columns: 1fr 1fr;
            margin-top: auto;
        }

        .product-directory-btn {
            align-items: center;
            border-radius: 999px;
            display: inline-flex;
            font-size: 14px;
            font-weight: 700;
            justify-content: center;
            min-height: 46px;
            padding: 0 18px;
            text-align: center;
        }

        .product-directory-btn.primary {
            background: linear-gradient(180deg, #ffd76b 0%, #f4b544 100%);
            color: #1f2937;
        }

        .product-directory-btn.secondary {
            background: #ffffff;
            border: 1px solid rgba(18, 52, 90, 0.14);
            color: var(--pc-blue);
        }

        .product-directory-empty {
            background: var(--pc-surface);
            border: 1px solid var(--pc-border);
            border-radius: 24px;
            box-shadow: var(--pc-shadow);
            padding: 34px;
            text-align: center;
        }

        .product-directory-empty h2 {
            color: var(--pc-text);
            font-size: 28px;
            margin: 0 0 10px;
        }

        .product-directory-empty p {
            color: var(--pc-muted);
            font-size: 16px;
            line-height: 1.7;
            margin: 0 auto;
            max-width: 640px;
        }

        .product-directory-pagination {
            align-items: center;
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            justify-content: center;
            margin-top: 32px;
        }

        .product-directory-page-link {
            align-items: center;
            background: var(--pc-surface);
            border: 1px solid rgba(18, 52, 90, 0.12);
            border-radius: 999px;
            color: var(--pc-blue);
            display: inline-flex;
            font-size: 14px;
            font-weight: 700;
            justify-content: center;
            min-height: 42px;
            min-width: 42px;
            padding: 0 16px;
        }

        .product-directory-page-link.is-current {
            background: linear-gradient(180deg, #17324f 0%, #10233b 100%);
            border-color: transparent;
            color: #ffffff;
        }

        .product-directory-page-link.is-arrow {
            min-width: 96px;
        }

        @media (max-width: 1199px) {
            .product-directory-grid {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }
        }

        @media (max-width: 991px) {
            .product-directory-hero-grid {
                grid-template-columns: 1fr;
            }

            .product-directory-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }

        @media (max-width: 767px) {
            .product-directory-page {
                padding: 18px 0 36px;
            }

            .product-directory-hero {
                border-radius: 22px;
                padding: 22px 18px;
            }

            .product-directory-hero h1 {
                font-size: 32px;
            }

            .product-directory-hero p {
                font-size: 15px;
            }

            .product-directory-search form {
                grid-template-columns: 1fr;
            }

            .product-directory-search-actions {
                justify-content: stretch;
            }

            .product-directory-search-btn {
                width: 100%;
            }

            .product-directory-grid {
                grid-template-columns: 1fr;
            }

            .product-directory-card-actions {
                grid-template-columns: 1fr;
            }

            .product-directory-page-link.is-arrow {
                min-width: 42px;
                padding: 0 14px;
            }
        }


/* Source: Views/Products/TagCategory.cshtml */
:root {
            --tag-bg: #f6f2e8;
            --tag-surface: #ffffff;
            --tag-surface-soft: #fdfaf3;
            --tag-border: rgba(17, 24, 39, 0.08);
            --tag-border-strong: rgba(17, 24, 39, 0.14);
            --tag-text: #102039;
            --tag-muted: #5c6b7d;
            --tag-gold: #f4bf55;
            --tag-gold-deep: #d58a18;
            --tag-blue: #12345a;
            --tag-shadow: 0 22px 60px rgba(15, 23, 42, 0.08);
        }

        body {
            background:
                radial-gradient(circle at top right, rgba(212, 160, 60, 0.16), transparent 22%),
                linear-gradient(180deg, #fcfaf4 0%, #f6f2e8 100%);
        }

        .tag-category-page {
            padding: 24px 0 56px;
        }

        .tag-category-page-host,
        .tag-category-page-host > .content-wrap,
        .tag-category-page-host > .content-wrap > .container {
            width: 100% !important;
        }

        .tag-category-page-host > .content-wrap > .container {
            max-width: 1320px !important;
        }

        .tag-category-hero {
            background: var(--tag-surface);
            border: 1px solid var(--tag-border);
            border-radius: 28px;
            box-shadow: var(--tag-shadow);
            margin-bottom: 28px;
            overflow: hidden;
            padding: 28px;
            position: relative;
        }

        .tag-category-breadcrumbs,
        .tag-category-hero-grid {
            position: relative;
            z-index: 1;
        }

        .tag-category-breadcrumbs {
            color: var(--tag-muted);
            font-size: 13px;
            margin-bottom: 18px;
        }

        .tag-category-breadcrumbs a {
            color: var(--tag-blue);
        }

        .tag-category-hero-grid {
            align-items: start;
            display: grid;
            gap: 20px;
            grid-template-columns: minmax(0, 1.45fr) minmax(260px, 0.75fr);
        }

        .tag-category-label {
            color: var(--tag-gold-deep);
            display: inline-block;
            font-size: 12px;
            font-weight: 800;
            letter-spacing: 0.18em;
            margin-bottom: 12px;
            text-transform: uppercase;
        }

        .tag-category-hero h1 {
            color: var(--tag-text);
            font-family: Georgia, "Times New Roman", serif;
            font-size: 42px;
            line-height: 1.1;
            margin: 0 0 14px;
        }

        .tag-category-hero p {
            color: var(--tag-muted);
            font-size: 17px;
            line-height: 1.7;
            margin: 0;
            max-width: 860px;
        }

        .tag-category-chip-row {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            margin-top: 18px;
        }

        .tag-category-chip-row span {
            background: #eef4ff;
            border: 1px solid #d6e4ff;
            border-radius: 999px;
            color: #24456f;
            display: inline-flex;
            font-size: 12px;
            font-weight: 700;
            padding: 8px 12px;
        }

        .tag-category-stats {
            background: linear-gradient(180deg, #fffdfa 0%, #f8f3e9 100%);
            border: 1px solid #eadfca;
            border-radius: 22px;
            display: grid;
            gap: 14px;
            padding: 20px;
        }

        .tag-category-search {
            background: var(--tag-surface);
            border: 1px solid var(--tag-border);
            border-radius: 24px;
            box-shadow: 0 16px 40px rgba(15, 23, 42, 0.05);
            margin-bottom: 24px;
            padding: 18px;
        }

        .tag-category-search form {
            align-items: end;
            display: grid;
            gap: 14px;
            grid-template-columns: minmax(0, 1fr) auto;
        }

        .tag-category-search label {
            color: var(--tag-text);
            display: block;
            font-size: 13px;
            font-weight: 800;
            letter-spacing: 0.08em;
            margin-bottom: 8px;
            text-transform: uppercase;
        }

        .tag-category-search input[type="text"] {
            background: #fffdf9;
            border: 1px solid #d9e0eb;
            border-radius: 999px;
            color: var(--tag-text);
            font-size: 15px;
            min-height: 52px;
            padding: 0 18px;
            width: 100%;
        }

        .tag-category-search-actions {
            align-items: center;
            display: flex;
            gap: 10px;
        }

        .tag-category-search-btn {
            align-items: center;
            background: linear-gradient(180deg, #17324f 0%, #10233b 100%);
            border: 0;
            border-radius: 999px;
            color: #ffffff;
            display: inline-flex;
            font-size: 14px;
            font-weight: 700;
            justify-content: center;
            min-height: 52px;
            padding: 0 22px;
        }

        .tag-category-search-clear {
            color: var(--tag-blue);
            font-size: 14px;
            font-weight: 700;
            white-space: nowrap;
        }

        .tag-category-stat {
            border-bottom: 1px solid rgba(18, 52, 90, 0.08);
            padding-bottom: 12px;
        }

        .tag-category-stat:last-child {
            border-bottom: 0;
            padding-bottom: 0;
        }

        .tag-category-stat strong {
            color: var(--tag-text);
            display: block;
            font-size: 28px;
            line-height: 1;
            margin-bottom: 5px;
        }

        .tag-category-stat span {
            color: var(--tag-muted);
            display: block;
            font-size: 13px;
            line-height: 1.5;
        }

        .tag-category-grid {
            display: grid;
            gap: 22px;
            grid-template-columns: repeat(4, minmax(0, 1fr));
        }

        .tag-category-card {
            background: var(--tag-surface);
            border: 1px solid var(--tag-border);
            border-radius: 22px;
            box-shadow: 0 18px 48px rgba(15, 23, 42, 0.06);
            display: grid;
            grid-template-rows: auto 1fr;
            overflow: hidden;
        }

        .tag-category-card-media {
            background: linear-gradient(180deg, #fffdfa 0%, #f7f1e7 100%);
            display: flex;
            justify-content: center;
            padding: 18px 18px 10px;
        }

        .tag-category-card-media img {
            border-radius: 14px;
            box-shadow: 0 16px 36px rgba(15, 23, 42, 0.14);
            max-height: 260px;
            max-width: 100%;
        }

        .tag-category-card-body {
            display: grid;
            gap: 12px;
            padding: 18px;
        }

        .tag-category-card-format {
            color: var(--tag-gold-deep);
            font-size: 11px;
            font-weight: 800;
            letter-spacing: 0.12em;
            text-transform: uppercase;
        }

        .tag-category-card h2 {
            color: var(--tag-text);
            font-size: 20px;
            line-height: 1.35;
            margin: 0;
        }

        .tag-category-card h2 a {
            color: inherit;
        }

        .tag-category-card-copy {
            color: var(--tag-muted);
            font-size: 15px;
            line-height: 1.7;
            min-height: 70px;
        }

        .tag-category-card-price {
            align-items: baseline;
            color: var(--tag-text);
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
        }

        .tag-category-card-price strong {
            font-size: 24px;
            line-height: 1;
        }

        .tag-category-card-price del {
            color: #8c96a6;
            font-size: 14px;
        }

        .tag-category-card-price span {
            color: #137333;
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 0.04em;
            text-transform: uppercase;
        }

        .tag-category-card-actions {
            display: grid;
            gap: 10px;
            grid-template-columns: 1fr 1fr;
            margin-top: auto;
        }

        .tag-category-btn {
            align-items: center;
            border-radius: 999px;
            display: inline-flex;
            font-size: 14px;
            font-weight: 700;
            justify-content: center;
            min-height: 46px;
            padding: 0 18px;
            text-align: center;
        }

        .tag-category-btn.primary {
            background: linear-gradient(180deg, #ffd76b 0%, #f4b544 100%);
            color: #1f2937;
        }

        .tag-category-btn.secondary {
            background: #ffffff;
            border: 1px solid rgba(18, 52, 90, 0.14);
            color: var(--tag-blue);
        }

        .tag-category-empty {
            background: var(--tag-surface);
            border: 1px solid var(--tag-border);
            border-radius: 24px;
            box-shadow: var(--tag-shadow);
            padding: 34px;
            text-align: center;
        }

        .tag-category-empty h2 {
            color: var(--tag-text);
            font-size: 28px;
            margin: 0 0 10px;
        }

        .tag-category-empty p {
            color: var(--tag-muted);
            font-size: 16px;
            line-height: 1.7;
            margin: 0 auto;
            max-width: 640px;
        }

        .tag-category-pagination {
            align-items: center;
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            justify-content: center;
            margin-top: 32px;
        }

        .tag-category-page-link {
            align-items: center;
            background: var(--tag-surface);
            border: 1px solid rgba(18, 52, 90, 0.12);
            border-radius: 999px;
            color: var(--tag-blue);
            display: inline-flex;
            font-size: 14px;
            font-weight: 700;
            justify-content: center;
            min-height: 42px;
            min-width: 42px;
            padding: 0 16px;
        }

        .tag-category-page-link.is-current {
            background: linear-gradient(180deg, #17324f 0%, #10233b 100%);
            border-color: transparent;
            color: #ffffff;
        }

        .tag-category-page-link.is-arrow {
            min-width: 96px;
        }

        @media (max-width: 1199px) {
            .tag-category-grid {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }
        }

        @media (max-width: 991px) {
            .tag-category-hero-grid {
                grid-template-columns: 1fr;
            }

            .tag-category-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }

        @media (max-width: 767px) {
            .tag-category-page {
                padding: 18px 0 36px;
            }

            .tag-category-hero {
                border-radius: 22px;
                padding: 22px 18px;
            }

            .tag-category-hero h1 {
                font-size: 32px;
            }

            .tag-category-hero p {
                font-size: 15px;
            }

            .tag-category-grid {
                grid-template-columns: 1fr;
            }

            .tag-category-search form {
                grid-template-columns: 1fr;
            }

            .tag-category-search-actions {
                justify-content: stretch;
            }

            .tag-category-search-btn {
                width: 100%;
            }

            .tag-category-card-actions {
                grid-template-columns: 1fr;
            }

            .tag-category-page-link.is-arrow {
                min-width: 42px;
                padding: 0 14px;
            }
        }
