/* Dynamic VP attribute picker + disabled OOS values */
.dynamic-attrs { display: flex; flex-direction: column; gap: 16px; margin-bottom: 16px; }
.dynamic-attrs__group { margin: 0; }

.swatch--image {
    overflow: hidden;
    background: var(--color-border, #e8e8e8);
}
.swatch--image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 50%;
}

.pdp__qty-row.is-purchase-gated,
.quick-view__qty-row.is-purchase-gated {
    opacity: 0.45;
    pointer-events: none;
}

.swatch.is-disabled,
.size-pill.is-disabled {
    opacity: 0.35;
    cursor: not-allowed;
    text-decoration: line-through;
    pointer-events: none;
}

.pdp__code,
.pdp__spec-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}
.pdp__spec-table th,
.pdp__spec-table td {
    padding: 8px 10px;
    border-bottom: 1px solid var(--color-border, #e8e8e8);
    vertical-align: top;
}
.pdp__spec-table th {
    width: 38%;
    font-weight: 600;
    text-align: left;
}

.quick-view__code {
    font-size: 12px;
    color: var(--color-text-muted);
    margin: 4px 0 10px;
    letter-spacing: 0.02em;
}

.pdp__variant-stock {
    font-size: 13px;
    font-weight: 600;
    color: var(--color-dark);
    margin: 0 0 14px;
}

/* Card hover View Details geometry/colour lives in styles.css
   (shared with S Add/Update Bag so bag-qty clears both). */

.mega-menu__column-title {
    text-decoration: none;
    color: var(--color-text-muted);
    transition: color 0.15s ease;
}

.mega-menu__column-title:hover {
    color: var(--color-accent);
}
