:root {
  --article-max: 1280px;
  --reading: 760px;
  --surface-deep: #FBE7E5;
  --border-soft: #E8D6D3;
  --success-fill: #5F963A;
}

* { box-sizing: border-box; }
html { scroll-padding-top: 110px; }
.collection-article-page {
  --commerce-canvas: #F6F4F1;
  --commerce-panel: #FFFFFF;
  --commerce-panel-soft: #FBFAF8;
  --commerce-line: #DDD6D0;
  --commerce-line-strong: #C9BFB8;
  --commerce-shadow: 0 10px 28px rgba(51, 38, 40, .055);
  --status-available-bg: #F1F7ED;
  --status-available-fg: #426D31;
  --status-order-bg: #FFF7E2;
  --status-order-fg: #7B5A12;
  --status-muted-bg: #F1EFED;
  --status-muted-fg: #68615E;
  background: #fff;
  color: var(--ink);
}
.collection-article-page img { max-width: 100%; }
.collection-article-page .article-shell { overflow: clip; }

.breadcrumbs {
  width: min(calc(100% - 64px), var(--article-max));
  margin: 0 auto;
  padding: 38px 0 30px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px 12px;
  color: var(--muted);
  font-size: 11px;
}
.breadcrumbs a { text-decoration: underline; text-underline-offset: 5px; }

.affiliate-notice {
  width: min(calc(100% - 64px), var(--article-max));
  min-height: 54px;
  margin: 0 auto 34px;
  padding: 13px 18px;
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr) max-content;
  gap: 14px 22px;
  align-items: center;
  border: 1px solid var(--commerce-line);
  border-left: 4px solid var(--brand);
  background: var(--commerce-panel-soft);
  color: var(--muted);
  font-size: 11px;
  line-height: 1.7;
}
.affiliate-notice strong { color: var(--action); font-size: 11px; }
.affiliate-notice p { margin: 0; }

.collection-hero {
  width: min(calc(100% - 64px), var(--article-max));
  margin: 0 auto 104px;
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
  gap: 56px;
  align-items: center;
}
.collection-hero__copy { min-width: 0; }
.collection-hero h1 {
  margin: 0;
  font: 600 clamp(36px, 3.35vw, 50px)/1.36 var(--serif);
  letter-spacing: .015em;
  text-wrap: pretty;
  line-break: strict;
}
.collection-hero__preface {
  margin-top: 32px;
  color: var(--muted);
  font-size: 14px;
  line-height: 2.05;
}
.collection-hero__preface > p { margin: 0 0 13px; }
.collection-hero__preface blockquote {
  margin: 24px 0 0;
  padding: 16px 18px;
  border: 0;
  border-left: 4px solid var(--brand);
  background: var(--surface);
  color: var(--ink);
  font-size: 12px;
  line-height: 1.9;
}
.collection-hero__preface blockquote p { margin: 0; }
.article-procedure .collection-hero__preface blockquote {
  border-color: var(--accent);
  background: #FFF9E8;
}
.article-meta {
  margin: 28px 0 0;
  padding-top: 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  border-top: 1px solid var(--border-soft);
}
.article-meta dt { margin-bottom: 4px; color: var(--action); font-size: 9px; font-weight: 900; letter-spacing: .14em; }
.article-meta dd { margin: 0; font-size: 11px; font-weight: 700; }
.collection-hero__visual { min-width: 0; position: relative; }
.collection-hero__visual::before {
  content: '';
  position: absolute;
  inset: 8% -3% -6% 7%;
  z-index: -1;
  border-radius: 48% 52% 42% 58% / 58% 42% 58% 42%;
  background: var(--surface);
}
.collection-hero__visual figure { margin: 0; }
.collection-hero__visual figure img {
  width: 100%;
  height: auto;
  border-radius: 96px 96px 24px 96px;
  box-shadow: 0 24px 55px color-mix(in srgb, var(--ink) 10%, transparent);
}
.article-compare .collection-hero__visual figure img { border-radius: 18% 18% 24px 18%; }
.collection-stamp {
  width: 88px;
  height: 88px;
  position: absolute;
  right: -12px;
  top: -18px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 10px 24px rgba(139, 91, 14, .14);
  transform: rotate(5deg);
}
.collection-stamp b { font: 600 31px/1 var(--serif); }
.collection-stamp small { white-space: nowrap; font-size: 7px; font-weight: 900; line-height: 1.1; }

.article-layout {
  width: min(calc(100% - 64px), var(--article-max));
  margin: 0 auto;
  padding-bottom: 120px;
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 76px;
  align-items: start;
}
.article-aside { min-width: 0; position: sticky; top: 112px; }
.uchineko-toc {
  border: 1px solid var(--border-soft);
  border-top: 5px solid var(--brand);
  background: #fff;
}
.uchineko-toc > summary {
  min-height: 54px;
  padding: 14px 15px;
  display: flex;
  align-items: center;
  cursor: pointer;
  color: var(--action);
  font-size: 11px;
  font-weight: 900;
  list-style: none;
}
.uchineko-toc > summary::-webkit-details-marker { display: none; }
.uchineko-toc > summary::after { content: '＋'; margin-left: auto; font-size: 17px; }
.uchineko-toc[open] > summary::after { content: '−'; }
.uchineko-toc nav { margin-block: 0; padding: 0 15px 16px; }
.uchineko-toc-list { margin: 0; padding: 0; display: grid; list-style: none; counter-reset: toc; }
.uchineko-toc-list li { counter-increment: toc; border-top: 1px solid var(--border-soft); }
.uchineko-toc-list a {
  min-height: 44px;
  padding: 9px 0;
  display: grid;
  grid-template-columns: 25px 1fr;
  gap: 4px;
  align-items: start;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.55;
}
.uchineko-toc-list a::before { content: counter(toc, decimal-leading-zero); color: var(--brand); font-family: var(--serif); font-size: 12px; }
.uchineko-toc-list a[aria-current='true'] { color: var(--action); font-weight: 900; }

