 :root {
            --color-primary: #1a1a2e;
            --color-accent: #e94560;
            --color-muted: #6c757d;
            --color-star: #ffc107;
            --bg-card: #f8f9fa;
            --border-card: #e9ecef;
        }
 /* ===== GALERÍA ===== */
        .gallery-main {
            display: flex;
            align-items: center;
            justify-content: center;
        }

       .gallery-main img {
            width: 100%;
            height: auto;
            object-fit: contain;
            max-height: 450px;
        }

        .badge-tag {
            position: absolute;
            top: 16px;
            left: 16px;
            background: #ff6b81;
            color: #fff;
            font-size: 0.75rem;
            font-weight: 700;
            padding: 6px 14px;
            border-radius: 8px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            z-index: 2;
        }

        .btn-heart {
            position: absolute;
            top: 16px;
            right: 16px;
            width: 40px;
            height: 40px;
            background: #fff;
            border: none;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 2px 8px rgba(0,0,0,0.1);
            cursor: pointer;
            z-index: 2;
            transition: transform 0.2s;
        }

        .btn-heart:hover { transform: scale(1.1); }

        .thumbs {
            display: flex;
            gap: 12px;
            margin-top: 16px;
        }

        .thumb {
            width: 80px;
            height: 80px;
            border-radius: 12px;
            border: 2px solid transparent;
            background: var(--bg-card);
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
            transition: border-color 0.2s;
        }

        .thumb.active { border-color: var(--color-primary); }
        .thumb:hover { border-color: var(--color-muted); }
        .thumb img { width: 60%; height: auto; object-fit: contain; }

        /* ===== INFO PRODUCTO ===== */
        .cat-label {
            color: var(--color-accent);
            font-size: 0.85rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .prod-title {
            font-size: 1.8rem;
            font-weight: 800;
            line-height: 1.2;
            margin-bottom: 12px;
        }

        .stars-row {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 16px;
        }

        .stars-row .stars { color: var(--color-star); font-size: 0.9rem; }
        .stars-row .count { color: var(--color-muted); font-size: 0.9rem; }

        .price-big {
            font-size: 2rem;
            font-weight: 800;
            margin-bottom: 20px;
        }

        .price-big .curr { font-size: 0.9rem; color: var(--color-muted); font-weight: 600; margin-left: 4px; }

        .desc {
            color: var(--color-muted);
            line-height: 1.7;
            font-size: 0.95rem;
            margin-bottom: 24px;
        }

        /* Vendedor */
        .seller-box {
            background: var(--bg-card);
            border-radius: 16px;
            padding: 20px;
            margin-bottom: 24px;
        }

        .seller-box img {
            width: 48px;
            height: 48px;
            border-radius: 50%;
            object-fit: cover;
        }

        .seller-name {
            font-weight: 700;
            font-size: 0.95rem;
        }

        .verified { color: var(--color-accent); font-size: 0.8rem; margin-left: 4px; }

        .seller-meta {
            font-size: 0.85rem;
            color: var(--color-muted);
        }

        .rep-badge {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            background: #fff;
            padding: 4px 10px;
            border-radius: 20px;
            font-size: 0.8rem;
            font-weight: 600;
            margin-top: 4px;
        }

        /* Botones */
        .btn-contactar {
            background: var(--color-primary);
            color: #fff;
            border: none;
            width: 100%;
            padding: 14px;
            border-radius: 12px;
            font-weight: 600;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            transition: background 0.2s;
        }

        .btn-contactar:hover,.btn-contactar: { background: #2d2d44; color: #fff; }

        .btn-comprar {
            background: var(--color-accent);
            color: #fff;
            border: none;
            width: 100%;
            padding: 14px;
            border-radius: 12px;
            font-weight: 600;
            margin-top: 12px;
            transition: background 0.2s;
        }

        .btn-comprar:hover { background: #d63d56; color: #fff; }

        /* Tabs */
        .tabs-line {
            border-bottom: 2px solid var(--border-card);
            margin-bottom: 24px;
        }

        .tabs-line .nav-link {
            border: none;
            color: var(--color-muted) !important;
            font-weight: 600;
            padding: 16px 24px;
            position: relative;
            background: none;
        }

        .tabs-line .nav-link.active {
            color: var(--color-primary) !important;
            background: none;
        }

        .tabs-line .nav-link.active::after {
            content: '';
            position: absolute;
            bottom: -2px;
            left: 0; right: 0;
            height: 3px;
            background: var(--color-accent);
            border-radius: 3px 3px 0 0;
        }

        /* Specs */
        .specs-table tr { border-bottom: 1px solid var(--border-card); }
        .specs-table td { padding: 12px 0; font-size: 0.95rem; }
        .specs-table td:first-child { color: var(--color-muted); width: 40%; }
        .specs-table td:last-child { font-weight: 500; }

        /* Reviews */
        .review-box { border-bottom: 1px solid var(--border-card); padding: 24px 0; }
        .review-box:last-child { border-bottom: none; }
        .review-av {
            width: 44px; height: 44px;
            border-radius: 50%;
            background: var(--bg-card);
            display: flex; align-items: center; justify-content: center;
            font-weight: 700; font-size: 0.9rem;
        }
        .review-name { font-weight: 700; font-size: 0.95rem; }
        .review-date { font-size: 0.85rem; color: var(--color-muted); }
        .review-text { color: var(--color-muted); line-height: 1.6; font-size: 0.95rem; margin-top: 8px; }

        /* ===== CARDS (estilo exacto de la foto) ===== */
        .section-head {
            font-size: 1.5rem;
            font-weight: 800;
            margin-bottom: 24px;
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .section-head::before {
            content: '';
            width: 4px; height: 28px;
            background: var(--color-accent);
            border-radius: 2px;
        }

        .link-todos {
            color: var(--color-accent);
            text-decoration: none;
            font-weight: 600;
            font-size: 0.95rem;
        }

        .link-todos:hover { text-decoration: underline; }

        .card-product {
            border: 1px solid var(--border-card);
            border-radius: 16px;
            overflow: hidden;
            background: #fff;
            transition: transform 0.3s, box-shadow 0.3s;
        }

        .card-product:hover {
            transform: translateY(-4px);
            box-shadow: 0 12px 24px rgba(0,0,0,0.08);
        }

        .card-img-wrap {
            position: relative;
            height: 220px;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
        }

        .card-img-wrap.yellow { background: #ffd700; }
        .card-img-wrap.gray { background: #e9ecef; }
        .card-img-wrap.red { background: #e94560; }
        .card-img-wrap.white { background: #f8f9fa; }

        .card-img-wrap img {
            width: 70%;
            height: auto;
            object-fit: contain;
            transition: transform 0.3s;
        }

        .card-product:hover .card-img-wrap img { transform: scale(1.05); }

        .badge-dest {
            position: absolute;
            top: 12px; left: 12px;
            background: #ff6b81;
            color: #fff;
            font-size: 0.7rem;
            font-weight: 700;
            padding: 4px 12px;
            border-radius: 6px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .badge-ofr {
            position: absolute;
            top: 12px; left: 12px;
            background: #ff6b81;
            color: #fff;
            font-size: 0.7rem;
            font-weight: 700;
            padding: 4px 12px;
            border-radius: 6px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .heart-btn {
            position: absolute;
            top: 12px; right: 12px;
            width: 36px; height: 36px;
            background: #fff;
            border: none;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 2px 6px rgba(0,0,0,0.1);
            cursor: pointer;
            transition: transform 0.2s;
        }

        .heart-btn:hover { transform: scale(1.1); }

        .card-body-custom { padding: 20px; }

        .card-cat {
            color: var(--color-accent);
            font-size: 0.75rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 1px;
            margin-bottom: 6px;
        }

        .card-title-prod {
            font-size: 1rem;
            font-weight: 700;
            margin-bottom: 8px;
            line-height: 1.3;
        }

        .card-rating {
            display: flex;
            align-items: center;
            gap: 6px;
            margin-bottom: 12px;
        }

        .card-rating .stars { color: var(--color-star); font-size: 0.8rem; }
        .card-rating span { font-size: 0.85rem; color: var(--color-muted); }

        .card-price {
            font-size: 1.25rem;
            font-weight: 800;
            margin-bottom: 16px;
        }

        .card-seller-row {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 16px;
        }

        .card-seller-row img {
            width: 32px; height: 32px;
            border-radius: 50%;
            object-fit: cover;
        }

        .card-seller-name {
            font-size: 0.85rem;
            font-weight: 600;
        }

        .card-seller-meta {
            font-size: 0.75rem;
            color: var(--color-muted);
        }

        .btn-card-action {
            width: 100%;
            background: var(--color-primary);
            color: #fff;
            border: none;
            padding: 10px;
            border-radius: 10px;
            font-size: 0.9rem;
            font-weight: 600;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 6px;
            transition: background 0.2s;
        }

        .btn-card-action:hover { background: #2d2d44; color: #fff; }

        @media (max-width: 768px) {
            .prod-title { font-size: 1.4rem; }
            .price-big { font-size: 1.6rem; }
        }