/* ---------- Product cards (square, round, linear, wall washer, ground burial, spot, up-down, safety) ---------- */
.sq-card { text-align: center; }
.sq-img {
    background: #5f5f5f; border: 14px solid #3c3c3c;
    aspect-ratio: 1/1; display: flex; align-items: center; justify-content: center; padding: 12px;
}
.sq-img img { max-width: 100%; max-height: 100%; object-fit: contain; transition: .5s ease; }
.sq-card:hover .sq-img img { transform: scale(1.06); }
.sq-card h3 { color: #d9232d; font-weight: 800; font-size: 20px; text-transform: uppercase; margin: 14px 0 8px; }
.sq-card p { font-size: 13px; line-height: 1.5; color: #444; text-align: left; margin-bottom: 10px; }
.sq-card p.sq-common { color: #777; font-size: 12px; }
.sq-watt { font-size: 13px; color: #222; margin-bottom: 12px; }


.sq-light .sq-img { background: #fff; }
.sq-img .sq-empty { color: #868e96; font-weight: 600; }

/* TDS buttons */
.sq-tds { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }
.sq-tds a, .sq-tds span {
    font-size: 13px; font-weight: 600; padding: 6px 14px; border-radius: 20px; text-decoration: none; display: inline-block;
}
.sq-tds a { background: #d9232d; color: #fff; }
.sq-tds a:hover { background: #222; color: #fff; }
.sq-tds span { background: #e9ecef; color: #868e96; }

/* ---------- Type cards (flood-lights, linear-wall-washer, ground-burial) ---------- */
.fl-card .category-image { aspect-ratio: 1/1; display: flex; align-items: center; justify-content: center; background: #fff; padding: 14px; }
.fl-card .category-image img { width: 100%; height: 100%; object-fit: contain; }
.fl-card .category-content h2 { font-size: 20px; text-transform: uppercase; text-align: center; }

/* ---------- Neon strip page ---------- */
.np-wrap { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 40px; align-items: center; }
.np-img { background: #5f5f5f; border: 14px solid #3c3c3c; aspect-ratio: 1/1; display: flex; align-items: center; justify-content: center; padding: 12px; }
.np-img img { max-width: 100%; max-height: 100%; object-fit: contain; }
.np-info h2 { color: #d9232d; font-weight: 800; font-size: 34px; text-transform: uppercase; margin-bottom: 14px; }
.np-info p { font-size: 15px; line-height: 1.7; color: #444; margin-bottom: 22px; }
.np-table { width: 100%; border-collapse: collapse; margin-bottom: 24px; }
.np-table th, .np-table td { padding: 12px 16px; border: 1px solid #eee; text-align: left; font-size: 15px; }
.np-table th { background: #f8f0f0; color: #222; }
.np-tds a, .np-tds span { font-size: 14px; font-weight: 600; padding: 8px 18px; border-radius: 20px; text-decoration: none; display: inline-block; }
.np-tds a { background: #d9232d; color: #fff; }
.np-tds a:hover { background: #222; color: #fff; }
.np-tds span { background: #e9ecef; color: #868e96; }
@media (max-width: 991px) { .np-wrap { grid-template-columns: 1fr; } .np-info h2 { font-size: 28px; } }