.article-content { min-width: 0; counter-reset: chapter; }
.article-content > :where(p, ul, ol, h2, h3, blockquote),
.article-product-details { max-width: var(--reading); }
.article-content > h2,
.article-product-details > h2 {
  scroll-margin-top: 0;
  margin: 104px 0 32px;
  padding: 0 0 20px;
  position: relative;
  border-bottom: 1px solid var(--border-soft);
  font: 600 34px/1.55 var(--serif);
  letter-spacing: .02em;
  text-wrap: pretty;
  counter-increment: chapter;
}
.article-content > h2:first-child,
.article-product-details > h2:first-child { margin-top: 0; }
.article-content > h2::before,
.article-product-details > h2::before {
  content: counter(chapter, decimal-leading-zero) ' / ';
  display: block;
  margin-bottom: 12px;
  color: var(--action);
  font: 900 10px/1 var(--sans);
  letter-spacing: .16em;
}
.article-content > h2::after,
.article-product-details > h2::after {
  content: '';
  width: 80px;
  height: 3px;
  position: absolute;
  left: 0;
  bottom: -1px;
  background: var(--brand);
}
.condition-gate > h2,
.emergency-section > h2 {
  scroll-margin-top: 0;
  margin: 0 0 32px;
  padding: 0 0 20px;
  position: relative;
  border-bottom: 1px solid var(--border-soft);
  font: 600 34px/1.55 var(--serif);
  letter-spacing: .02em;
  text-wrap: pretty;
  counter-increment: chapter;
}
.condition-gate > h2 + :is(p,ul,ol),
.emergency-section > h2 + :is(p,ul,ol) { margin-top: 0; }
.condition-gate > h2:not(:first-child) { margin-top: 70px; }
.condition-gate > h2::before,
.emergency-section > h2::before {
  content: counter(chapter, decimal-leading-zero) ' / ';
  display: block;
  margin-bottom: 12px;
  color: var(--action);
  font: 900 10px/1 var(--sans);
  letter-spacing: .16em;
}
.emergency-section > h2::before { content: 'URGENT / ' counter(chapter, decimal-leading-zero); }
.condition-gate > h2::after,
.emergency-section > h2::after {
  content: '';
  width: 80px;
  height: 3px;
  position: absolute;
  left: 0;
  bottom: -1px;
  background: var(--brand);
}
.article-content > h3,
.article-product-details > h3 { margin: 38px 0 14px; font: 700 20px/1.6 var(--serif); text-wrap: pretty; }
.collection-hero h1,
.article-content > h2,
.article-product-details > h2,
.condition-gate > h2,
.emergency-section > h2,
.uchineko-final-purchase-decision > h2 {
  word-break: auto-phrase;
  line-break: strict;
  text-wrap: balance;
}
.procedure-step,
.product-card-copy h3,
.final-product-link h3,
.comparison-product {
  word-break: auto-phrase;
  overflow-wrap: anywhere;
  line-break: strict;
}
[data-link-role] {
  word-break: auto-phrase;
  overflow-wrap: anywhere;
  line-break: strict;
}
.article-content > p,
.article-content > ul,
.article-content > ol { color: var(--muted); font-size: 14px; line-height: 2.05; }
.article-content > p { margin: 0 0 20px; }
.article-content > ul,
.article-content > ol { margin: 16px 0 28px; padding-left: 1.5em; }
.article-content ul { list-style: disc; }
.article-content ol { list-style: decimal; }
.article-content li + li { margin-top: 8px; }
.article-content strong { color: var(--ink); }
.article-content a { color: var(--action); text-decoration: underline; text-underline-offset: 4px; }
.article-content > blockquote {
  margin: 28px 0;
  padding: 20px 24px;
  border-left: 4px solid var(--brand);
  background: var(--surface);
  color: var(--ink);
}

.uchineko-figure { margin: 42px 0 54px; }
.uchineko-figure img { width: 100%; height: auto; border-radius: 18px; }
.uchineko-figure figcaption {
  margin: 12px 0 0;
  padding-left: 14px;
  border-left: 3px solid var(--accent);
  color: var(--muted);
  font-size: 11px;
  line-height: 1.85;
  text-align: left;
  opacity: 1;
}
.article-longform .uchineko-figure { width: min(920px, 100%); }

