/* AffiPilot Zero article design system v5. Editorial flow, one-column focus, and scan-first hierarchy. */
.affipilot-article,
.editor-styles-wrapper {
  --affipilot-text: #22262b;
  --affipilot-muted: #66707a;
  --affipilot-border: #e2e6e9;
  --affipilot-soft: #f7f8f9;
  --affipilot-accent: #27685c;
  --affipilot-accent-soft: #eef6f3;
  --affipilot-point-bg: #eef7f4;
  --affipilot-point-border: #3a796d;
  --affipilot-caution-bg: #fff8e8;
  --affipilot-caution-border: #d3a33a;
  --affipilot-info-bg: #f1f6fb;
  --affipilot-info-border: #4d7394;
  --affipilot-cta: #b83b2f;
  --affipilot-cta-dark: #973027;
}

.affipilot-article-page #content-in {
  display: block;
}

.affipilot-article-page #main {
  float: none;
  width: min(100%, 920px);
  margin-inline: auto;
}

.affipilot-article-page #sidebar,
.affipilot-article-page .article-header .eye-catch-wrap,
.affipilot-article-page .article-header .sns-share,
.affipilot-article-page .article-footer .sns-share,
.affipilot-article-page .article-footer .entry-categories-tags,
.affipilot-article-page .related-entries,
.affipilot-article-page .pager-post-navi,
.affipilot-article-page .comment-area,
.affipilot-article-page .sidebar-menu-button,
.affipilot-article-page #toc {
  display: none !important;
}

.affipilot-article-page .article-header,
.affipilot-article-page .entry-content,
.affipilot-article-page .article-footer {
  width: min(100%, 760px);
  margin-inline: auto;
}

.affipilot-article-page .entry-title {
  margin: .5rem 0 .65rem;
  color: #1f2522;
  font-size: clamp(1.7rem, 5.7vw, 2.35rem);
  font-weight: 800;
  line-height: 1.38;
  letter-spacing: .005em;
}

