/* Product detail: compact purchase column and open verified historical records. */
.product-page { max-width:1100px; margin:0 auto; min-width:0; }
.product-layout { display:grid; grid-template-columns:280px minmax(0,1fr); gap:18px; align-items:start; margin-bottom:22px; }
.product-sidebar,.product-history-column { min-width:0; }
.product-sidebar { display:grid; gap:14px; }
.product-buy,.product-context,.product-history { background:#fff; border:1px solid #e9e5df; border-radius:14px; padding:18px; }
.product-identity { display:flex; align-items:flex-start; gap:10px; }
.product-photo { width:58px; height:76px; border-radius:9px; flex-shrink:0; }
.product-photo-discount { position:absolute; left:2px; top:2px; padding:2px 4px; border-radius:4px; background:var(--color-accent); color:#fff; font-size:10px; font-weight:700; }
.product-photo-store { position:absolute; right:2px; bottom:2px; padding:2px 4px; border-radius:4px; font-size:8px; font-weight:700; }
.product-title { font-size:20px; line-height:1.2; margin:0; overflow-wrap:anywhere; }
.product-identity .text-sm { font-size:12px; }
.product-identity .flex.flex-wrap { gap:5px; }
.product-identity .flex.flex-wrap>span { padding:0; background:transparent; border-radius:0; }
.product-identity .text-xs { font-size:11px; }
.product-offer { margin-top:17px; padding-top:14px; border-top:1px solid #e9e5df; }
.product-offer>div.flex { gap:5px 8px; }
.product-price { font-size:34px; font-weight:800; line-height:1.15; letter-spacing:-.035em; font-variant-numeric:tabular-nums; white-space:nowrap; }
.product-offer .text-base { font-size:13px; }
.product-offer .text-sm { font-size:12px; }
.product-offer .text-xs { font-size:11px; }
.product-saving { color:#126345; margin:9px 0 2px; font-size:13px; font-weight:700; }
.product-regular-note { color:var(--color-muted,#6e645c); font-size:11px; margin:0; }
.product-validity { font-size:12px; color:var(--color-muted,#6e645c); margin:12px 0; }
.product-actions { display:grid; gap:9px; margin-top:14px; }
.product-actions>div { min-width:0; }
.product-add-button,.product-actions .product-watch-button { display:flex; align-items:center; justify-content:center; gap:7px; width:100%; padding:10px 12px; min-height:42px; font-size:13px; font-weight:700; border-radius:8px; }
.product-add-button { color:#fff; background:var(--color-accent); border:1px solid var(--color-accent); }
.product-add-button:hover { filter:brightness(.94); }
.product-add-button[aria-pressed=true] { background:#126345; border-color:#126345; }
.product-actions .product-watch-button { border:1px solid #d8dce4; color:var(--color-accent); background:#fff; }
.product-actions .product-watch-button[aria-pressed=true] { background:color-mix(in srgb,var(--color-accent) 7%,white); border-color:var(--color-accent); }
.product-recipe-action [data-recipe-item-button] { width:100%; border-radius:8px; font-size:13px; min-height:44px; }
.product-source-link { margin-top:13px; }
.product-source-link a { font-size:12px; }
.product-context { padding:16px 18px; }
.product-context[data-verdict=good] { background:#edf8f0; border-color:#cdebd9; }
.product-verdict { display:flex; gap:7px; align-items:center; font-size:15px; }
.product-verdict svg { width:20px; height:20px; flex-shrink:0; }
.product-context[data-verdict=good] .product-verdict { color:#126345; }
.product-context[data-verdict=high] .product-verdict { color:#983c20; }
.product-context-comparison { font-size:12px; margin:7px 0 12px; }
.product-context-detail { font-size:11px; color:var(--color-muted,#6e645c); margin:9px 0 0; }
.product-reference-prices { margin:0; display:grid; gap:13px; }
.product-reference-prices dt { font-size:11px; color:var(--color-muted,#6e645c); }
.product-reference-prices dd { font-size:22px; font-weight:800; line-height:1.3; margin:2px 0; font-variant-numeric:tabular-nums; }
.product-reference-prices small { display:block; font-weight:400; line-height:1.5; font-size:11px; margin:0; color:var(--color-muted,#6e645c); }
.product-reference-prices .product-low-difference { color:var(--color-text); margin-top:4px; }
.product-history { margin-bottom:0; scroll-margin-top:100px; }
.product-history h2 { font-size:18px; margin:0; }
.product-history .product-history-subtitle { font-size:11px; color:var(--color-muted,#6e645c); margin:4px 0 0; }
.product-records { margin-top:16px; }
.product-records-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:9px; }
.product-records-heading h3 { font-size:13px; margin:0; }
.product-records-heading .product-record-count { color:var(--color-muted,#6e645c); font-size:11px; }
.product-history .product-history-controls { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:9px; margin-top:14px; }
.product-history-controls label { display:flex; gap:8px; align-items:center; color:var(--color-muted,#6e645c); font-size:12px; }
.product-history-controls select { border:1px solid #d8dce4; border-radius:6px; padding:7px 8px; max-width:100%; background:#fff; color:var(--color-text); font-size:12px; }
.product-records-table { width:100%; border-collapse:collapse; font-size:12px; }
.product-records-table th { padding:7px 5px; text-align:left; color:var(--color-muted,#6e645c); font-weight:500; font-size:11px; border-bottom:1px solid #e9e5df; }
.product-records-table td { padding:9px 5px; border-bottom:1px solid #efede8; overflow-wrap:anywhere; }
.product-records-table th:last-child,.product-records-table td:last-child { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.product-records-table td:last-child { font-weight:700; }
.product-records-toggle,.product-records-clear { color:var(--color-accent); font-size:12px; font-weight:700; padding:9px 0; min-height:36px; }
.product-distribution { margin-top:16px; padding-top:14px; border-top:1px solid #e9e5df; }
.product-distribution-header { display:flex; gap:10px; justify-content:space-between; align-items:center; flex-wrap:wrap; }
.product-distribution-header h3 { font-size:13px; margin:0; }
.product-chart-tabs { display:flex; flex-wrap:wrap; gap:5px; }
.product-chart-tabs button { padding:6px 9px; border-radius:6px; font-size:11px; font-weight:700; color:var(--color-muted,#6e645c); }
.product-chart-tabs button[aria-pressed=true] { background:var(--color-accent); color:#fff; }
.product-frequency { display:grid; grid-template-columns:1fr 1fr; gap:2px 22px; margin-top:12px; }
.product-frequency button { display:grid; grid-template-columns:auto minmax(20px,1fr) auto; align-items:center; gap:9px; width:100%; text-align:left; padding:8px 4px; border-radius:6px; font-size:12px; }
.product-frequency button:hover,.product-frequency button[aria-pressed=true] { background:color-mix(in srgb,var(--color-accent) 6%,white); }
.product-frequency .product-bin-price { font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap; }
.product-bin-track { display:block; height:7px; background:#f0f1f4; border-radius:3px; overflow:hidden; }
.product-bin-fill { display:block; height:100%; background:var(--color-accent); border-radius:3px; }
.product-bin-count { color:var(--color-muted,#6e645c); white-space:nowrap; font-size:11px; }
.product-frequency-note,.product-history-scope { font-size:11px; color:var(--color-muted,#6e645c); margin:9px 0 0; }
.product-history-method { margin-top:13px; padding-top:12px; border-top:1px solid #e9e5df; font-size:11px; color:var(--color-muted,#6e645c); }
.product-history-method summary { color:var(--color-accent); font-weight:700; cursor:pointer; padding:5px 0; }
.product-history-method p { margin:8px 0 0; }
@media(max-width:899px) {
  .product-layout { grid-template-columns:250px minmax(0,1fr); gap:14px; }
  .product-frequency { grid-template-columns:1fr; }
  .product-buy,.product-context,.product-history { padding:15px; }
}
@media(max-width:699px) {
  .product-layout { grid-template-columns:minmax(0,1fr); }
  .product-sidebar { gap:12px; }
  .product-title { font-size:21px; }
  .product-identity { gap:12px; }
  .product-photo { width:66px; height:76px; }
  .product-offer { margin-top:13px; padding-top:12px; }
  .product-actions { grid-template-columns:1fr 1fr; gap:8px; }
  .product-add-button,.product-actions .product-watch-button { font-size:12px; padding:10px 8px; min-height:44px; }
  .product-add-button svg,.product-actions .product-watch-button svg { flex-shrink:0; }
  .product-reference-prices { grid-template-columns:1fr 1fr; gap:12px; }
  .product-reference-prices dd { font-size:21px; }
  .product-records-table { font-size:12px; }
  .product-records-table td { padding:9px 3px; }
  .product-history-controls select { font-size:16px; }
}
@media(max-width:359px) { .product-actions { grid-template-columns:1fr; } }
@media(pointer:coarse) {
  .product-frequency button,.product-chart-tabs button,.product-records-toggle,.product-records-clear,.product-history-controls select { min-height:44px; }
}