.product-kind-badge {
  min-height: 22px;
  padding: 3px 8px;
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--commerce-line);
  border-radius: 999px;
  background: var(--commerce-panel-soft);
  color: var(--muted);
  font-size: 8px;
  font-weight: 900;
  line-height: 1;
}
[data-product-kind='consumable'] .product-kind-badge { background: #FAF4E8; color: #725A2A; }
[data-product-kind='accessory'] .product-kind-badge { background: #F0F1EE; color: #586052; }
.uchineko-responsive-table {
  max-width: 100%;
  margin: 38px 0 56px;
  padding-top: 0;
  position: relative;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-color: var(--brand) var(--surface);
  scroll-snap-type: x proximity;
  outline: none;
}
.uchineko-responsive-table::before {
  content: '';
  display: none;
  position: absolute;
  right: 0;
  top: 0;
  color: var(--action);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .05em;
}
.uchineko-responsive-table.is-scrollable,
.uchineko-responsive-table.is-card-view { padding-top: 31px; }
.uchineko-responsive-table.is-scrollable::before {
  content: '表は左右にスクロールして確認できます →';
  display: block;
}
.uchineko-responsive-table.is-card-view::before {
  content: '項目ごとのカードで確認できます';
  display: block;
}
.uchineko-responsive-table:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
.uchineko-responsive-table table {
  width: 100%;
  min-width: 680px;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--commerce-panel);
  color: var(--ink);
  font-size: 11px;
  line-height: 1.65;
}
.uchineko-responsive-table caption {
  padding: 12px 14px;
  border: 1px solid var(--commerce-line);
  border-bottom: 0;
  background: var(--commerce-panel-soft);
  color: var(--ink);
  text-align: left;
  font-weight: 900;
}
.uchineko-responsive-table th,
.uchineko-responsive-table td {
  min-width: 132px !important;
  padding: 13px 14px;
  border-top: 0;
  border-right: 1px solid var(--commerce-line);
  border-bottom: 1px solid var(--commerce-line);
  border-left: 0;
  vertical-align: top;
  word-break: normal;
  scroll-snap-align: start;
}
.uchineko-responsive-table tr > :first-child { border-left: 1px solid var(--commerce-line); }
.collection-article-page .article-content .uchineko-responsive-table tr > :first-child {
  min-width: 132px !important;
}
.uchineko-responsive-table thead th { background: #F2EFEC; color: var(--ink); font-weight: 900; }
.uchineko-responsive-table tbody th,
.uchineko-responsive-table tbody td:first-child { color: var(--ink); font-weight: 800; }
.uchineko-responsive-table a {
  min-height: 44px;
  padding-block: 8px;
  display: inline-flex;
  align-items: center;
  font-weight: 900;
}
.comparison-primary table { min-width: 1480px; font-size: 10px; }
.comparison-primary th,
.comparison-primary td { min-width: 158px !important; }
.collection-article-page .article-content .comparison-primary tr > :first-child {
  min-width: 252px !important;
  position: sticky;
  left: 0;
  z-index: 2;
  background: var(--commerce-panel);
  box-shadow: 8px 0 12px rgba(51, 38, 40, .05);
}
.comparison-primary thead tr > :first-child { z-index: 3; background: #F2EFEC; }
.comparison-product {
  display: flex;
  align-items: center;
  gap: 11px;
  line-height: 1.55;
}
.comparison-product img {
  width: 66px;
  height: 66px;
  flex: 0 0 66px;
  object-fit: contain;
  padding: 4px;
  border: 1px solid var(--commerce-line);
  border-radius: 5px;
  background: var(--commerce-canvas);
}
.comparison-product > .uchineko-affiliate-product-image {
  width: 66px;
  height: 66px;
  flex: 0 0 66px;
  display: block;
}
.comparison-product > .uchineko-affiliate-product-image img {
  width: 100%;
  height: 100%;
  display: block;
}

.uchineko-condition-conclusion {
  max-width: var(--reading);
  margin: 34px 0 52px;
  padding: 24px 26px;
  border-top: 5px solid var(--brand);
  background: var(--surface);
}
.uchineko-condition-conclusion p { margin: 0 0 10px; color: var(--action); }
.uchineko-condition-conclusion ul { margin: 0; padding-left: 1.3em; color: var(--ink); font-size: 13px; }

.uchineko-product-card {
  width: min(100%, 900px);
  margin: 22px 0;
  display: grid;
  grid-template-columns: 244px minmax(0, 1fr);
  align-items: start;
  border: 1px solid var(--commerce-line);
  border-radius: 10px;
  overflow: hidden;
  background: var(--commerce-panel);
  box-shadow: none;
}
.uchineko-product-card.no-product-image,
.uchineko-product-card[data-has-media='false'] {
  width: min(100%, var(--reading));
  grid-template-columns: minmax(0, 1fr);
}
.product-media {
  width: 212px;
  min-height: 0;
  margin: 24px 0 0 24px;
  padding: 8px;
  display: grid;
  place-items: start center;
  align-self: start;
  background: var(--commerce-canvas);
  border: 1px solid var(--commerce-line);
  border-radius: 8px;
}
.product-media img { width: 100%; height: 212px; object-fit: contain; }
.product-media > .uchineko-affiliate-product-image,
.reference-product-media > .uchineko-affiliate-product-image {
  width: 100%;
  display: block;
}
.uchineko-affiliate-product-image {
  color: inherit;
  text-decoration: none !important;
}
.uchineko-affiliate-product-image:focus-visible {
  border-radius: 5px;
  outline: 3px solid var(--accent);
  outline-offset: 3px;
}
.product-card-copy { min-width: 0; padding: 24px 28px 28px; }
.uchineko-product-card.no-product-image .product-card-copy { padding: 28px 32px 32px; }
.product-card-copy h3 { margin: 0 0 15px; font: 700 22px/1.5 var(--serif); }
.product-card-copy p { margin: 0 0 14px; color: var(--muted); font-size: 14px; line-height: 1.85; }
.uchineko-product-specs {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--commerce-line);
}
.uchineko-product-specs h4,
.product-purchase-links h4 {
  margin: 0 0 11px;
  color: var(--action);
  font: 900 13px/1.45 var(--sans);
  letter-spacing: .05em;
}
.uchineko-product-specs__table { width: 100%; overflow: visible; }
.uchineko-product-specs table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border: 1px solid var(--commerce-line);
  background: var(--commerce-panel);
}
.uchineko-product-specs th,
.uchineko-product-specs td {
  padding: 11px 13px;
  border-bottom: 1px solid var(--commerce-line);
  vertical-align: top;
  font-size: 13px;
  line-height: 1.7;
  overflow-wrap: break-word;
  word-break: normal;
  line-break: strict;
}
.uchineko-product-specs tr:last-child > * { border-bottom: 0; }
.uchineko-product-specs th {
  width: 36%;
  background: var(--commerce-panel-soft);
  color: var(--ink);
  font-weight: 800;
  text-align: left;
}
.uchineko-product-specs td { color: var(--muted); }
.product-purchase-links {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--commerce-line);
}
.product-purchase-links ul {
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  list-style: none;
}
.product-purchase-links__item { min-width: 0; margin: 0 !important; padding: 0 !important; }
.product-purchase-links--one ul,
.product-purchase-links--official-only ul { max-width: 320px; grid-template-columns: minmax(0, 1fr); }
.product-purchase-links--many ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.product-purchase-link__impression {
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  border: 0;
  pointer-events: none;
}
.product-purchase-link {
  width: 100%;
  min-height: 48px;
  height: 100%;
  padding: 10px 13px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid var(--action);
  border-radius: 6px;
  background: var(--action);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.4;
  text-decoration: none;
  overflow-wrap: break-word;
  word-break: normal;
  line-break: strict;
}
.article-content .product-purchase-link { color: #fff; text-decoration: none; }
.product-purchase-link--manufacturer { background: var(--commerce-panel); color: var(--action); }
.article-content .product-purchase-link--manufacturer { color: var(--action); }
.product-purchase-link:hover { filter: brightness(.96); }
.product-purchase-link:focus-visible { outline: 3px solid var(--focus, #7D312D); outline-offset: 3px; }
.article-content .visually-hidden {
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  border: 0;
  white-space: nowrap;
}
.reference-product-card {
  max-width: var(--reading);
  margin: 30px 0 44px;
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  align-items: start;
  border: 1px solid var(--commerce-line);
  border-radius: 9px;
  overflow: hidden;
  background: var(--commerce-panel);
}
.reference-product-card.no-product-image { grid-template-columns: minmax(0, 1fr); }
.reference-product-media {
  width: 158px;
  margin: 22px 0 0 22px;
  padding: 8px;
  border: 1px solid var(--commerce-line);
  border-radius: 7px;
  background: var(--commerce-canvas);
}
.reference-product-media img { width: 100%; height: 158px; display: block; object-fit: contain; }
.reference-product-copy { min-width: 0; padding: 22px 24px 24px; }
.reference-product-copy h3 { margin: 0 0 10px; font: 700 18px/1.55 var(--serif); }
.reference-product-copy p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.85; }
.uchineko-final-purchase-decision {
  max-width: 900px;
  margin: 96px 0 60px;
  padding: 34px 0 0;
  border: 0;
  border-top: 1px solid var(--commerce-line-strong);
  border-radius: 0;
  background: transparent;
}
.uchineko-final-purchase-decision h2 {
  margin: 0 0 22px;
  font: 600 30px/1.55 var(--serif);
  counter-increment: chapter;
}
.uchineko-final-purchase-decision h2::before {
  content: counter(chapter, decimal-leading-zero) ' / ';
  display: block;
  margin-bottom: 12px;
  color: var(--action);
  font: 900 10px/1 var(--sans);
  letter-spacing: .16em;
}
.uchineko-final-purchase-decision h3 { margin: 30px 0 10px; font: 700 18px/1.55 var(--serif); }
.uchineko-final-purchase-decision p,
.uchineko-final-purchase-decision li { color: var(--muted); font-size: 13px; line-height: 1.95; }
.collection-article-page .uchineko-final-purchase-decision > p { margin: 1em 0; }
.final-product-link {
  width: 100%;
  margin: 12px 0;
  padding: 11px;
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  align-items: center;
  gap: 13px;
  border: 1px solid var(--commerce-line);
  border-radius: 8px;
  background: var(--commerce-panel);
}
.final-product-link[data-product-kind='add-on'],
.final-product-link[data-product-kind='supporting'] {
  border-style: dashed;
  background: #F7F6F3;
}
.final-product-link[data-product-kind='required'],
.final-product-link[data-product-kind='replacement'] {
  border-left: 4px solid var(--commerce-line-strong);
  background: #FAF8F4;
}
.purchase-decision__groups { margin-top: 30px; display: grid; gap: 38px; }
.purchase-decision__group {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.purchase-decision__group[data-purchase-group='add-on'] { border: 0; background: transparent; }
.uchineko-final-purchase-decision .purchase-decision__group-label {
  margin: 0 0 14px;
  padding: 0 0 10px;
  border-bottom: 1px solid var(--commerce-line);
  color: var(--action);
  font: 900 13px/1.4 var(--sans);
  letter-spacing: .06em;
}
.purchase-decision__choices { display: grid; gap: 12px; }
.purchase-decision__case[data-outcome='defer'] { margin-top: 28px; padding: 18px 20px; border: 1px solid var(--commerce-line); border-radius: 8px; background: var(--commerce-panel); }
.final-product-link > img {
  width: 72px;
  height: 72px;
  object-fit: contain;
  border-radius: 4px;
  padding: 3px;
  border: 0;
  background: var(--commerce-canvas);
}
.final-product-link > .uchineko-affiliate-product-image {
  width: 72px;
  height: 72px;
  display: block;
}
.final-product-link > .uchineko-affiliate-product-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  border-radius: 4px;
  padding: 3px;
  border: 0;
  background: var(--commerce-canvas);
}
.final-product-link h3 { margin: 7px 0 4px; font: 700 15px/1.45 var(--serif); }
.final-product-link__condition { margin: 0 0 6px !important; font-size: 10px !important; line-height: 1.65 !important; }
.final-product-link .product-purchase-links { clear: both; margin-top: 14px; padding-top: 14px; }

/* Candidate emphasis stays neutral until editorial standard or reader selection exists. */
:where(.uchineko-product-card, .final-product-link)[data-recommendation='standard'],
:where(.uchineko-product-card, .final-product-link)[data-match='selected'] {
  border-color: color-mix(in srgb, var(--brand) 58%, var(--commerce-line));
  background: color-mix(in srgb, var(--brand) 5%, var(--commerce-panel));
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--brand) 14%, transparent);
}
.comparison-primary tr[data-recommendation='standard'] > *,
.comparison-primary tr[data-match='selected'] > * {
  background: color-mix(in srgb, var(--brand) 6%, var(--commerce-panel));
}
.comparison-primary tr[data-recommendation='standard'] > :first-child,
.comparison-primary tr[data-match='selected'] > :first-child {
  box-shadow:
    inset 4px 0 0 var(--brand),
    8px 0 12px rgba(51, 38, 40, .05);
}
:where(.uchineko-product-card, .final-product-link)[data-recommendation='standard'] .product-role-label,
:where(.uchineko-product-card, .final-product-link)[data-match='selected'] .product-role-label {
  padding: 4px 7px;
  border-radius: 999px;
  background: var(--brand);
  color: #fff;
}

