     :root {
            --primary-black: #000000;
            --primary-white: #ffffff;
            --accent-gray: #f5f5f7;
            --text-muted: #6e6e73;
            --transition-smooth: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Inter', sans-serif;
            -webkit-font-smoothing: antialiased;
        }

        body {
            background-color: var(--primary-white);
            color: var(--primary-black);
            overflow-x: hidden;
        }

        .product-section {
            padding: 50px 50px;
            max-width: 1400px;
            margin: 0 auto;
        }

        .section-label {
            text-align: center;
            text-transform: uppercase;
            letter-spacing: 3px;
            font-size: 14px;
            color: var(--text-muted);
            margin-bottom: 50px;
            display: block;
        }

        .product-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 30px;
        }

        .product-card {
            display: flex;
            flex-direction: column;
            transition: var(--transition-smooth);
        }

        .image-box {
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 25px;
            border-radius: 4px;
            overflow: hidden;
        }

        .image-box img {
            height: 100%;
            width: 100%;
            object-fit: contain;
            transition: transform 0.8s ease;
        }

        .product-card:hover .image-box img {
            transform: scale(1.08);
        }

        .product-info h3 {
            font-size: 20px;
            font-weight: 700;
            margin-bottom: 8px;
        }

        .product-price {
            font-size: 16px;
            margin-bottom: 25px;
            font-weight: 500;
        }

        .ex-vat {
            font-weight: 400;
            color: var(--text-muted);
            font-size: 14px;
        }

        /* --- BUTTONS --- */
        .btn-group {
            display: flex;
            flex-direction: column;
            gap: 12px;
        }

        .btn {
            padding: 16px;
            text-transform: uppercase;
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 2px;
            text-decoration: none;
            text-align: center;
            border-radius: 2px;
            transition: 0.3s;
            cursor: pointer;
        }

        .btn-outline {
            border: 1px solid var(--primary-black);
            color: var(--primary-black);
        }

        .btn-outline:hover {
            background: var(--primary-black);
            color: var(--primary-white);
        }

        .btn-solid {
            background: var(--primary-black);
            color: var(--primary-white);
        }

        .btn-solid:hover {
            opacity: 0.85;
        }

        /* --- REVEAL ANIMATION --- */
        .reveal {
            opacity: 0;
            transform: translateY(40px);
            transition: var(--transition-smooth);
        }

        .reveal.active {
            opacity: 1;
            transform: translateY(0);
        }

        @media (max-width: 1024px) {
            .product-grid { grid-template-columns: 1fr 1fr; }
        }

        @media (max-width: 768px) {
            header { padding: 20px; }
            nav { display: none; }
            .product-grid { grid-template-columns: 1fr; }
            .image-box { height: 450px; }
        }

        /* Cart Styles */
        :root {
          --black: #0f0f0f;
          --gray-1: #1a1a1a;
          --gray-2: #2e2e2e;
          --gray-3: #4a4a4a;
          --gray-4: #717171;
          --light: #f8f9fa;
          --border: #e5e5e5;
          --accent: #000;
          --transition: 0.42s cubic-bezier(0.165, 0.84, 0.44, 1);
           --primary-black: #000000;
                --primary-white: #ffffff;
                --accent-gray: #f5f5f7;
                --text-muted: #6e6e73;
                --transition-smooth: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
        }

        /* ────────────────────────────────────────────────
           Navbar
        ──────────────────────────────────────────────── */
        .navbar {
          display: flex;
          justify-content: space-between;
          align-items: center;
          padding: 1.4rem 5%;
          background: white;
          border-bottom: 1px solid var(--border);
          position: sticky;
          top: 0;
          z-index: 1000;
        }

        .logo {
          font-size: 1.6rem;
          font-weight: 800;
          letter-spacing: -0.5px;
        }

        .cart-trigger {
          position: relative;
          cursor: pointer;
          padding: 0.6rem;
          border-radius: 50%;
          transition: all 0.2s ease;
        }

        .cart-count {
          position: absolute;
          top: -4px;
          right: -4px;
          background: var(--black);
          color: white;
          font-size: 0.68rem;
          font-weight: 600;
          min-width: 18px;
          height: 18px;
          border-radius: 50%;
          display: flex;
          align-items: center;
          justify-content: center;
        }

        /* ────────────────────────────────────────────────
           Overlay + Drawer
        ──────────────────────────────────────────────── */
        .cart-overlay {
          position: fixed;
          inset: 0;
          background: rgba(0,0,0,0.35);
          backdrop-filter: blur(8px);
          -webkit-backdrop-filter: blur(8px);
          opacity: 0;
          visibility: hidden;
          transition: opacity 0.4s ease, visibility 0s 0.4s;
          z-index: 998;
        }

        .cart-overlay.active {
          opacity: 1;
          visibility: visible;
          transition: opacity 0.4s ease;
        }

        .cart-drawer {
          position: fixed;
          top: 0; right: 0;
          width: 62%;
          height: 100dvh;
          background: white;
          transform: translateX(100%);
          transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
          z-index: 10000;
          display: flex;
          flex-direction: row;
          box-shadow: -16px 0 40px rgba(0,0,0,0.14);
          overflow: hidden;
        }

        .cart-drawer.active {
          transform: translateX(0);
        }

        /* ────────────────────────────────────────────────
           Drawer Layout
        ──────────────────────────────────────────────── */
        .cart-header {
          padding: 1.5rem 2rem;
          border-bottom: 1px solid var(--border);
          display: flex;
          justify-content: space-between;
          align-items: center;
          flex-shrink: 0;
        }

        .cart-header h2 {
          font-size: 1.4rem;
          font-weight: 600;
        }

        .close-btn {
          background: none;
          border: none;
          font-size: 1.8rem;
          cursor: pointer;
          color: var(--gray-3);
          transition: color 0.2s;
        }

        .close-btn:hover { color: var(--black); }

        .upsell-column {
          width: 40%;
          background: #ffffffff;
          border-right: 1px solid var(--border);
          padding: 2rem 1.8rem;
          height: 100%;
          overflow-y: auto;
        }

        .cart-section {
          width: 60%;
          display: flex;
          flex-direction: column;
        }

        .cart-content {
          flex: 1;
          overflow-y: auto;
        }

        .cart-column {
          padding: 2rem 2.2rem;
        }

        h3.section-title {
          font-size: 1.1rem;
          font-weight: 600;
          margin-bottom: 1.4rem;
          color: var(--gray-2);
        }


        .upsell-info {
          flex: 1;
        }

        .upsell-info p {
          font-weight: 500;
          margin-bottom: 0.3rem;
        }

        .upsell-info span {
          font-size: 0.95rem;
          color: var(--gray-3);
        }

        .add-mini-btn {
          background: var(--black);
          color: white;
          border: none;
          padding: 0.5rem 1rem;
          border-radius: 6px;
          font-size: 0.85rem;
          cursor: pointer;
          white-space: nowrap;
          transition: background 0.2s;
        }

        .add-mini-btn:hover {
          background: #222;
        }

        /* Cart items */
        .cart-item {
          display: flex;
          gap: 1.4rem;
          padding: 1.4rem 0;
          border-bottom: 1px solid var(--border);
        }

        .cart-item:last-child {
          border-bottom: none;
        }

        .item-img img {
          width: 90px;
          height: 90px;
          object-fit: cover;
          border-radius: 8px;
        }

        .item-info {
          flex: 1;
        }

        .item-name {
          font-weight: 600;
          margin-bottom: 0.6rem;
        }

        .item-meta {
          display: flex;
          justify-content: space-between;
          align-items: center;
          flex-wrap: wrap;
          gap: 1rem;
        }

        .price {
          font-weight: 600;
          white-space: nowrap;
        }

        .qty-control {
          display: inline-flex;
          border: 1px solid var(--border);
          border-radius: 6px;
          overflow: hidden;
        }

        .qty-btn {
          width: 36px;
          height: 36px;
          background: white;
          border: none;
          font-size: 1.1rem;
          cursor: pointer;
          transition: background 0.15s;
        }

        .qty-btn:hover {
          background: #f0f0f0;
        }

        .qty-display {
          width: 48px;
          text-align: center;
          border-left: 1px solid var(--border);
          border-right: 1px solid var(--border);
          display: flex;
          align-items: center;
          justify-content: center;
          font-weight: 500;
        }

        .remove-btn {
          color: #999;
          font-size: 0.9rem;
          cursor: pointer;
          transition: color 0.2s;
        }

        .remove-btn:hover {
          color: #e63946;
        }

        /* Footer */
        .cart-footer {
          padding: 1.8rem 2rem;
          border-top: 1px solid var(--border);
          background: white;
          flex-shrink: 0;
        }

        .vat-input {
          width: 100%;
          padding: 0.9rem 1.1rem;
          border: 1px solid var(--border);
          border-radius: 8px;
          margin-bottom: 0.8rem;
          font-size: 0.95rem;
        }

        .vat-note {
          font-size: 0.82rem;
          color: #666;
          line-height: 1.4;
          margin-bottom: 1.4rem;
        }

        .checkout-btn {
          width: 100%;
          background: var(--black);
          color: white;
          border: none;
          padding: 1.2rem;
          border-radius: 8px;
          font-size: 1.05rem;
          font-weight: 600;
          cursor: pointer;
          display: flex;
          justify-content: space-between;
          align-items: center;
          transition: all 0.25s ease;
        }

        .checkout-btn:hover {
          background: #222;
          transform: translateY(-1px);
        }

        /* Responsive */
        @media (max-width: 1024px) {
          .cart-drawer { width: 70%; }
        }

        @media (max-width: 768px) {
          .cart-drawer {
            width: 100%;
            max-width: none;
            flex-direction: column;
          }
          .upsell-column, .cart-section {
            width: 100%;
          }
          .upsell-column {
            border-right: none;
            border-bottom: 1px solid var(--border);
            order: -1;
          }
        }

            .btnn-outline {
                border: 1px solid var(--primary-black);
                color: var(--primary-black);
            }

            .btnn-outline:hover {
                background: var(--primary-black);
                color: var(--primary-white);
            }

            .btnn {
                padding: 10px;
                text-transform: uppercase;
                font-size: 10px;
                font-weight: 700;
                letter-spacing: 2px;
                text-decoration: none;
                text-align: center;
                border-radius: 2px;
                transition: 0.3s;
                cursor: pointer;
                margin-top: 15px;
                background: white;
                padding-left: 20px;
                padding-right: 20px;
            }

        /* Product Detail Styles */
        :root {
            --color-bg:        #ffffff;
            --color-text:      #0a0a0a;
            --color-text-light:#4b5563;
            --color-border:    #e5e7eb;
            --color-accent:    #d0021b;
            --color-accent-dark:#a50014;
            --color-gray-50:   #f9fafb;
            --color-gray-100:  #f3f4f6;
            --radius:          14px;
            --shadow-sm:       0 1px 3px rgba(0,0,0,0.06);
            --shadow-md:       0 10px 25px -5px rgba(0,0,0,0.08), 0 5px 10px -5px rgba(0,0,0,0.04);
            --transition:      all 0.28s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .container {
            max-width: 1480px;
            margin: 0 auto;
            padding: 0 20px;
            margin-top: 50px;
        }

        main {
            padding: 64px 0 120px;
        }

        .product-layout {
            display: grid;
            grid-template-columns: 1fr;
            gap: 56px;
        }

        @media (min-width: 1024px) {
            .product-layout {
                grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
                gap: 72px;
            }
        }

        /* ── Gallery ─────────────────────────────────────────────── */
        .gallery {
            position: relative;
        }

        .main-image-container {
            aspect-ratio: 1 / 1;
            background: var(--color-gray-50);
            border-radius: var(--radius);
            overflow: hidden;
            box-shadow: var(--shadow-md);
            transition: var(--transition);
        }

        .main-image-container img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            transition: transform 0.65s ease;
        }

        .main-image-container:hover img {
            transform: scale(1.035);
        }

        .thumbnails-container {
            display: flex;
            gap: 14px;
            margin-top: 24px;
            overflow-x: auto;
            padding-bottom: 12px;
            scrollbar-width: thin;
            scrollbar-color: #d1d5db transparent;
        }

        .thumbnails-container::-webkit-scrollbar {
            height: 7px;
        }

        .thumbnails-container::-webkit-scrollbar-thumb {
            background: #d1d5db;
            border-radius: 4px;
        }

        .thumbnail {
            width: 94px;
            height: 94px;
            border-radius: var(--radius);
            border: 2.5px solid transparent;
            object-fit: cover;
            cursor: pointer;
            transition: var(--transition);
            flex-shrink: 0;
            background: var(--color-gray-100);
        }

        .thumbnail:hover,
        .thumbnail.active {
            border-color: var(--color-text);
            transform: translateY(-5px);
            box-shadow: var(--shadow-sm);
        }

        /* ── Product Info ────────────────────────────────────────── */
        .product-info {
            display: flex;
            flex-direction: column;
			gap: 1px !important;
        }

        h1 {
            font-size: clamp(2.25rem, 5.5vw, 3.5rem);
            font-weight: 700;
            line-height: 1.08;
            letter-spacing: -0.02em;
        }

        .price-block {
            font-size: 2.5rem;
            font-weight: 700;
        }

        .price-block .vat-note {
            font-size: 1rem;
            font-weight: 400;
            color: var(--color-text-light);
            margin-left: 8px;
        }

        .tag {
            display: inline-flex;
            align-items: center;
            background: var(--color-accent);
            color: white;
            padding: 6px 16px;
            border-radius: 999px;
            font-size: 0.9rem;
            font-weight: 600;
            margin-bottom: 12px;
        }

        .short-description,
        .full-description {
            color: var(--color-text-light);
            font-size: 1.08rem;
            max-width: 68ch;
        }

        .more-toggle {
            color: var(--color-accent);
            font-weight: 600;
            cursor: pointer;
            transition: var(--transition);
        }

        .more-toggle:hover {
            color: var(--color-accent-dark);
            text-decoration: underline;
        }

        .full-description {
            display: none;
        }

        /* Size selector */
        .size-picker {
            margin: 36px 0;
        }

        .size-picker label {
            font-size: 0.98rem;
            font-weight: 600;
            margin-bottom: 14px;
            display: block;
        }

        .size-options {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(64px, 1fr));
            gap: 12px;
        }

        .size-btn {
            padding: 15px 0;
            border: 1.5px solid var(--color-border);
            border-radius: var(--radius);
            background: white;
            font-weight: 500;
            cursor: pointer;
            transition: var(--transition);
            text-align: center;
        }

        .size-btn:hover {
            border-color: var(--color-text);
        }

        .size-btn.active {
            background: var(--color-text);
            color: white;
            border-color: var(--color-text);
        }



        .guarantee {
            color: var(--color-accent);
            font-weight: 600;
            font-size: 0.98rem;
        }

        /* Newsletter */
        .newsletter-area {
            background: var(--color-gray-50);
            padding: 110px 0 130px;
        }

        .newsletter-card {
            background: white;
            max-width: 760px;
            margin: 0 auto;
            padding: 64px 56px;
            border-radius: calc(var(--radius) * 1.4);
            box-shadow: var(--shadow-md);
            text-align: center;
        }

        .newsletter-card h2 {
            font-size: 2.6rem;
            margin-bottom: 20px;
            line-height: 1.15;
        }

        .newsletter-card p.subtitle {
            color: var(--color-text-light);
            font-size: 1.1rem;
            margin-bottom: 44px;
        }

        .form-field {
            margin-bottom: 28px;
            text-align: left;
        }

        .form-field label {
            display: block;
            font-size: 0.9rem;
            font-weight: 600;
            margin-bottom: 9px;
        }

        .form-field input,
        .form-field select {
            width: 100%;
            padding: 15px 18px;
            border: 1px solid var(--color-border);
            border-radius: var(--radius);
            font-size: 1.02rem;
            transition: border-color 0.25s;
        }

        .form-field input:focus,
        .form-field select:focus {
            outline: none;
            border-color: var(--color-accent);
            box-shadow: 0 0 0 3px rgba(208,2,27,0.1);
        }

        /* Floating chat */
        .chat-bubble {
            position: fixed;
            bottom: 36px;
            right: 36px;
            background: var(--color-text);
            color: white;
            padding: 14px 26px;
            border-radius: 999px;
            display: flex;
            align-items: center;
            gap: 12px;
            box-shadow: 0 12px 36px rgba(0,0,0,0.18);
            cursor: pointer;
            transition: var(--transition);
            z-index: 900;
        }

        .chat-bubble:hover {
            transform: translateY(-5px);
            box-shadow: 0 20px 48px rgba(0,0,0,0.22);
        }

        @media (max-width: 640px) {
            main               { padding: 48px 0 100px; }
            .newsletter-area   { padding: 80px 0; }
            .newsletter-card   { padding: 52px 28px; }
            .chat-bubble       { bottom: 24px; right: 24px; padding: 12px 22px; font-size: 0.95rem; }
        }