/* ========================================
   SHOP DETAIL PAGE — Trust-First Hero (redesigned 2026-04-21)
   Design tokens from vapochecker-global.css (--vc-brand, --vc-accent, etc.)
   3-zone hero: Identity (logo+H1+rating) / KPI chips / Trust footer.
   ======================================== */

/* === Card shell === */
        .vc-shop-card {
            display: block; /* Override critical.css flex layout for product-page shop cards */
            background: var(--vc-bg, #ffffff);
            border: 1px solid var(--vc-border, #f0f0f0);
            border-radius: 12px;
            box-shadow: 0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.04);
            margin-bottom: var(--vc-space-lg, 24px);
            overflow: hidden;
        }
        .vc-shop-card-accent {
            height: 4px;
            background: linear-gradient(90deg, var(--vc-brand, #0066CC) 0%, var(--vc-brand-secondary, #0088FF) 50%, var(--vc-brand-light, #E6F0FF) 100%);
        }

/* === Zone 1: Identity (logo + name + inline rating + meta line) === */
        .vc-shop-card-top {
            display: grid;
            grid-template-columns: auto 1fr;
            gap: var(--vc-space-lg, 24px);
            padding: var(--vc-space-lg, 24px) 28px var(--vc-space-md, 16px);
            align-items: center;
        }
        .vc-shop-card-logo {
            display: flex;
            align-items: center;
            justify-content: center;
            background: var(--vc-bg-subtle, #F8FAFC);
            border: 1px solid var(--vc-border, #f0f0f0);
            border-radius: 10px;
            padding: 12px 16px;
            min-width: 120px;
            min-height: 60px;
        }
        .vc-shop-card-logo img {
            height: 44px;
            max-width: 160px;
            object-fit: contain;
        }
        .vc-shop-card-info h1 {
            margin: 0 0 6px 0;
            font-size: 1.5em;
            color: var(--vc-text, #1E293B);
            line-height: 1.3;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px 14px;
        }
        .vc-shop-h1-sub {
            font-weight: 300;
            font-size: 0.6em;
            color: var(--vc-text-light, #94A3B8);
        }

        /* Rating inline next to H1 (replaces old trust-row .vc-trustpilot-box) */
        .vc-shop-rating-inline {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 4px 10px;
            border-radius: 999px;
            background: var(--vc-accent-light, #E6F9ED);
            font-size: 13px;
            line-height: 1;
            text-decoration: none !important;
            transition: background 0.2s;
        }
        .vc-shop-rating-inline:hover { background: #C9F3D8; }
        .vc-shop-rating-inline--heureka { background: rgba(255,102,0,0.12); }
        .vc-shop-rating-inline--heureka:hover { background: rgba(255,102,0,0.22); }
        .vc-shop-rating-inline--ceneo { background: rgba(228,32,44,0.12); }
        .vc-shop-rating-inline--ceneo:hover { background: rgba(228,32,44,0.22); }
        .vc-shop-rating-inline .vc-tp-logo { display: inline-flex; align-items: center; }
        .vc-shop-rating-inline .vc-tp-score { color: var(--vc-accent-dark, #009236); font-weight: 700; font-size: 14px; }
        .vc-shop-rating-inline .vc-tp-stars { display: inline-flex; gap: 1px; }
        .vc-shop-rating-inline .vc-star { width: 12px; height: 12px; display: inline-block; background-size: contain; background-repeat: no-repeat; background-position: center; }
        .vc-shop-rating-inline .vc-star-full {
            background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='%2300B67A' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z'/%3E%3C/svg%3E");
        }
        .vc-shop-rating-inline .vc-star-half {
            background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3ClinearGradient id='h'%3E%3Cstop offset='50%25' stop-color='%2300B67A'/%3E%3Cstop offset='50%25' stop-color='%23dcdce6'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23h)' d='M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z'/%3E%3C/svg%3E");
        }
        .vc-shop-rating-inline .vc-tp-platform { font-size: 13px; font-weight: 600; color: var(--vc-text-light, #94A3B8); letter-spacing: 0.02em; }
        .vc-shop-rating-inline .vc-tp-reviews { color: var(--vc-text-muted, #64748B); font-size: 12px; }

        /* Meta line: URL + location + founded year on one line */
        .vc-shop-meta-line {
            display: flex;
            flex-wrap: wrap;
            gap: 6px 14px;
            margin-top: 6px;
            font-size: 14px;
            color: var(--vc-text-muted, #64748B);
            line-height: 1.5;
        }
        .vc-shop-meta-line a {
            color: var(--vc-brand, #0066CC);
            text-decoration: none;
        }
        .vc-shop-meta-line a:hover { text-decoration: underline; }
        .vc-shop-meta-line .vc-shop-meta-sep {
            color: var(--vc-text-light, #94A3B8);
            user-select: none;
        }

/* === Zone 2: KPI chips (3 chips — Vaporizer / Zubehoer / Coupons-conditional) === */
        .vc-shop-kpi-row {
            display: flex;
            gap: 10px;
            padding: 0 28px var(--vc-space-md, 16px);
            flex-wrap: wrap;
        }
        .vc-shop-kpi {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: var(--vc-bg-muted, #F1F5F9);
            padding: 10px 16px;
            border-radius: 10px;
            font-size: 13px;
            color: var(--vc-text-muted, #64748B);
            line-height: 1.2;
            transition: background 0.2s;
        }
        .vc-shop-kpi .vc-shop-kpi-icon {
            width: 22px;
            height: 22px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: var(--vc-brand, #0066CC);
            flex-shrink: 0;
        }
        .vc-shop-kpi .vc-shop-kpi-icon svg { width: 20px; height: 20px; }
        .vc-shop-kpi-num { color: var(--vc-text, #1E293B); font-size: 16px; font-weight: 700; }
        .vc-shop-kpi-label { color: var(--vc-text-muted, #64748B); }

        /* Coupon KPI variant */
        .vc-shop-kpi--coupon {
            background: var(--vc-accent-light, #E6F9ED);
            text-decoration: none !important;
            color: var(--vc-accent-dark, #009236);
        }
        .vc-shop-kpi--coupon:hover { background: #C9F3D8; }
        .vc-shop-kpi--coupon .vc-shop-kpi-icon { color: var(--vc-accent-dark, #009236); }
        .vc-shop-kpi--coupon .vc-shop-kpi-num,
        .vc-shop-kpi--coupon .vc-shop-kpi-label { color: var(--vc-accent-dark, #009236); }
        .vc-shop-kpi--coupon .vc-shop-kpi-discount {
            background: rgba(0, 146, 54, 0.18);
            color: var(--vc-accent-dark, #009236);
            padding: 2px 8px;
            border-radius: 6px;
            font-size: 12px;
            font-weight: 700;
            margin-left: 2px;
        }
        .vc-shop-kpi--coupon .vc-shop-kpi-arrow { margin-left: 4px; opacity: 0.75; transition: transform 0.2s; }
        .vc-shop-kpi--coupon:hover .vc-shop-kpi-arrow { transform: translateX(3px); opacity: 1; }

        /* Suggest-coupon fallback */
        .vc-shop-coupon-suggest { padding: 0 28px var(--vc-space-md, 16px); }
        .vc-shop-coupon-suggest button {
            background: none;
            border: none;
            color: var(--vc-accent-dark, #009236);
            font-size: 13px;
            cursor: pointer;
            padding: 0;
            text-decoration: underline;
        }

/* === Zone 3: Trust footer (payment icons + return) === */
        .vc-shop-trust-footer {
            display: flex;
            flex-wrap: wrap;
            gap: var(--vc-space-md, 16px);
            padding: var(--vc-space-md, 16px) 28px;
            align-items: center;
            justify-content: space-between;
            border-top: 1px solid var(--vc-border-light, #F1F5F9);
        }
        .vc-shop-payments-row {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 8px;
        }
        .vc-shop-payments-label,
        .vc-shop-return-line .vc-shop-return-label {
            font-size: 13px;
            color: var(--vc-text-light, #94A3B8);
            margin-right: 4px;
        }
        .vc-pay-icon { display: inline-flex; align-items: center; line-height: 0; }
        .vc-pay-icon svg { display: block; border-radius: 3px; }
        .vc-pay-icon--text {
            padding: 3px 8px;
            background: var(--vc-bg-muted, #F1F5F9);
            color: var(--vc-text-muted, #64748B);
            border-radius: 4px;
            font-size: 13px;
            font-weight: 600;
            line-height: 1.4;
        }
        .vc-shop-return-line {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            font-size: 13px;
            color: var(--vc-text-muted, #64748B);
        }
        .vc-shop-return-line a,
        .vc-shop-payments-row > a {
            color: var(--vc-text, #1E293B);
            font-weight: 500;
            text-decoration: none;
        }
        .vc-shop-return-line a:hover { text-decoration: underline; }

/* === Shipping collapsible (token-sweep only, structure unchanged) === */
        .vc-shop-card-shipping {
            border-top: 1px solid var(--vc-border-light, #F1F5F9);
            padding: 0 28px;
        }
        .vc-shipping-toggle {
            display: flex;
            align-items: center;
            gap: var(--vc-space-sm, 8px);
            padding: 12px 0;
            cursor: pointer;
            color: var(--vc-text-muted, #64748B);
            font-size: 14px;
            font-weight: 500;
            background: none;
            border: none;
            width: 100%;
            text-align: left;
        }
        .vc-shipping-toggle:hover { color: #334155; }
        .vc-shipping-toggle .vc-chevron { transition: transform 0.2s; font-size: 12px; }
        .vc-shipping-toggle.vc-open .vc-chevron { transform: rotate(180deg); }
        .vc-shipping-content { display: none; padding-bottom: var(--vc-space-md, 16px); }
        .vc-shipping-content.vc-open { display: block; }

/* === Responsive (mobile <=640px) === */
        @media (max-width: 640px) {
            .vc-shop-card-top {
                grid-template-columns: 1fr;
                gap: var(--vc-space-md, 16px);
                padding: var(--vc-space-md, 16px);
            }
            .vc-shop-card-logo { min-width: 0; max-width: 200px; margin: 0 auto; }
            .vc-shop-card-info h1 { font-size: 1.25em; gap: 8px; }
            .vc-shop-rating-inline { font-size: 12px; padding: 3px 8px; }
            .vc-shop-kpi-row { padding: 0 var(--vc-space-md, 16px) var(--vc-space-md, 16px); }
            .vc-shop-kpi { padding: 8px 12px; font-size: 12px; }
            .vc-shop-trust-footer {
                flex-direction: column;
                align-items: flex-start;
                gap: 10px;
                padding: var(--vc-space-md, 16px);
            }
            .vc-shop-card-shipping { padding: 0 var(--vc-space-md, 16px); }
        }

        .vc-shop-payments-label,
        .vc-shop-return-line .vc-shop-return-label {
            font-size: 13px;
            color: var(--vc-text-light, #94A3B8);
            margin-right: 4px;
        }
        .vc-pay-icon {
            display: inline-flex;
            align-items: center;
            line-height: 0;
        }
        .vc-pay-icon svg {
            display: block;
            border-radius: 3px;
        }
        .vc-pay-icon--text {
            padding: 3px 8px;
            background: var(--vc-bg-muted, #F1F5F9);
            color: var(--vc-text-muted, #64748B);
            border-radius: 4px;
            font-size: 13px;
            font-weight: 600;
            line-height: 1.4;
        }
        .vc-shop-return-line {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            font-size: 13px;
            color: var(--vc-text-muted, #64748B);
        }
        .vc-shop-return-line a,
        .vc-shop-payments-row > a {
            color: var(--vc-text, #1E293B);
            font-weight: 500;
            text-decoration: none;
        }
        .vc-shop-return-line a:hover { text-decoration: underline; }

/* === Shipping collapsible (unchanged structure, token-sweep only) === */
        .vc-shop-card-shipping {
            border-top: 1px solid var(--vc-border-light, #F1F5F9);
            padding: 0 28px;
        }
        .vc-shipping-toggle {
            display: flex;
            align-items: center;
            gap: var(--vc-space-sm, 8px);
            padding: 12px 0;
            cursor: pointer;
            color: var(--vc-text-muted, #64748B);
            font-size: 14px;
            font-weight: 500;
            background: none;
            border: none;
            width: 100%;
            text-align: left;
        }
        .vc-shipping-toggle:hover { color: var(--vc-text-700, #334155); }
        .vc-shipping-toggle .vc-chevron {
            transition: transform 0.2s;
            font-size: 12px;
        }
        .vc-shipping-toggle.vc-open .vc-chevron { transform: rotate(180deg); }
        .vc-shipping-content {
            display: none;
            padding-bottom: var(--vc-space-md, 16px);
        }
        .vc-shipping-content.vc-open { display: block; }

/* === Responsive (mobile ≤640px) === */
        @media (max-width: 640px) {
            .vc-shop-card-top {
                grid-template-columns: 1fr;
                gap: var(--vc-space-md, 16px);
                padding: var(--vc-space-md, 16px);
            }
            .vc-shop-card-logo { min-width: 0; max-width: 200px; margin: 0 auto; }
            .vc-shop-card-info h1 { font-size: 1.25em; gap: 8px; }
            .vc-shop-rating-inline { font-size: 12px; padding: 3px 8px; }
            .vc-shop-kpi-row { padding: 0 var(--vc-space-md, 16px) var(--vc-space-md, 16px); }
            .vc-shop-kpi { padding: 8px 12px; font-size: 12px; }
            .vc-shop-trust-footer {
                flex-direction: column;
                align-items: flex-start;
                gap: 10px;
                padding: var(--vc-space-md, 16px);
            }
            .vc-shop-card-shipping { padding: 0 var(--vc-space-md, 16px); }
        }

        .vc-vsk-section-detail {
            padding: 0;
        }
        .vc-vsk-title-detail {
            font-size: 0.9em;
            font-weight: 600;
            color: #475569;
            margin-bottom: 12px;
        }
        .vc-vsk-title-detail a {
            color: #3b82f6 !important;
        }
        .vc-vsk-grid-detail {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
            gap: 10px;
        }
        .vc-vsk-item-detail {
            font-size: 0.85em;
            padding: 10px 12px;
            border-radius: 6px;
            background: #f8fafc;
            border: 1px solid #f0f0f0;
        }
        .vc-vsk-region-detail {
            color: #334155;
            font-weight: 500;
            display: block;
            margin-bottom: 4px;
            font-size: 0.9em;
        }
        .vc-vsk-cost { font-weight: 600; color: #1e293b; }
        .vc-vsk-free { color: #047857; font-size: 0.9em; white-space: nowrap; } /* F1-iter3: 600->700 */
        .vc-vsk-na { color: #475569; font-style: italic; }
        .vc-vsk-home { border: 1px solid #22c55e; background: #f0fdf4 !important; }
        .vc-vsk-delivery { color: #475569; font-size: 0.8em; margin-top: 4px; }
        .vc-vsk-customs { color: #fb923c; font-size: 0.75em; margin-top: 2px; }
        .vc-vsk-customs-incl { color: #047857; font-size: 0.75em; margin-top: 2px; }
        .vc-vsk-source { display: inline-block; vertical-align: baseline; text-decoration: none !important; line-height: 1; }
        .vc-vsk-source:hover .vc-info-icon { background: #2563eb; transform: scale(1.1); }
        .vc-info-icon { display: inline-block; width: 14px; height: 14px; border-radius: 50%; background: #94a3b8; color: #fff; text-align: center; font-size: 10px; line-height: 14px; font-weight: 700; font-family: Arial, sans-serif; font-style: normal; transition: background .15s, transform .15s; cursor: help; }

        .vc-shop-filter-bar {
            display: flex;
            gap: 12px;
            align-items: center;
            margin: 20px 0 0;
            flex-wrap: wrap;
        }
        .vc-shop-search {
            flex: 1;
            min-width: 150px;
            padding: 10px 14px;
            border: 1px solid #f0f0f0;
            border-radius: 8px;
            font-size: 14px;
            outline: none;
            transition: border-color 0.2s;
        }
        .vc-shop-search:focus { border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59,130,246,0.1); }
        .vc-shop-result-count {
            font-size: 13px;
            color: #475569;
            white-space: nowrap;
        }
        .vc-brand-filter {
            position: relative;
        }
        .vc-brand-filter-btn {
            padding: 10px 14px;
            border: 1px solid #f0f0f0;
            border-radius: 8px;
            background: #fff;
            font-size: 14px;
            cursor: pointer;
            white-space: nowrap;
            color: #1e293b;
            transition: border-color 0.2s;
            display: flex;
            align-items: center;
            gap: 6px;
        }
        .vc-brand-filter-btn:hover { border-color: #475569; }
        .vc-brand-filter-btn.vc-active { border-color: #3b82f6; color: #2563eb; }
        .vc-brand-filter-btn::after { content: '▾'; font-size: 13px; opacity: 0.6; }
        .vc-brand-dropdown {
            display: none;
            position: absolute;
            top: 100%;
            left: 0;
            z-index: 100;
            background: #fff;
            border: 1px solid #f0f0f0;
            border-radius: 8px;
            box-shadow: 0 4px 12px rgba(0,0,0,0.1);
            min-width: 220px;
            max-height: 320px;
            overflow-y: auto;
            margin-top: 4px;
            padding: 6px 0;
        }
        .vc-brand-dropdown.vc-open { display: block; }
        .vc-brand-dropdown label {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 7px 14px;
            cursor: pointer;
            font-size: 13px;
            color: #334155;
            transition: background 0.1s;
        }
        .vc-brand-dropdown label:hover { background: #f1f5f9; }
        .vc-brand-dropdown input[type="checkbox"] {
            accent-color: #2563eb;
            width: 16px;
            height: 16px;
            flex-shrink: 0;
        }
        .vc-brand-dropdown .vc-brand-count {
            margin-left: auto;
            font-size: 13px;
            color: #475569;
        }
        .vc-brand-toggle-all {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 7px 14px;
            cursor: pointer;
            font-size: 13px;
            font-weight: 600;
            color: #2563eb;
            border-bottom: 1px solid #f0f0f0;
            margin-bottom: 2px;
            transition: background 0.1s;
        }
        .vc-brand-toggle-all:hover { background: #f1f5f9; }

        .vc-shop-tabs {
            display: flex;
            gap: 0;
            margin-top: 28px;
            border-bottom: 2px solid #f0f0f0;
        }
        .vc-shop-tab {
            padding: 12px 24px;
            border: none;
            background: none;
            font-size: 15px;
            font-weight: 600;
            color: #475569;
            cursor: pointer;
            border-bottom: 2px solid transparent;
            margin-bottom: -2px;
            transition: color 0.2s, border-color 0.2s;
        }
        .vc-shop-tab:hover { color: #1e293b; }
        .vc-shop-tab.vc-tab-active {
            color: #2563eb;
            border-bottom-color: #2563eb;
        }
        .vc-tab-count {
            font-weight: 400;
            font-size: 13px;
            color: #475569;
            margin-left: 4px;
        }
        .vc-shop-tab.vc-tab-active .vc-tab-count { color: #60a5fa; }
        .vc-tab-panel { display: none; }
        .vc-tab-panel.vc-tab-active { display: block; }
        @keyframes spin { to { transform: rotate(360deg); } }
        .vc-load-more-btn:hover { background: #1d4ed8 !important; }
        .vc-load-more-btn:disabled { opacity: 0.6; cursor: wait !important; }
        .vc-shop-table { width: 100%; border-collapse: collapse; margin: 8px 0 20px; font-size: 14px; }
        .vc-shop-table th { background: #1e293b; color: #fff; padding: 12px 10px; text-align: left; position: sticky; top: 0; cursor: pointer; user-select: none; }
        .vc-shop-table th:hover { background: #334155; }
        .vc-shop-table th .vc-sort-arrow { margin-left: 4px; opacity: 0.4; font-size: 13px; }
        .vc-shop-table th.vc-sorted .vc-sort-arrow { opacity: 1; }
        .vc-shop-table th:last-child { cursor: default; }
        .vc-shop-table th:last-child:hover { background: #1e293b; }
        .vc-shop-table td { padding: 12px 10px; border-bottom: 1px solid #e5e7eb; vertical-align: middle; }
        .vc-shop-table tr:hover { background: #f8fafc; }
        .vc-shop-table tbody tr:nth-child(even) { background: #f9fafb; }

        .vc-product-name { font-weight: 600; color: #1e293b; font-size: 15px; }
        .vc-product-name a { color: inherit; text-decoration: none; }
        .vc-product-name a:hover { color: #3b82f6; }
        .vc-product-brand-cell { font-weight: 500; color: #475569; font-size: 14px; }
        a.vc-product-brand-cell { color: #2563eb; text-decoration: none; }
        a.vc-product-brand-cell:hover { color: #1d4ed8; text-decoration: underline; }

        .vc-price { font-weight: 600; font-size: 16px; }
        .vc-price-best { color: #047857; }
        .vc-price-normal { color: #1e293b; }
        .vc-price-higher { color: #b91c1c; }
        .vc-orig-price { color: #6b7280; font-size: 0.85em; margin-left: 2px; }

        .vc-comparison-badge {
            font-size: 13px;
            padding: 3px 8px;
            border-radius: 10px;
            white-space: nowrap;
        }
        .vc-badge-best { background: #dcfce7; color: #166534; }
        .vc-badge-compare { background: #dbeafe; color: #1e40af; }
        .vc-badge-single { background: #f1f5f9; color: #475569; }

        /* Best-price row accent */
        /* F3: was border-left:3px (AI side-tab tell). */
        /* Replaced with stronger tint + 1px hairline marker. */
        .vc-shop-table tbody tr.vc-row-best-price {
            box-shadow: inset 1px 0 0 #22c55e;
            background: #dcfce7;
        }
        .vc-shop-table tbody tr.vc-row-best-price:hover {
            background: #dcfce7;
        }

        .vc-shop-link {
            color: #3b82f6;
            text-decoration: none;
            font-size: 13px;
        }
        .vc-shop-link:hover {
            text-decoration: underline;
        }

        .vc-back-link {
            display: inline-flex;
            align-items: center;
            min-height: 24px;
            margin-bottom: 20px;
            color: #3b82f6;
            text-decoration: none;
            font-size: 14px;
        }
        .vc-back-link:hover {
            text-decoration: underline;
        }

        /* ============================================================
         * WCAG 2.5.8 AA tap-target — Iter 3 (24×24 minimum)
         * ============================================================
         * Scoped selectors target shop-detail no-class anchors that
         * audit_mobile_a11y.py flagged as <24×24:
         *   - .vc-shop-meta-line > a       (152×21 "lacentralevapeur.com ↗")
         *   - .vc-shop-payment-link        (124×22 PayPal-row wrap)
         *   - .vc-shop-shipping-arrow      (10×19 lone ↗ icon-link)
         *   - .vc-shop-return-line a       (return-policy link)
         *   - .vc-shop-table .vc-product-name > a  (147×16 mini-product link)
         */
        .vc-shop-meta-line > a,
        .vc-shop-return-line a,
        .vc-shop-payment-link,
        .vc-shop-table .vc-product-name > a {
            display: inline-flex;
            align-items: center;
            min-height: 24px;
            text-decoration: none;
        }
        .vc-shop-payment-link {
            gap: 8px;
        }
        .vc-shop-shipping-arrow {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-width: 24px;
            min-height: 24px;
            text-decoration: none;
        }

        .vc-accessory-icon {
            opacity: 0.7;
            transition: opacity 0.2s;
        }
        .vc-shop-table tr:hover .vc-accessory-icon {
            opacity: 1;
        }
        .vc-accessory-type {
            font-size: 12px;
            color: #475569;
            text-transform: capitalize;
        }
        .vc-accessories-table {
            margin-top: 10px;
        }

        @media (max-width: 768px) {
            .vc-shop-card-top { grid-template-columns: 1fr; gap: 16px; padding: 16px 20px 12px; }
            .vc-shop-card-logo { max-width: 160px; }
            .vc-shop-card-stats { padding: 0 20px 12px; }
            .vc-shop-card-trust { padding: 0 20px 12px; }
            .vc-shop-card-shipping { padding: 0 20px; }
            .vc-shop-card-meta { gap: 10px; }
            .vc-vsk-grid-detail { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); }
        }

        /* === Mobile Card Layout (MOB-01) === */
        @media (max-width: 767px) {
            /* Override column-hiding from 768px breakpoint — show ALL data in cards */
            .vc-shop-table th:nth-child(1),
            .vc-shop-table td:nth-child(1),
            .vc-shop-table th:nth-child(4),
            .vc-shop-table td:nth-child(4) { display: block !important; }
            .vc-acc-comparison-col { display: block !important; }
            .vc-accessories-table th:first-child,
            .vc-accessories-table td:first-child { display: block !important; }

            /* Table-to-card transformation */
            .vc-shop-table { table-layout: auto; border-collapse: separate; border-spacing: 0; }
            .vc-shop-table thead { display: none; }
            .vc-shop-table tbody { display: block; }
            .vc-shop-table tr {
                display: grid;
                grid-template-columns: 1fr auto;
                gap: 2px 8px;
                padding: 12px 16px;
                margin-bottom: 8px;
                border: 1px solid #f0f0f0;
                border-radius: 10px;
                background: #fff;
            }
            .vc-shop-table td {
                display: block;
                padding: 2px 0;
                border-bottom: none;
                font-size: 14px;
            }

            /* --- Vaporizer table: 5 cells (Brand, Name, Price, Comparison, Link) --- */
            /* Row 1: Brand top-left, Comparison badge top-right */
            .vc-shop-table:not(.vc-accessories-table) td:nth-child(1) {
                grid-column: 1; grid-row: 1;
                font-size: 12px; color: #475569;
            }
            .vc-shop-table:not(.vc-accessories-table) td:nth-child(4) {
                grid-column: 2; grid-row: 1;
                text-align: right;
            }
            /* Row 2: Product name full width */
            .vc-shop-table:not(.vc-accessories-table) td:nth-child(2) {
                grid-column: 1 / -1; grid-row: 2;
                font-size: 15px; font-weight: 600;
            }
            /* Row 3: Price left */
            .vc-shop-table:not(.vc-accessories-table) td:nth-child(3) {
                grid-column: 1 / -1; grid-row: 3;
                font-size: 16px;
            }
            /* Row 4: Shop link full width */
            .vc-shop-table:not(.vc-accessories-table) td:nth-child(5) {
                grid-column: 1 / -1; grid-row: 4;
                margin-top: 4px;
            }

            /* --- Accessories table: 6 cells (Type, Brand, Name, Price, Comparison, Link) --- */
            .vc-accessories-table td:nth-child(1) {
                grid-column: 1; grid-row: 1;
                font-size: 13px; color: #475569; text-transform: uppercase; letter-spacing: 0.5px;
            }
            .vc-accessories-table td:nth-child(5) {
                grid-column: 2; grid-row: 1;
                text-align: right;
            }
            .vc-accessories-table td:nth-child(2) {
                grid-column: 1 / -1; grid-row: 2;
                font-size: 12px; color: #475569;
            }
            .vc-accessories-table td:nth-child(3) {
                grid-column: 1 / -1; grid-row: 3;
                font-size: 15px; font-weight: 600;
            }
            .vc-accessories-table td:nth-child(4) {
                grid-column: 1 / -1; grid-row: 4;
                font-size: 16px;
            }
            .vc-accessories-table td:nth-child(6) {
                grid-column: 1 / -1; grid-row: 5;
                margin-top: 4px;
            }

            /* Best-price card accent (replaces left border which clips on border-radius) */
            .vc-shop-table tr.vc-row-best-price {
                border-left: none;
                box-shadow: inset 3px 0 0 #22c55e;
                background: #f0fdf4;
            }

            /* Price diff styling in cards */
            .vc-price-diff-positive { color: #dc2626; }
            .vc-price-diff-negative { color: #15803d; }

            /* === Touch Targets >= 44px (MOB-02) === */
            .vc-brand-filter-btn {
                min-height: 44px;
                padding: 12px 16px;
                font-size: 14px;
            }
            .vc-shop-search {
                min-height: 44px;
                padding: 12px 14px;
                font-size: 16px; /* prevents iOS zoom on focus */
            }
            .vc-shop-tab {
                min-height: 44px;
                padding: 14px 20px;
                font-size: 14px;
            }
            .vc-load-more-btn {
                min-height: 44px;
                padding: 14px 24px !important;
                font-size: 14px;
            }
            .vc-shop-link {
                display: block;
                min-height: 44px;
                line-height: 44px;
                text-align: center;
                background: #2563eb;
                color: #fff !important;
                border-radius: 8px;
                font-weight: 600;
                font-size: 14px;
                text-decoration: none;
            }
            .vc-shop-link:hover,
            .vc-shop-link:active {
                background: #1d4ed8;
                color: #fff !important;
            }
            .vc-brand-dropdown label {
                min-height: 44px;
                padding: 10px 14px;
                display: flex;
                align-items: center;
                gap: 10px;
            }
            .vc-brand-dropdown input[type="checkbox"] {
                width: 20px;
                height: 20px;
                flex-shrink: 0;
            }
            .vc-brand-toggle-all {
                min-height: 44px;
                padding: 10px 14px;
            }
            .vc-back-link {
                min-height: 44px;
                line-height: 44px;
                display: inline-block;
                padding: 0 8px;
            }
            .vc-comparison-badge {
                padding: 4px 8px;
                font-size: 12px;
            }

            /* === Mobile Filter Overlay (MOB-03) === */
            .vc-brand-dropdown.vc-open {
                position: fixed;
                top: 0; left: 0; right: 0; bottom: 0;
                z-index: 10000;
                max-height: none;
                min-width: 100%;
                border-radius: 0;
                margin-top: 0;
                padding-top: 0;
                box-shadow: none;
                border: none;
                -webkit-overflow-scrolling: touch;
                overflow-y: auto;
            }
            .vc-mobile-filter-header {
                position: sticky;
                top: 0;
                left: 0;
                right: 0;
                background: #fff;
                padding: 12px 16px;
                display: flex;
                justify-content: space-between;
                align-items: center;
                border-bottom: 1px solid #f0f0f0;
                z-index: 1;
            }
            .vc-mobile-filter-header span {
                font-weight: 600;
                font-size: 16px;
            }
            .vc-mobile-filter-close {
                min-width: 44px;
                min-height: 44px;
                border: none;
                background: none;
                font-size: 20px;
                cursor: pointer;
                color: #475569;
                display: flex;
                align-items: center;
                justify-content: center;
            }
        }

        /* === 2-col compact mobile cards (≤480px) — added 2026-05-05 === */
        /* Pattern parallel zur Brand-Page (commit 813636a6): User scannt Sortiment, */
        /* will viele Produkte above-fold sehen. tbody → 2-col grid, jede tr-Card */
        /* wird image-hero (Brand-Page-Style) statt 4-row 1fr/auto Layout. */
        /* Image-Defender (vapochecker-global.css manufacturer-cap) bleibt aktiv. */
        @media (max-width: 480px) {
            /* tbody wird 2-col grid (jede tr eine Zelle) */
            .vc-shop-table tbody {
                display: grid !important;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 6px;
            }
            /* Card: vertical stack, position:relative für absolute-Badge-Anker */
            .vc-shop-table tr {
                position: relative;
                grid-template-columns: 1fr !important;
                gap: 4px !important;
                padding: 8px !important;
                margin-bottom: 0 !important;
                min-width: 0;
            }
            .vc-shop-table td {
                padding: 0 !important;
                font-size: 13px;
            }

            /* === Active Vaporizer-Tabelle (5 td: image, name, price, comparison, link) === */
            /* td:1 — Image-Hero (full width, 70px high, light bg) */
            .vc-shop-table:not(.vc-accessories-table):not(.vc-oos-table) td:nth-child(1) {
                grid-column: 1 !important;
                grid-row: 1;
                width: 100% !important;
                height: 70px;
                background: #f8fafc;
                border-radius: 8px;
                display: flex !important;
                align-items: center;
                justify-content: center;
                font-size: 0; /* clears whitespace baseline */
            }
            .vc-shop-table:not(.vc-accessories-table):not(.vc-oos-table) td:nth-child(1) a {
                display: flex;
                width: 100%;
                height: 100%;
                align-items: center;
                justify-content: center;
            }
            .vc-shop-table:not(.vc-accessories-table):not(.vc-oos-table) td:nth-child(1) img {
                width: auto !important;
                height: 56px !important;
                max-width: 80% !important;
                object-fit: contain;
                background: transparent !important;
            }
            /* td:4 — Comparison badge floating top-right of image */
            .vc-shop-table:not(.vc-accessories-table):not(.vc-oos-table) td:nth-child(4) {
                position: absolute;
                top: 12px;
                right: 12px;
                grid-column: unset !important;
                grid-row: unset !important;
                z-index: 1;
                text-align: right !important;
            }
            .vc-shop-table:not(.vc-accessories-table):not(.vc-oos-table) td:nth-child(4) .vc-comparison-badge {
                font-size: 10px;
                padding: 2px 6px;
                border-radius: 6px;
                box-shadow: 0 1px 2px rgba(0,0,0,0.08);
            }
            /* td:2 — Name (line-clamp 2) */
            .vc-shop-table:not(.vc-accessories-table):not(.vc-oos-table) td:nth-child(2) {
                grid-column: 1 / -1 !important;
                grid-row: 2;
                font-size: 13px !important;
                font-weight: 600 !important;
                margin-top: 4px;
            }
            .vc-shop-table:not(.vc-accessories-table):not(.vc-oos-table) td:nth-child(2) .vc-product-name a,
            .vc-shop-table:not(.vc-accessories-table):not(.vc-oos-table) td:nth-child(2) .vc-product-name {
                font-size: 13px;
                line-height: 1.25;
                display: -webkit-box;
                -webkit-line-clamp: 2;
                -webkit-box-orient: vertical;
                overflow: hidden;
            }
            .vc-shop-table:not(.vc-accessories-table):not(.vc-oos-table) td:nth-child(2) .vc-product-name > div {
                font-size: 11px !important;
                margin-top: 2px;
            }
            /* td:3 — Price */
            .vc-shop-table:not(.vc-accessories-table):not(.vc-oos-table) td:nth-child(3) {
                grid-column: 1 / -1 !important;
                grid-row: 3;
                font-size: 14px !important;
            }
            .vc-shop-table:not(.vc-accessories-table):not(.vc-oos-table) td:nth-child(3) .vc-price {
                font-size: 15px;
                font-weight: 700;
            }
            .vc-shop-table:not(.vc-accessories-table):not(.vc-oos-table) td:nth-child(3) .vc-orig-price {
                font-size: 11px;
            }
            /* td:5 — Shop link button (full width, 44px tap target) */
            .vc-shop-table:not(.vc-accessories-table):not(.vc-oos-table) td:nth-child(5) {
                grid-column: 1 / -1 !important;
                grid-row: 4;
                margin-top: 4px;
            }
            .vc-shop-table:not(.vc-accessories-table):not(.vc-oos-table) td:nth-child(5) .vc-shop-link {
                font-size: 12px;
                line-height: 44px;
                padding: 0 8px;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
            }

            /* === OOS Vaporizer-Tabelle (4 td: image, name, price, notify-btn) === */
            .vc-shop-table.vc-oos-table:not(.vc-accessories-table) td:nth-child(1) {
                grid-column: 1 !important;
                grid-row: 1;
                width: 100% !important;
                height: 70px;
                background: #f8fafc;
                border-radius: 8px;
                display: flex !important;
                align-items: center;
                justify-content: center;
                font-size: 0;
                opacity: 0.65; /* OOS visual hint */
            }
            .vc-shop-table.vc-oos-table:not(.vc-accessories-table) td:nth-child(1) a {
                display: flex; width: 100%; height: 100%;
                align-items: center; justify-content: center;
            }
            .vc-shop-table.vc-oos-table:not(.vc-accessories-table) td:nth-child(1) img {
                width: auto !important;
                height: 56px !important;
                max-width: 80% !important;
                object-fit: contain;
            }
            .vc-shop-table.vc-oos-table:not(.vc-accessories-table) td:nth-child(2) {
                grid-column: 1 / -1 !important;
                grid-row: 2;
                font-size: 13px !important;
                font-weight: 600 !important;
                margin-top: 4px;
            }
            .vc-shop-table.vc-oos-table:not(.vc-accessories-table) td:nth-child(2) .vc-product-name a,
            .vc-shop-table.vc-oos-table:not(.vc-accessories-table) td:nth-child(2) .vc-product-name {
                font-size: 13px;
                line-height: 1.25;
                display: -webkit-box;
                -webkit-line-clamp: 2;
                -webkit-box-orient: vertical;
                overflow: hidden;
            }
            .vc-shop-table.vc-oos-table:not(.vc-accessories-table) td:nth-child(3) {
                grid-column: 1 / -1 !important;
                grid-row: 3;
                font-size: 13px !important;
            }
            .vc-shop-table.vc-oos-table:not(.vc-accessories-table) td:nth-child(4) {
                grid-column: 1 / -1 !important;
                grid-row: 4;
                margin-top: 4px;
            }
            .vc-shop-table.vc-oos-table:not(.vc-accessories-table) td:nth-child(4) .vc-oos-notify-btn {
                width: 100%;
                min-height: 44px;
                font-size: 12px;
                padding: 0 8px;
            }

            /* === Accessories-Tabelle (6 td: type, brand, name, price, comparison, link) === */
            /* No product image — denser text-stack mit Type-Pill als Top-Anchor */
            .vc-accessories-table td:nth-child(1) {
                grid-column: 1 !important;
                grid-row: 1;
                font-size: 10px !important;
                text-transform: uppercase;
                letter-spacing: 0.5px;
                color: #475569;
            }
            .vc-accessories-table td:nth-child(5) {
                position: absolute;
                top: 8px;
                right: 8px;
                grid-column: unset !important;
                grid-row: unset !important;
                text-align: right !important;
            }
            .vc-accessories-table td:nth-child(5) .vc-comparison-badge {
                font-size: 10px;
                padding: 2px 6px;
                border-radius: 6px;
            }
            .vc-accessories-table td:nth-child(2) {
                grid-column: 1 / -1 !important;
                grid-row: 2;
                font-size: 11px !important;
                color: #475569;
            }
            .vc-accessories-table td:nth-child(3) {
                grid-column: 1 / -1 !important;
                grid-row: 3;
                font-size: 13px !important;
                font-weight: 600 !important;
                line-height: 1.25;
            }
            .vc-accessories-table td:nth-child(3) a {
                display: -webkit-box;
                -webkit-line-clamp: 2;
                -webkit-box-orient: vertical;
                overflow: hidden;
            }
            .vc-accessories-table td:nth-child(4) {
                grid-column: 1 / -1 !important;
                grid-row: 4;
                font-size: 14px !important;
            }
            .vc-accessories-table td:nth-child(4) .vc-price {
                font-size: 15px;
                font-weight: 700;
            }
            .vc-accessories-table td:nth-child(6) {
                grid-column: 1 / -1 !important;
                grid-row: 5;
                margin-top: 4px;
            }
            .vc-accessories-table td:nth-child(6) .vc-shop-link {
                font-size: 12px;
                line-height: 44px;
                padding: 0 8px;
            }

            /* Best-price card-accent: switch from inset-shadow (which loses against new bg) */
            .vc-shop-table tr.vc-row-best-price {
                box-shadow: 0 0 0 2px #22c55e;
                background: #f0fdf4;
            }

            /* OOS notify-form: stack inputs vertically inside cramped card */
            .vc-shop-table.vc-oos-table .vc-oos-notify-form {
                flex-direction: column !important;
                gap: 4px;
            }
            .vc-shop-table.vc-oos-table .vc-oos-email,
            .vc-shop-table.vc-oos-table .vc-oos-submit {
                width: 100%;
                min-height: 36px;
                font-size: 12px;
            }
        }

        .vc-shop-intro { color: #475569; font-size: 14px; line-height: 1.6; margin-bottom: 16px; }

        .vc-shop-trust-info {
            display: flex;
            gap: 24px;
            flex-wrap: wrap;
            margin-bottom: 16px;
            padding: 12px 16px;
            background: #f8fafc;
            border-radius: 8px;
            border: 1px solid #f0f0f0;
            font-size: 14px;
        }
        .vc-trust-info-item {
            display: flex;
            align-items: center;
            gap: 6px;
        }
        .vc-trust-info-label {
            color: #475569;
            font-weight: 500;
        }
        .vc-trust-info-value {
            color: #1e293b;
        }
        a.vc-trust-info-value {
            color: #2563eb;
            text-decoration: none;
        }
        a.vc-trust-info-value:hover {
            text-decoration: underline;
        }

        .vc-shop-crosslinks {
            display: flex;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
            margin-bottom: 20px;
            font-size: 13px;
        }
        .vc-shop-crosslinks-sep {
            color: #475569;
            font-weight: 500;
            margin-left: 4px;
        }
        .vc-shop-pill {
            display: inline-flex;
            align-items: center;
            min-height: 44px;
            padding: 5px 12px;
            border-radius: 16px;
            background: #eff6ff;
            color: #2563eb;
            text-decoration: none;
            font-weight: 500;
            transition: background 0.2s;
        }
        .vc-shop-pill:hover {
            background: #dbeafe;
        }
        .vc-shop-pill-brand {
            background: #f1f5f9;
            color: #334155;
        }
        .vc-shop-pill-brand:hover {
            background: #f0f0f0;
        }
        .vc-pill-count {
            color: #475569;
            font-weight: 400;
        }

        @media (max-width: 768px) {
            .vc-shop-trust-info { flex-direction: column; gap: 8px; }
        }

        .vc-alert-cta {
            display: flex;
            align-items: center;
            gap: 16px;
            margin: 24px 0;
            padding: 18px 24px;
            background: linear-gradient(135deg, #eff6ff 0%, #f0f9ff 100%);
            border: 1px solid #bfdbfe;
            border-radius: 10px;
        }
        .vc-alert-cta-icon { color: #3b82f6; flex-shrink: 0; }
        .vc-alert-cta-text { flex: 1; font-size: 14px; line-height: 1.5; color: #334155; }
        .vc-alert-cta-text strong { display: block; font-size: 15px; color: #1e293b; margin-bottom: 2px; }
        .vc-alert-cta-btn {
            flex-shrink: 0;
            padding: 10px 20px;
            background: #3b82f6;
            color: #fff;
            border-radius: 8px;
            font-size: 14px;
            font-weight: 600;
            text-decoration: none;
            white-space: nowrap;
            transition: background 0.2s;
        }
        .vc-alert-cta-btn:hover { background: #2563eb; color: #fff; text-decoration: none; }
        @media (max-width: 640px) {
            .vc-alert-cta { flex-direction: column; text-align: center; gap: 12px; padding: 16px; }
            .vc-alert-cta-btn { width: 100%; text-align: center; }
        }

        .vc-seo-section {
            margin: 32px 0 24px;
            padding: 24px 28px;
            background: #f8fafc;
            border-radius: 12px;
            border: 1px solid #f0f0f0;
            line-height: 1.7;
        }
        .vc-seo-section h2 {
            font-size: 1.3em;
            color: #1e293b;
            margin: 20px 0 12px;
        }
        .vc-seo-section h2:first-child {
            margin-top: 0;
        }
        .vc-seo-section p {
            color: #475569;
            font-size: 0.95em;
            margin: 0 0 8px;
        }
        .vc-seo-brand-list {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin: 10px 0 4px;
        }
        .vc-seo-brand-pill {
            display: inline-flex;
            align-items: center;
            min-height: 44px;
            padding: 6px 12px;
            border-radius: 16px;
            background: #fff;
            border: 1px solid #f0f0f0;
            color: #334155;
            text-decoration: none;
            font-size: 0.88em;
            font-weight: 500;
            transition: border-color 0.2s, background 0.2s;
        }
        .vc-seo-brand-pill:hover {
            border-color: #3b82f6;
            background: #eff6ff;
            color: #2563eb;
        }
        .vc-seo-brand-count {
            color: #475569;
            font-weight: 400;
        }
        @media (max-width: 768px) {
            .vc-seo-section { padding: 16px 18px; }
        }

/* === OOS Section === */
.vc-oos-section {
    margin-top: 24px;
    border-top: 1px dashed #e2e8f0;
    padding-top: 12px;
}
.vc-oos-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    color: #475569;
    padding: 6px 0;
}
.vc-oos-toggle:hover { color: #334155; }
.vc-oos-chevron {
    transition: transform 0.2s;
}
.vc-oos-toggle.vc-oos-open .vc-oos-chevron {
    transform: rotate(90deg);
}
.vc-oos-count {
    font-weight: 400;
    color: #475569;
}
.vc-oos-table tbody tr {
    opacity: 0.7;
}
.vc-oos-table tbody tr:hover {
    opacity: 1;
}
.vc-oos-price {
    color: #475569;
    text-decoration: line-through;
    font-size: 14px;
}
.vc-oos-notify-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #f0f9ff;
    border: 1px solid #bae6fd;
    border-radius: 6px;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 500;
    color: #0369a1;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s, border-color 0.15s;
}
.vc-oos-notify-btn:hover {
    background: #e0f2fe;
    border-color: #7dd3fc;
}
.vc-oos-notify-form {
    display: flex;
    gap: 6px;
    align-items: center;
}
.vc-oos-email {
    padding: 5px 8px;
    border: 1px solid #d1d5db;
    border-radius: 5px;
    font-size: 13px;
    width: 180px;
    max-width: 50vw;
}
.vc-oos-submit {
    background: #2563eb;
    color: #fff;
    border: none;
    border-radius: 5px;
    padding: 5px 12px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
}
.vc-oos-submit:hover { background: #1d4ed8; }
.vc-oos-success {
    font-weight: 500;
}
@media (max-width: 768px) {
    .vc-oos-notify-btn span { display: none; }
    .vc-oos-email { width: 140px; }
    .vc-oos-notify-form { flex-wrap: wrap; }
}

/* === Best Price Filter Pill === */
.vc-best-price-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border: 2px solid #bbf7d0;
    border-radius: 20px;
    background: #f0fdf4;
    color: #166534;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.15s ease;
    user-select: none;
}
.vc-best-price-pill:hover {
    background: #dcfce7;
    border-color: #86efac;
}
.vc-best-price-pill input[type="checkbox"] {
    display: none;
}
.vc-best-price-pill .vc-pill-icon {
    font-size: 14px;
    line-height: 1;
}
.vc-best-price-pill.vc-pill-active {
    background: #22c55e;
    border-color: #22c55e;
    color: #fff;
    box-shadow: 0 1px 3px rgba(34, 197, 94, 0.3);
}
.vc-best-price-pill .vc-pill-count {
    font-weight: 400;
    opacity: 0.8;
}
@media (max-width: 768px) {
    .vc-best-price-pill {
        padding: 8px 14px;
        min-height: 44px;
        font-size: 14px;
    }
}

/* Shop-Detail-Pivot auto-compare fallback (added 2026-05-09 — vc_shop_auto_comparisons shortcode) */
.vc-shop-auto-compare-section{margin:24px 0;padding:20px 24px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}
.vc-shop-auto-compare-section h2{font-size:1.15em;font-weight:700;color:#1e293b;margin:0 0 12px 0}
.vc-shop-auto-compare-section .vc-auto-compare-tables{display:flex;flex-direction:column;gap:0;margin-top:8px}
.vc-shop-auto-compare-section .vc-auto-compare-tables .vc-compare-table{width:100%;border-collapse:collapse;font-size:14px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}
.vc-shop-auto-compare-section .vc-auto-compare-tables .vc-compare-table+.vc-compare-table{margin-top:16px}
.vc-shop-auto-compare-section .vc-auto-compare-tables .vc-compare-table th,
.vc-shop-auto-compare-section .vc-auto-compare-tables .vc-compare-table td{padding:10px 14px;text-align:left;border-bottom:1px solid #f1f5f9;vertical-align:top}
.vc-shop-auto-compare-section .vc-auto-compare-tables .vc-compare-table th{background:#f8fafc;color:#475569;font-weight:600;font-size:13px;white-space:nowrap;width:140px;min-width:140px}
.vc-shop-auto-compare-section .vc-auto-compare-tables .vc-compare-table tr:first-child th{background:transparent;color:#1e293b;font-size:14px;text-align:center;padding:10px 14px 12px;border-bottom:1px solid #e5e7eb}
.vc-shop-auto-compare-section .vc-auto-compare-tables .vc-compare-table tr:last-child td,
.vc-shop-auto-compare-section .vc-auto-compare-tables .vc-compare-table tr:last-child th{border-bottom:none}
@media(max-width:480px){
    .vc-shop-auto-compare-section{padding:14px 16px}
    .vc-shop-auto-compare-section .vc-auto-compare-tables .vc-compare-table th,
    .vc-shop-auto-compare-section .vc-auto-compare-tables .vc-compare-table td{padding:8px 10px;font-size:13px}
    .vc-shop-auto-compare-section .vc-auto-compare-tables .vc-compare-table th{width:100px;min-width:100px}
}