.article-anchor,
[data-article-jump-target] { scroll-margin-top: 0; }
.article-jump-nav[hidden] { display: none !important; }
.article-jump-nav { display: none; }
.article-jump-nav ul { margin: 0; padding: 0; list-style: none; }
.article-content input[type='checkbox'] {
  width: 20px;
  height: 20px;
  margin: 0 8px 0 0;
  vertical-align: -4px;
  accent-color: var(--success-fill);
}

/* Compare / EC article */
.article-compare .comparison-primary { width: min(100%, calc(100vw - 64px)); }

/* Procedure / safety article */
.article-procedure .procedure-step {
  min-height: 70px;
  margin-top: 26px;
  padding: 20px 22px 20px 72px;
  position: relative;
  border: 1px solid var(--border-soft);
  background: #fff;
  box-shadow: 0 10px 26px color-mix(in srgb, var(--ink) 5%, transparent);
}
.article-procedure .procedure-step::before {
  content: attr(data-step);
  width: 38px;
  height: 38px;
  position: absolute;
  left: 19px;
  top: 16px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--brand);
  color: #fff;
  font-family: var(--serif);
}
.condition-gate {
  max-width: var(--reading);
  margin: 104px 0 34px;
  padding: 32px 30px 34px;
  border: 1px solid #E8CE76;
  border-top: 7px solid var(--accent);
  background: #FFF9E8;
}
.condition-gate > :is(p,ul,ol),
.emergency-section > :is(p,ul,ol) {
  color: var(--muted);
  font-size: 14px;
  line-height: 2.05;
}
.condition-gate > p,
.emergency-section > p { margin: 0 0 20px; }
.condition-gate > ul,
.condition-gate > ol,
.emergency-section > ul,
.emergency-section > ol { margin: 16px 0 28px; padding-left: 1.5em; }

