:root {
  --paper: #fafbfa;
  --surface: #f0f4f1;
  --ink: #202724;
  --muted: #58635d;
  --line: #d5ddd7;
  --accent: #235b46;
  --button-ink: #fafbfa;
  --hover: #194632;
  --input: #ffffff;
  --input-line: #7c8a80;
  --placeholder: #647269;
  color-scheme: light;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Malgun Gothic", sans-serif;
  font-synthesis: none;
  color: var(--ink);
  background: var(--paper);
}
@media (prefers-color-scheme: dark) {
  :root {
    --paper: #181d1a;
    --surface: #222c25;
    --ink: #e4ebe6;
    --muted: #adbab1;
    --line: #3e4c43;
    --accent: #9bcfb5;
    --button-ink: #16241c;
    --hover: #b8e0ca;
    --input: #202823;
    --input-line: #768d7e;
    --placeholder: #a8b6ad;
    color-scheme: dark;
  }
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; line-height: 1.75; word-break: keep-all; overflow-wrap: anywhere; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
a, button { touch-action: manipulation; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
select:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
p, h1, h2, h3, figure { margin: 0; }
h1, h2, h3 { line-height: 1.35; letter-spacing: -.035em; }
h1 { font-size: clamp(2rem, 4vw, 3.2rem); font-weight: 700; }
h2 { font-size: 1.35rem; font-weight: 650; }
.wrap { width: min(1080px, calc(100% - 80px)); margin-inline: auto; }
.preview { padding: 6px 20px; background: var(--surface); color: var(--muted); text-align: center; font-size: .75rem; }
.site-header { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 28px; border-bottom: 1px solid var(--line); }
.brand { display: flex; align-items: baseline; gap: 12px; font-size: .95rem; font-weight: 650; white-space: nowrap; }
.brand-mark { font-size: 2.15rem; font-weight: 750; letter-spacing: -.09em; line-height: 1; }
.brand-mark span { color: var(--accent); padding-left: 3px; }
.site-header nav { display: flex; gap: 28px; }
.site-header nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: .86rem; text-underline-offset: 6px; }
.site-header nav a:hover, .site-header nav a[aria-current] { color: var(--accent); text-decoration: underline; }
.skip { position: fixed; z-index: 10; top: 10px; left: 10px; padding: 10px 20px; background: var(--accent); color: var(--button-ink); transform: translateY(-160%); }
.skip:focus { transform: none; }
.feature { display: grid; grid-template-columns: 1.08fr 1fr; align-items: start; gap: 70px; padding: 58px 0 48px; }
.article-topic { margin-bottom: 17px; font-size: .82rem; color: var(--accent); font-weight: 600; }
.feature-description { max-width: 32ch; color: var(--muted); font-size: 1rem; margin-top: 22px; }
.read-link { display: inline-flex; align-items: center; gap: 22px; min-height: 44px; margin-top: 22px; color: var(--accent); font-size: .9rem; font-weight: 600; }
.read-link span, .button span { transition: transform .15s ease; }
.read-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.read-link:hover span, .button:hover span { transform: translateX(3px); }
.price-ledger { padding-top: 5px; }
.comparison-table { width: 100%; border-collapse: collapse; font-size: .85rem; font-variant-numeric: tabular-nums; }
.comparison-table caption { caption-side: bottom; text-align: left; font-size: .75rem; color: var(--muted); padding-top: 12px; }
.comparison-table th, .comparison-table td { padding: 12px 0; text-align: right; white-space: nowrap; }
.comparison-table thead { border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); }
.comparison-table thead th { font-size: .8rem; font-weight: 600; }
.comparison-table th[scope="row"] { width: 33%; text-align: left; color: var(--muted); font-weight: 400; }
.comparison-table tbody tr:first-child > * { padding-top: 20px; }
.comparison-table .total-row { border-top: 1px solid var(--line); }
.comparison-table .unit-row { border-bottom: 1px solid var(--line); }
.comparison-table .unit-row td { font-size: 1.28rem; font-weight: 700; letter-spacing: -.035em; padding-bottom: 18px; }
.lower-price { color: var(--accent); }
.ledger-result { font-size: .85rem; line-height: 1.8; margin-top: 20px; color: var(--muted); }
.ledger-result strong { font-weight: 650; color: var(--ink); }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 25px; min-height: 48px; padding: 11px 21px; border: 1px solid var(--accent); border-radius: 3px; background: var(--accent); color: var(--button-ink); font-size: .9rem; font-weight: 600; white-space: nowrap; cursor: pointer; }
.button:hover { background: var(--hover); }
.button:active { transform: translateY(1px); }
.tool-strip { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 27px 30px; background: var(--surface); }
.tool-strip h2 { font-size: 1.15rem; }
.tool-strip p { color: var(--muted); font-size: .85rem; margin-top: 5px; }
.shopping-memo { display: grid; grid-template-columns: 1fr 2fr; gap: 42px; padding-top: 42px; }
.shopping-memo h2 { font-size: 1rem; line-height: 1.65; }
.shopping-memo dl { margin: 0; }
.shopping-memo dl > div { display: grid; grid-template-columns: 100px 1fr; gap: 18px; padding-bottom: 13px; font-size: .83rem; }
.shopping-memo dt { font-weight: 600; }
.shopping-memo dd { margin: 0; color: var(--muted); }
.breadcrumbs { display: flex; gap: 12px; margin-top: 22px; color: var(--muted); font-size: .75rem; }
.breadcrumbs a { text-decoration: underline; text-underline-offset: 4px; }
.page-intro { padding: 42px 0 32px; }
.page-intro h1 { font-size: clamp(1.9rem, 3.5vw, 2.6rem); }
.lead { font-size: 1rem; color: var(--muted); margin-top: 16px; }
.eyebrow { color: var(--muted); font-size: .8rem; margin-bottom: 12px; }
.guide-entry { max-width: 720px; border-top: 1px solid var(--line); padding-top: 28px; }
.guide-entry .article-topic { margin-bottom: 8px; }
.guide-entry h2 { font-size: 1.65rem; }
.guide-entry h2 a:hover { text-decoration: underline; text-underline-offset: 6px; }
.guide-entry > p:not(.article-topic) { color: var(--muted); margin-top: 14px; }
.prose { max-width: 700px; margin-inline: auto; }
.prose > h2 { font-size: 1.3rem; margin: 38px 0 15px; }
.prose > p, .prose li { color: var(--muted); }
.prose > p { margin-bottom: 17px; }
.prose .formula { padding: 20px 24px; background: var(--surface); color: var(--ink); font-weight: 600; font-size: 1rem; }
.prose ul { padding-left: 23px; }
.prose li { padding-bottom: 9px; }
.prose .article-table { margin: 24px 0; }
.prose .button, .empty-page .button { margin-top: 15px; }
.calculator { max-width: 920px; }
.product-inputs { display: grid; grid-template-columns: 1fr 1fr; border-block: 1px solid var(--line); padding: 28px 0; gap: 50px; }
fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
legend { font-size: 1.08rem; font-weight: 600; margin-bottom: 22px; padding: 0; }
legend span { color: var(--accent); margin-right: 8px; }
.calculator label { display: block; font-size: .85rem; margin-bottom: 8px; }
.calculator small { color: var(--muted); font-size: .75rem; margin-left: 5px; font-weight: 400; }
.calculator input { width: 100%; min-height: 52px; border: 1px solid var(--input-line); border-radius: 3px; background: var(--input); color: var(--ink); padding: 10px 13px; font-size: 1.05rem; font-variant-numeric: tabular-nums; }
.calculator input::placeholder { color: var(--placeholder); opacity: 1; font-size: .9rem; }
.input-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 22px; }
.form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 25px; }
.text-button { flex-shrink: 0; white-space: nowrap; background: none; border: 0; padding: 12px 4px; color: var(--muted); cursor: pointer; font-size: .9rem; text-decoration: underline; text-underline-offset: 5px; }
.result { background: var(--surface); padding: 26px; margin-top: 28px; border-left: 3px solid var(--accent); }
.result h2 { font-size: 1.25rem; }
.result p { margin-top: 12px; font-variant-numeric: tabular-nums; }
.result .result-note { font-size: .8rem; color: var(--muted); }
[hidden] { display: none !important; }
.tool-note { max-width: 700px; margin-top: 25px; font-size: .83rem; color: var(--muted); }
.tool-note a { display: inline-block; min-height: 44px; padding-top: 12px; color: var(--accent); text-decoration: underline; text-underline-offset: 4px; }
.site-footer { display: flex; justify-content: space-between; align-items: center; gap: 20px; border-top: 1px solid var(--line); padding: 18px 0; margin-top: 60px; font-size: .76rem; color: var(--muted); }
.site-footer a { display: flex; align-items: center; min-height: 44px; }
.brand-name { font-weight: 600; color: var(--ink); }
.empty-page { min-height: 45vh; }
@media (max-width: 900px) {
  .wrap { width: calc(100% - 56px); }
  .feature { gap: 36px; }
  .shopping-memo { grid-template-columns: 1fr 2fr; gap: 25px; }
  .product-inputs { gap: 30px; }
}
@media (max-width: 767px) {
  .wrap { width: calc(100% - 40px); }
  .site-header { flex-wrap: wrap; gap: 8px; padding: 20px 0 8px; }
  .site-header nav { width: 100%; gap: 24px; }
  .site-header nav a { font-size: .82rem; }
  .brand-mark { font-size: 2rem; }
  .feature { grid-template-columns: 1fr; gap: 28px; padding: 34px 0; }
  .feature h1 { font-size: clamp(2.2rem, 8vw, 3rem); }
  .feature-description { max-width: 36ch; margin-top: 18px; font-size: .93rem; }
  .article-topic { margin-bottom: 13px; }
  .read-link { margin-top: 13px; }
  .price-ledger { padding-top: 0; }
  .comparison-table th, .comparison-table td { padding: 10px 0; }
  .comparison-table .unit-row td { font-size: 1.25rem; }
  .ledger-result { margin-top: 15px; }
  .tool-strip { flex-direction: column; align-items: flex-start; gap: 18px; padding: 24px; }
  .tool-strip h2 { font-size: 1.12rem; }
  .shopping-memo { grid-template-columns: 1fr; gap: 20px; padding-top: 30px; }
  .shopping-memo dl > div { grid-template-columns: 88px 1fr; gap: 12px; }
  .page-intro { padding: 30px 0; }
  .lead { font-size: .93rem; }
  .prose > h2 { font-size: 1.18rem; }
  .prose .formula { padding: 18px; font-size: .9rem; }
  .product-inputs { grid-template-columns: 1fr; gap: 30px; }
  .product-inputs fieldset + fieldset { border-top: 1px solid var(--line); padding-top: 26px; }
  .product-inputs fieldset + fieldset legend { float: left; width: 100%; margin-bottom: 22px; }
  .product-inputs fieldset + fieldset legend + label { clear: both; }
  .result { padding: 22px; }
  .result h2 { font-size: 1.1rem; }
  .site-footer { margin-top: 38px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
.catalog-intro { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding: 38px 0 26px; }
.catalog-intro h1 { font-size: clamp(1.65rem, 3vw, 2.25rem); }
.catalog-intro p { font-size: .9rem; color: var(--muted); margin-top: 7px; }
.catalog-intro .catalog-updated { text-align: right; font-size: .73rem; flex-shrink: 0; }
.catalog-updated a { text-decoration: underline; text-underline-offset: 3px; }
.catalog-controls { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 14px; border-bottom: 1px solid var(--line); padding-bottom: 16px; }
.category-filters { display: flex; gap: 18px; }
.category-filters button { border: 0; background: none; padding: 8px 0; min-height: 44px; color: var(--muted); font-size: .88rem; cursor: pointer; }
.category-filters button[aria-pressed="true"] { color: var(--accent); font-weight: 700; box-shadow: inset 0 -2px var(--accent); }
.catalog-search { display: flex; gap: 10px; }
.catalog-search input, .catalog-search select { min-height: 44px; border: 1px solid var(--input-line); border-radius: 3px; background: var(--input); color: var(--ink); font: inherit; font-size: .8rem; padding: 8px 11px; }
.catalog-search input { width: 200px; }
.catalog-search select { max-width: 190px; }
.catalog-search input::placeholder { color: var(--placeholder); }
.catalog-count { color: var(--muted); font-size: .75rem; margin: 17px 0; }
.product-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 34px 28px; }
.product-item { min-width: 0; display: flex; flex-direction: column; }
.product-photo { display: flex; align-items: center; justify-content: center; aspect-ratio: 1.35; background: #fff; overflow: hidden; border-radius: 3px; }
.product-photo img { width: 88%; height: 88%; object-fit: contain; transition: transform .18s ease; }
.product-photo:hover img { transform: scale(1.035); }
.product-copy { display: flex; flex-direction: column; flex: 1; padding-top: 15px; }
.product-merchant { font-size: .73rem; color: var(--muted); }
.product-copy h2 { font-size: 1.08rem; font-weight: 650; margin-top: 4px; }
.product-copy h2 a:hover { text-decoration: underline; text-underline-offset: 4px; }
.product-summary { font-size: .8rem; color: var(--muted); margin-top: 8px; line-height: 1.65; min-height: 3.3em; }
.product-price { margin-top: 13px; }
.observed-price strong { font-size: 1.4rem; font-weight: 750; line-height: 1.4; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.observed-price small { font-size: .85rem; font-weight: 500; margin-left: 3px; }
.product-shipping { color: var(--muted); font-size: .74rem; margin-top: 3px; }
.product-actions { display: flex; justify-content: space-between; border-bottom: 1px solid var(--line); margin-top: auto; padding-top: 12px; }
.product-actions a { min-height: 44px; display: inline-flex; align-items: center; gap: 15px; font-size: .8rem; color: var(--accent); font-weight: 600; }
.product-actions a:hover { text-decoration: underline; }
.catalog-footnote { margin-top: 26px; color: var(--muted); font-size: .75rem; }
.catalog-guide { display: flex; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid var(--line); padding-top: 27px; margin-top: 38px; }
.catalog-guide h2 { font-size: 1.1rem; }
.catalog-guide p { color: var(--muted); font-size: .83rem; margin-top: 5px; }
.catalog-guide .read-link { margin: 0; flex-shrink: 0; }
.catalog-empty { padding: 70px 0; text-align: center; }
.product-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; padding: 32px 0 42px; align-items: start; }
.detail-photo { min-width: 0; }
.detail-photo img { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; padding: 24px; background: #fff; border-radius: 3px; }
.detail-photo figcaption { color: var(--muted); font-size: .7rem; margin-top: 8px; }
.product-overview h1 { font-size: clamp(1.8rem,3vw,2.3rem); }
.product-overview .article-topic { margin-bottom: 10px; }
.product-model { font-size: .77rem; color: var(--muted); margin-top: 9px; }
.product-deck { margin-top: 18px; color: var(--muted); font-size: .96rem; }
.detail-offer { border-top: 1px solid var(--line); margin-top: 23px; padding-top: 19px; }
.detail-offer .observed-price { display: block; margin-top: 5px; }
.detail-offer .observed-price strong { font-size: 2rem; }
.detail-offer .product-shipping { font-size: .83rem; margin-top: 5px; }
.offer-condition { color: var(--muted); font-size: .8rem; }
.merchant-button { margin-top: 20px; width: 100%; }
.price-timestamp { font-size: .7rem; color: var(--muted); margin-top: 11px; }
.product-reading { display: grid; grid-template-columns: 1.5fr 1fr; gap: 70px; border-top: 1px solid var(--line); padding-top: 32px; }
.product-reading h2 { font-size: 1.17rem; margin-bottom: 15px; }
.product-reading p, .product-reading li { font-size: .9rem; color: var(--muted); }
.product-reading section > p { margin-bottom: 17px; }
.product-reading section > h2:not(:first-child) { margin-top: 30px; }
.product-reading ul { padding-left: 20px; }
.product-reading li { margin-bottom: 8px; }
.product-reading .source-note { font-size: .76rem; border-top: 1px solid var(--line); margin-top: 24px; padding-top: 17px; }
.source-note a { text-decoration: underline; text-underline-offset: 3px; }
.product-facts dl { margin: 0 0 22px; }
.product-facts dl > div { display: grid; grid-template-columns: 95px 1fr; gap: 18px; border-bottom: 1px solid var(--line); padding: 12px 0; font-size: .83rem; }
.product-facts dt { color: var(--muted); }
.product-facts dd { margin: 0; }
.product-facts > p { font-size: .75rem; }
.related-products { border-top: 1px solid var(--line); margin-top: 40px; padding-top: 28px; }
.related-products > h2 { margin-bottom: 23px; font-size: 1.2rem; }
@media (max-width: 900px) {
  .product-grid { gap: 30px 20px; }
  .product-hero { gap: 30px; }
  .product-reading { gap: 35px; }
}
@media (max-width: 767px) {
  .site-header nav { gap: 19px; }
  .catalog-intro { padding: 27px 0 20px; align-items: start; }
  .catalog-intro p { font-size: .8rem; }
  .catalog-intro .catalog-updated { display: none; }
  .catalog-controls { gap: 12px; }
  .category-filters { width: 100%; gap: 23px; }
  .catalog-search { width: 100%; }
  .catalog-search input { flex: 1; min-width: 0; width: auto; }
  .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px 18px; }
  .product-photo { aspect-ratio: 1; }
  .product-copy { padding-top: 11px; }
  .product-copy h2 { font-size: .94rem; }
  .product-summary { font-size: .74rem; }
  .product-merchant { font-size: .67rem; }
  .product-price { margin-top: 10px; }
  .observed-price strong { font-size: 1.2rem; }
  .product-actions { gap: 10px; }
  .product-actions a { gap: 5px; font-size: .73rem; }
  .product-shipping { font-size: .7rem; }
  .catalog-guide { align-items: start; flex-direction: column; gap: 8px; }
  .product-hero { grid-template-columns: 1fr; gap: 25px; padding-top: 22px; }
  .detail-photo { width: min(100%,440px); margin-inline: auto; }
  .product-overview h1 { font-size: 1.85rem; }
  .product-reading { grid-template-columns: 1fr; gap: 30px; }
  .product-reading h2 { font-size: 1.1rem; }
}
@media (max-width: 359px) {
  .site-header nav { gap: 14px; }
  .site-header nav a { font-size: .76rem; }
  .product-grid { gap: 25px 13px; }
  .product-actions { flex-wrap: wrap; gap: 0; }
  .product-actions a { width: 100%; min-height: 38px; justify-content: space-between; }
}
.buying-notes { padding: 42px 0 30px; border-top: 1px solid var(--line); margin-top: 40px; }
.note-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 30px; margin: 26px 0; }
.note-links article { padding: 20px 0; border-top: 2px solid var(--ink); }
.note-links h3 { font-size: 1.1rem; }
.note-links h3 a:hover { color: var(--accent); }
.note-links p { margin-top: 12px; font-size: .85rem; color: var(--muted); }
.category-nav { display: flex; flex-wrap: wrap; gap: 20px 32px; padding: 20px 0 40px; color: var(--accent); font-size: .85rem; }
.category-nav a { min-height: 44px; display: inline-flex; align-items: center; }
.save-product { border: 0; background: none; color: var(--muted); padding: 7px 0; min-height: 44px; font-size: .78rem; cursor: pointer; }
.save-product[aria-pressed=true] { color: var(--accent); font-weight: 650; }
.product-item .save-product { margin-top: 3px; }
.partner-offers { margin: 36px 0; padding: 28px 0; border-block: 1px solid var(--line); }
.partner-offers > p { margin-top: 10px; color: var(--muted); font-size: .85rem; }
.partner-offer { display: flex; justify-content: space-between; align-items: start; gap: 22px; padding: 24px 0 0; }
.partner-offer p { font-size: .83rem; }
.affiliate-disclosure { margin-top: 12px; color: var(--accent); }
.compare-pictures { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; margin: 6px 0 45px; }
.compare-pictures a { display: grid; gap: 10px; text-align: center; font-size: .85rem; font-weight: 600; }
.compare-pictures img { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; background: #fff; }
.comparison-article section { margin: 36px 0; }
.comparison-article section > p { max-width: 70ch; font-size: .9rem; color: var(--muted); }
.comparison-reading { display: grid; grid-template-columns: repeat(3,1fr); gap: 30px; border-block: 1px solid var(--line); }
.comparison-reading h2 { font-size: 1.1rem; margin-bottom: 16px; }
.chair-controls { display: flex; align-items: end; flex-wrap: wrap; gap: 16px 28px; padding: 18px 0; border-block: 1px solid var(--line); margin-top: 20px; }
.chair-controls label { font-size: .85rem; }
.chair-controls select { display: block; min-width: 170px; margin-top: 8px; border: 1px solid var(--line); border-radius: 3px; padding: 10px 32px 10px 12px; font: inherit; color: var(--ink); background: var(--paper); }
.chair-controls select:disabled { opacity: .6; }
.chair-controls .chair-check { display: flex; align-items: center; gap: 8px; min-height: 44px; }
.chair-check input { width: 18px; height: 18px; accent-color: var(--accent); }
.chair-controls .text-button { min-height: 44px; }
.chair-filter-note { margin-top: 14px; }
.chair-fit-guide { max-width: 780px; }
.chair-fit-guide section { margin: 38px 0; }
.chair-fit-guide section p { margin-top: 14px; }
.guide-checklist { padding-block: 24px; border-block: 1px solid var(--line); }
.reading-next { margin: 32px 0; line-height: 1.9; }
.reading-next a,.chair-fit-guide section a { text-decoration: underline; text-underline-offset: 4px; }
.product-tools { display: flex; gap: 8px; border-bottom: 1px solid var(--line); }
.product-tools button { flex: 1; border: 0; background: none; color: var(--muted); min-height: 44px; cursor: pointer; font-size: .78rem; }
.product-tools button[aria-pressed="true"] { color: var(--accent); font-weight: 700; background: var(--surface); }
.product-tools button:hover { color: var(--accent); }
.product-total { margin-top: 7px; font-size: .76rem; color: var(--ink); }
.product-total strong { font-weight: 600; }
.detail-total { margin-top: 15px; font-size: 1rem; }
.detail-total small { display: block; font-size: .72rem; color: var(--muted); margin-top: 4px; }
.detail-offer .product-tools { margin-top: 10px; }
.share-product { display: block; margin-top: 10px; font-size: .8rem; }
.share-fallback { display: block; font-size: .8rem; margin-top: 12px; }
.share-fallback input { width: 100%; padding: 10px; font: inherit; color: var(--ink); background: var(--input); border: 1px solid var(--input-line); }
.detail-nav { display: flex; gap: 28px; border-block: 1px solid var(--line); margin-bottom: 28px; }
.detail-nav a { padding: 14px 0; font-size: .85rem; color: var(--accent); }
#purchase,#partner-offers,#product-notes,#price-history { scroll-margin-top: 24px; }
.search-summary,.saved-toolbar,.compare-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 18px 0 24px; color: var(--muted); font-size: .85rem; }
.search-summary button,.saved-toolbar button,.compare-toolbar button { min-height: 44px; font-size: .8rem; }
.compare-toolbar > div { display: flex; gap: 20px; flex-wrap: wrap; }
.compare-empty { padding: 36px 0 70px; border-top: 1px solid var(--line); }
.compare-empty h2 { font-size: 1.3rem; }
.compare-empty p { margin-top: 12px; color: var(--muted); }
.compare-tray { position: fixed; z-index: 15; bottom: 20px; left: 50%; transform: translateX(-50%); width: min(880px,calc(100% - 40px)); display: flex; align-items: center; gap: 22px; padding: 16px 22px; background: var(--paper); border: 1px solid var(--line); box-shadow: 0 4px 26px #00000018; }
.compare-tray > div { flex: 1; min-width: 0; }
.compare-tray strong { display: block; font-size: .9rem; }
.compare-tray span { display: block; font-size: .75rem; color: var(--muted); overflow-wrap: anywhere; }
.compare-tray .button { padding: 10px 22px; flex-shrink: 0; }
.compare-tray .text-button { font-size: .8rem; min-height: 44px; }
body.has-compare-tray { padding-bottom: 115px; }
.shopping-message { position: fixed; top: 16px; left: 50%; transform: translateX(-50%); z-index: 30; width: max-content; max-width: calc(100% - 32px); padding: 13px 20px; background: var(--ink); color: var(--paper); font-size: .84rem; border-radius: 3px; box-shadow: 0 4px 24px #00000020; pointer-events: none; }
.comparison-scroll { margin-top: 18px; }
.comparison-scroll:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.selected-comparison { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0; font-size: .86rem; }
.selected-comparison[data-count="2"] { min-width: 480px; }
.selected-comparison[data-count="3"] { min-width: 650px; }
.selected-comparison th,.selected-comparison td { border-bottom: 1px solid var(--line); padding: 18px; vertical-align: top; text-align: left; min-width: 190px; }
.selected-comparison th:first-child { min-width: 110px; width: 110px; position: sticky; left: 0; background: var(--paper); z-index: 1; font-weight: 500; color: var(--muted); border-right: 1px solid var(--line); }
.selected-comparison thead th { width: auto; }
.selected-comparison thead img { width: 100%; height: 160px; object-fit: contain; background: #fff; margin-bottom: 14px; }
.selected-comparison thead a { display: block; font-size: 1rem; }
.selected-comparison thead button { display: block; min-height: 44px; font-size: .75rem; margin-top: 4px; }
.selected-comparison .compare-total-row td { color: var(--accent); font-size: 1.1rem; font-weight: 700; }
.selected-comparison .read-link { margin: 0; font-size: .8rem; }
.compare-scroll-hint { display: none; font-size: .77rem; color: var(--muted); }
.mobile-purchase { display: none; }
[data-saved-nav]:not(:empty) { margin-left: 4px; color: var(--accent); font-variant-numeric: tabular-nums; }
@media (max-width: 767px) {
  .catalog-search select { max-width: 158px; }
  .product-tools { gap: 0; }
  .product-tools button { font-size: .73rem; }
  .compare-scroll-hint { display: block; }
  .compare-tray { left: 0; bottom: 0; transform: none; width: 100%; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); gap: 12px; border-inline: 0; }
  .compare-tray span { display: none; }
  .compare-tray strong { font-size: .8rem; }
  .compare-tray .button { padding: 10px 15px; }
  .selected-comparison th,.selected-comparison td { min-width: 172px; padding: 13px; }
  .selected-comparison th:first-child { min-width: 88px; width: 88px; font-size: .76rem; padding-inline: 8px; }
  .selected-comparison thead a { font-size: .85rem; }
  .selected-comparison thead img { height: 130px; }
  .mobile-purchase { position: fixed; display: flex; bottom: 0; left: 0; right: 0; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); background: var(--paper); border-top: 1px solid var(--line); z-index: 10; }
  .mobile-purchase > div { min-width: 0; }
  .mobile-purchase > div > span { display: block; font-size: .72rem; color: var(--muted); }
  .mobile-purchase > div > strong { display: block; font-size: .8rem; }
  .mobile-purchase .button { font-size: .8rem; padding: 11px 16px; flex-shrink: 0; }
  .has-mobile-purchase { padding-bottom: 100px; }
  .has-compare-tray .mobile-purchase { display: none; }
}
@media (prefers-reduced-motion: no-preference) {
  .product-tools button { transition: background-color .15s ease,color .15s ease; }
  .compare-tray { animation: tray-appear .18s ease-out; }
  @keyframes tray-appear { from { opacity: 0; } to { opacity: 1; } }
}
.table-scroll { overflow-x: auto; max-width: 100%; margin: 24px 0; }
.price-comparison { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.price-comparison th,.price-comparison td { padding: 17px 20px 17px 0; text-align: right; border-bottom: 1px solid var(--line); white-space: nowrap; font-size: .9rem; }
.price-comparison th:first-child { text-align: left; }
.price-comparison caption { text-align: left; font-size: .8rem; color: var(--muted); margin-bottom: 12px; }
.price-comparison tbody th a { text-decoration: underline; text-underline-offset: 4px; }
.price-comparison strong { color: var(--accent); }
.price-history { margin: 35px 0; padding: 30px 0; border-top: 1px solid var(--line); }
.price-history > p { margin-top: 12px; font-size: .85rem; color: var(--muted); }
@media(max-width: 700px) { .note-links,.comparison-reading { grid-template-columns: 1fr; gap: 8px; }.comparison-reading section { margin: 20px 0; }.compare-pictures { gap: 9px; }.compare-pictures span { font-size: .75rem; }.partner-offer { flex-direction: column; }.price-comparison th,.price-comparison td { padding-right: 16px; font-size: .78rem; } }
