        /* --- Breadcrumb --- */
        .breadcrumb { background: transparent; padding: 0; margin-bottom: 2rem; align-items: center; }
        .breadcrumb-item { font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.12em; font-weight: 700; }
        .breadcrumb-item + .breadcrumb-item::before { content: "/"; color: #ccc; padding: 0 10px; }
        .breadcrumb-item a { color: #999; text-decoration: none; transition: color 0.3s; }
        .breadcrumb-item.active { color: var(--brand-gold); }

        /* --- Gallery with Magnifying Glass --- */
        .main-img-container {
            position: relative;
            background: #fbfbfb;
            display: flex; align-items: center; justify-content: center;
            min-height: 350px;
            overflow: hidden; /* Important for zoom */
            cursor: zoom-in;
            border: 1px solid var(--border-color);
        }
        @media (min-width: 992px) {
            .main-img-container { min-height: 550px; }
        }
        
        .main-img-container img { 
            max-width: 100%; height: auto; object-fit: contain;
            transition: opacity 0.3s ease-in-out, transform 0.1s ease-out;
            transform-origin: center center;
            pointer-events: none; /* Let container handle events */
        }

        /* Zoomed State */
        .main-img-container.zoomed img {
            transform: scale(2.5);
            cursor: zoom-out;
        }

        .thumb-list {
            display: flex; gap: 10px; overflow-x: auto; padding: 10px 0; scrollbar-width: none;
        }
        .thumb-list::-webkit-scrollbar { display: none; }
        @media (min-width: 992px) {
            .thumb-list { flex-direction: column; max-width: 80px; overflow-x: visible; }
        }

        .thumb-item {
            border: 1px solid var(--border-color); cursor: pointer; transition: all 0.3s;
            aspect-ratio: 1; padding: 4px; flex-shrink: 0; width: 60px; opacity: 0.6;
        }
        @media (min-width: 992px) { .thumb-item { width: 80px; } }
        .thumb-item.active { border-color: var(--brand-dark); border-width: 2px; opacity: 1; }
        .thumb-item img { width: 100%; height: 100%; object-fit: cover; }

        /* --- Info Section --- */
        .product-title { font-size: 1.5rem; color: var(--brand-dark); margin-bottom: 0.5rem; }
        @media (min-width: 992px) { .product-title { font-size: 2.2rem; } }
        .product-price { font-size: 1.4rem; color: #000; font-weight: 700; margin-bottom: 1.5rem; }
        .product-price span { font-size: 0.8rem; color: #888; font-weight: normal; }
        .section-label { font-size: 18px; text-transform: uppercase; letter-spacing: 0.1em; color: #333; margin-bottom: 0.8rem; display: block; }


       .swatch-square {
            width: 54px; height: 54px; cursor: pointer; border: 2px solid transparent; padding: 2px;
        }
        .swatch-square.active { border-color: var(--brand-dark); }
        .swatch-square img { width: 100%; height: 100%; object-fit: cover; }


        .swatch-group { display: flex; gap: 10px; margin-bottom: 1.5rem; flex-wrap: wrap; }
        .swatch-circle { width: 36px; height: 36px; border-radius: 50%; cursor: pointer; border: 2px solid transparent; padding: 2px; transition: all 0.2s; }
        .swatch-circle.active { border-color: var(--brand-dark); }
        .swatch-circle .color-fill { width: 100%; height: 100%; border-radius: 50%; }

        .size-group { display: flex; gap: 8px; margin-bottom: 1.5rem; flex-wrap: wrap; }
        .size-btn { border: 1px solid #ddd; padding: 10px 14px; font-size: 0.8rem; cursor: pointer; background: #fff; font-weight: 600; }
        .size-btn.active { border-color: var(--brand-dark); color: var(--brand-dark); border-width: 2px; }

        .quantity-selector { display: flex; border: 1px solid #ddd; width: fit-content; margin-bottom: 1.5rem; }
        .qty-btn {color:#000; width: 46px; height: 46px; display: flex; align-items: center; justify-content: center; background: none; border: none; cursor: pointer; font-size: 1.2rem; }
        .qty-input { width: 54px; border: none; text-align: center; font-size: 1rem; outline: none; }

        .btn-add-cart { background-color: #b19470; color: white; border: none; padding: 13px 0; width: 100%; text-transform: uppercase; font-weight: 700; letter-spacing: 0.1em; font-size: 1rem; transition: opacity 0.3s; }
        .btn-add-cart:hover { opacity: 0.9; background-color: #b19470;}
        .btn-quote { background-color:#A4655C;color: white; padding: 12px 0; width: 100%; text-transform: uppercase; font-weight: 700; letter-spacing: 0.1em; font-size: 1rem; text-decoration: none; display: flex; align-items: center; justify-content: center; }
        .btn-quote:hover { opacity: 0.9; background-color: #A4655C;}
        .btn-wishlist-desktop { background: none; border: 1px solid #ddd; color: var(--brand-dark); height: 100%; width: 100%; display: flex; align-items: center; justify-content: center; transition: all 0.3s; }
        .btn-wishlist-desktop:hover { border-color: var(--brand-dark); color: var(--brand-gold); }

        .sticky-action-bar { position: fixed; bottom: 0; left: 0; right: 0; background: white; border-top: 1px solid #eee; padding: 10px 15px; display: flex; gap: 10px; z-index: 1000; }
        @media (min-width: 992px) { .sticky-action-bar { display: none; } }

        .detail-tabs-nav { border-bottom: 1px solid var(--border-color); margin-top: 3rem; margin-bottom: 2rem; display: flex; justify-content: center; }
        .tab-nav-item { padding: 12px 20px; cursor: pointer; color: #999; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.05em; border-bottom: 2px solid transparent; }
        .tab-nav-item.active { color: var(--brand-gold); border-bottom-color: var(--brand-gold); font-weight: 700; }

        .rec-product-card { transition: all 0.3s ease; text-decoration: none; color: inherit; display: block; }
        .rec-img-wrapper { aspect-ratio: 4/3; overflow: hidden; background: #f9f9f9; margin-bottom: 1rem; }
        .rec-img-wrapper img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
        .rec-product-card:hover .rec-img-wrapper img { transform: scale(1.08); }
        .rec-title { font-size: 0.9rem; font-weight: 500; margin-bottom: 0.25rem; color: var(--brand-dark); }
        .rec-price { font-size: 1rem; font-weight: 700; }

        .bg-beige { background-color: var(--brand-beige); }