/* Long-form / diagram article */
.emergency-section {
  max-width: var(--reading);
  margin: 104px 0 34px;
  padding: 32px 30px 34px;
  border: 1px solid #E9AAA4;
  border-top: 7px solid #B8323A;
  background: #FFF1EF;
}
.emergency-section > h2 { color: #8D2E33; }
.emergency-section > h2::after { background: #B8323A; }
.emergency-section strong { color: #8D2E33; }

@media (min-width: 901px) {
  .uchineko-toc { open: true; }
  .uchineko-toc > summary { display: none; }
  .article-aside .uchineko-toc:not([open]) nav { display: block; }
}

@media (max-width: 1100px) {
  .collection-hero { gap: 40px; }
  .collection-hero h1 { font-size: clamp(36px, 3.35vw, 40px); }
  .article-layout { grid-template-columns: 200px minmax(0, 1fr); gap: 52px; }
  .comparison-primary table { min-width: 1400px; }
}

@media (min-width: 601px) and (max-width: 900px) {
  .breadcrumbs,
  .affiliate-notice,
  .collection-hero,
  .article-layout { width: min(calc(100% - 56px), 760px); }
  .affiliate-notice { grid-template-columns: max-content minmax(0, 1fr); }
  .collection-hero { margin-bottom: 76px; grid-template-columns: 1fr; gap: 38px; }
  .collection-hero__copy { display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; align-items: start; }
  .collection-hero__copy > h1 { grid-column: 1 / -1; }
  .collection-hero__preface { grid-column: 1; }
  .article-meta { grid-column: 2; margin-top: 32px; grid-template-columns: 1fr; }
  .collection-hero__visual { max-width: 704px; margin: 0 auto; }
  .collection-hero__visual figure img { border-radius: 72px 72px 22px 72px; }
  .article-layout { display: block; }
  .article-aside { margin-bottom: 62px; position: static; }
  .uchineko-toc nav { padding: 0 18px 18px; }
  .uchineko-toc-list { grid-template-columns: 1fr 1fr; column-gap: 24px; }
  .article-content > :where(p,ul,ol,h2,h3,blockquote),
  .article-product-details { max-width: 680px; }
  .uchineko-product-card { grid-template-columns: 200px minmax(0, 1fr); }
  .product-media {
    width: 168px;
    margin: 20px 0 0 20px;
    padding: 8px;
  }
  .product-media img { height: 168px; }
  .product-card-copy { padding: 22px 22px 25px; }
  .product-card-copy h3 { font-size: 20px; }
  .product-purchase-links ul,
  .product-purchase-links--many ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .reference-product-card { grid-template-columns: 168px minmax(0, 1fr); }
  .reference-product-media { width: 136px; margin: 20px 0 0 20px; }
  .reference-product-media img { height: 136px; }
}

@media (max-width: 600px) {
  html { scroll-padding-top: 92px; }
  .breadcrumbs { width: calc(100% - 40px); padding: 24px 0 20px; font-size: 9px; }
  .affiliate-notice { width: calc(100% - 40px); margin-bottom: 28px; padding: 14px 15px; grid-template-columns: 1fr; gap: 6px; font-size: 10px; }
  .collection-hero { width: calc(100% - 40px); margin-bottom: 62px; display: flex; flex-direction: column; gap: 31px; }
  .collection-hero__copy { width: 100%; }
  .collection-hero h1 { font-size: 31px; line-height: 1.48; }
  .collection-hero__preface { margin-top: 24px; font-size: 13px; line-height: 1.95; }
  .article-meta { grid-template-columns: 1fr; }
  .collection-hero__visual { width: 100%; order: -1; padding-top: 18px; }
  .collection-hero__visual figure img { border-radius: 48px 48px 16px 48px; }
  .collection-stamp { width: 62px; height: 62px; right: -4px; top: 0; }
  .collection-stamp b { font-size: 23px; }
  .collection-stamp small { font-size: 6px; }
  .article-layout { width: calc(100% - 40px); padding-bottom: 82px; display: block; }
  .article-aside { margin-bottom: 52px; position: static; }
  .uchineko-toc:not([open]) nav { display: none; }
  .uchineko-toc-list { grid-template-columns: 1fr; }
  .article-content > h2,
  .article-product-details > h2 { margin-top: 78px; font-size: 27px; line-height: 1.55; }
  .article-content > h2,
  .article-product-details > h2,
  .condition-gate > h2,
  .emergency-section > h2 {
    max-width: min(100%, 11em);
    text-wrap: wrap;
  }
  .condition-gate,
  .emergency-section { margin: 78px -8px 34px; padding: 26px 20px 28px; }
  .condition-gate > h2,
  .emergency-section > h2 { font-size: 27px; line-height: 1.55; }
  .condition-gate > h2:not(:first-child) { margin-top: 58px; }
  .article-content > h3,
  .article-product-details > h3 { margin-top: 30px; font-size: 18px; }
  .article-content > p,
  .article-content > ul,
  .article-content > ol { font-size: 14px; line-height: 2; }
  .uchineko-figure { margin: 34px 0 42px; }
  .uchineko-figure img { border-radius: 12px; }
  .uchineko-figure figcaption { font-size: 12px; }
  .reference-product-card { display: block; }
  .reference-product-media { width: min(calc(100% - 40px), 220px); margin: 20px auto 0; }
  .reference-product-media img { height: 190px; }
  .reference-product-copy { padding: 20px; }
  .uchineko-responsive-table { margin: 32px 0 46px; }
  .comparison-primary { margin-right: -20px; }
  .comparison-primary table { min-width: 1320px; }
  .collection-article-page .article-content .comparison-primary tr > :first-child { min-width: 150px !important; }
  .comparison-primary[data-mobile-layout='cards'] {
    margin-right: 0;
    overflow: visible;
  }
  .comparison-primary[data-mobile-layout='cards'] table {
    min-width: 0;
    display: block;
    background: transparent;
  }
  .comparison-primary[data-mobile-layout='cards'] thead {
    width: 1px;
    height: 1px;
    position: absolute;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }
  .comparison-primary[data-mobile-layout='cards'] tbody,
  .comparison-primary[data-mobile-layout='cards'] tr { display: block; }
  .comparison-primary[data-mobile-layout='cards'] tr {
    margin-bottom: 16px;
    border: 1px solid var(--commerce-line);
    border-radius: 8px;
    overflow: hidden;
    background: var(--commerce-panel);
  }
  .comparison-primary[data-mobile-layout='cards'] tr[data-recommendation='standard'],
  .comparison-primary[data-mobile-layout='cards'] tr[data-match='selected'] {
    border-color: color-mix(in srgb, var(--brand) 58%, var(--commerce-line));
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--brand) 14%, transparent);
  }
  .comparison-primary[data-mobile-layout='cards'] :where(th,td) {
    min-width: 0 !important;
    padding: 11px 13px;
    position: static;
    display: grid;
    grid-template-columns: 122px minmax(0,1fr);
    gap: 11px;
    border: 0;
    border-bottom: 1px solid var(--commerce-line);
    box-shadow: none;
    font-size: 11px;
  }
  .collection-article-page .article-content .comparison-primary[data-mobile-layout='cards'] tr > :first-child {
    min-width: 0 !important;
  }
  .comparison-primary[data-mobile-layout='cards'] :where(th,td)::before {
    content: attr(data-label);
    color: var(--action);
    font-size: 9px;
    font-weight: 900;
    line-height: 1.55;
  }
  .comparison-primary[data-mobile-layout='cards'] tr > :first-child {
    padding-top: 15px;
    padding-bottom: 15px;
    background: var(--commerce-panel-soft);
    color: var(--ink);
    font: 700 16px/1.45 var(--serif);
    grid-template-columns: 1fr;
  }
  .comparison-primary[data-mobile-layout='cards'] tr[data-recommendation='standard'] > :first-child,
  .comparison-primary[data-mobile-layout='cards'] tr[data-match='selected'] > :first-child {
    background: color-mix(in srgb, var(--brand) 8%, var(--commerce-panel));
    box-shadow: inset 4px 0 0 var(--brand);
  }
  .comparison-product { align-items: center; gap: 13px; }
  .comparison-product img { width: 76px; height: 76px; flex-basis: 76px; }
  .comparison-primary[data-mobile-layout='cards'] caption {
    width: 100%;
    display: block;
    word-break: auto-phrase;
    line-break: strict;
  }
  .comparison-primary a,
  .final-product-link a {
    word-break: auto-phrase;
    line-break: strict;
  }
  .article-procedure .uchineko-responsive-table:not(.comparison-primary) caption,
  .article-longform .uchineko-responsive-table:not(.comparison-primary) caption {
    width: 100%;
    display: block;
    white-space: normal;
  }
  .article-procedure .uchineko-responsive-table:not(.comparison-primary) table,
  .article-longform .uchineko-responsive-table:not(.comparison-primary) table {
    min-width: 0;
    display: block;
    background: transparent;
  }
  .article-procedure .uchineko-responsive-table:not(.comparison-primary) thead,
  .article-longform .uchineko-responsive-table:not(.comparison-primary) thead {
    width: 1px; height: 1px; position: absolute; overflow: hidden; clip: rect(0 0 0 0);
  }
  .article-procedure .uchineko-responsive-table:not(.comparison-primary) tbody,
  .article-longform .uchineko-responsive-table:not(.comparison-primary) tbody,
  .article-procedure .uchineko-responsive-table:not(.comparison-primary) tr,
  .article-longform .uchineko-responsive-table:not(.comparison-primary) tr { display: block; }
  .article-procedure .uchineko-responsive-table:not(.comparison-primary) tr,
  .article-longform .uchineko-responsive-table:not(.comparison-primary) tr {
    margin-bottom: 14px;
    border: 1px solid var(--border-soft);
    background: #fff;
  }
  .article-procedure .uchineko-responsive-table:not(.comparison-primary) td,
  .article-longform .uchineko-responsive-table:not(.comparison-primary) td {
    min-width: 0 !important;
    padding: 11px 13px;
    display: grid;
    grid-template-columns: 104px 1fr;
    gap: 12px;
    border: 0;
    border-bottom: 1px solid var(--border-soft);
    font-size: 11px;
  }
  .collection-article-page.article-procedure .article-content .uchineko-responsive-table:not(.comparison-primary) tr > :first-child,
  .collection-article-page.article-longform .article-content .uchineko-responsive-table:not(.comparison-primary) tr > :first-child {
    min-width: 0 !important;
  }
  .article-procedure .uchineko-responsive-table:not(.comparison-primary) td::before,
  .article-longform .uchineko-responsive-table:not(.comparison-primary) td::before {
    content: attr(data-label);
    color: var(--action);
    font-weight: 900;
  }
  .uchineko-product-card { grid-template-columns: minmax(0, 1fr); }
  .product-media {
    width: min(calc(100% - 40px), 260px);
    min-height: 0;
    margin: 20px auto 0;
    padding: 9px;
    border: 1px solid var(--commerce-line);
  }
  .product-media img { height: 220px; }
  .product-card-copy { padding: 23px 20px 25px; }
  .product-card-copy h3 { font-size: 20px; }
  .uchineko-product-specs th,
  .uchineko-product-specs td { padding: 10px 11px; font-size: 12px; }
  .uchineko-product-specs th { width: 38%; }
  .product-purchase-links ul,
  .product-purchase-links--one ul,
  .product-purchase-links--official-only ul,
  .product-purchase-links--many ul { max-width: none; grid-template-columns: 1fr; }
  .product-purchase-link { min-height: 52px; font-size: 13px; }
  .uchineko-final-purchase-decision { margin-top: 76px; padding: 26px 0 0; }
  .uchineko-final-purchase-decision h2 { font-size: 26px; }
  .final-product-link {
    display: block;
    padding: 10px;
  }
  .final-product-link > img,
  .final-product-link > .uchineko-affiliate-product-image {
    width: 76px;
    height: 76px;
    margin: 0 13px 9px 0;
    float: left;
  }
  .final-product-link .product-purchase-links { clear: both; }
  .final-product-link::after {
    content: '';
    display: block;
    clear: both;
  }
  .article-procedure .procedure-step { padding-left: 66px; }
}

@media (max-width: 900px) {
  .article-anchor,
  [data-article-jump-target] { scroll-margin-top: 0; }
  .article-jump-nav {
    width: min(520px, calc(100% - 32px));
    padding: 5px;
    position: fixed;
    left: 50%;
    bottom: calc(12px + env(safe-area-inset-bottom));
    z-index: 800;
    display: block;
    border: 1px solid var(--commerce-line-strong);
    border-radius: 12px;
    background: var(--commerce-panel);
    box-shadow: 0 12px 36px rgba(51, 38, 40, .18);
    transform: translateX(-50%);
  }
  .article-jump-nav ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .article-jump-nav[data-jump-count='2'] ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .article-jump-nav a {
    min-height: 48px;
    padding: 8px 5px;
    display: grid;
    place-items: center;
    position: relative;
    border-radius: 8px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    text-align: center;
    touch-action: manipulation;
  }
  .article-jump-nav a[aria-current='location'] { background: var(--commerce-panel-soft); color: var(--action); font-weight: 900; }
  .article-jump-nav a[aria-current='location']::before { content: ''; height: 3px; position: absolute; inset: 0 12px auto; border-radius: 999px; background: var(--brand); }
  .article-jump-nav a:focus-visible { outline: 3px solid var(--accent); outline-offset: 1px; }
  html.has-article-jump-nav .article-layout { padding-bottom: calc(188px + env(safe-area-inset-bottom)); }
  html.mobile-nav-open .article-jump-nav { display: none; }
}

@media (max-width: 600px) {
  .article-jump-nav { width: calc(100% - 24px); }
  .article-jump-nav a { font-size: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
}

/* All-article opening flow: editorial introduction first, commerce later. */
.collection-hero { margin-bottom: 46px; }
.collection-hero .affiliate-notice--compact {
  width: 100%;
  min-height: 0;
  margin: 18px 0 0;
  padding: 12px 0 0;
  display: flex;
  align-items: flex-start;
  gap: 8px 14px;
  border: 0;
  border-top: 1px solid var(--border-soft);
  background: transparent;
  font-size: 9px;
  line-height: 1.7;
}
.collection-hero .affiliate-notice--compact p { margin: 0; flex: 1; }
.collection-hero .affiliate-notice--compact strong { margin-right: 6px; font-size: inherit; }
.article-opening-route {
  width: min(calc(100% - 64px), var(--article-max));
  margin: 0 auto 92px;
}
.uchineko-opening-path {
  padding: 32px 36px;
  border: 1px solid var(--commerce-line);
  border-radius: 12px;
  background: var(--commerce-panel-soft);
  box-shadow: var(--commerce-shadow);
}
.uchineko-opening-path__eyebrow {
  margin: 0 0 9px;
  color: var(--action);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .14em;
}
.uchineko-opening-path > h2 {
  margin: 0 0 13px;
  font: 600 28px/1.45 var(--serif);
  text-wrap: balance;
}
.uchineko-opening-path > p:not(.uchineko-opening-path__eyebrow),
.uchineko-opening-path > ul {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.85;
}
.uchineko-opening-path > p { margin: 0 0 14px; }
.uchineko-opening-path > ul {
  margin: 18px 0;
  padding: 16px 0 16px 18px;
  display: grid;
  list-style: disc;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px 28px;
  border: 0;
  border-top: 1px solid var(--commerce-line);
  border-bottom: 1px solid var(--commerce-line);
  border-radius: 0;
  background: transparent;
}
.uchineko-opening-path > p:last-child a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: var(--action);
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 5px;
}
.article-entry-links {
  margin-top: 22px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.article-entry-links a {
  min-height: 84px;
  padding: 16px 18px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 12px;
  align-content: center;
  border: 1px solid var(--commerce-line-strong);
  border-radius: 8px;
  background: var(--commerce-panel);
  color: var(--ink);
}
.article-entry-links a:first-child { border-color: color-mix(in srgb, var(--brand) 58%, var(--commerce-line)); }
.article-entry-links span { grid-column: 1; color: var(--action); font-size: 8px; font-weight: 900; letter-spacing: .08em; }
.article-entry-links strong { grid-column: 1; font: 700 15px/1.5 var(--serif); }
.article-entry-links i { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--action); font-style: normal; }
.article-entry-links a:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.article-entry-links--inline {
  margin: 0;
  padding: 10px 0;
  display: flex;
  gap: 0;
  border-top: 1px solid var(--border-soft);
  border-bottom: 1px solid var(--border-soft);
}
.article-entry-links--inline a,
.article-entry-links--inline a:first-child {
  min-height: 44px;
  padding: 8px 22px 8px 0;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ink);
}
.article-entry-links--inline a + a {
  padding-left: 22px;
  border-left: 1px solid var(--border-soft);
}
.article-entry-links--inline strong { font: 800 11px/1.65 var(--sans); text-decoration: underline; text-underline-offset: 4px; }
.article-entry-links--inline i { margin-left: auto; display: inline; color: var(--action); }

