/* ========================================
   SHOP DETAIL PAGE
   ======================================== */

/* === Shop Card Header === */
        .vc-shop-card {
            background: #ffffff;
            border: 1px solid #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: 24px;
            overflow: hidden;
        }
        .vc-shop-card-accent {
            height: 4px;
            background: linear-gradient(90deg, #2563eb 0%, #3b82f6 50%, #60a5fa 100%);
        }
        .vc-shop-card-top {
            display: grid;
            grid-template-columns: auto 1fr;
            gap: 24px;
            padding: 24px 28px 16px;
            align-items: start;
        }
        .vc-shop-card-logo {
            display: flex;
            align-items: center;
            justify-content: center;
            background: #f8fafc;
            border: 1px solid #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 4px 0;
            font-size: 1.5em;
            color: #1e293b;
            line-height: 1.3;
        }
        .vc-shop-h1-sub {
            font-weight: 300;
            font-size: 0.6em;
            color: #94a3b8;
        }
        .vc-shop-card-info > a {
            color: #3b82f6;
            text-decoration: none;
            font-size: 14px;
        }
        .vc-shop-card-info > a:hover {
            text-decoration: underline;
        }
        .vc-shop-card-meta {
            display: flex;
            gap: 16px;
            margin-top: 12px;
            flex-wrap: wrap;
            font-size: 0.9em;
        }
        .vc-shop-card-meta .vc-shop-meta-item {
            display: flex;
            align-items: center;
            gap: 6px;
        }
        .vc-shop-card-meta .vc-shop-meta-label {
            color: #94a3b8;
            font-size: 13px;
        }
        .vc-shop-card-meta .vc-shop-meta-value {
            color: #334155;
            font-weight: 500;
        }
        /* Stats pills row */
        .vc-shop-card-stats {
            display: flex;
            gap: 10px;
            padding: 0 28px 16px;
            flex-wrap: wrap;
        }
        .vc-shop-card-stat {
            display: flex;
            align-items: center;
            gap: 6px;
            background: #f1f5f9;
            padding: 8px 14px;
            border-radius: 20px;
            font-size: 13px;
            color: #475569;
        }
        .vc-shop-card-stat strong {
            color: #1e293b;
            font-size: 15px;
        }
        /* Trust row */
        .vc-shop-card-trust {
            display: flex;
            gap: 16px;
            padding: 0 28px 16px;
            flex-wrap: wrap;
            align-items: center;
        }
        /* Shipping collapsible */
        .vc-shop-card-shipping {
            border-top: 1px solid #f1f5f9;
            padding: 0 28px;
        }
        .vc-shipping-toggle {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 12px 0;
            cursor: pointer;
            color: #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: 16px;
        }
        .vc-shipping-content.vc-open { display: block; }
        .vc-trustpilot-box {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            background: rgba(0, 182, 122, 0.15);
            padding: 6px 12px;
            border-radius: 6px;
            text-decoration: none !important;
            transition: background 0.2s;
        }
        .vc-trustpilot-box:hover {
            background: rgba(0, 182, 122, 0.25);
        }
        .vc-tp-logo { display: flex; align-items: center; }
        .vc-tp-score {
            color: #059669;
            font-weight: 700;
            font-size: 1.1em;
        }
        .vc-tp-stars {
            display: inline-flex;
            gap: 2px;
        }
        .vc-star {
            width: 14px;
            height: 14px;
            display: inline-block;
            background-size: contain;
        }
        .vc-star-full {
            background: 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") no-repeat center;
        }
        .vc-star-half {
            background: 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") no-repeat center;
        }
        .vc-tp-reviews {
            color: #cbd5e1;
            font-size: 0.85em;
        }
        .vc-tp-platform {
            font-size: 0.8em;
            font-weight: 600;
            color: #94a3b8;
            letter-spacing: 0.02em;
        }
        .vc-coupon-badge-link {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            background: rgba(16, 185, 129, 0.15);
            padding: 6px 12px;
            border-radius: 6px;
            text-decoration: none !important;
            color: #10b981;
            font-weight: 500;
            font-size: 0.9em;
            transition: background 0.2s;
        }
        .vc-coupon-badge-link:hover {
            background: rgba(16, 185, 129, 0.25);
            color: #059669;
        }
        .vc-coupon-badge-link svg {
            width: 18px;
            height: 18px;
        }
        /* Legacy stat classes removed — now using .vc-shop-card-stat pills */

        .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: #059669; font-size: 0.9em; }
        .vc-vsk-na { color: #94a3b8; font-style: italic; }
        .vc-vsk-home { border: 1px solid #22c55e; background: #f0fdf4 !important; }
        .vc-vsk-delivery { color: #64748b; font-size: 0.8em; margin-top: 4px; }
        .vc-vsk-customs { color: #fb923c; font-size: 0.75em; margin-top: 2px; }
        .vc-vsk-customs-incl { color: #059669; font-size: 0.75em; margin-top: 2px; }

        .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: #94a3b8; }
        .vc-brand-filter-btn.vc-active { border-color: #3b82f6; color: #2563eb; }
        .vc-brand-filter-btn::after { content: '▾'; font-size: 11px; 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: 11px;
            color: #94a3b8;
        }
        .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: #64748b;
            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: #94a3b8;
            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: 11px; }
        .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: #059669; }
        .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: 11px;
            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 */
        .vc-shop-table tbody tr.vc-row-best-price {
            border-left: 3px solid #22c55e;
            background: #f0fdf4;
        }
        .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-block;
            margin-bottom: 20px;
            color: #3b82f6;
            text-decoration: none;
            font-size: 14px;
        }
        .vc-back-link:hover {
            text-decoration: underline;
        }

        .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: #64748b;
            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: #64748b;
            }
            .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: 11px; color: #64748b; 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: #64748b;
            }
            .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: #16a34a; }

            /* === 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: #64748b;
                display: flex;
                align-items: center;
                justify-content: center;
            }
        }
        .vc-shop-intro { color: #64748b; 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: #64748b;
            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: #64748b;
            font-weight: 500;
            margin-left: 4px;
        }
        .vc-shop-pill {
            display: inline-block;
            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: #94a3b8;
            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-block;
            padding: 4px 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: #94a3b8;
            font-weight: 400;
        }
        @media (max-width: 768px) {
            .vc-seo-section { padding: 16px 18px; }
        }
