/* T07a: shared catalog readability and explicit actions, no data/state changes. */
#devicesGrid .price-card { min-width: 0; }
#devicesGrid .price-card button { min-height: 44px; min-width: 44px; }
#devicesGrid .catalog-card-title {
    font-size: 14px; line-height: 1.5; min-block-size: 4.5em;
    -webkit-line-clamp: 3; overflow-wrap: anywhere;
}
#devicesGrid .catalog-card-meta { color: #475569; font-size: 11px; line-height: 1.6; }
#devicesGrid .catalog-card-specs > span { color: #475569; font-size: 11px; line-height: 1.6; }
#devicesGrid .catalog-card-details {
    width: 100%; min-height: 44px; margin-top: 10px;
    border-radius: 10px; font-size: 13px; font-weight: 700;
}
#devicesGrid .catalog-card-details:not(.phone-card-details) {
    border: 1px solid #cbd5e1; background: transparent; color: #0f172a;
}
#devicesGrid .catalog-card-details:not(.phone-card-details):hover { background: #f8fafc; }
#devicesGrid .price-card button:focus-visible {
    outline: 3px solid #c2410c; outline-offset: 2px;
}
#phoneFilterSummary button, #applianceSummary button,
#productFilters #sortSelect, #applianceFilters #sortSelect { min-height: 44px; }
.dark #devicesGrid .catalog-card-meta,
.dark #devicesGrid .catalog-card-specs > span { color: #cbd5e1; }
.dark #devicesGrid .catalog-card-details:not(.phone-card-details) {
    border-color: #64748b; color: #f1f5f9;
}
.dark #devicesGrid .catalog-card-details:not(.phone-card-details):hover { background: #334155; }
@media (min-width: 640px) {
    #devicesGrid .catalog-card-title { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
    #devicesGrid .price-card, #devicesGrid .price-card img { transition: none; }
    #devicesGrid .price-card:hover, #devicesGrid .price-card:hover img { transform: none; }
}

/* Small visible color chips inside disjoint real 44px buttons (no negative hit overlays). */
#devicesGrid .catalog-variants {
    flex-wrap: wrap; gap: 4px; min-width: 0;
}
#devicesGrid .catalog-variant-hit {
    flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
    min-height: 44px; min-width: 44px; padding: 10px 2px;
    background: transparent; border: 0;
}
#devicesGrid .catalog-variant-label { display: inline-flex; white-space: nowrap; pointer-events: none; }
@media (max-width: 639px) {
    #devicesGrid .catalog-card-title { min-block-size: 3em; }
    #devicesGrid .catalog-card-actions {
        display: flex; flex-direction: column; gap: 10px; margin-top: 10px;
    }
    #devicesGrid .catalog-card-actions button {
        width: 100%; min-height: 44px; margin-top: 0; padding: 8px 4px;
        font-size: 13px; line-height: 1.5;
    }
}

/* T07c-2: real, separate touch targets inside the cart only. */
#cartSidebar button {
    min-width: 44px; min-height: 44px; flex-shrink: 0;
}
#cartSidebar button:focus-visible {
    outline: 3px solid #c2410c; outline-offset: 2px;
}
#cartSidebar .cart-item-actions {
    display: flex; flex-wrap: wrap; align-items: center;
    justify-content: space-between; gap: 8px;
}
#cartSidebar .cart-item-title,
#cartSidebar .cart-item-price { overflow-wrap: anywhere; }