.uchineko-opening-caution,
.uchineko-safety-note {
  margin: 18px 0;
  padding: 16px 18px;
  border: 1px solid #E8CE76;
  border-left: 5px solid var(--accent);
  border-radius: 7px;
  background: #FFF9E8;
  color: var(--ink);
  font-size: 11px;
  line-height: 1.8;
}
.uchineko-opening-caution p,
.uchineko-safety-note p { margin: 5px 0 0; }

/* Exact product media is optional; an unavailable asset creates no empty frame. */
.uchineko-product-card.no-product-image { width: min(100%, var(--reading)); grid-template-columns: minmax(0, 1fr); }
.uchineko-product-card.no-product-image .product-card-copy { padding: 28px 32px 32px; }
.comparison-product[data-product-media='unavailable'] { display: block; }
.final-product-link.no-product-image { grid-template-columns: minmax(0, 1fr); }
.final-product-link.no-product-image > div { grid-column: 1; }
.purchase-decision__group[data-product-kind='hold'] {
  border: 0;
  background: transparent;
}
.purchase-decision__group[data-product-kind='add-on'],
.purchase-decision__group[data-product-kind='required'],
.purchase-decision__group[data-product-kind='replacement'] { border: 0; background: transparent; }

.article-comparison { width: 100%; scroll-margin-top: 0; }
.article-comparison > .uchineko-responsive-table { margin-top: 38px; }

