/* B&H Photo partner styles */

.bhphoto-landing { padding: 8px 0; }

.bhphoto-hero { margin-bottom: 24px; }
.bhphoto-hero h1 { font-size: 18px; font-weight: 700; color: var(--text-bright); margin-bottom: 4px; }
.bhphoto-subtitle { font-size: 13px; color: var(--text-secondary); }

.bhphoto-section-title { font-size: 13px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin: 24px 0 8px; padding-bottom: 4px; border-bottom: 1px solid var(--border-subtle); }

/* Product grid — uses layout primitive */
.bhphoto-product-grid { /* layout via .grid-cards in markup if needed, or inline grid */ }

/* Product card */
.bhphoto-card { display: block; border: 1px solid var(--border); border-radius: 8px; overflow: hidden; text-decoration: none; color: var(--text-primary); background: var(--bg-surface); transition: border-color 0.15s; }
.bhphoto-card:hover { border-color: var(--accent-blue); }

.bhphoto-card-image { height: 60px; background: var(--bg-overlay); padding: 12px; }
.bhphoto-card-brand-icon { font-size: 18px; font-weight: 700; color: var(--text-muted); opacity: 0.4; }

.bhphoto-card-body { padding: 12px; }
.bhphoto-card-name { font-size: 13px; font-weight: 600; color: var(--text-bright); margin-bottom: 4px; }
.bhphoto-card-price { font-size: 16px; font-weight: 700; color: var(--accent-blue); margin-bottom: 6px; }
.bhphoto-card-specs { margin-bottom: 6px; }
.bhphoto-card-tco { font-size: 11px; color: var(--text-muted); margin-bottom: 4px; }
.bhphoto-card-rating { font-size: 11px; color: var(--accent-orange); }

.bhphoto-badge { display: inline-block; font-size: 10px; padding: 1px 6px; border-radius: 4px; background: var(--bg-overlay); color: var(--text-secondary); margin-right: 4px; }
.bhphoto-badge--ink { color: var(--accent-green); background: color-mix(in srgb, var(--accent-green) 10%, transparent); }

/* Product page */
.bhphoto-product-page { padding: 8px 0; }
.bhphoto-product-header { margin-bottom: 24px; }
.bhphoto-product-name { font-size: 18px; font-weight: 700; color: var(--text-bright); margin-bottom: 4px; }
.bhphoto-product-brand { font-size: 12px; color: var(--text-muted); margin-bottom: 8px; }
.bhphoto-product-price { font-size: 24px; font-weight: 700; color: var(--accent-blue); margin-bottom: 8px; }
.bhphoto-product-desc { font-size: 13px; color: var(--text-secondary); }

/* Spec table */
.bhphoto-spec-table { width: 100%; border-collapse: collapse; font-size: 13px; margin-bottom: 24px; }
.bhphoto-spec-table tr { border-bottom: 1px solid var(--border-subtle); }
.bhphoto-spec-name { padding: 6px 12px 6px 0; color: var(--text-muted); font-size: 12px; white-space: nowrap; width: 160px; }
.bhphoto-spec-value { padding: 6px 0; color: var(--text-primary); }

/* TCO card */
.bhphoto-tco-card { border: 1px solid var(--border); border-radius: 8px; padding: 16px; background: var(--bg-surface); }
.bhphoto-tco-row { padding: 6px 0; font-size: 13px; color: var(--text-primary); border-bottom: 1px solid var(--border-subtle); }
.bhphoto-tco-total { font-weight: 700; color: var(--text-bright); border-bottom: none; font-size: 15px; }
.bhphoto-tco-detail { font-size: 11px; color: var(--text-muted); margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--border-subtle); }

/* Category page */
.category-content { padding: 8px 0; }
.category-content h2 { font-size: 18px; font-weight: 600; margin-bottom: 8px; }
.category-guide { font-size: 13px; color: var(--text-secondary); margin-bottom: 16px; line-height: 1.5; }
.category-product-grid { display: flex; flex-direction: column; gap: 8px; } /* layout-exception: category product listing */
.category-product-card { display: block; padding: 12px 16px; border: 1px solid var(--border); border-radius: 8px; text-decoration: none; color: var(--text-primary); transition: border-color 0.15s; }
.category-product-card:hover { border-color: var(--accent-blue); }
.category-product-card strong { display: block; font-size: 14px; }
.category-product-meta { font-size: 12px; color: var(--text-muted); }
.category-product-desc { display: block; font-size: 11px; color: var(--text-secondary); margin-top: 4px; }
.category-empty { font-size: 13px; color: var(--text-muted); font-style: italic; }