.affipilot-article-page .date-tags {
  margin: 0 0 1.25rem;
  color: var(--affipilot-muted, #66707a);
  font-size: .78rem;
}

.affipilot-scan-summary {
  box-sizing: border-box;
}

.affipilot-scan-summary-title {
  margin: 0 0 .55rem !important;
  color: #44514b;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .04em;
}

.affipilot-scan-summary ul {
  margin: 0 !important;
  padding-left: 1.15rem !important;
}

.affipilot-scan-summary li {
  margin: 0 0 .42rem !important;
  padding-left: .08rem !important;
  line-height: 1.65 !important;
}

.affipilot-scan-summary li:last-child {
  margin-bottom: 0 !important;
}

.affiliate-product-image-block {
  margin: 1.2rem 0 1.65rem !important;
}

.affiliate-product-image-block > a {
  display: block;
  background: transparent !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

.affiliate-product-image-block img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
}

.affipilot-related-articles {
  margin: 2.7rem 0 0;
  padding-top: 1.35rem;
  border-top: 1px solid var(--affipilot-border);
}

.affipilot-related-articles h2 {
  margin-top: 0 !important;
}

.affipilot-article,
.affipilot-article :where(.entry-content,.wp-block-post-content),
.editor-styles-wrapper {
  box-sizing: border-box;
  color: var(--affipilot-text);
  font-size: 17px;
  line-height: 1.88;
}

.affipilot-article,
.affipilot-article :where(.entry-content,.wp-block-post-content) {
  width: min(100%, 760px);
  margin-inline: auto;
  padding-inline: clamp(16px, 4vw, 28px);
}

.editor-styles-wrapper {
  padding-inline: clamp(20px, 4vw, 30px) !important;
}

.affipilot-article>p,
.affipilot-article :where(.entry-content,.wp-block-post-content)>p,
.editor-styles-wrapper>p {
  margin-top: 0;
  margin-bottom: 1.3rem;
}

.affipilot-article :where(.entry-content,.wp-block-post-content)>p:first-child,
.editor-styles-wrapper>p:first-child {
  color: var(--affipilot-muted);
  font-size: .86rem;
  line-height: 1.6;
}

.affipilot-article :where(.entry-content,.wp-block-post-content) strong,
.editor-styles-wrapper strong {
  font-weight: 750;
}

.affipilot-article :where(.entry-content,.wp-block-post-content) mark,
.editor-styles-wrapper mark {
  background: linear-gradient(transparent 58%, #fff0a8 58%);
  color: inherit;
  padding: 0 .08em;
}

.affipilot-article h2,
.affipilot-article :where(.entry-content,.wp-block-post-content) h2,
.editor-styles-wrapper h2 {
  margin: 3rem 0 1.15rem;
  border: 0;
  border-bottom: 3px solid #d2e3dc;
  border-radius: 0;
  padding: 0 0 .58rem;
  background: transparent;
  color: #1f2927;
  font-size: clamp(1.3rem, 4.2vw, 1.5rem);
  font-weight: 800;
  line-height: 1.45;
  letter-spacing: .01em;
}

.affipilot-article :where(.entry-content,.wp-block-post-content) h3,
.editor-styles-wrapper h3 {
  margin: 2.2rem 0 .9rem;
  border-bottom: 2px solid #dfe8e5;
  padding-bottom: .48rem;
  font-size: clamp(1.08rem, 3.3vw, 1.28rem);
  line-height: 1.55;
}

.affiliate-product-card {
  box-sizing: border-box;
  margin: 1.7rem 0 2.2rem;
  overflow: hidden;
  border: 1px solid #e1e4e7;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 9px 28px rgba(35, 44, 50, .08);
}

.affiliate-product-media {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 118px;
  grid-auto-rows: minmax(110px, auto);
  gap: 1px;
  background: #eceff1;
}

.affiliate-product-image {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  background: #fff;
  text-decoration: none !important;
}

.affiliate-product-image.is-primary {
  grid-row: span 2;
  min-height: 350px;
}

.affiliate-product-image.is-secondary {
  min-height: 174px;
}

.affiliate-product-image img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 440px;
  object-fit: contain;
  background: #fff;
}

.affiliate-product-image.is-secondary img {
  max-height: 200px;
}

.affiliate-product-card-copy {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  padding: 1rem 1.15rem 1.15rem;
  text-align: left;
}

.affiliate-product-kicker {
  width: fit-content;
  border-radius: 999px;
  padding: .18rem .58rem;
  background: var(--affipilot-accent-soft);
  color: var(--affipilot-accent);
  font-size: .76rem;
  font-weight: 750;
  line-height: 1.5;
}

.affiliate-product-name {
  display: block;
  color: #22262b;
  font-size: 1rem;
  line-height: 1.65;
}

.affiliate-product-shop {
  color: var(--affipilot-muted);
  font-size: .83rem;
  line-height: 1.55;
}

.affiliate-editorial-dialogue,
.affiliate-editorial-point,
.affiliate-editorial-key-points,
.affiliate-editorial-caution-box,
.affiliate-editorial-comparison-table,
.affiliate-editorial-checklist,
.affiliate-editorial-faq,
.affiliate-editorial-fit,
.affiliate-editorial-summary,
.affiliate-editorial-pros-cons,
.affiliate-editorial-calculation,
.affiliate-editorial-note,
.affiliate-editorial-image-note,
.affiliate-editorial-source-note,
.affiliate-editorial-pre-cta {
  box-sizing: border-box;
  margin: 1.9rem 0;
  color: var(--affipilot-text, #22262b);
  font-size: 1rem;
  line-height: 1.85;
}

.affiliate-editorial-point,
.affiliate-editorial-key-points,
.affiliate-editorial-caution-box,
.affiliate-editorial-checklist,
.affiliate-editorial-fit,
.affiliate-editorial-summary,
.affiliate-editorial-pros-cons,
.affiliate-editorial-calculation,
.affiliate-editorial-note,
.affiliate-editorial-image-note,
.affiliate-editorial-source-note,
.affiliate-editorial-pre-cta {
  border: 1px solid var(--affipilot-border, #e2e6e9);
  border-radius: 11px;
  padding: 1.05rem 1.15rem;
  background: #fff;
}

.affiliate-editorial-component-title {
  margin: 0 0 .62rem !important;
  color: inherit;
  font-size: .91rem;
  line-height: 1.5 !important;
  letter-spacing: .02em;
}

.affiliate-editorial-component-title strong {
  font-weight: 800;
}

.affiliate-editorial-point {
  border-color: #c5ded6;
  border-left: 5px solid var(--affipilot-point-border, #3a796d);
  background: var(--affipilot-point-bg, #eef7f4);
}

.affiliate-editorial-caution-box {
  border-color: #edd6a3;
  border-left: 5px solid var(--affipilot-caution-border, #d3a33a);
  background: var(--affipilot-caution-bg, #fff8e8);
}

.affiliate-editorial-calculation {
  border-color: #cbd9e5;
  border-left: 5px solid var(--affipilot-info-border, #4d7394);
  background: var(--affipilot-info-bg, #f1f6fb);
}

.affiliate-editorial-key-points,
.affiliate-editorial-checklist,
.affiliate-editorial-fit,
.affiliate-editorial-pros-cons,
.affiliate-editorial-summary,
.affiliate-editorial-pre-cta {
  background: var(--affipilot-soft, #f7f8f9);
}

.affiliate-editorial-note,
.affiliate-editorial-image-note,
.affiliate-editorial-source-note {
  padding: .85rem 1rem;
  background: #fafafa;
  color: var(--affipilot-muted, #66707a);
  font-size: .94rem;
}

.affiliate-editorial-item-list {
  margin: 0;
}

.affiliate-editorial-item {
  margin: 0 !important;
  padding: .62rem 0 !important;
  line-height: 1.8 !important;
}

.affiliate-editorial-item:last-child {
  border-bottom: 0 !important;
  padding-bottom: .1rem !important;
}

.affiliate-editorial-dialogue {
  padding: .2rem 0;
}

.affiliate-editorial-dialogue .affiliate-editorial-component-title {
  margin-bottom: .8rem !important;
}

.affiliate-dialogue-reader,
.affiliate-dialogue-explainer {
  position: relative;
  margin: 0 0 .9rem !important;
  border: 1px solid var(--affipilot-border, #e2e6e9);
  border-radius: 14px;
  padding: .9rem 1rem !important;
  background: #f7f8fa;
  line-height: 1.8 !important;
}

.affiliate-dialogue-reader {
  margin-right: 2rem !important;
}

.affiliate-dialogue-explainer {
  margin-left: 2rem !important;
  border-color: #c5ded6;
  background: var(--affipilot-point-bg, #eef7f4);
}

.affiliate-dialogue-reader:after,
.affiliate-dialogue-explainer:after {
  position: absolute;
  bottom: -7px;
  width: 12px;
  height: 12px;
  border-right: 1px solid var(--affipilot-border, #e2e6e9);
  border-bottom: 1px solid var(--affipilot-border, #e2e6e9);
  background: inherit;
  content: "";
  transform: rotate(45deg);
}

.affiliate-dialogue-reader:after {
  left: 25px;
}

.affiliate-dialogue-explainer:after {
  right: 25px;
  border-color: #c5ded6;
}

.affiliate-dialogue-reader strong,
.affiliate-dialogue-explainer strong {
  display: inline-block;
  margin-right: .45rem;
  border-radius: 999px;
  padding: .08rem .48rem;
  background: #e9edf1;
  font-size: .8rem;
  line-height: 1.5;
}

.affiliate-dialogue-explainer strong {
  background: #d9ebe5;
}

.affiliate-editorial-comparison-table {
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid #e2e6e9;
  border-radius: 11px;
  -webkit-overflow-scrolling: touch;
}

.affiliate-editorial-comparison-table .affiliate-editorial-component-title {
  margin: 0 !important;
  padding: .85rem 1rem;
  background: #f5f7f7;
}

.affiliate-editorial-comparison-table table {
  width: 100%;
  min-width: 440px;
  margin: 0;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: .94rem;
}

.affiliate-editorial-comparison-table th,
.affiliate-editorial-comparison-table td {
  border: 0;
  border-top: 1px solid var(--affipilot-border, #e2e6e9);
  border-right: 1px solid var(--affipilot-border, #e2e6e9);
  padding: .78rem .85rem;
  text-align: left;
  vertical-align: top;
  line-height: 1.7;
}

.affiliate-editorial-comparison-table tr>*:last-child {
  border-right: 0;
}

.affiliate-editorial-comparison-table th {
  width: 34%;
  background: #fafbfb;
  font-weight: 750;
}

.affiliate-editorial-faq {
  border-top: 1px solid var(--affipilot-border, #e2e6e9);
  border-bottom: 1px solid var(--affipilot-border, #e2e6e9);
  padding: 1.05rem 0;
}

.affiliate-editorial-faq dl {
  margin: 0;
}

.affiliate-editorial-faq dt,
.affiliate-editorial-faq dd {
  position: relative;
  margin: 0;
  padding-left: 2.1rem;
  line-height: 1.8;
}

.affiliate-editorial-faq dt {
  margin-bottom: .55rem;
  font-weight: 750;
}

.affiliate-editorial-faq dd {
  color: var(--affipilot-text, #22262b);
}

.affiliate-editorial-faq dt:before,
.affiliate-editorial-faq dd:before {
  position: absolute;
  left: 0;
  top: .05rem;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  text-align: center;
  font-size: .78rem;
  font-weight: 800;
  line-height: 1.5rem;
}

.affiliate-editorial-faq dt:before {
  background: #edf1f4;
  content: "Q";
}

.affiliate-editorial-faq dd:before {
  background: #dcece7;
  content: "A";
}

.affiliate-product-cta {
  box-sizing: border-box;
  margin: 2.4rem 0 .8rem;
  border: 1px solid #ead4d0;
  border-radius: 14px;
  padding: 1.25rem 1.2rem;
  background: #fff9f7;
  text-align: center;
}

.affiliate-product-cta-lead {
  margin: 0 0 .85rem !important;
  font-size: .98rem;
  line-height: 1.7 !important;
}

.affiliate-product-cta-button {
  display: block;
  width: min(100%, 520px);
  margin: 0 auto;
  border-radius: 10px;
  padding: .9rem 1.1rem;
  background: var(--affipilot-cta, #b83b2f);
  color: #fff !important;
  font-weight: 800;
  line-height: 1.5;
  text-align: center;
  text-decoration: none !important;
  box-shadow: 0 6px 15px rgba(151, 48, 39, .16);
  transition: background .15s ease, transform .15s ease;
}

.affiliate-product-cta-button:hover,
.affiliate-product-cta-button:focus {
  background: var(--affipilot-cta-dark, #973027);
  color: #fff !important;
  transform: translateY(-1px);
}

.affiliate-product-cta-note {
  margin: .7rem 0 0 !important;
  color: var(--affipilot-muted, #66707a);
  font-size: .78rem;
  line-height: 1.55 !important;
}

@media (max-width: 640px) {
  .affipilot-article,
  .affipilot-article :where(.entry-content,.wp-block-post-content),
  .editor-styles-wrapper {
    font-size: 17px;
    line-height: 1.86;
  }

  .affipilot-article,
  .affipilot-article :where(.entry-content,.wp-block-post-content),
  .editor-styles-wrapper {
    padding-inline: 16px !important;
  }

  .affipilot-article h2,
  .affipilot-article :where(.entry-content,.wp-block-post-content) h2,
  .editor-styles-wrapper h2 {
    margin-top: 2.45rem;
    padding: 0 0 .55rem;
  }

  .affiliate-product-card {
    margin: 1.35rem 0 1.8rem;
    border-radius: 11px;
  }

  .affiliate-product-media {
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: auto;
  }

  .affiliate-product-image.is-primary {
    grid-column: 1 / -1;
    grid-row: auto;
    min-height: 0;
  }

  .affiliate-product-image.is-secondary {
    min-height: 0;
  }

  .affiliate-product-image img,
  .affiliate-product-image.is-secondary img {
    height: auto;
    max-height: 340px;
    aspect-ratio: 1 / 1;
    object-fit: contain;
  }

  .affiliate-product-image.is-secondary img {
    max-height: 170px;
  }

  .affiliate-product-card-copy {
    padding: .9rem .95rem 1rem;
  }

  .affiliate-editorial-point,
  .affiliate-editorial-key-points,
  .affiliate-editorial-caution-box,
  .affiliate-editorial-checklist,
  .affiliate-editorial-fit,
  .affiliate-editorial-summary,
  .affiliate-editorial-pros-cons,
  .affiliate-editorial-calculation,
  .affiliate-editorial-note,
  .affiliate-editorial-image-note,
  .affiliate-editorial-source-note,
  .affiliate-editorial-pre-cta {
    margin: 1.5rem 0;
    border-radius: 9px;
    padding: .92rem .95rem;
  }

  .affiliate-dialogue-reader {
    margin-right: .7rem !important;
  }

  .affiliate-dialogue-explainer {
    margin-left: .7rem !important;
  }

  .affiliate-editorial-comparison-table table {
    min-width: 380px;
  }

  .affiliate-product-cta {
    margin-top: 2rem;
    border-radius: 11px;
    padding: 1.05rem .9rem;
  }

  .affiliate-product-cta-button {
    padding: .9rem .8rem;
  }
}