@media (max-width: 900px) {
  .article-opening-route { width: min(calc(100% - 56px), 760px); margin-bottom: 72px; }
  .uchineko-opening-path { padding: 28px; }
}

@media (max-width: 600px) {
  .collection-hero { margin-bottom: 34px; }
  .collection-hero .affiliate-notice--compact { display: block; font-size: 10px; }
  .article-opening-route { width: calc(100% - 40px); margin-bottom: 62px; }
  .uchineko-opening-path { padding: 22px 18px; border-radius: 9px; }
  .uchineko-opening-path > h2 { font-size: 24px; }
  .uchineko-opening-path > ul { grid-template-columns: 1fr; padding: 14px 0 14px 18px; }
  .article-entry-links { grid-template-columns: 1fr; }
  .article-entry-links a { min-height: 76px; }
  .article-entry-links--inline { padding: 4px 0; display: block; }
  .article-entry-links--inline a,
  .article-entry-links--inline a:first-child { min-height: 52px; padding: 9px 0; }
  .article-entry-links--inline a + a { padding-left: 0; border-top: 1px solid var(--border-soft); border-left: 0; }
  .uchineko-product-card.no-product-image .product-card-copy { padding: 24px 20px 26px; }

  .uchineko-responsive-table[data-mobile-layout='cards']:not(.comparison-primary) { overflow: visible; }
  .uchineko-responsive-table[data-mobile-layout='cards']:not(.comparison-primary) table { min-width: 0; display: block; background: transparent; }
  .uchineko-responsive-table[data-mobile-layout='cards']:not(.comparison-primary) thead { width: 1px; height: 1px; position: absolute; overflow: hidden; clip: rect(0 0 0 0); }
  .uchineko-responsive-table[data-mobile-layout='cards']:not(.comparison-primary) :where(tbody,tr) { display: block; }
  .uchineko-responsive-table[data-mobile-layout='cards']:not(.comparison-primary) tr { margin-bottom: 14px; border: 1px solid var(--commerce-line); border-radius: 8px; overflow: hidden; background: var(--commerce-panel); }
  .uchineko-responsive-table[data-mobile-layout='cards']:not(.comparison-primary) :where(th,td) { min-width: 0 !important; padding: 11px 13px; display: grid; grid-template-columns: 106px minmax(0,1fr); gap: 12px; border: 0; border-bottom: 1px solid var(--commerce-line); font-size: 11px; }
  .collection-article-page .article-content .uchineko-responsive-table[data-mobile-layout='cards']:not(.comparison-primary) tr > :first-child { min-width: 0 !important; }
  .uchineko-responsive-table[data-mobile-layout='cards']:not(.comparison-primary) :where(th,td)::before { content: attr(data-label); color: var(--action); font-size: 9px; font-weight: 900; }
}

