body.shopping-guide { background: #fff; color: #292824; }
.shopping-guide .site-header { background: #fff; max-width: 1200px; border-bottom: 1px solid #e3dfd8; }
.shopping-guide .brand { font-family: Meiryo,"Yu Gothic",sans-serif; font-size: 20px; font-weight: 700; }
.shopping-guide footer { background: #f4f2ed; }
.monitor-page .price { color: #292824; }
.monitor-page .brand-label { color: #62594c; font-size: 12px; }
.monitor-page .monitor-meta { color: #69645e; }
.monitor-page article { scroll-margin-top: 88px; }
.monitor-page .monitor-procon > div { padding: 16px; border: 0; }
.monitor-page .monitor-procon > div:first-child { background: #f0f3ed; }
.monitor-page .monitor-procon > div:last-child { background: #f8f1e8; }
.monitor-page .monitor-procon h4 { margin: 0 0 8px; }
.monitor-page {
  max-width: 1160px;
  margin-top: 0;
  background: #fff;
  color: #292824;
}

.monitor-page h1,
.monitor-page h2,
.monitor-page h3,
.monitor-page h4 {
  font-family: Meiryo, "Yu Gothic", sans-serif;
  letter-spacing: .01em;
  font-weight: 700;
}

.monitor-page section,
.monitor-page h1,
.monitor-page h2,
.monitor-page h3,
.monitor-page h4 {
  scroll-margin-top: 88px;
}

.monitor-page .monitor-hero {
  padding: 32px 0 40px;
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: 48px;
  align-items: center;
}

.monitor-page .monitor-hero h1 {
  font-size: clamp(30px, 4vw, 44px);
  line-height: 1.5;
}

.monitor-page .monitor-hero-visual {
  margin: 0;
  padding: 24px;
  background: #f1eee8;
}

.monitor-page .monitor-hero-visual img {
  display: block;
  max-width: 400px;
  width: 100%;
  object-fit: contain;
  margin: 0 auto;
}

.monitor-page .monitor-meta {
  font-size: 12px;
}

.monitor-page .monitor-hero p { font-size: 15px; }

.monitor-page .monitor-jumps {
  position: sticky;
  top: 0;
  z-index: 3;
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  background: #fff;
  border-top: 1px solid #dedbd4;
  border-bottom: 1px solid #dedbd4;
}

.monitor-page .monitor-jumps a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 12px;
  white-space: nowrap;
  font-size: 13px;
}

.monitor-page .monitor-picks {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.monitor-page .monitor-pick {
  padding: 0;
  border: 0;
  background: transparent;
}

.monitor-page .monitor-pick .product-image {
  display: block;
  padding: 16px;
  background: #f5f3ee;
}

.monitor-page .monitor-pick img {
  display: block;
  width: 100%;
  height: 220px;
  object-fit: contain;
}

.monitor-page .monitor-pick h3 {
  font-size: 20px;
}

.monitor-page .monitor-tag {
  display: inline-block;
  margin-bottom: 12px;
  padding: 5px 10px;
  color: #965638;
  background: #f4eee6;
  font-size: 12px;
}

.monitor-page .monitor-pick p { font-size: 14px; }
.monitor-page .monitor-pick-specs { display: flex; flex-wrap: wrap; gap: 6px; }
.monitor-page .monitor-pick-specs span { padding: 4px 8px; background: #f3f2ef; font-size: 12px; }

.monitor-page .monitor-pick-price {
  color: #292824;
  font-size: 24px;
  font-weight: 700;
}

.monitor-page .monitor-section {
  padding: 0;
  margin: 56px 0;
}

.monitor-page .monitor-section h2 {
  margin: 0 0 18px;
  font-size: 28px;
}

.monitor-page .monitor-section > .kicker { margin-bottom: 12px; color: #965638; }

.monitor-page .monitor-intro {
  max-width: 760px;
}

.monitor-page .monitor-filters fieldset {
  padding: 0;
  border: 0;
}

.monitor-page .monitor-filter-options {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.monitor-page .monitor-filter-options label {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px;
  border: 1px solid #dddcd2;
}

.monitor-page .monitor-filter-options input[type="radio"] {
  accent-color: #365949;
}

.monitor-page .monitor-filter-options label:has(input:checked) {
  background: #363b36;
  color: #fff;
}

.monitor-page .monitor-matrix {
  overflow-x: auto;
  border: 1px solid #dddcd2;
  background: #fff;
}

.monitor-page .monitor-matrix table {
  display: table !important;
  width: 100%;
  min-width: 960px;
  border-collapse: collapse;
}

.monitor-page .monitor-matrix thead {
  display: table-header-group !important;
}

.monitor-page .monitor-matrix tbody {
  display: table-row-group !important;
}

.monitor-page .monitor-matrix tr {
  display: table-row !important;
}

.monitor-page .monitor-matrix th,
.monitor-page .monitor-matrix td {
  width: auto;
  min-width: 125px;
  display: table-cell !important;
  padding: 14px;
  font-size: 13px;
  vertical-align: top;
  overflow-wrap: anywhere;
}

.monitor-page .monitor-matrix th { background: #eeeae2; }

.monitor-page .monitor-matrix td::before {
  content: none !important;
  display: none !important;
}

.monitor-page .monitor-matrix th:first-child,
.monitor-page .monitor-matrix td:first-child {
  position: sticky;
  left: 0;
  min-width: 150px;
  background: #faf8f4;
  border-bottom: 1px solid #dddcd2;
}

.monitor-page .monitor-matrix caption { padding: 14px; text-align: left; font-size: 12px; }
.monitor-page .monitor-hero-visual figcaption { font-size: 12px; margin-top: 18px; color: #626960; }
.monitor-page .monitor-product-head > div { flex: 1 1 300px; }
.monitor-page .monitor-product-head > .product-image { flex: 0 1 180px; }
.monitor-page .monitor-product-head h3 { margin: 10px 0; }
.monitor-page .monitor-product, .monitor-page .monitor-filters { min-width: 0; }
.monitor-page .monitor-procon p { font-size: 14px; }
.monitor-page .monitor-filter-options { margin: 12px 0; }

.monitor-page .monitor-filters:has(#monitor-budget:checked) .monitor-matrix tbody tr:not([data-budget="yes"]),
.monitor-page .monitor-filters:has(#monitor-shallow:checked) .monitor-matrix tbody tr:not([data-shallow="yes"]),
.monitor-page .monitor-filters:has(#monitor-drawer:checked) .monitor-matrix tbody tr:not([data-drawer="yes"]) {
  display: none !important;
}

.monitor-page .monitor-details {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}

.monitor-page .monitor-product {
  padding: 32px 0;
  border: 0;
  border-top: 1px solid #d8d4cc;
  background: transparent;
}

.monitor-page .monitor-product-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 24px;
}

.monitor-page .monitor-product-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(250px, .8fr);
  gap: 32px;
  align-items: start;
}

.monitor-page .monitor-purchase-panel {
  position: sticky;
  top: 64px;
  padding: 24px;
  background: #f6f3ec;
}

.monitor-page .store-choices {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  width: 100%;
}

.monitor-page .store-button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 48px;
  padding: 12px 16px;
  border: 1px solid #444;
  background: #fff;
  color: #292824;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.monitor-page .store-button.amazon { background: #f2c45c; color: #27221a; }
.monitor-page .store-button.rakuten { border-color: #8d3e32; color: #8d3e32; }
.monitor-page .store-button:hover { background: #eee7dc; color: #292824; }
.monitor-page .store-button.amazon:hover { background: #e7b644; color: #27221a; }
.monitor-page .store-caption { color: #68635b; font-size: 11px; line-height: 1.6; }
.monitor-page .monitor-buy { display: block; }
.monitor-page .monitor-product-facts details { padding: 14px 0; border-top: 1px solid #d8d4cc; }
.monitor-page .monitor-product-facts summary { min-height: 44px; cursor: pointer; font-size: 14px; font-weight: 700; }
.monitor-page .monitor-product-facts dl { font-size: 13px; }
.monitor-page .monitor-product-facts > * { min-width: 0; }
.monitor-page .monitor-product-head > * { min-width: 0; }
.monitor-page .monitor-product-layout > * { min-width: 0; }
.monitor-page .monitor-procon > div:first-child { padding: 16px; border: 0; background: #f0f3ed; }
.monitor-page .monitor-procon > div:nth-child(2) { padding: 16px; border: 0; background: #f8f1e8; }
.monitor-page .monitor-procon h4 { margin: 0 0 8px; }
.monitor-page .monitor-product-head .product-image img { max-width: 220px; }

.monitor-page .monitor-product h3 {
  font-size: 24px;
}

.monitor-page .monitor-product-facts dl {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 8px 16px;
}

.monitor-page .monitor-product-facts dt {
  font-weight: 700;
}

.monitor-page .monitor-product-facts dd {
  margin: 0;
}

.monitor-page .monitor-procon {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.monitor-page .monitor-procon > div {
  padding-top: 16px;
  border-top: 1px solid #dddcd2;
}

.monitor-page .monitor-procon h4 {
  font-size: 15px;
}

.monitor-page .monitor-buy {
  display: block;
}

.monitor-page .monitor-product .product-image img {
  max-width: 220px;
}

.monitor-page .monitor-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.monitor-page .monitor-steps > * {
  padding-top: 20px;
  border-top: 1px solid #dddcd2;
}

.monitor-page .monitor-materials {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.monitor-page .monitor-materials > * {
  padding: 24px;
  background: #f5f3ee;
}

.monitor-page .monitor-faq details {
  padding: 16px 0;
  border-bottom: 1px solid #dddcd2;
}

.monitor-page .monitor-faq summary {
  min-height: 44px;
  cursor: pointer;
  font-weight: 700;
}

.monitor-page :focus-visible {
  outline: 3px solid #365949;
  outline-offset: 4px;
}

@media (max-width: 760px) {
  .monitor-page .monitor-hero {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 20px 0 28px;
  }

  .monitor-page .monitor-hero-visual { order: -1; }
  .monitor-page .monitor-hero-visual img { max-width: 280px; }
  .monitor-page .monitor-hero h1 { font-size: 29px; }
  .monitor-page .monitor-section h2 { font-size: 24px; }

  .monitor-page .monitor-picks {
    grid-template-columns: 1fr;
  }

  .monitor-page .monitor-pick {
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr);
    gap: 0 16px;
  }

  .monitor-page .monitor-pick .product-image {
    grid-column: 1;
    grid-row: 2 / 7;
    padding: 8px;
  }

  .monitor-page .monitor-pick > .monitor-tag { grid-column: 1 / -1; }
  .monitor-page .monitor-pick > :not(.product-image):not(.monitor-tag) { grid-column: 2; }
  .monitor-page .monitor-pick img { height: 130px; }
  .monitor-page .monitor-pick p { margin: 8px 0; font-size: 13px; }
  .monitor-page .monitor-pick h3 { margin: 8px 0; font-size: 18px; }

  .monitor-page .monitor-product-layout {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .monitor-page .monitor-purchase-panel { position: static; }
  .monitor-page .monitor-product-head { grid-template-columns: minmax(0, 1fr) 120px; }
  .monitor-page .monitor-product .product-image img { max-width: 120px; }
  .monitor-page .store-choices { grid-template-columns: 1fr 1fr; }

  .monitor-page .monitor-picks,
  .monitor-page .monitor-steps,
  .monitor-page .monitor-materials {
    grid-template-columns: 1fr;
  }

  .monitor-page .monitor-procon {
    grid-template-columns: 1fr;
  }

  .monitor-page .monitor-product-facts dl {
    grid-template-columns: 1fr;
  }

  .monitor-page .monitor-section {
    margin: 56px 0;
  }
}

@media (max-width: 400px) {
  .monitor-page .monitor-product {
    padding: 18px;
  }

  .monitor-page .monitor-filter-options label {
    font-size: 13px;
  }

  .monitor-page .store-choices { grid-template-columns: 1fr; }
  .monitor-page .monitor-product-head { grid-template-columns: 1fr; }
  .monitor-page .monitor-pick { display: block; }
  .monitor-page .monitor-pick img { height: 200px; }
}

@media print {
  .monitor-page .monitor-jumps,
  .monitor-page .monitor-filters fieldset,
  .monitor-page .monitor-buy {
    display: none !important;
  }

  .monitor-page .monitor-filters .monitor-matrix tbody tr,
  .monitor-page .monitor-filters:has(input:checked) .monitor-matrix tbody tr {
    display: table-row !important;
  }
}

/* Two-column category comparisons share the monitor article typography. */
.category-page .monitor-picks { grid-template-columns: repeat(2,minmax(0,1fr)); }
.category-page .category-matrix table { min-width: 650px; }
.category-page .category-matrix th:first-child { min-width: 140px; width: 24%; }
.category-page .category-matrix td { min-width: 235px; }
.category-page > section { margin-bottom: 64px; }
.category-page #before-buying > div { border-top: 1px solid #e3dfd8; padding: 16px 0; }
@media(max-width:700px) { .category-page .monitor-picks { grid-template-columns:1fr; } }
/* Match official image size; give photos their own row on smaller screens. */
.monitor-page .monitor-product-head { grid-template-columns:minmax(0,1fr) 244px; }
.monitor-page .monitor-product-head > .product-image { flex:0 0 244px; }
.category-page h1 small { display:block; font-size:17px; font-weight:500; margin-bottom:14px; }
@media (max-width:900px) {
 .monitor-page .monitor-picks { grid-template-columns:1fr; }
 .monitor-page .monitor-pick { display:block; }
 .monitor-page .monitor-pick .product-image { padding:0; }
 .monitor-page .monitor-product-head { grid-template-columns:1fr; }
}
