/* The same comparison controls accompany the selection across the site. */
.compare-dock.compare-controls { display:block; width:min(1100px,calc(100% - 32px)); max-width:1100px; min-height:0; left:16px; right:16px; bottom:calc(12px + env(safe-area-inset-bottom,0px)); padding:8px 12px; border-radius:6px; }
.compare-controls .compare-dock-expanded { display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; grid-template-areas:"summary chips actions collapse" "feedback feedback feedback feedback"; align-items:center; gap:0 12px; min-width:0; }
.compare-dock-summary { grid-area:summary; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.compare-controls .compare-dock-summary strong { margin:0; font-size:.875rem; font-weight:650; line-height:1.5; white-space:nowrap; }
.compare-dock-collapse { grid-area:collapse; display:inline-flex; flex:none; align-items:center; justify-content:center; gap:8px; border:0; border-radius:3px; background:transparent; color:#bcc2bb; min-height:44px; padding:8px; font-size:.875rem; white-space:nowrap; cursor:pointer; }
.compare-dock-collapse::after { content:""; width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg); }
.compare-dock-collapse:hover { color:var(--white); text-decoration:underline; text-underline-offset:4px; }
.compare-controls .compare-chips { grid-area:chips; display:flex; flex-wrap:nowrap; gap:6px; min-width:0; padding:0; margin:0; overflow:visible; list-style:none; }
.compare-controls .compare-chip { display:flex; flex:0 1 auto; align-items:center; gap:4px; min-width:0; max-width:100%; padding:0 0 0 10px; background:#262b26; color:var(--white); border:1px solid #495148; border-radius:3px; font:inherit; font-size:.875rem; }
.compare-chip > span { min-width:0; max-width:120px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.compare-chip > button { display:inline-flex; align-items:center; justify-content:center; flex:none; width:32px; min-height:44px; margin-left:auto; border:0; padding:0; color:#cbd3c6; background:transparent; font-size:1.125rem; line-height:1; cursor:pointer; }
.compare-chip > button:hover { color:var(--acid); }
.compare-dock-actions { grid-area:actions; display:flex; align-items:center; gap:12px; }
.compare-controls .compare-add { display:inline-flex; align-items:center; justify-content:center; padding:10px 4px; min-height:44px; color:var(--white); font-size:.875rem; line-height:1.4; text-decoration:underline; text-underline-offset:4px; }
.compare-controls .compare-dock-primary { min-height:44px; min-width:112px; padding:10px 20px; border:0; border-radius:3px; background:var(--acid); color:var(--ink); font-size:.9375rem; font-weight:750; cursor:pointer; }
.compare-controls .compare-dock-primary:disabled { opacity:.45; cursor:not-allowed; }
.compare-controls .compare-feedback { grid-area:feedback; color:var(--acid); font-size:.875rem; line-height:1.5; margin:8px 0 0; }
.compare-dock.compare-controls.is-reduced { width:fit-content; max-width:calc(100% - 32px); padding:0; }
.compare-controls .compare-dock-reopen { display:flex; align-items:center; gap:12px; min-height:46px; min-width:0; padding:8px 16px; border:0; border-radius:6px; background:transparent; color:var(--white); font-size:.875rem; font-weight:650; cursor:pointer; }
.compare-dock-reopen strong { display:inline-flex; justify-content:center; align-items:center; min-width:24px; height:24px; border-radius:12px; margin:0; padding:0 5px; background:var(--acid); color:var(--ink); font-size:.8125rem; }
.compare-reopen-label { font-size:.8125rem; font-weight:500; color:#cbd3c6; text-decoration:underline; text-underline-offset:3px; }
.compare-controls button:focus-visible,.compare-controls a:focus-visible { outline:2px solid var(--acid); outline-offset:3px; }
/* Reserve room inside the footer, so the fixed dock never reveals a blank strip below it. */
body.has-compare-selection { --compare-dock-fallback-space:120px; }
body.has-compare-selection.compare-is-reduced { --compare-dock-fallback-space:72px; }
body.has-compare-selection .site-footer { padding-bottom:calc(22px + var(--compare-dock-space,var(--compare-dock-fallback-space)) + env(safe-area-inset-bottom,0px)); }
.catalog-card-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
.catalog-card-actions button.catalog-card-compare { display:inline-flex; align-items:center; justify-content:center; min-width:0; min-height:44px; padding:8px 12px; border:1px solid var(--ink); color:var(--ink); background:transparent; font:inherit; font-size:.875rem; font-weight:700; line-height:1.35; text-align:center; white-space:normal; cursor:pointer; }
.catalog-card-actions button.catalog-card-compare.is-selected { background:var(--acid); border-color:var(--acid-strong); }
button.model-compare-link,button.model-jump-compare { font-family:inherit; cursor:pointer; }
button.model-compare-link { font-size:.875rem; }
.model-jump-links button.model-jump-compare { border:0; border-left:1px solid rgba(11,13,12,.24); }
button.model-compare-link.is-selected { color:var(--ink); border-color:var(--ink); }
.compare-selector-card .compare-selector-check { width:auto; height:auto; padding:6px 10px; font-size:.75rem; font-weight:700; }
.compare-selector-card > .compare-selector-detail { margin-top:12px; color:var(--muted-dark); font-size:.875rem; line-height:1.5; }
.compare-selector-card > .compare-selector-action { display:block; align-self:end; margin-top:20px; padding:12px; border:1px solid var(--line-dark); color:var(--ink); font-size:.875rem; font-weight:700; text-align:center; }
.compare-selector-card.is-selected > .compare-selector-action { background:var(--acid); border-color:var(--acid-strong); }
.compare-product-head .compare-remove-model { display:block; width:fit-content; margin:0 0 4px; padding:4px 0; min-height:32px; color:#bcc2bb; border:0; background:transparent; font-size:.875rem; font-weight:500; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.compare-product-head .compare-remove-model:hover { color:var(--acid); }
@media(max-width:930px) {
  .product-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:8px; }
  .product-actions .product-link,.product-actions .compare-toggle { display:inline-flex; align-items:center; justify-content:center; min-width:0; min-height:48px; padding:10px 12px; border:1px solid var(--ink); font-size:.875rem; font-weight:700; line-height:1.35; text-align:center; white-space:normal; }
  .product-actions .product-link { background:var(--ink); color:var(--white); }
  .product-actions .compare-toggle { background:transparent; color:var(--ink); }
  .product-actions .compare-toggle.is-selected { background:var(--acid); border-color:var(--acid-strong); }
  .product-actions .product-link:hover,.product-actions .compare-toggle:hover { background:var(--acid); color:var(--ink); }
  .product-actions a:focus-visible,.product-actions button:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
}
@media(max-width:760px) {
  .compare-dock.compare-controls { width:calc(100% - 24px); left:12px; right:12px; }
  .compare-dock.compare-controls.is-reduced { padding:0; width:fit-content; }
  body.has-compare-selection { --compare-dock-fallback-space:210px; }
  body.has-compare-selection.compare-is-reduced { --compare-dock-fallback-space:76px; }
}
@media(max-width:900px) {
  .compare-controls .compare-dock-expanded { grid-template-columns:minmax(0,1fr) auto auto; grid-template-areas:"chips actions collapse" "feedback feedback feedback"; gap:0 8px; }
  .compare-controls .compare-chip { flex:1 1 0; }
  .compare-controls .compare-dock-summary { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
}
@media(max-width:660px) {
  .compare-controls .compare-dock-expanded { grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"chips collapse" "actions actions" "feedback feedback"; gap:6px 8px; }
  .compare-dock-actions { justify-content:space-between; }
  .compare-controls .compare-chip { gap:0; padding-left:6px; font-size:.8125rem; }
  .compare-chip > button { width:28px; }
  .compare-dock-collapse { width:44px; padding:0; gap:0; font-size:0; }
  .compare-dock-collapse::after { width:9px; height:9px; }
}
@media(max-width:660px) { .model-jump-links button.model-jump-compare { border-left:0; border-top:1px solid rgba(255,255,255,.18); } }
@media(prefers-reduced-motion:reduce) { .compare-selector-card { transition:none; } }
