  :root {
            /* Gunmetal core palette */
            --gm-bg-deep: #1a1c1f;
            --gm-bg: #212428;
            --gm-bg-elevated: #282b30;
            --gm-bg-card: #2a2d33;
            --gm-bg-card-hover: #2f3239;
            --gm-bg-surface: #32353c;
            --gm-bg-input: #1e2024;
            --gm-border: #3a3d44;
            --gm-border-light: #44474e;
            --gm-border-hover: #5a5d65;
            --gm-text-primary: #e8eaed;
            --gm-text-secondary: #9a9da3;
            --gm-text-muted: #6b6e75;
            --gm-accent: #8b929a;
            --gm-accent-bright: #b0b7bf;
            --gm-accent-subtle: #5c6169;
            --gm-accent-blue: #7b8c9e;
            --gm-accent-steel: #88959f;
            --gm-success: #6b8a7a;
            --gm-premium: #c0a870;
            --gm-premium-bg: rgba(192, 168, 112, 0.1);
            --gm-premium-border: rgba(192, 168, 112, 0.35);
            --gm-pro: #8899aa;
            --gm-pro-bg: rgba(136, 153, 170, 0.1);
            --gm-free: #7a8a7a;
            --gm-free-bg: rgba(122, 138, 122, 0.08);
            --gm-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.4);
            --gm-shadow-md: 0 6px 20px rgba(0, 0, 0, 0.5);
            --gm-shadow-lg: 0 16px 40px rgba(0, 0, 0, 0.6);
            --gm-shadow-glow: 0 0 0 1px rgba(255, 255, 255, 0.04), 0 8px 32px rgba(0, 0, 0, 0.55);
            --gm-radius-sm: 6px;
            --gm-radius: 10px;
            --gm-radius-lg: 16px;
            --gm-radius-xl: 20px;
            --gm-transition: 0.22s cubic-bezier(0.4, 0, 0.2, 1);
        }

        * {
            box-sizing: border-box;
        }

        body {
            background: var(--gm-bg-deep);
            background-image:
                radial-gradient(ellipse at 25% 5%, rgba(120, 135, 150, 0.06) 0%, transparent 55%),
                radial-gradient(ellipse at 75% 90%, rgba(100, 110, 120, 0.04) 0%, transparent 55%),
                radial-gradient(ellipse at 50% 50%, rgba(60, 65, 72, 0.3) 0%, transparent 80%);
            color: var(--gm-text-primary);
            font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
            min-height: 100vh;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            letter-spacing: -0.01em;
        }
		
		::placeholder {
		  color: #FFF;
		  font-style: italic;
		  opacity: 1; /* Ensures text is fully opaque in Firefox */
		}
		
        /* ── scrollbar ── */
        ::-webkit-scrollbar {
            width: 6px;
            height: 6px;
        }
        ::-webkit-scrollbar-track {
            background: transparent;
        }
        ::-webkit-scrollbar-thumb {
            background: var(--gm-border);
            border-radius: 10px;
        }
        ::-webkit-scrollbar-thumb:hover {
            background: var(--gm-border-hover);
        }
		
		.text-muted {
		color: var(--gm-text-secondary) !important;
		}
		
		.card-img-area img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}
		
        /* ── NAVBAR ── */
        .navbar {
            background: rgba(26, 28, 31, 0.85) !important;
		    background-image: url('https://fabhen.com/assets/images/bgoutline.png') !important;
			background-repeat: no-repeat !important;
			background-position: center !important;   /* or "center top" */
            backdrop-filter: blur(18px) saturate(150%);
            -webkit-backdrop-filter: blur(18px) saturate(150%);
            border-bottom: 1px solid var(--gm-border);
            box-shadow: var(--gm-shadow-sm);
            padding: 0.7rem 0;
            z-index: 1030;
            transition: var(--gm-transition);
        }
        .navbar-brand {
            font-weight: 800;
            font-size: 1.6rem;
            letter-spacing: -0.5px;
            color: var(--gm-text-primary) !important;
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }
        .navbar-brand .brand-dot {
            width: 9px;
            height: 9px;
            background: var(--gm-accent-bright);
            border-radius: 50%;
            display: inline-block;
            box-shadow: 0 0 12px rgba(176, 183, 191, 0.5);
            animation: pulse-dot 2.5s ease-in-out infinite;
        }
        @keyframes pulse-dot {
            0%,
            100% {
                box-shadow: 0 0 8px rgba(176, 183, 191, 0.4);
            }
            50% {
                box-shadow: 0 0 20px rgba(176, 183, 191, 0.8);
            }
        }
        .navbar-nav .nav-link {
            color: var(--gm-text-secondary) !important;
            font-weight: 500;
            font-size: 0.9rem;
            padding: 0.5rem 1rem !important;
            border-radius: var(--gm-radius);
            transition: var(--gm-transition);
            letter-spacing: 0.2px;
        }
        .navbar-nav .nav-link:hover,
        .navbar-nav .nav-link.active {
            color: var(--gm-text-primary) !important;
            background: var(--gm-bg-surface);
        }
        .nav-pill-premium {
            background: var(--gm-premium-bg) !important;
            border: 1px solid var(--gm-premium-border) !important;
            color: var(--gm-premium) !important;
            font-weight: 600 !important;
            letter-spacing: 0.3px;
            font-size: 0.82rem !important;
            border-radius: 50px !important;
            padding: 0.4rem 1.2rem !important;
            transition: var(--gm-transition);
        }
        .nav-pill-premium:hover {
            background: rgba(192, 168, 112, 0.2) !important;
            box-shadow: 0 0 20px rgba(192, 168, 112, 0.2);
        }
        .search-control {
            background: var(--gm-bg-input) !important;
            border: 1px solid var(--gm-border) !important;
            color: #FFF !important;
            border-radius: 10px !important;
            padding: 0.55rem 1.2rem !important;
            font-size: 0.9rem !important;
            transition: var(--gm-transition);
            min-width: 100px;
        }
        .search-control:focus {
            border-color: var(--gm-accent-bright) !important;
            box-shadow: 0 0 0 3px rgba(176, 183, 191, 0.08) !important;
            background: var(--gm-bg-input) !important;
        }
        .btn-search {
            background: var(--gm-bg-surface);
            border: 1px solid var(--gm-border);
            color: var(--gm-text-primary);
            border-radius: 50px;
            padding: 0.55rem 1.3rem;
            font-weight: 500;
            transition: var(--gm-transition);
            white-space: nowrap;
        }
        .btn-search:hover {
            background: var(--gm-border-hover);
            border-color: var(--gm-border-hover);
            color: #fff;
        }
        .navbar-toggler {
            border: 1px solid var(--gm-border);
            border-radius: var(--gm-radius);
            padding: 0.4rem 0.7rem;
        }
        .navbar-toggler-icon {
            filter: invert(0.85);
        }

        /* ── SUBSCRIPTION BANNER ── */
        .sub-banner {
            background: var(--gm-bg-elevated);
            border: 1px solid var(--gm-border);
            border-radius: var(--gm-radius-lg);
            padding: 1rem 1.5rem;
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 1rem;
            margin-bottom: 1.8rem;
            box-shadow: var(--gm-shadow-sm);
        }
        .sub-banner .tier-badge {
            font-family: 'JetBrains Mono', monospace;
            font-weight: 600;
            font-size: 0.75rem;
            letter-spacing: 0.6px;
            text-transform: uppercase;
            padding: 0.35rem 0.9rem;
            border-radius: 50px;
            border: 1px solid;
        }
        .tier-badge.pro {
            background: var(--gm-pro-bg);
            border-color: rgba(136, 153, 170, 0.4);
            color: var(--gm-pro);
        }
        .tier-badge.premium {
            background: var(--gm-premium-bg);
            border-color: var(--gm-premium-border);
            color: var(--gm-premium);
        }
        .btn-upgrade {
            background: var(--gm-accent-steel);
            color: #1a1c1f;
            font-weight: 700;
            border: none;
            border-radius: 50px;
            padding: 0.5rem 1.4rem;
            font-size: 0.85rem;
            letter-spacing: 0.3px;
            transition: var(--gm-transition);
            white-space: nowrap;
        }
        .btn-upgrade:hover {
            background: var(--gm-accent-bright);
            transform: translateY(-1px);
            box-shadow: 0 6px 20px rgba(176, 183, 191, 0.25);
            color: #111;
        }

        /* ── SIDEBAR ── */
        .filter-sidebar {
            background: var(--gm-bg-elevated);
            border: 1px solid var(--gm-border);
            border-radius: var(--gm-radius-xl);
            padding: 1.5rem 1.3rem;
            box-shadow: var(--gm-shadow-md);
            position: sticky;
            top: 100px;
            transition: var(--gm-transition);
        }
        .filter-sidebar h6 {
            font-weight: 700;
            font-size: 0.78rem;
            letter-spacing: 1px;
            text-transform: uppercase;
            color: var(--gm-text-muted);
            margin-bottom: 1rem;
            padding-bottom: 0.7rem;
            border-bottom: 1px solid var(--gm-border);
        }
        .filter-list {
            list-style: none;
            padding-left: 0;
            margin-bottom: 1.2rem;
        }
        .filter-list li {
            margin-bottom: 0.35rem;
        }
        .filter-list a {
            color: var(--gm-text-secondary);
            text-decoration: none;
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 0.45rem 0.6rem;
            border-radius: var(--gm-radius-sm);
            transition: var(--gm-transition);
            font-size: 0.88rem;
            font-weight: 450;
        }
        .filter-list a:hover {
            background: var(--gm-bg-surface);
            color: var(--gm-text-primary);
        }
        .filter-list a.active-filter {
            background: var(--gm-bg-surface);
            color: #fff;
            font-weight: 600;
            border-left: 3px solid var(--gm-accent-bright);
            padding-left: 0.8rem;
        }
        .filter-list .count {
            font-size: 0.72rem;
            color: var(--gm-text-muted);
            font-family: 'JetBrains Mono', monospace;
            background: var(--gm-bg-input);
            padding: 0.15rem 0.55rem;
            border-radius: 20px;
        }
        .format-check {
            display: flex;
            align-items: center;
            gap: 0.55rem;
            margin-bottom: 0.5rem;
            cursor: pointer;
            padding: 0.3rem 0.5rem;
            border-radius: var(--gm-radius-sm);
            transition: var(--gm-transition);
        }
        .format-check:hover {
            background: var(--gm-bg-surface);
        }
        .format-check input[type="checkbox"] {
            accent-color: var(--gm-accent-bright);
            width: 1rem;
            height: 1rem;
            cursor: pointer;
            border-radius: 3px;
        }
        .format-check label {
            color: var(--gm-text-secondary);
            cursor: pointer;
            font-size: 0.85rem;
            flex: 1;
        }
        .btn-apply-filters {
            background: var(--gm-bg-surface);
            border: 1px solid var(--gm-border);
            color: var(--gm-text-primary);
            border-radius: 50px;
            padding: 0.55rem 1rem;
            font-weight: 600;
            font-size: 0.85rem;
            width: 100%;
            transition: var(--gm-transition);
            letter-spacing: 0.3px;
			text-decoration: none !important;
        }
        .btn-apply-filters:hover {
            background: var(--gm-border-hover);
            border-color: var(--gm-border-hover);
            color: #fff;
            box-shadow: var(--gm-shadow-sm);
        }

        /* ── CARD GRID ── */
        .model-card {
            background: var(--gm-bg-card);
            border: 1px solid var(--gm-border);
            border-radius: var(--gm-radius-lg);
            overflow: hidden;
            transition: var(--gm-transition);
            box-shadow: var(--gm-shadow-sm);
            height: 100%;
            display: flex;
            flex-direction: column;
            position: relative;
        }
        .model-card:hover {
            background: var(--gm-bg-card-hover);
            border-color: var(--gm-border-hover);
            box-shadow: var(--gm-shadow-glow);
            transform: translateY(-3px);
        }
        .model-card .card-img-area {
            background: var(--gm-bg-elevated);
            height: 170px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 3.4rem;
            color: var(--gm-accent-subtle);
            border-bottom: 1px solid var(--gm-border);
            position: relative;
            overflow: hidden;
            transition: var(--gm-transition);
        }
        .model-card:hover .card-img-area {
            color: var(--gm-accent-bright);
        }
        .model-card .card-img-area .img-glow {
            position: absolute;
            width: 100px;
            height: 100px;
            border-radius: 50%;
            background: radial-gradient(circle, rgba(176, 183, 191, 0.12) 0%, transparent 70%);
            pointer-events: none;
            transition: var(--gm-transition);
        }
        .model-card:hover .card-img-area .img-glow {
            background: radial-gradient(circle, rgba(176, 183, 191, 0.22) 0%, transparent 70%);
            transform: scale(1.4);
        }
        .tier-flag {
            position: absolute;
            top: 12px;
            right: 12px;
            font-family: 'JetBrains Mono', monospace;
            font-size: 0.65rem;
            font-weight: 700;
            letter-spacing: 0.8px;
            text-transform: uppercase;
            padding: 0.25rem 0.7rem;
            border-radius: 50px;
            z-index: 2;
            backdrop-filter: blur(6px);
        }
        .tier-flag.free {
            background: var(--gm-free-bg);
            border: 1px solid rgba(122, 138, 122, 0.4);
            color: var(--gm-free);
        }
        .tier-flag.pro {
            background: var(--gm-pro-bg);
            border: 1px solid rgba(136, 153, 170, 0.4);
            color: var(--gm-pro);
        }
        .tier-flag.premium {
            background: var(--gm-premium-bg);
            border: 1px solid var(--gm-premium-border);
            color: var(--gm-premium);
        }
        .card-body {
            padding: 1.1rem 1.2rem;
            flex: 1;
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
        }
        .card-title {
            font-weight: 700;
            font-size: 1.05rem;
            color: var(--gm-text-primary);
            margin: 0;
            letter-spacing: -0.3px;
        }
        .card-desc {
            font-size: 0.8rem;
            color: var(--gm-text-muted);
            margin: 0;
            line-height: 1.4;
        }
        .card-meta {
            font-size: 0.72rem;
            color: var(--gm-text-muted);
            font-family: 'JetBrains Mono', monospace;
            display: flex;
            gap: 0.8rem;
            flex-wrap: wrap;
            letter-spacing: 0.2px;
        }
        .card-meta span {
            display: flex;
            align-items: center;
            gap: 0.3rem;
        }
        .card-meta i {
            color: var(--gm-accent-subtle);
            font-size: 0.7rem;
        }
        .format-tags {
            display: flex;
            gap: 0.4rem;
            flex-wrap: wrap;
        }
        .format-tag {
            font-family: 'JetBrains Mono', monospace;
            font-size: 0.66rem;
            font-weight: 500;
            letter-spacing: 0.4px;
            padding: 0.2rem 0.6rem;
            border-radius: 4px;
            background: var(--gm-bg-input);
            color: var(--gm-text-secondary);
            border: 1px solid var(--gm-border);
        }
        .card-actions {
            display: flex;
            gap: 0.5rem;
            flex-wrap: wrap;
            margin-top: auto;
            padding-top: 0.5rem;
        }
        .btn-download {
            background: var(--gm-bg-surface);
            border: 1px solid var(--gm-border);
            color: var(--gm-text-primary);
            font-weight: 600;
            font-size: 0.78rem;
            padding: 0.45rem 0.9rem;
            border-radius: 50px;
            transition: var(--gm-transition);
            white-space: nowrap;
            letter-spacing: 0.2px;
			text-decoration: none !important;
        }
        .btn-download:hover {
            background: var(--gm-border-hover);
            border-color: var(--gm-border-hover);
            color: #fff;
            box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
        }
        .btn-print-select {
            background: transparent;
            border: 1px solid var(--gm-accent-steel);
            color: var(--gm-accent-steel);
            font-weight: 600;
            font-size: 0.78rem;
            padding: 0.45rem 0.9rem;
            border-radius: 50px;
            transition: var(--gm-transition);
            white-space: nowrap;
            letter-spacing: 0.2px;
            cursor: pointer;
        }
        .btn-print-select:hover {
            background: rgba(136, 149, 159, 0.12);
            border-color: var(--gm-accent-bright);
            color: var(--gm-accent-bright);
            box-shadow: 0 4px 14px rgba(136, 149, 159, 0.2);
        }
        .btn-print-select i {
            margin-right: 0.3rem;
        }

        /* ── PRINT PROVIDER DROPDOWN (inside card) ── */
        .print-provider-row {
            display: none;
            background: var(--gm-bg-input);
            border: 1px solid var(--gm-border);
            border-radius: var(--gm-radius);
            padding: 0.7rem 0.8rem;
            margin-top: 0.3rem;
            animation: fadeInDown 0.2s ease;
        }
        .print-provider-row.show {
            display: block;
        }
        @keyframes fadeInDown {
            from {
                opacity: 0;
                transform: translateY(-6px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
        .provider-option {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 0.5rem 0.6rem;
            border-radius: var(--gm-radius-sm);
            cursor: pointer;
            transition: var(--gm-transition);
            font-size: 0.8rem;
            color: var(--gm-text-secondary);
            border: 1px solid transparent;
            margin-bottom: 0.3rem;
        }
        .provider-option:last-child {
            margin-bottom: 0;
        }
        .provider-option:hover {
            background: var(--gm-bg-surface);
            border-color: var(--gm-border-light);
            color: var(--gm-text-primary);
        }
        .provider-option.selected {
            background: var(--gm-bg-surface);
            border-color: var(--gm-accent-steel);
            color: #fff;
            font-weight: 600;
        }
        .provider-option .prov-name {
            font-weight: 500;
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }
        .provider-option .prov-name .prov-dot {
            width: 7px;
            height: 7px;
            border-radius: 50%;
            display: inline-block;
        }
        .prov-dot.fast {
            background: #7b8c9e;
            box-shadow: 0 0 6px rgba(123, 140, 158, 0.6);
        }
        .prov-dot.quality {
            background: #c0a870;
            box-shadow: 0 0 6px rgba(192, 168, 112, 0.6);
        }
        .prov-dot.value {
            background: #7a8a7a;
            box-shadow: 0 0 6px rgba(122, 138, 122, 0.5);
        }
        .provider-option .prov-price {
            font-family: 'JetBrains Mono', monospace;
            font-weight: 600;
            font-size: 0.85rem;
            color: var(--gm-text-primary);
        }
        .provider-option .prov-detail {
            font-size: 0.68rem;
            color: var(--gm-text-muted);
        }
        .btn-order-print {
            background: var(--gm-accent-steel);
            color: #1a1c1f;
            font-weight: 700;
            border: none;
            border-radius: 50px;
            padding: 0.4rem 0.9rem;
            font-size: 0.75rem;
            letter-spacing: 0.3px;
            transition: var(--gm-transition);
            white-space: nowrap;
            margin-top: 0.3rem;
            width: 100%;
        }
        .btn-order-print:hover {
            background: var(--gm-accent-bright);
            box-shadow: 0 6px 18px rgba(176, 183, 191, 0.3);
            color: #111;
        }
        .btn-order-print:disabled {
            opacity: 0.4;
            cursor: not-allowed;
            pointer-events: none;
        }

        /* ── PAGINATION ── */
        .pagination .page-link {
            background: var(--gm-bg-card);
            color: var(--gm-text-secondary);
            border: 1px solid var(--gm-border);
            border-radius: 50px !important;
            margin: 0 3px;
            padding: 0.45rem 0.9rem;
            font-size: 0.85rem;
            font-weight: 500;
            transition: var(--gm-transition);
        }
        .pagination .page-link:hover {
            background: var(--gm-bg-surface);
            color: #fff;
            border-color: var(--gm-border-hover);
        }
        .pagination .active .page-link {
            background: var(--gm-accent-steel) !important;
            border-color: var(--gm-accent-steel) !important;
            color: #1a1c1f !important;
            font-weight: 700;
        }
        .pagination .disabled .page-link {
            opacity: 0.35;
            pointer-events: none;
        }

        /* ── FOOTER ── */
        footer {
            background: rgba(26, 28, 31, 0.8);
            backdrop-filter: blur(12px);
            border-top: 1px solid var(--gm-border);
            padding: 1.5rem 0;
            color: var(--gm-text-muted);
            font-size: 0.8rem;
            letter-spacing: 0.2px;
        }
        footer a {
            color: var(--gm-text-secondary);
            text-decoration: none;
            transition: var(--gm-transition);
        }
        footer a:hover {
            color: #fff;
        }

        /* ── RESPONSIVE ── */
        @media (max-width: 767px) {
            .filter-sidebar {
                position: static;
                margin-bottom: 1.5rem;
                border-radius: var(--gm-radius-lg);
            }
            .sub-banner {
                flex-direction: column;
                align-items: flex-start;
            }
            .model-card .card-img-area {
                height: 130px;
                font-size: 2.6rem;
            }
            .card-actions {
                flex-direction: column;
            }
            .btn-download,
            .btn-print-select {
                width: 100%;
                text-align: center;
            }
        }