/* WordPress/Gutenberg integration for the adopted collection layout. */
.collection-article-page main#top {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.collection-article-page .article-layout--no-toc {
  grid-template-columns: minmax(0, 1fr);
}

.collection-article-page .article-layout--no-toc .article-content {
  width: min(100%, 980px);
  margin-inline: auto;
}

.collection-article-page .collection-hero__visual .uchineko-figure {
  width: 100%;
  margin: 0;
}

.collection-article-page .collection-hero__visual .uchineko-figure figcaption {
  display: none;
}

.collection-article-page .collection-hero__visual .wp-block-image img {
  display: block;
  object-fit: cover;
}

.collection-article-page .article-content > .wp-block-group {
  max-width: var(--reading);
}

.collection-article-page .article-content > .wp-block-group.alignwide,
.collection-article-page .article-content > .uchineko-table-region,
.collection-article-page .article-content > .uchineko-product-surface,
.collection-article-page .article-content > .uchineko-final-purchase-decision {
  max-width: 900px;
}

.collection-article-page .article-content > .wp-block-group.uchineko-final-purchase-decision {
  max-width: 900px;
}

.collection-article-page .article-content :where(.wp-block-table, table) {
  margin: 0;
}

.collection-article-page .article-content .wp-block-table {
  width: 100%;
}

.collection-article-page .uchineko-purchase-decision-summary {
  width: min(100%, 900px);
  margin: 0 0 64px;
  padding: 26px 0 0;
  border: 0;
  border-top: 4px solid var(--brand);
  border-radius: 0;
  background: transparent;
}

.collection-article-page .uchineko-purchase-decision-summary > h2 {
  margin: 0 0 18px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  font: 600 28px/1.55 var(--serif);
}

.collection-article-page .uchineko-purchase-decision-summary > h2::before,
.collection-article-page .uchineko-purchase-decision-summary > h2::after {
  content: none;
}

.collection-article-page .uchineko-purchase-decision-summary > :where(p, ul, ol) {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.95;
}

.collection-article-page .uchineko-product-surface--summary.final-product-link {
  width: 100%;
}

.collection-article-page .uchineko-product-surface--reference.reference-product-card {
  width: min(100%, var(--reading));
}

.collection-article-page .uchineko-fact-list {
  margin: 16px 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid var(--commerce-line);
  border-radius: 7px;
  overflow: hidden;
}

.collection-article-page .uchineko-fact-list__item {
  min-width: 0;
  padding: 11px 13px;
  border-bottom: 1px solid var(--commerce-line);
}

.collection-article-page .uchineko-fact-list__item:nth-child(odd) {
  border-right: 1px solid var(--commerce-line);
}

.collection-article-page .uchineko-fact-list dt {
  color: var(--muted);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .08em;
}

.collection-article-page .uchineko-fact-list dd {
  margin: 5px 0 0;
  color: var(--ink);
  font-size: 10px;
  font-weight: 800;
  line-height: 1.65;
}

.collection-article-page .uchineko-notice {
  max-width: var(--reading);
  margin: 26px 0;
  padding: 18px 20px;
  border: 1px solid var(--commerce-line);
  border-left: 5px solid var(--brand);
  border-radius: 7px;
  background: var(--surface);
}

.collection-article-page .uchineko-notice--caution,
.collection-article-page .uchineko-notice--safety {
  border-color: #e8ce76;
  border-left-color: var(--accent);
  background: #fff9e8;
}

.collection-article-page .uchineko-notice > :first-child {
  margin-top: 0;
}

.collection-article-page .uchineko-notice > :last-child {
  margin-bottom: 0;
}

.collection-article-page .article-related-themes {
  width: min(100%, var(--reading));
  margin: 42px 0 0;
  padding-top: 18px;
  border-top: 1px solid var(--commerce-line);
}

.collection-article-page .article-related-themes__label {
  margin: 0 0 10px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
}

.collection-article-page .article-related-themes ul {
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
}

.collection-article-page .article-related-themes li {
  margin: 0;
}

.collection-article-page .article-related-themes a {
  min-height: 44px;
  padding: 9px 14px;
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--commerce-line);
  border-radius: 999px;
  background: var(--commerce-panel-soft);
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
}

.collection-article-page .article-related-themes a:is(:hover, :focus-visible) {
  border-color: var(--brand);
  color: var(--action);
}

@media (max-width: 600px) {
  .collection-article-page .uchineko-purchase-decision-summary {
    margin-bottom: 50px;
    padding: 22px 0 0;
  }

  .collection-article-page .uchineko-purchase-decision-summary > h2 {
    font-size: 25px;
  }

  .collection-article-page .uchineko-fact-list {
    grid-template-columns: 1fr;
  }

  .collection-article-page .uchineko-fact-list__item:nth-child(odd) {
    border-right: 0;
  }
}
