/* =========================================================
   KIMAMA STAGE 10B.1
   Editorial single-post reading experience
   ========================================================= */

:root {
  --kimama-paper: #f3efe6;
  --kimama-paper-deep: #ebe4d8;
  --kimama-ink: #171717;
  --kimama-muted: #746f67;
  --kimama-gold: #a78354;
  --kimama-line: rgba(23, 23, 23, 0.14);
}

/* ---------- Page canvas ---------- */

body.single-post {
  background: var(--kimama-paper);
  color: var(--kimama-ink);
}

body.single-post #content {
  margin-top: 0;
}

body.single-post .content-in {
  max-width: 1500px;
  margin-inline: auto;
  padding: clamp(52px, 5.5vw, 92px) clamp(28px, 5vw, 76px) clamp(96px, 9vw, 150px);
}

body.single-post .main {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.single-post article.article {
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
}

/* ---------- Article header ---------- */

body.single-post .article-header {
  max-width: 1320px;
  margin: 0 auto clamp(48px, 5vw, 72px);
  padding: 0;
  border: 0;
  background: transparent;
}

body.single-post .entry-title {
  max-width: 1180px;
  margin: 0 0 clamp(30px, 3vw, 46px);
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--kimama-ink);
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
  font-size: clamp(42px, 4.2vw, 66px);
  font-weight: 400;
  line-height: 1.38;
  letter-spacing: -0.035em;
}

/* Keep PR disclosure clear, but turn it into a quiet editorial marker. */
body.single-post .pr-label,
body.single-post .pr-label-wrap,
body.single-post .pr-label-invisible {
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.single-post .pr-label {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  margin: 0 0 24px;
  padding: 5px 10px;
  border: 1px solid rgba(167, 131, 84, 0.55);
  background: transparent;
  color: var(--kimama-gold);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 9px;
  line-height: 1;
  letter-spacing: 0.16em;
}

/* ---------- Eye catch ---------- */

body.single-post .eye-catch-wrap,
body.single-post .eye-catch {
  width: 100%;
  margin: 0;
  border-radius: 0;
  overflow: hidden;
  background: var(--kimama-paper-deep);
}

body.single-post .eye-catch img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
}

/* Existing category chip can stay as a small photographic caption. */
body.single-post .eye-catch .cat-label,
body.single-post .eye-catch-wrap .cat-label {
  top: 14px;
  left: 14px;
  padding: 7px 10px;
  border: 1px solid rgba(243, 239, 230, 0.34);
  border-radius: 0;
  background: rgba(7, 9, 11, 0.72);
  color: #f5f0e7;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 9px;
  line-height: 1;
  letter-spacing: 0.12em;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

/* ---------- Dates / metadata ---------- */

body.single-post .date-tags {
  display: flex;
  justify-content: flex-end;
  gap: 14px;
  margin-top: 14px;
  color: var(--kimama-gold);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 9px;
  line-height: 1.4;
  letter-spacing: 0.12em;
}

body.single-post .date-tags > * {
  margin: 0 !important;
  color: inherit !important;
}

/* ---------- Reading column ---------- */

body.single-post .article-body {
  max-width: 1040px;
  margin: 0 auto;
  padding: 0;
  color: var(--kimama-ink);
  font-size: 18px;
  line-height: 2.08;
  letter-spacing: 0.005em;
}

body.single-post .article-body p {
  margin: 0 0 1.75em;
}

body.single-post .article-body > p:first-of-type {
  margin-top: 0;
}

/* Links stay obvious without switching the page back to "default blog blue". */
body.single-post .article-body a:not(.blogcard-wrap):not(.btn):not(.wp-block-button__link) {
  color: inherit;
  text-decoration-line: underline;
  text-decoration-color: rgba(167, 131, 84, 0.7);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
}

/* ---------- Ad disclosure ---------- */

body.single-post .article-body .ad-label,
body.single-post .article-body .ad-label-visible,
body.single-post .article-body .ad-label-invisible,
body.single-post .article-body [class*="ad-label"] {
  margin: 0 0 clamp(38px, 4vw, 54px);
  padding: 14px 0;
  border: 0;
  border-top: 1px solid var(--kimama-line);
  border-bottom: 1px solid var(--kimama-line);
  border-radius: 0;
  background: transparent;
  color: var(--kimama-muted);
  text-align: center;
  font-size: 12px;
  line-height: 1.7;
}

/* ---------- Table of contents ---------- */

body.single-post .toc {
  max-width: 780px;
  margin: clamp(54px, 6vw, 82px) auto clamp(64px, 7vw, 96px);
  padding: 28px 0 30px;
  border: 0;
  border-top: 1px solid var(--kimama-line);
  border-bottom: 1px solid var(--kimama-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.single-post .toc-title {
  margin-bottom: 22px;
  color: var(--kimama-gold);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.18em;
  text-align: left;
}

body.single-post .toc-title::before {
  content: "CONTENTS / ";
}

body.single-post .toc-content {
  color: var(--kimama-ink);
}

body.single-post .toc-content > ol,
body.single-post .toc-content > ul {
  margin: 0;
  padding-left: 1.5em;
}

body.single-post .toc-content li {
  margin: 0.55em 0;
  line-height: 1.7;
}

body.single-post .toc a {
  color: inherit;
  text-decoration: none;
}

/* ---------- Section headings ---------- */

body.single-post .article-body h2 {
  margin: clamp(82px, 8vw, 118px) 0 clamp(32px, 3.5vw, 48px);
  padding: 0 0 20px;
  border: 0;
  border-bottom: 1px solid var(--kimama-line);
  border-radius: 0;
  background: transparent;
  color: var(--kimama-ink);
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
  font-size: clamp(31px, 3vw, 43px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.025em;
  box-shadow: none;
}

body.single-post .article-body h3 {
  margin: clamp(58px, 6vw, 84px) 0 24px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--kimama-ink);
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
  font-size: clamp(25px, 2.2vw, 33px);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: -0.02em;
}

body.single-post .article-body h4 {
  margin: 44px 0 18px;
  color: var(--kimama-ink);
  font-size: 20px;
  line-height: 1.6;
}

/* ---------- Editorial media rhythm ---------- */

body.single-post .article-body figure,
body.single-post .article-body .wp-block-image {
  margin-top: clamp(34px, 4vw, 54px);
  margin-bottom: clamp(34px, 4vw, 54px);
}

body.single-post .article-body img {
  border-radius: 0;
}

body.single-post .article-body figcaption {
  margin-top: 10px;
  color: var(--kimama-muted);
  font-size: 11px;
  line-height: 1.7;
  text-align: left;
}

/* ---------- Mobile ---------- */

@media screen and (max-width: 834px) {
  body.single-post .content-in {
    padding: 40px 20px 84px;
  }

  body.single-post .article-header {
    margin-bottom: 38px;
  }

  body.single-post .pr-label {
    margin-bottom: 18px;
  }

  body.single-post .entry-title {
    margin-bottom: 24px;
    font-size: clamp(31px, 8.4vw, 42px);
    line-height: 1.45;
    letter-spacing: -0.025em;
  }

  body.single-post .eye-catch .cat-label,
  body.single-post .eye-catch-wrap .cat-label {
    top: 10px;
    left: 10px;
    font-size: 8px;
  }

  body.single-post .date-tags {
    margin-top: 10px;
    gap: 10px;
    font-size: 8px;
  }

  body.single-post .article-body {
    max-width: none;
    font-size: 16.5px;
    line-height: 2;
  }

  body.single-post .article-body p {
    margin-bottom: 1.65em;
  }

  body.single-post .toc {
    margin: 46px 0 58px;
    padding: 22px 0 24px;
  }

  body.single-post .toc-title {
    margin-bottom: 17px;
    font-size: 9px;
  }

  body.single-post .toc-content {
    font-size: 14px;
  }

  body.single-post .article-body h2 {
    margin-top: 68px;
    margin-bottom: 28px;
    padding-bottom: 10px;
    font-size: clamp(26px, 7.4vw, 33px);
  }

  body.single-post .article-body h3 {
    margin-top: 48px;
    margin-bottom: 20px;
    font-size: clamp(22px, 6.2vw, 28px);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.single-post * {
    scroll-behavior: auto !important;
  }
}


/* =========================================================
   KIMAMA STAGE 10B.2
   Reading-width + real Cocoon content-structure polish
   ========================================================= */

/* ---------- Title / PR separation ---------- */

@media screen and (min-width: 835px) {
  body.single-post .entry-title {
    max-width: 1080px;
    font-size: clamp(38px, 3.45vw, 54px);
    line-height: 1.42;
  }
}

body.single-post .article-header .pr-label-wrap,
body.single-post .article-header .pr-label,
body.single-post .article-header [class*="pr-label"] {
  position: static !important;
  inset: auto !important;
  float: none !important;
  clear: both !important;
  width: max-content !important;
  max-width: 100%;
  transform: none !important;
}

body.single-post .article-header .pr-label-wrap {
  display: block !important;
  margin: 0 0 18px !important;
}

body.single-post .article-header .pr-label {
  margin: 0 !important;
}

body.single-post .entry-title {
  clear: both;
}

/* ---------- Use Cocoon's real body wrapper as the reading canvas ---------- */

body.single-post .entry-content,
body.single-post .article-body {
  width: 100%;
  max-width: 1220px;
  margin-inline: auto;
  padding-inline: 0;
  color: var(--kimama-ink);
  font-size: 18px;
  line-height: 2.08;
  letter-spacing: 0.005em;
}

/* Text blocks use a quieter reading width.
   Photos, product cards, blog cards and other visual modules can remain wider. */
body.single-post .entry-content > p,
body.single-post .entry-content > ul,
body.single-post .entry-content > ol,
body.single-post .entry-content > blockquote,
body.single-post .entry-content > h2,
body.single-post .entry-content > h3,
body.single-post .entry-content > h4,
body.single-post .entry-content > .toc,
body.single-post .entry-content > .wp-block-heading,
body.single-post .entry-content > .wp-block-list,
body.single-post .entry-content > .wp-block-quote,
body.single-post .entry-content > .wp-block-table,
body.single-post .entry-content > .wp-block-details {
  width: 100%;
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}

body.single-post .entry-content p {
  margin-top: 0;
  margin-bottom: 1.75em;
}

/* Nested text inside groups/columns should stay readable too, without
   shrinking wide media blocks themselves. */
body.single-post .entry-content .wp-block-group p,
body.single-post .entry-content .wp-block-column p {
  line-height: 2;
}

/* ---------- Ad disclosure width ---------- */

body.single-post .entry-content > .ad-label,
body.single-post .entry-content > .ad-label-visible,
body.single-post .entry-content > .ad-label-invisible,
body.single-post .entry-content > [class*="ad-label"] {
  max-width: 940px;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ---------- TOC: keep current styling, align to reading column ---------- */

body.single-post .entry-content .toc,
body.single-post .article-body .toc {
  width: 100%;
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
}

/* ---------- Force-remove Cocoon heading chrome ---------- */

body.single-post .entry-content h2,
body.single-post .article-body h2 {
  display: block !important;
  width: 100%;
  max-width: 940px;
  margin: clamp(82px, 8vw, 118px) auto clamp(32px, 3.5vw, 48px) !important;
  padding: 0 0 20px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--kimama-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  color: var(--kimama-ink) !important;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif !important;
  font-size: clamp(30px, 2.7vw, 40px) !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: -0.025em !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

body.single-post .entry-content h2::before,
body.single-post .entry-content h2::after,
body.single-post .article-body h2::before,
body.single-post .article-body h2::after {
  display: none !important;
  content: none !important;
}

body.single-post .entry-content h3,
body.single-post .article-body h3 {
  display: block !important;
  width: 100%;
  max-width: 940px;
  margin: clamp(58px, 6vw, 84px) auto 24px !important;
  padding: 0 !important;
  border: 0 !important;
  border-left: 0 !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  color: var(--kimama-ink) !important;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif !important;
  font-size: clamp(24px, 2vw, 31px) !important;
  font-weight: 400 !important;
  line-height: 1.58 !important;
  letter-spacing: -0.02em !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

body.single-post .entry-content h3::before,
body.single-post .entry-content h3::after,
body.single-post .article-body h3::before,
body.single-post .article-body h3::after {
  display: none !important;
  content: none !important;
}

/* ---------- Wide visual modules ---------- */

body.single-post .entry-content > figure,
body.single-post .entry-content > .wp-block-image,
body.single-post .entry-content > .wp-block-gallery,
body.single-post .entry-content > .blogcard-wrap,
body.single-post .entry-content > .wp-block-embed,
body.single-post .entry-content > [class*="kaerebalink"],
body.single-post .entry-content > [class*="booklink"],
body.single-post .entry-content > [class*="pochipp"],
body.single-post .entry-content > [class*="product"] {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

/* ---------- Mobile ---------- */

@media screen and (max-width: 834px) {
  body.single-post .article-header .pr-label-wrap {
    margin-bottom: 14px !important;
  }

  body.single-post .entry-title {
    font-size: clamp(29px, 7.9vw, 39px);
    line-height: 1.48;
  }

  body.single-post .entry-content,
  body.single-post .article-body {
    max-width: none;
    font-size: 16.5px;
    line-height: 2;
  }

  body.single-post .entry-content > p,
  body.single-post .entry-content > ul,
  body.single-post .entry-content > ol,
  body.single-post .entry-content > blockquote,
  body.single-post .entry-content > h2,
  body.single-post .entry-content > h3,
  body.single-post .entry-content > h4,
  body.single-post .entry-content > .toc,
  body.single-post .entry-content > .wp-block-heading,
  body.single-post .entry-content > .wp-block-list,
  body.single-post .entry-content > .wp-block-quote,
  body.single-post .entry-content > .wp-block-table,
  body.single-post .entry-content > .wp-block-details {
    max-width: none;
  }

  body.single-post .entry-content h2,
  body.single-post .article-body h2 {
    max-width: none;
    margin: 66px 0 27px !important;
    padding-bottom: 15px !important;
    font-size: clamp(25px, 7vw, 32px) !important;
  }

  body.single-post .entry-content h3,
  body.single-post .article-body h3 {
    max-width: none;
    margin: 46px 0 19px !important;
    font-size: clamp(21px, 5.9vw, 27px) !important;
  }

  body.single-post .entry-content > figure,
  body.single-post .entry-content > .wp-block-image,
  body.single-post .entry-content > .wp-block-gallery,
  body.single-post .entry-content > .blogcard-wrap,
  body.single-post .entry-content > .wp-block-embed,
  body.single-post .entry-content > [class*="kaerebalink"],
  body.single-post .entry-content > [class*="booklink"],
  body.single-post .entry-content > [class*="pochipp"],
  body.single-post .entry-content > [class*="product"] {
    max-width: none;
  }
}


/* =========================================================
   KIMAMA STAGE 10B.3
   Article opening polish
   - calmer title scale
   - reliable PR separation
   - refined ad disclosure
   ========================================================= */

/* ---------- Calmer article title ---------- */

@media screen and (min-width: 835px) {
  body.single-post .entry-title {
    max-width: 1020px;
    margin-bottom: 32px;
    font-size: clamp(36px, 2.85vw, 48px);
    line-height: 1.48;
    letter-spacing: -0.028em;
  }
}

/* ---------- PR disclosure: reserve its own space above the title ---------- */

/* Cocoon can place the PR marker with positional styling.
   Anchor it to the article header and reserve a dedicated row so it can
   never overlap the title. */
body.single-post .article-header {
  position: relative;
}

body.single-post .article-header:has(.pr-label),
body.single-post .article-header:has(.pr-label-wrap),
body.single-post .article-header:has([class*="pr-label"]) {
  padding-top: 46px;
}

body.single-post .article-header .pr-label-wrap,
body.single-post .article-header .pr-label,
body.single-post .article-header [class*="pr-label"] {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: auto !important;
  bottom: auto !important;
  float: none !important;
  z-index: 2;
  width: auto !important;
  max-width: max-content;
  margin: 0 !important;
  transform: none !important;
}

body.single-post .article-header .pr-label-wrap .pr-label,
body.single-post .article-header .pr-label {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  min-height: 28px;
  padding: 5px 9px !important;
  border: 1px solid rgba(167, 131, 84, 0.48) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--kimama-gold) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 9px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: 0.14em !important;
  box-shadow: none !important;
}

/* ---------- Eye-catch handoff ---------- */

body.single-post .article-header .eye-catch-wrap,
body.single-post .article-header .eye-catch {
  margin-top: 0;
}

/* ---------- Advertising disclosure ---------- */

/* Turn the "article contains advertising" notice into a quiet editorial
   disclosure inside the reading column instead of a small boxed badge. */
body.single-post .entry-content [class*="ad-label"],
body.single-post .article-body [class*="ad-label"] {
  display: block !important;
  width: 100% !important;
  max-width: 940px !important;
  margin: 24px auto 46px !important;
  padding: 12px 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(167, 131, 84, 0.32) !important;
  border-bottom: 1px solid rgba(167, 131, 84, 0.32) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--kimama-gold) !important;
  text-align: left !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  letter-spacing: 0.12em !important;
  box-shadow: none !important;
}

/* ---------- Mobile ---------- */

@media screen and (max-width: 834px) {
  body.single-post .article-header:has(.pr-label),
  body.single-post .article-header:has(.pr-label-wrap),
  body.single-post .article-header:has([class*="pr-label"]) {
    padding-top: 40px;
  }

  body.single-post .article-header .pr-label-wrap,
  body.single-post .article-header .pr-label,
  body.single-post .article-header [class*="pr-label"] {
    top: 0 !important;
  }

  body.single-post .entry-title {
    margin-bottom: 22px;
    font-size: clamp(28px, 7.6vw, 37px);
    line-height: 1.5;
  }

  body.single-post .entry-content [class*="ad-label"],
  body.single-post .article-body [class*="ad-label"] {
    max-width: none !important;
    margin: 20px 0 38px !important;
    padding: 10px 0 !important;
    font-size: 8px !important;
  }
}


/* =========================================================
   KIMAMA STAGE 10B.4
   PR disclosure final polish
   The small PR marker is disabled in Cocoon settings, so the
   remaining large disclosure can become a quiet editorial note.
   ========================================================= */

body.single-post .article-header:has(.pr-label),
body.single-post .article-header:has(.pr-label-wrap),
body.single-post .article-header:has([class*="pr-label"]) {
  padding-top: 0;
}

/* Reset the positioning introduced for the former two-label setup. */
body.single-post .article-header .pr-label-wrap,
body.single-post .article-header .pr-label {
  position: static !important;
  inset: auto !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  max-width: 1020px !important;
  margin: 0 0 28px !important;
  transform: none !important;
  z-index: auto !important;
}

/* The visible large disclosure. */
body.single-post .article-header .pr-label {
  display: block !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 11px 0 10px !important;
  border: 0 !important;
  border-top: 1px solid rgba(167, 131, 84, 0.36) !important;
  border-bottom: 1px solid rgba(167, 131, 84, 0.22) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--kimama-gold) !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: 0.14em !important;
  text-align: left !important;
  box-shadow: none !important;
}

/* If Cocoon wraps the label, keep the wrapper visually neutral. */
body.single-post .article-header .pr-label-wrap {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.single-post .article-header .pr-label-wrap .pr-label {
  margin-bottom: 0 !important;
}

/* Add a restrained editorial eyebrow without changing the actual disclosure text. */
body.single-post .article-header .pr-label::before {
  content: "DISCLOSURE / ";
  color: var(--kimama-gold);
  font-size: 8px;
  letter-spacing: 0.18em;
}

/* ---------- Mobile ---------- */

@media screen and (max-width: 834px) {
  body.single-post .article-header:has(.pr-label),
  body.single-post .article-header:has(.pr-label-wrap),
  body.single-post .article-header:has([class*="pr-label"]) {
    padding-top: 0;
  }

  body.single-post .article-header .pr-label-wrap,
  body.single-post .article-header .pr-label {
    max-width: none !important;
    margin-bottom: 20px !important;
  }

  body.single-post .article-header .pr-label {
    padding: 9px 0 8px !important;
    font-size: 8px !important;
    letter-spacing: 0.11em !important;
  }

  body.single-post .article-header .pr-label::before {
    font-size: 7px;
    letter-spacing: 0.15em;
  }
}


/* =========================================================
   KIMAMA STAGE 10B.5
   Mobile reading polish
   - calmer long article titles
   - calmer H2/H3 scale
   - preserve body / TOC / photography
   ========================================================= */

@media screen and (max-width: 834px) {
  body.single-post .entry-title {
    margin-bottom: 20px;
    font-size: clamp(27px, 7vw, 34px);
    line-height: 1.52;
    letter-spacing: -0.02em;
  }

  body.single-post .entry-content h2,
  body.single-post .article-body h2 {
    margin: 60px 0 25px !important;
    padding-bottom: 14px !important;
    font-size: clamp(24px, 6.5vw, 29px) !important;
    line-height: 1.56 !important;
    letter-spacing: -0.018em !important;
  }

  body.single-post .entry-content h3,
  body.single-post .article-body h3 {
    margin: 42px 0 18px !important;
    font-size: clamp(20px, 5.5vw, 25px) !important;
    line-height: 1.62 !important;
  }

  /* Slightly reduce the gap after the disclosure before reading begins. */
  body.single-post .article-header .pr-label {
    margin-bottom: 18px !important;
  }

  /* Keep text comfortably readable; no density squeeze. */
  body.single-post .entry-content,
  body.single-post .article-body {
    font-size: 16.5px;
    line-height: 1.98;
  }
}
/* =========================================================
   KIMAMA STAGE 10B.4
   Editorial table + internal blogcard harmony
   - use the existing KIMAMA paper palette
   - remove Cocoon's cold white / gray UI feeling
   - single posts only
   ========================================================= */


/* ---------------------------------------------------------
   Standard Gutenberg tables
   --------------------------------------------------------- */

body.single-post .entry-content > .wp-block-table {
  margin-top: clamp(38px, 4vw, 56px);
  margin-bottom: clamp(46px, 5vw, 68px);
}

body.single-post .wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  background: transparent;
  color: var(--kimama-ink);
}

body.single-post .wp-block-table th,
body.single-post .wp-block-table td {
  padding: 16px 18px;
  border: 1px solid var(--kimama-line);
  vertical-align: middle;
}

body.single-post .wp-block-table thead th {
  background: var(--kimama-paper-deep);
  color: var(--kimama-ink);
  border-top: 0;
  border-bottom: 1px solid rgba(23, 23, 23, 0.42);
  font-weight: 600;
}

body.single-post .wp-block-table tbody td {
  background: rgba(255, 255, 255, 0.18);
}

body.single-post .wp-block-table tbody tr:nth-child(even) td {
  background: rgba(235, 228, 216, 0.48);
}


/* ---------------------------------------------------------
   Cocoon internal blog cards
   --------------------------------------------------------- */

body.single-post .blogcard-wrap {
  margin-top: clamp(32px, 3.5vw, 48px);
  margin-bottom: clamp(46px, 5vw, 66px);
}

body.single-post .blogcard,
body.single-post .internal-blogcard {
  border: 1px solid var(--kimama-line) !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, 0.24) !important;
  box-shadow: none !important;
  color: var(--kimama-ink);
  transition:
    background-color 0.28s ease,
    border-color 0.28s ease;
}

body.single-post .blogcard:hover,
body.single-post .internal-blogcard:hover {
  background: rgba(235, 228, 216, 0.62) !important;
  border-color: rgba(167, 131, 84, 0.48) !important;
}

body.single-post .blogcard-title,
body.single-post .blogcard-title a {
  color: var(--kimama-ink) !important;
}

body.single-post .blogcard-snippet {
  color: var(--kimama-muted) !important;
}

body.single-post .blogcard-footer,
body.single-post .blogcard-domain,
body.single-post .blogcard-post-date {
  color: var(--kimama-muted) !important;
}

body.single-post .blogcard-thumbnail img {
  border-radius: 0 !important;
}


/* ---------------------------------------------------------
   Mobile
   --------------------------------------------------------- */

@media screen and (max-width: 834px) {

  body.single-post .wp-block-table {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.single-post .wp-block-table th,
  body.single-post .wp-block-table td {
    padding: 13px 12px;
  }

  body.single-post .blogcard-wrap {
    margin-top: 28px;
    margin-bottom: 44px;
  }
}
/* ---------------------------------------------------------
   KIMAMA STAGE 10B.4.1
   Editorial table refinement
   --------------------------------------------------------- */

body.single-post .entry-content > .wp-block-table {
  margin-top: clamp(38px, 4vw, 56px);
  margin-bottom: clamp(46px, 5vw, 68px);
}

body.single-post .wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  background: transparent !important;
  color: var(--kimama-ink);
}

body.single-post .wp-block-table th,
body.single-post .wp-block-table td {
  padding: 16px 18px;
  border: 1px solid rgba(23, 23, 23, 0.11) !important;
  vertical-align: middle;
}

/* header */
body.single-post .wp-block-table thead th {
  background: #ebe4d8 !important;
  color: var(--kimama-ink) !important;
  border-bottom: 2px solid rgba(23, 23, 23, 0.78) !important;
  font-weight: 600;
}

/* body */
body.single-post .wp-block-table tbody td {
  background: rgba(255, 255, 255, 0.28) !important;
}

/* very subtle alternate row */
body.single-post .wp-block-table tbody tr:nth-child(even) td {
  background: rgba(235, 228, 216, 0.52) !important;
}

@media screen and (max-width: 834px) {
  body.single-post .wp-block-table {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.single-post .wp-block-table th,
  body.single-post .wp-block-table td {
    padding: 13px 12px;
  }
}
/* =========================================================
   KIMAMA STAGE 10B.4.3
   Internal blogcard resting color
   ========================================================= */

/* wrapper itself stays transparent */
body.single-post .blogcard-wrap {
  background: transparent !important;
}

/* force the visible card surface to KIMAMA paper */
body.single-post .blogcard-wrap a.blogcard,
body.single-post .blogcard-wrap .blogcard,
body.single-post .blogcard,
body.single-post .internal-blogcard {
  background: #e9e1d4 !important;
  border: 1px solid rgba(167, 131, 84, 0.34) !important;
  box-shadow: none !important;
}

/* Cocoon inner layers must not paint white over it */
body.single-post .blogcard-content,
body.single-post .blogcard-body,
body.single-post .blogcard-footer,
body.single-post .internal-blogcard .blogcard-content,
body.single-post .internal-blogcard .blogcard-body,
body.single-post .internal-blogcard .blogcard-footer {
  background: transparent !important;
}

/* hover is only one tone deeper */
body.single-post .blogcard-wrap a.blogcard:hover,
body.single-post .blogcard:hover,
body.single-post .internal-blogcard:hover {
  background: #e4dacb !important;
  border-color: rgba(167, 131, 84, 0.52) !important;
}
/* =========================================================
   KIMAMA STAGE 10B.5.1
   Editorial table typography
   ========================================================= */

/* 表だけ小さな「資料」に見えないよう、本文の読書感へ寄せる */
body.single-post .wp-block-table table {
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif;
}

body.single-post .wp-block-table thead th {
  font-size: 14px !important;
  line-height: 1.65;
  letter-spacing: 0.02em;
}

body.single-post .wp-block-table tbody td {
  font-size: 16px !important;
  line-height: 1.8;
  letter-spacing: 0.005em;
}

@media screen and (max-width: 834px) {
  body.single-post .wp-block-table thead th {
    font-size: 12px !important;
  }

  body.single-post .wp-block-table tbody td {
    font-size: 14px !important;
    line-height: 1.7;
  }
}
/* =========================================================
   KIMAMA STAGE 10B.5.2
   Article ending / SNS + related stories
   ========================================================= */


/* ---------------------------------------------------------
   ARTICLE FOOTER
   --------------------------------------------------------- */

body.single-post article.article > .article-footer {
  width: 100%;
  max-width: 1180px;
  margin: clamp(86px, 9vw, 140px) auto 0;
  padding: clamp(54px, 6vw, 82px) 0 0;
  border-top: 1px solid var(--kimama-line);
  background: transparent !important;
  box-shadow: none !important;
}


/* ---------------------------------------------------------
   SNS SHARE / FOLLOW
   Quiet tools, not colorful banners
   --------------------------------------------------------- */

body.single-post .sns-share,
body.single-post .sns-follow {
  margin: 0 0 clamp(58px, 6vw, 84px) !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.single-post .sns-share-message,
body.single-post .sns-follow-message {
  margin: 0 0 22px !important;
  color: var(--kimama-muted) !important;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 9px !important;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.18em;
}

/* SNSボタンを「広告色」から静かなツールへ */
body.single-post .sns-share-buttons a,
body.single-post .sns-follow-buttons a,
body.single-post .sns-button {
  border: 1px solid var(--kimama-line) !important;
  border-radius: 0 !important;
  background: var(--kimama-paper-deep) !important;
  box-shadow: none !important;
  color: var(--kimama-ink) !important;
  filter: grayscale(1);
  opacity: 0.72;
  transition:
    opacity 0.25s ease,
    border-color 0.25s ease,
    background-color 0.25s ease;
}

body.single-post .sns-share-buttons a:hover,
body.single-post .sns-follow-buttons a:hover,
body.single-post .sns-button:hover {
  background: #e4dacb !important;
  border-color: rgba(167, 131, 84, 0.52) !important;
  opacity: 1;
}


/* ---------------------------------------------------------
   RELATED ENTRIES
   Turn Cocoon cards into an editorial continuation
   --------------------------------------------------------- */

body.single-post .related-entry-heading,
body.single-post .related-list-title {
  margin: clamp(70px, 7vw, 104px) 0 34px !important;
  padding: 0 0 20px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--kimama-line) !important;
  background: transparent !important;

  color: var(--kimama-ink) !important;
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif;
  font-size: clamp(28px, 2.5vw, 38px) !important;
  font-weight: 400 !important;
  line-height: 1.5;
  letter-spacing: -0.02em;
}


/* 関連記事の「白いカード」を消す */
body.single-post .related-entry-card-wrap {
  margin: 0 !important;
  padding: clamp(28px, 3vw, 42px) 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--kimama-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--kimama-ink) !important;
  text-decoration: none !important;
}

body.single-post .related-entry-card {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}


/* thumbnails */
body.single-post .related-entry-card-thumb,
body.single-post .related-entry-card-thumb img {
  border-radius: 0 !important;
}

body.single-post .related-entry-card-thumb img {
  filter: saturate(0.9) contrast(1.01);
}


/* related title */
body.single-post .related-entry-card-title {
  color: var(--kimama-ink) !important;
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif;
  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 1.7;
}


/* snippet / metadata */
body.single-post .related-entry-card-snippet,
body.single-post .related-entry-card-meta {
  color: var(--kimama-muted) !important;
  font-size: 12px !important;
  line-height: 1.8;
}


/* hoverは少しだけ */
body.single-post .related-entry-card-wrap:hover {
  background: rgba(235, 228, 216, 0.34) !important;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media screen and (max-width: 834px) {

  body.single-post article.article > .article-footer {
    margin-top: 76px;
    padding-top: 42px;
  }

  body.single-post .sns-share,
  body.single-post .sns-follow {
    margin-bottom: 54px !important;
  }

  body.single-post .related-entry-heading,
  body.single-post .related-list-title {
    margin-top: 62px !important;
    margin-bottom: 22px !important;
    padding-bottom: 16px !important;
    font-size: clamp(25px, 7vw, 32px) !important;
  }

  body.single-post .related-entry-card-wrap {
    padding: 24px 0 !important;
  }

  body.single-post .related-entry-card-title {
    font-size: 16px !important;
    line-height: 1.65;
  }
}
/* =========================================================
   KIMAMA STAGE 10B.5.3
   Article ending spacing / author cleanup
   ========================================================= */

/* 記事フッター全体の余白を圧縮 */
body.single-post article.article > .article-footer {
  margin-top: clamp(64px, 6vw, 92px) !important;
  padding-top: clamp(38px, 4vw, 56px) !important;
}

/* SNSフォローの下に大きな空白を作らない */
body.single-post .sns-follow {
  margin-bottom: clamp(32px, 3vw, 46px) !important;
}

/* 記事末尾に単独で残る著者リンクは非表示 */
body.single-post .post-author,
body.single-post .author-box {
  display: none !important;
}

/* Cocoon側の著者表示ラッパーが余白だけ残す場合も潰す */
body.single-post .article-footer .author-info,
body.single-post .article-footer [class*="author-box"],
body.single-post .article-footer [class*="post-author"] {
  margin: 0 !important;
  padding: 0 !important;
}

/* 関連記事をSNSに近づける */
body.single-post .related-entry-heading,
body.single-post .related-list-title {
  margin-top: clamp(42px, 4vw, 62px) !important;
  margin-bottom: 30px !important;
}

/* 関連記事一覧の上にCocoonが余白を持つ場合 */
body.single-post .related-list {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

@media screen and (max-width: 834px) {

  body.single-post article.article > .article-footer {
    margin-top: 58px !important;
    padding-top: 34px !important;
  }

  body.single-post .sns-follow {
    margin-bottom: 30px !important;
  }

  body.single-post .related-entry-heading,
  body.single-post .related-list-title {
    margin-top: 38px !important;
    margin-bottom: 22px !important;
  }
}
/* =========================================================
   KIMAMA STAGE 10B.5.4
   Article ending cleanup
   - remove redundant footer category / edit chrome
   - tighten transition into related stories
   ========================================================= */


/* ---------------------------------------------------------
   Footer category
   Category is already communicated elsewhere in the article,
   so remove Cocoon's duplicated black chip.
   --------------------------------------------------------- */

body.single-post .article-footer .cat-link,
body.single-post .article-footer .cat-label,
body.single-post .article-footer .categories,
body.single-post .article-footer .post-cat {
  display: none !important;
}


/* ---------------------------------------------------------
   WordPress edit link
   Remove the orphan pencil shown to logged-in users.
   --------------------------------------------------------- */

body.single-post .article-footer .post-edit-link,
body.single-post .article-footer .edit-link,
body.single-post .article-footer a[href*="post.php?post="],
body.single-post .article-footer a[href*="action=edit"] {
  display: none !important;
}


/* If Cocoon leaves an empty metadata row behind */
body.single-post .article-footer .footer-meta,
body.single-post .article-footer .post-meta {
  min-height: 0 !important;
}


/* ---------------------------------------------------------
   Tighten SNS -> related stories transition
   --------------------------------------------------------- */

body.single-post .sns-follow {
  margin-bottom: 20px !important;
}

body.single-post .related-entry-heading,
body.single-post .related-list-title {
  margin-top: 26px !important;
}


/* ---------------------------------------------------------
   Related stories refinement
   --------------------------------------------------------- */

/* Remove category chips sitting on related thumbnails */
body.single-post .related-entry-card .cat-label,
body.single-post .related-entry-card-thumb .cat-label {
  display: none !important;
}


/* Give each story a little more editorial breathing room */
body.single-post .related-entry-card-wrap {
  padding-top: clamp(30px, 3vw, 42px) !important;
  padding-bottom: clamp(30px, 3vw, 42px) !important;
}


/* Thumbnail should feel photographic, not widget-like */
body.single-post .related-entry-card-thumb img {
  border-radius: 0 !important;
  box-shadow: none !important;
}


/* Related title stays quiet but substantial */
body.single-post .related-entry-card-title {
  font-size: clamp(18px, 1.55vw, 22px) !important;
  line-height: 1.65 !important;
}


/* Description is secondary */
body.single-post .related-entry-card-snippet {
  margin-top: 10px !important;
  color: var(--kimama-muted) !important;
  font-size: 13px !important;
  line-height: 1.8 !important;
}


@media screen and (max-width: 834px) {

  body.single-post .sns-follow {
    margin-bottom: 18px !important;
  }

  body.single-post .related-entry-heading,
  body.single-post .related-list-title {
    margin-top: 24px !important;
  }

  body.single-post .related-entry-card-wrap {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }

  body.single-post .related-entry-card-title {
    font-size: 17px !important;
  }
}
/* =========================================================
   KIMAMA STAGE 10B.5.5
   Final article-ending cleanup
   ========================================================= */

/* WordPress/Cocoon edit link
   Logged-in usersだけに見える鉛筆を完全に除去 */
body.single-post .post-edit-link,
body.single-post .edit-link,
body.single-post a.post-edit-link,
body.single-post a[href*="action=edit"] {
  display: none !important;
}

/* edit link用の空ラッパーが高さだけ残す場合 */
body.single-post .edit-link:empty,
body.single-post span.edit-link {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  height: 0 !important;
}


/* SNSから関連記事への縦リズムを少し締める */
body.single-post .sns-follow {
  margin-bottom: 0 !important;
}

body.single-post .related-entry-heading,
body.single-post .related-list-title {
  margin-top: 16px !important;
}


/* 関連記事見出し下も少しだけ締める */
body.single-post .related-entry-heading,
body.single-post .related-list-title {
  margin-bottom: 24px !important;
}


@media screen and (max-width: 834px) {
  body.single-post .related-entry-heading,
  body.single-post .related-list-title {
    margin-top: 18px !important;
    margin-bottom: 20px !important;
  }
}
/* =========================================================
   KIMAMA STAGE 10B.5.6
   Remove remaining logged-in edit chrome
   ========================================================= */

/* Cocoon / WordPress edit controls */
body.single-post .post-edit,
body.single-post .post-edit-link,
body.single-post .edit-post,
body.single-post .edit-link,
body.single-post [class*="post-edit"],
body.single-post [class*="edit-post"] {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
}

/* Font Awesome pencil variants */
body.single-post .fa-pencil,
body.single-post .fa-pencil-alt,
body.single-post .fa-pen,
body.single-post .fa-edit,
body.single-post [class*="fa-pencil"] {
  display: none !important;
}

/* remove any empty row left by edit metadata */
body.single-post .article-footer > div:empty,
body.single-post .article-footer > span:empty {
  display: none !important;
}

/* final SNS → related rhythm */
body.single-post .sns-follow {
  margin-bottom: 0 !important;
}

body.single-post .related-entry-heading,
body.single-post .related-list-title {
  margin-top: 8px !important;
}
/* =========================================================
   KIMAMA STAGE 10B.6
   Comments + bottom breadcrumb refinement
   ========================================================= */

/* コメントエリア全体 */
body.single-post .comment-area,
body.single-post .comments-area {
  margin-top: clamp(72px, 7vw, 108px) !important;
  padding-top: 0 !important;
  background: transparent !important;
}

/* コメント見出し */
body.single-post .comment-title,
body.single-post .comments-title {
  margin: 0 0 24px !important;
  padding: 0 0 18px !important;
  border-bottom: 1px solid var(--kimama-line) !important;
  color: var(--kimama-ink) !important;
  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    "Hiragino Mincho Pro",
    "Noto Serif JP",
    serif;
  font-size: clamp(28px, 2.5vw, 38px) !important;
  font-weight: 400 !important;
}

/* 「コメントを書き込む」を巨大な白箱から静かな導線へ */
body.single-post .comment-btn,
body.single-post .comment-reply-link,
body.single-post .comment-form-link {
  display: inline-flex !important;
  width: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 10px 0 8px !important;

  border: 0 !important;
  border-bottom: 1px solid rgba(167, 131, 84, 0.6) !important;
  border-radius: 0 !important;

  background: transparent !important;
  box-shadow: none !important;

  color: var(--kimama-ink) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
}

/* コメント周辺に残る過剰な空白を圧縮 */
body.single-post #comment-area,
body.single-post #comments {
  margin-bottom: clamp(46px, 5vw, 72px) !important;
  padding-bottom: 0 !important;
}

/* 最下部パンくず */
body.single-post .breadcrumb {
  margin-top: clamp(40px, 4vw, 58px) !important;
  padding: 20px 0 0 !important;
  border-top: 1px solid var(--kimama-line);
  color: var(--kimama-muted) !important;
  font-size: 11px !important;
  opacity: 0.72;
}

body.single-post .breadcrumb a {
  color: inherit !important;
  text-decoration: none !important;
}

@media screen and (max-width: 834px) {
  body.single-post .comment-area,
  body.single-post .comments-area {
    margin-top: 58px !important;
  }

  body.single-post .comment-title,
  body.single-post .comments-title {
    font-size: 26px !important;
  }

  body.single-post .breadcrumb {
    margin-top: 34px !important;
    font-size: 10px !important;
  }
}
/* =========================================================
   KIMAMA STAGE 10B.7
   Desktop previous / next article navigation
   ========================================================= */

@media screen and (min-width: 835px) {

  /* -------------------------------------------------------
     Navigation shell
     ------------------------------------------------------- */

  body.single-post .pager-post-navi {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;

    width: 100%;
    max-width: 1180px;

    margin: clamp(54px, 5vw, 76px) auto
            clamp(70px, 7vw, 104px) !important;

    padding: 0 !important;

    border-top: 1px solid var(--kimama-line);
    border-bottom: 1px solid var(--kimama-line);

    background: transparent !important;
  }


  /* -------------------------------------------------------
     Individual previous / next links
     ------------------------------------------------------- */

  body.single-post .pager-post-navi a.a-wrap,
  body.single-post .pager-post-navi .prev-post,
  body.single-post .pager-post-navi .next-post {
    min-width: 0;
    min-height: 128px;

    margin: 0 !important;
    padding: 26px 24px !important;

    border: 0 !important;
    border-radius: 0 !important;

    background: transparent !important;
    box-shadow: none !important;

    color: var(--kimama-ink) !important;
    text-decoration: none !important;

    transition:
      background-color 0.25s ease,
      color 0.25s ease;
  }


  /* divider between previous / next */
  body.single-post .pager-post-navi a.a-wrap + a.a-wrap,
  body.single-post .pager-post-navi .next-post {
    border-left: 1px solid var(--kimama-line) !important;
  }


  /* -------------------------------------------------------
     Hover
     ------------------------------------------------------- */

  body.single-post .pager-post-navi a.a-wrap:hover {
    background: rgba(235, 228, 216, 0.38) !important;
  }


  /* -------------------------------------------------------
     Thumbnail
     ------------------------------------------------------- */

  body.single-post .pager-post-navi img {
    border-radius: 0 !important;
    box-shadow: none !important;
    filter: saturate(0.9) contrast(1.01);
  }


  /* -------------------------------------------------------
     Titles
     ------------------------------------------------------- */

  body.single-post .pager-post-navi .prev-post-title,
  body.single-post .pager-post-navi .next-post-title,
  body.single-post .pager-post-navi .post-title {
    color: var(--kimama-ink) !important;

    font-family:
      "Yu Mincho",
      "Hiragino Mincho ProN",
      "Hiragino Mincho Pro",
      "Noto Serif JP",
      serif;

    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.7;
  }


  /* -------------------------------------------------------
     Arrow / decorative icon
     ------------------------------------------------------- */

  body.single-post .pager-post-navi a.a-wrap::before {
    color: rgba(167, 131, 84, 0.58) !important;
    opacity: 0.65;
  }
}
/* =========================================================
   KIMAMA STAGE 10B.7.1
   Single previous / next article uses full width
   Desktop only
   ========================================================= */

@media screen and (min-width: 835px) {

  /* 前後どちらか1件しかない場合は2カラムをまたぐ */
  body.single-post .pager-post-navi > a.a-wrap:only-child {
    grid-column: 1 / -1;
  }

  /* 1件表示では少し横長の編集レイアウトに */
  body.single-post .pager-post-navi > a.a-wrap:only-child {
    min-height: 138px;
    padding: 28px 32px !important;
  }

  /* 片側しかない場合、中央の仕切り線は不要 */
  body.single-post .pager-post-navi > a.a-wrap:only-child {
    border-left: 0 !important;
  }

  /* タイトルが細い列で何行にも割れないようにする */
  body.single-post .pager-post-navi > a.a-wrap:only-child .prev-post-title,
  body.single-post .pager-post-navi > a.a-wrap:only-child .next-post-title,
  body.single-post .pager-post-navi > a.a-wrap:only-child .post-title {
    max-width: 900px;
    font-size: 17px !important;
    line-height: 1.75 !important;
  }
}
/* =========================================================
   KIMAMA TEXT LINKS
   ========================================================= */

/* 通常の本文リンク */
body.single-post .entry-content a:not(.kimama-photo-record__link):not(.blogcard-wrap):not(.btn):not(.wp-block-button__link),
body.single-post .article-body a:not(.kimama-photo-record__link):not(.blogcard-wrap):not(.btn):not(.wp-block-button__link) {
  color: var(--kimama-ink) !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(167, 131, 84, 0.58) !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 0.18em !important;
  box-shadow: none !important;
}

body.single-post .entry-content a:not(.kimama-photo-record__link):not(.blogcard-wrap):not(.btn):not(.wp-block-button__link):hover,
body.single-post .article-body a:not(.kimama-photo-record__link):not(.blogcard-wrap):not(.btn):not(.wp-block-button__link):hover {
  color: var(--kimama-gold) !important;
  text-decoration-color: var(--kimama-gold) !important;
}


/* アフィリエイトリンク */
body.single-post .entry-content a[rel~="sponsored"],
body.single-post .article-body a[rel~="sponsored"] {
  color: #765b39 !important;
  font-weight: 500;
  text-decoration-color: rgba(167, 131, 84, 0.8) !important;
}

body.single-post .entry-content a[rel~="sponsored"]:hover,
body.single-post .article-body a[rel~="sponsored"]:hover {
  color: var(--kimama-gold) !important;
}
body.single-post .entry-content a:not(.kimama-photo-record__link):not(.blogcard-wrap):not(.btn):not(.wp-block-button__link),
body.single-post .article-body a:not(.kimama-photo-record__link):not(.blogcard-wrap):not(.btn):not(.wp-block-button__link) {
  color: var(--kimama-ink) !important;
  font-weight: 600;
  text-decoration: underline !important;
  text-decoration-color: rgba(167, 131, 84, 0.58) !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 0.18em !important;
  box-shadow: none !important;
}
/* =========================================================
   KIMAMA / Hide Cocoon related entries
   ========================================================= */

body.single-post .related-entries {
  display: none !important;
}
/* =========================================================
   KIMAMA / Hide Cocoon previous-next navigation
   ========================================================= */

body.single-post .pager-post-navi {
  display: none !important;
}

/* =========================================================
   KIMAMA GEAR CASE v10.32
   MUSEUM / CURTAIN COLLECTION
   - single curtain opens from the right and stores at the left side
   - keeps right-side caption fully visible
   - left/right frame-to-caption spacing unified
   - brass nameplate and silver purchase buttons retained
   ========================================================= */

.kimama-gearcase {
  --kimama-wood-frame:
    url("https://my-kimama-route.com/wp-content/uploads/2026/08/kimama-walnut-frame.webp");
  --kimama-wood-horizontal:
    url("https://my-kimama-route.com/wp-content/uploads/2026/08/kimama-walnut-horizontal.webp");
  --kimama-wood-vertical:
    url("https://my-kimama-route.com/wp-content/uploads/2026/08/kimama-walnut-vertical.webp");
  --kimama-curtain-texture: url("https://my-kimama-route.com/wp-content/uploads/2026/08/vintage-curtain.png");
  --kimama-brass-texture: url("https://my-kimama-route.com/wp-content/uploads/2026/08/aged-brass.png");
  --kimama-silver-texture: url("https://my-kimama-route.com/wp-content/uploads/2026/08/tarnished-silver.png");
  --kimama-mobile-closed-height: 280px;

  position: relative;
  width: min(920px, 100%);
  max-width: 100%;
  margin: 3rem auto 4rem;
  box-sizing: border-box;
}

.kimama-gearcase,
.kimama-gearcase *,
.kimama-gearcase *::before,
.kimama-gearcase *::after {
  box-sizing: border-box;
}

/* Desktop article placement: match the larger standalone presentation.
   Scale the whole museum case together so frame, product, caption and trim
   keep exactly the same proportions. Keep the original shallow case height. */
@media screen and (min-width: 835px) {
  body.single-post .entry-content .kimama-gearcase,
  body.single-post .article-body .kimama-gearcase {
    width: min(920px, calc((100vw - 56px) / 1.125));
    max-width: none;
    transform: scale(1.125);
    transform-origin: top center;
    margin-bottom: calc(4rem + 44px);
  }
}

.kimama-gearcase__cabinet {
  position: relative;
  width: 100%;
  padding: 6px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255,245,228,.03) 0%, rgba(255,255,255,0) 26%, rgba(0,0,0,.05) 78%, rgba(0,0,0,.10) 100%),
    var(--kimama-wood-horizontal) top / 100% 6px no-repeat,
    var(--kimama-wood-horizontal) bottom / 100% 6px no-repeat,
    var(--kimama-wood-vertical) left / 6px 100% no-repeat,
    var(--kimama-wood-vertical) right / 6px 100% no-repeat,
    var(--kimama-wood-frame) center / cover no-repeat,
    #2d1b12;
  box-shadow:
    0 13px 20px rgba(37,23,14,.14),
    0 4px 8px rgba(28,17,10,.11),
    inset 0 1px 0 rgba(255,244,224,.06),
    inset 0 -2px 5px rgba(0,0,0,.26),
    inset 2px 0 3px rgba(255,255,255,.014),
    inset -2px 0 3px rgba(0,0,0,.08);
}

.kimama-gearcase__cabinet::before {
  content: "";
  position: absolute;
  inset: 3px;
  z-index: 50;
  pointer-events: none;
  border: 1px solid rgba(20,13,8,.72);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.018),
    inset 0 0 0 3px rgba(18,11,7,.10);
}

.kimama-gearcase__interior {
  position: relative;
  min-height: 146px;
  overflow: hidden;
  color: #eee5d4;
  border: 1px solid rgba(205,185,155,.14);
  background:
    radial-gradient(ellipse at 50% -28%, rgba(214,162,92,.09), transparent 46%),
    radial-gradient(ellipse at 28% 18%, rgba(206,157,89,.028), transparent 26%),
    radial-gradient(ellipse at 72% 18%, rgba(206,157,89,.028), transparent 26%),
    linear-gradient(180deg, rgba(24,15,10,.40) 0%, rgba(21,14,10,.52) 58%, rgba(16,10,7,.65) 100%),
    var(--kimama-wood-frame) center / cover no-repeat,
    #21150e;
  box-shadow:
    inset 0 8px 14px rgba(0,0,0,.15),
    inset 7px 0 9px rgba(0,0,0,.07),
    inset -7px 0 9px rgba(0,0,0,.07),
    inset 0 -5px 9px rgba(0,0,0,.13);
}

.kimama-gearcase__interior::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(0,0,0,.08), transparent 11%, transparent 89%, rgba(0,0,0,.08));
}

.kimama-gearcase__gallery {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: start;
  justify-content: center;
  gap: 34px;
  width: 100%;
  min-height: 146px;
  padding: 18px 38px 10px 80px;
}

.kimama-gearcase__exhibit {
  position: relative;
  display: grid;
  grid-template-columns: 166px minmax(0, 148px);
  align-items: start;
  flex: 0 1 auto;
  min-width: 0;
  gap: 20px;
  margin: 0;
  padding: 0;
}

.kimama-gearcase__exhibit:only-child {
  grid-template-columns: 196px minmax(0, 270px);
  gap: 30px;
}

.kimama-gearcase__visual {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  min-width: 0;
  text-align: center;
}

body.single-post .article-body .kimama-gearcase__frame,
body.single-post .entry-content .kimama-gearcase__frame {
  margin: 0 auto !important;
}

.kimama-gearcase__frame {
  position: relative;
  width: 164px;
  margin: 0 auto;
  padding: 4px;
  background:
    linear-gradient(145deg, rgba(255,243,220,.17), rgba(160,108,52,.05) 24%, rgba(0,0,0,.20) 76%),
    var(--kimama-wood-frame) center / cover no-repeat,
    #41291a;
  border: 1px solid rgba(19,11,7,.96);
  box-shadow:
    0 6px 12px rgba(0,0,0,.25),
    0 2px 4px rgba(0,0,0,.15),
    inset 0 0 0 1px rgba(214,170,110,.18),
    inset 0 1px 0 rgba(255,240,205,.08);
}

.kimama-gearcase__exhibit:only-child .kimama-gearcase__frame {
  width: 196px;
}

.kimama-gearcase__frame::before {
  content: "";
  position: absolute;
  inset: 1px;
  pointer-events: none;
  border: 1px solid rgba(233,191,124,.20);
  box-shadow: inset 0 0 0 1px rgba(48,29,15,.18);
}

.kimama-gearcase__mat {
  padding: 4px;
  background: linear-gradient(145deg, #efe9de 0%, #e0d6c6 52%, #d4c8b6 100%);
  box-shadow: inset 0 0 3px rgba(55,39,23,.11), inset 0 1px rgba(255,255,255,.45);
}

.kimama-gearcase__image-field {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #f5f2eb;
  border: 1px solid rgba(86,64,38,.20);
  box-shadow: inset 0 1px 2px rgba(0,0,0,.04);
}

/* Pochipp inline-image output may be an <img> or a linked/wrapped image.
   Keep every variant centered inside the museum frame. */
.kimama-gearcase__image-field > :not(img) {
  position: absolute !important;
  inset: 0 !important;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.kimama-gearcase__image-field a {
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

.kimama-gearcase__image-field img {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 1;
  display: block;
  width: auto !important;
  height: auto !important;
  max-width: calc(100% - 8px) !important;
  max-height: calc(100% - 8px) !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain;
  object-position: 50% 50% !important;
  transform: translate(-50%, -50%) !important;
  filter: saturate(.96) contrast(1.01);
}

.kimama-gearcase__image-field::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(132deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,.02) 24%, transparent 25%, transparent 100%);
}

.kimama-gearcase__nameplate {
  position: relative;
  width: 118px;
  margin: 14px auto 0;
  padding: 4px 10px;
  overflow: hidden;
  color: #160f08;
  font-family: Georgia, "Times New Roman", "Yu Mincho", serif;
  font-size: clamp(6.8px, .76vw, 9px);
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: .012em;
  white-space: nowrap;
  text-overflow: ellipsis;
  border: 1px solid rgba(76,49,19,.78);
  background:
    linear-gradient(180deg, rgba(255,244,203,.20) 0%, rgba(255,255,255,0) 32%, rgba(50,31,10,.22) 100%),
    var(--kimama-brass-texture) center / cover no-repeat,
    #9d783b;
  background-blend-mode: soft-light, soft-light, normal;
  text-shadow: 0 1px 0 rgba(255,232,170,.15);
  box-shadow:
    0 2px 3px rgba(0,0,0,.18),
    inset 0 1px rgba(255,255,255,.34),
    inset 0 -1px rgba(67,40,13,.25);
}

.kimama-gearcase__exhibit:only-child .kimama-gearcase__nameplate {
  width: 146px;
}

.kimama-gearcase__nameplate::before,
.kimama-gearcase__nameplate::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: radial-gradient(circle at 34% 30%, #d9bd73 0%, #8b622d 58%, #523312 100%);
  transform: translateY(-50%);
  box-shadow: 0 1px 1px rgba(0,0,0,.28);
}

.kimama-gearcase__nameplate::before { left: 6px; }
.kimama-gearcase__nameplate::after { right: 6px; }

.kimama-gearcase__info {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  min-width: 0;
  padding-top: 28px;
}

.kimama-gearcase__caption {
  width: 100%;
  margin-bottom: 0;
}

.kimama-gearcase__collection {
  display: none !important;
}

.kimama-gearcase__caption-lead {
  margin: 0 0 10px !important;
  color: #d7b77d;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: clamp(9.6px, 1.04vw, 11.9px);
  font-weight: 400;
  line-height: 1.34;
  letter-spacing: .025em;
}

.kimama-gearcase__caption-text {
  margin: 0 !important;
  color: rgba(232,219,197,.72);
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: clamp(6.6px, .68vw, 7.8px);
  font-weight: 400;
  line-height: 1.48;
  letter-spacing: .008em;
}

.kimama-gearcase__links {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: max-content;
  max-width: 100%;
  margin: 9px auto 0;
}

/* v10.22: isolate the three museum purchase plates from Cocoon/link helpers.
   The labels are now raw anchor text, with no inner span wrappers. */
.kimama-gearcase__links {
  position: static !important;
  float: none !important;
  clear: none !important;
  transform: none !important;
}

.kimama-gearcase__links > :not(a) {
  display: contents !important;
}

body.single-post .entry-content .kimama-gearcase__links a,
body.single-post .article-body .kimama-gearcase__links a {
  position: static !important;
  inset: auto !important;
  float: none !important;
  clear: none !important;
  transform: none;
  vertical-align: middle !important;
}

body.single-post .entry-content .kimama-gearcase__links a > *,
body.single-post .article-body .kimama-gearcase__links a > * {
  display: none !important;
}

/* Theme/Cocoon may attach external-link decorations with pseudo-elements.
   The museum purchase plates use text only, so suppress generated icons/boxes. */
body.single-post .entry-content .kimama-gearcase__links a::before,
body.single-post .entry-content .kimama-gearcase__links a::after,
body.single-post .article-body .kimama-gearcase__links a::before,
body.single-post .article-body .kimama-gearcase__links a::after,
body.single-post .entry-content .kimama-gearcase__links a span::before,
body.single-post .entry-content .kimama-gearcase__links a span::after,
body.single-post .article-body .kimama-gearcase__links a span::before,
body.single-post .article-body .kimama-gearcase__links a span::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

body.single-post .entry-content .kimama-gearcase__links a,
body.single-post .article-body .kimama-gearcase__links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  flex: 0 0 46px;
  width: 46px;
  min-width: 46px;
  min-height: 18px;
  margin: 0 !important;
  margin-block: 0 !important;
  padding: 3px 4px;
  color: #171815 !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 5.6px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .01em;
  white-space: nowrap;
  text-decoration: none !important;
  border: 1px solid rgba(67,67,63,.62);
  border-radius: 1px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.16) 0%, rgba(255,255,255,0) 30%, rgba(32,32,30,.16) 100%),
    var(--kimama-silver-texture) center / cover no-repeat,
    #969792 !important;
  background-blend-mode: soft-light, soft-light, normal;
  box-shadow:
    0 1px 2px rgba(0,0,0,.16),
    inset 0 1px rgba(255,255,255,.28),
    inset 0 -1px rgba(53,53,50,.18);
  text-shadow: 0 1px 0 rgba(255,255,255,.16);
  transition: filter .20s ease, transform .20s ease;
}

/* Keep purchase-label text readable in every link state.
   These deliberately high-specificity rules isolate the museum controls
   from Cocoon/theme hover and visited link colors. */
body.single-post .entry-content .kimama-gearcase .kimama-gearcase__links a,
body.single-post .entry-content .kimama-gearcase .kimama-gearcase__links a:link,
body.single-post .entry-content .kimama-gearcase .kimama-gearcase__links a:visited,
body.single-post .entry-content .kimama-gearcase .kimama-gearcase__links a:hover,
body.single-post .entry-content .kimama-gearcase .kimama-gearcase__links a:focus,
body.single-post .entry-content .kimama-gearcase .kimama-gearcase__links a:focus-visible,
body.single-post .entry-content .kimama-gearcase .kimama-gearcase__links a:active,
body.single-post .article-body .kimama-gearcase .kimama-gearcase__links a,
body.single-post .article-body .kimama-gearcase .kimama-gearcase__links a:link,
body.single-post .article-body .kimama-gearcase .kimama-gearcase__links a:visited,
body.single-post .article-body .kimama-gearcase .kimama-gearcase__links a:hover,
body.single-post .article-body .kimama-gearcase .kimama-gearcase__links a:focus,
body.single-post .article-body .kimama-gearcase .kimama-gearcase__links a:focus-visible,
body.single-post .article-body .kimama-gearcase .kimama-gearcase__links a:active {
  color: #11110f !important;
  -webkit-text-fill-color: #11110f !important;
}

body.single-post .entry-content .kimama-gearcase .kimama-gearcase__links a span,
body.single-post .entry-content .kimama-gearcase .kimama-gearcase__links a:link span,
body.single-post .entry-content .kimama-gearcase .kimama-gearcase__links a:visited span,
body.single-post .entry-content .kimama-gearcase .kimama-gearcase__links a:hover span,
body.single-post .entry-content .kimama-gearcase .kimama-gearcase__links a:focus span,
body.single-post .entry-content .kimama-gearcase .kimama-gearcase__links a:focus-visible span,
body.single-post .entry-content .kimama-gearcase .kimama-gearcase__links a:active span,
body.single-post .article-body .kimama-gearcase .kimama-gearcase__links a span,
body.single-post .article-body .kimama-gearcase .kimama-gearcase__links a:link span,
body.single-post .article-body .kimama-gearcase .kimama-gearcase__links a:visited span,
body.single-post .article-body .kimama-gearcase .kimama-gearcase__links a:hover span,
body.single-post .article-body .kimama-gearcase .kimama-gearcase__links a:focus span,
body.single-post .article-body .kimama-gearcase .kimama-gearcase__links a:focus-visible span,
body.single-post .article-body .kimama-gearcase .kimama-gearcase__links a:active span {
  color: #11110f !important;
  -webkit-text-fill-color: #11110f !important;
  opacity: 1 !important;
}

body.single-post .entry-content .kimama-gearcase__links a:hover,
body.single-post .article-body .kimama-gearcase__links a:hover {
  filter: brightness(1.035) contrast(1.02);
  transform: translateY(-1px);
  text-decoration: none !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.22);
}

body.single-post .entry-content .kimama-gearcase__links a:focus-visible,
body.single-post .article-body .kimama-gearcase__links a:focus-visible {
  outline: 1px solid rgba(208,208,200,.88);
  outline-offset: 2px;
}


.kimama-gearcase__curtain-stage {
  position: absolute;
  inset: 0;
  z-index: 20;
  overflow: hidden;
  pointer-events: none;
}

.kimama-gearcase__curtain-rail {
  position: absolute;
  top: 5px;
  left: 7px;
  right: 7px;
  z-index: 30;
  height: 4px;
  pointer-events: none;
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(255,248,230,.18) 0%, rgba(255,255,255,0) 34%, rgba(0,0,0,.20) 100%),
    var(--kimama-brass-texture) center / cover no-repeat,
    #9b7538;
  background-blend-mode: soft-light, normal, normal;
  box-shadow:
    0 1px 2px rgba(0,0,0,.24),
    0 2px 3px rgba(0,0,0,.10),
    inset 0 1px 0 rgba(255,247,226,.54),
    inset 0 -1px 0 rgba(101,63,23,.32);
}

.kimama-gearcase__curtain-rail::before,
.kimama-gearcase__curtain-rail::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 34% 30%, rgba(255,239,193,.28) 0%, rgba(255,255,255,0) 42%, rgba(0,0,0,.22) 100%),
    var(--kimama-brass-texture) center / cover no-repeat,
    #8f692f;
  background-blend-mode: soft-light, normal, normal;
  transform: translateY(-50%);
  box-shadow:
    0 1px 2px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,245,220,.40);
}

.kimama-gearcase__curtain-rail::before { left: -4px; }
.kimama-gearcase__curtain-rail::after { right: -4px; }


/* Functional curtain hangers: the cloth now visibly hangs from the brass rail.
   Seven rings spread across the rail when closed and gather across the visible left curtain width when opened. */
.kimama-gearcase__curtain-rings {
  position: absolute;
  inset: 0;
  z-index: 31;
  pointer-events: none;
}

.kimama-gearcase__curtain-rings span {
  position: absolute;
  top: 2px;
  left: var(--ring-x);
  width: 6px;
  height: 10px;
  border: 1.25px solid rgba(157,117,56,.96);
  border-radius: 50%;
  background: transparent;
  box-shadow:
    0 1px 2px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(255,244,208,.26),
    0 0 0 1px rgba(69,43,17,.18);
  transform: translateX(-50%);
  transition: left 1.03s cubic-bezier(.66,.02,.24,1);
}

.kimama-gearcase__curtain-rings span::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 7px;
  width: 1.5px;
  height: 4px;
  border-radius: 999px;
  background:
    var(--kimama-brass-texture) center / cover no-repeat,
    #8f692f;
  transform: translateX(-50%);
  box-shadow: 0 1px 1px rgba(0,0,0,.22);
}

.kimama-gearcase.is-open .kimama-gearcase__curtain-rings span {
  left: var(--ring-open-x);
}

.kimama-gearcase__curtain {
  position: absolute;
  top: 12px;
  left: 0;
  bottom: 0;
  z-index: 22;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  pointer-events: none;
  -webkit-tap-highlight-color: transparent;
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.014) 0%,
      rgba(255,255,255,.028) 7%,
      rgba(0,0,0,.060) 15%,
      rgba(255,255,255,.010) 26%,
      rgba(0,0,0,.082) 37%,
      rgba(255,255,255,.012) 48%,
      rgba(0,0,0,.070) 61%,
      rgba(255,255,255,.010) 72%,
      rgba(0,0,0,.086) 84%,
      rgba(255,255,255,.010) 100%),
    var(--kimama-curtain-texture) center / 38% 100% repeat-x,
    #2c2e24;
  background-blend-mode: soft-light, normal, normal;
  filter: saturate(.93) contrast(1.015) brightness(.965);
  transition: transform 1.03s cubic-bezier(.66,.02,.24,1), filter .70s ease, box-shadow .70s ease;
  will-change: transform;
  box-shadow:
    inset -14px 0 16px rgba(0,0,0,.12),
    6px 0 8px rgba(0,0,0,.08);
}

.kimama-gearcase__curtain::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-top: 1px solid rgba(176,154,112,.16);
  box-shadow: inset 0 3px 3px rgba(0,0,0,.10);
  background:
    linear-gradient(180deg, rgba(255,247,224,.028) 0%, rgba(255,255,255,.007) 16%, transparent 36%, transparent 74%, rgba(0,0,0,.13) 100%),
    repeating-linear-gradient(90deg,
      rgba(255,255,255,.010) 0 10px,
      rgba(255,255,255,0) 10px 30px,
      rgba(0,0,0,.014) 30px 39px,
      rgba(255,255,255,0) 39px 63px);
}

.kimama-gearcase__curtain::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 1px;
  pointer-events: none;
  opacity: .38;
  background: linear-gradient(180deg, rgba(232,205,148,.18), rgba(0,0,0,.34));
}


.kimama-gearcase.is-open .kimama-gearcase__curtain {
  transform: translateX(-95.8%);
  pointer-events: auto;
  filter: saturate(.94) contrast(1.02) brightness(.955);
  box-shadow:
    inset -12px 0 14px rgba(0,0,0,.12),
    4px 0 7px rgba(0,0,0,.08);
}

.kimama-gearcase__curtain-trigger {
  position: absolute;
  inset: 0;
  z-index: 26;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  pointer-events: auto;
  background: transparent;
  color: #d4b97d;
  text-align: center;
  -webkit-tap-highlight-color: transparent;
  transition: opacity .26s ease;
}

.kimama-gearcase__curtain-trigger:focus-visible {
  outline: 1px solid rgba(219,196,135,.76);
  outline-offset: -6px;
}

.kimama-gearcase.is-open .kimama-gearcase__curtain-trigger {
  opacity: 0;
  pointer-events: none;
}

.kimama-gearcase__curtain-title {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(11px, 1.34vw, 15px);
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-shadow: 0 2px 8px rgba(0,0,0,.40);
}

.kimama-gearcase__curtain-subtitle {
  display: none;
}

.kimama-gearcase__curtain-action {
  margin-top: 6px;
  padding-top: 5px;
  border-top: 1px solid rgba(205,174,113,.26);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 5px;
  line-height: 1;
  letter-spacing: .16em;
  color: rgba(221,203,167,.70);
}

@media screen and (max-width: 834px) {
  .kimama-gearcase {
    width: 100%;
    margin: 2.4rem auto 3.3rem;
  }

  .kimama-gearcase__cabinet { padding: 7px; }
  .kimama-gearcase__cabinet::before { inset: 3px; }

  .kimama-gearcase__interior {
    min-height: 152px;
    height: var(--kimama-mobile-closed-height);
    transition: height .68s cubic-bezier(.66,.02,.24,1);
  }

  .kimama-gearcase.is-open .kimama-gearcase__interior {
    height: auto;
  }

  .kimama-gearcase__gallery {
    flex-direction: column;
    align-items: center;
    min-height: 152px;
    gap: 18px;
    padding: 10px 18px 9px 24px;
  }

  .kimama-gearcase__exhibit,
  .kimama-gearcase__exhibit:only-child {
    grid-template-columns: 166px minmax(0, 1fr);
    width: min(100%, 428px);
    gap: 16px;
  }

  .kimama-gearcase__frame {
    width: 156px;
  }

  .kimama-gearcase__exhibit:only-child .kimama-gearcase__frame {
    width: 176px;
  }

  .kimama-gearcase__nameplate {
    width: 114px;
    margin-top: 12px;
  }

  .kimama-gearcase__exhibit:only-child .kimama-gearcase__nameplate {
    width: 132px;
  }

  .kimama-gearcase__info {
    padding-top: 24px;
  }

  .kimama-gearcase__caption-lead {
    font-size: clamp(9.2px, 2.42vw, 11px);
  }

  .kimama-gearcase__caption-text {
    font-size: clamp(6.4px, 1.82vw, 7.4px);
    line-height: 1.46;
  }

  .kimama-gearcase__links {
    gap: 4px;
    margin-top: 8px;
  }

  body.single-post .entry-content .kimama-gearcase__links a,
  body.single-post .article-body .kimama-gearcase__links a {
    flex-basis: 44px;
    width: 44px;
    min-width: 44px;
    min-height: 18px;
    font-size: 5.2px;
    padding: 3px 4px;
  }

  .kimama-gearcase__curtain-rail {
    top: 4px;
    height: 4px;
    left: 6px;
    right: 6px;
  }

  .kimama-gearcase__curtain-rings span {
    top: 1px;
    width: 5px;
    height: 9px;
    border-width: 1.1px;
  }

  .kimama-gearcase__curtain-rings span::after {
    top: 6px;
    height: 3px;
  }

  .kimama-gearcase__curtain {
    top: 11px;
  }

  .kimama-gearcase__curtain-rail::before,
  .kimama-gearcase__curtain-rail::after {
    width: 7px;
    height: 7px;
  }

  .kimama-gearcase.is-open .kimama-gearcase__curtain {
    transform: translateX(-95.4%);
  }

  .kimama-gearcase__curtain-title {
    font-size: clamp(10px, 3.6vw, 14px);
  }

  .kimama-gearcase__curtain-action {
    margin-top: 7px;
    font-size: 5px;
  }

  .kimama-gearcase:not(.is-open) .kimama-gearcase__gallery {
    align-content: start;
  }

  .kimama-gearcase:not(.is-open) .kimama-gearcase__curtain-trigger {
    justify-content: center;
    padding: 34px 22px 26px;
  }
}

@media screen and (max-width: 430px) {
  .kimama-gearcase__gallery {
    padding-left: 18px;
    padding-right: 12px;
  }

  .kimama-gearcase__exhibit,
  .kimama-gearcase__exhibit:only-child {
    grid-template-columns: 144px minmax(0, 1fr);
    gap: 12px;
    width: min(100%, 360px);
  }

  .kimama-gearcase__frame {
    width: 138px;
  }

  .kimama-gearcase__nameplate {
    width: 108px;
  }

  body.single-post .entry-content .kimama-gearcase__links a,
  body.single-post .article-body .kimama-gearcase__links a {
    flex-basis: 41px;
    width: 41px;
    min-width: 41px;
    font-size: 5px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .kimama-gearcase__curtain,
  .kimama-gearcase__curtain-trigger,
  .kimama-gearcase__curtain-rings span {
    transition-duration: .01ms;
  }
}


/* v10.34: add a little more cabinet height and top breathing room so the brass rail and frame have a calmer museum-like gap, while preserving the v10.32 balance at the bottom. */


/* v10.35: slightly taller cabinet with a calmer top gap to the brass rail, plus stronger frame separation from the wood background. */


/* =========================================================
   KIMAMA GEAR CASE v10.37
   Functional curtain rail / ring spacing refinement
   - full-width brass rail across the interior
   - seven visible brass hanger rings
   - curtain fabric begins below the rail
   - opened rings overlap gently across the remaining curtain width instead of forming a tight coil
   - v10.35 exhibit dimensions and balance preserved
   ========================================================= */


/* =========================================================
   KIMAMA GEAR CASE v10.38
   Open-curtain ring gather refinement
   - seven rings retained
   - open positions distributed across the visible gathered-curtain width
   - rings made finer/smaller so they read as hardware rather than a coil
   - rail, curtain travel, case, exhibit layout and v10.35 proportions unchanged
   ========================================================= */


/* =========================================================
   KIMAMA GEAR CASE v10.39
   Gathered curtain / ring alignment
   - ring positions remain exactly as v10.38
   - leave slightly more curtain visible when open
   - gathered cloth now reaches the rightmost gathered ring
   - exhibit, case, rail, frame and plaque geometry unchanged
   ========================================================= */


/* =========================================================
   KIMAMA REFERRAL CARD
   Contact Form 7 / Hilton AMEX referral request
   ========================================================= */

.kimama-referral-card {
  width: 100%;
  margin: 32px 0 18px;
  padding: clamp(24px, 4vw, 40px);
  border: 1px solid var(--kimama-line);
  background: rgba(255, 255, 255, 0.22);
  box-shadow: none;
}

.kimama-referral-card p {
  margin: 0;
}

.kimama-referral-kicker {
  margin-bottom: 10px !important;
  color: var(--kimama-gold);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 10px;
  line-height: 1.4;
  letter-spacing: 0.18em;
}

.kimama-referral-title {
  margin-bottom: 12px !important;
  color: var(--kimama-ink);
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
  font-size: clamp(24px, 2.4vw, 32px);
  font-weight: 400;
  line-height: 1.5;
}

.kimama-referral-lead {
  margin-bottom: 28px !important;
  color: var(--kimama-muted);
  font-size: 14px;
  line-height: 1.9;
}

.kimama-referral-field {
  display: block;
  margin: 0 0 24px;
}

.kimama-referral-label {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 8px;
  color: var(--kimama-ink);
  font-size: 14px;
  line-height: 1.5;
}

.kimama-referral-label small {
  color: var(--kimama-muted);
  font-size: 11px;
  font-weight: 400;
}

.kimama-referral-card .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

.kimama-referral-card input[type="text"],
.kimama-referral-card input[type="email"] {
  display: block;
  width: 100%;
  min-height: 50px;
  margin: 0;
  padding: 11px 2px 10px;
  border: 0;
  border-bottom: 1px solid rgba(23, 23, 23, 0.28);
  border-radius: 0;
  outline: 0;
  background: transparent;
  color: var(--kimama-ink);
  box-shadow: none;
  font: inherit;
  font-size: 16px;
  line-height: 1.5;
  transition: border-color 160ms ease;
}

.kimama-referral-card input[type="text"]:focus,
.kimama-referral-card input[type="email"]:focus {
  border-bottom-color: var(--kimama-gold);
}

.kimama-referral-card input::placeholder {
  color: rgba(116, 111, 103, 0.68);
}

.kimama-referral-submit {
  margin-top: 30px;
}

.kimama-referral-card input[type="submit"] {
  width: 100%;
  min-height: 52px;
  margin: 0;
  padding: 13px 18px;
  border: 1px solid var(--kimama-gold);
  border-radius: 0;
  background: transparent;
  color: var(--kimama-ink);
  box-shadow: none;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.08em;
  cursor: pointer;
  transition: background-color 160ms ease, color 160ms ease;
}

.kimama-referral-card input[type="submit"]:hover,
.kimama-referral-card input[type="submit"]:focus-visible {
  background: var(--kimama-gold);
  color: #fff;
}

.kimama-referral-fineprint {
  margin-top: 16px !important;
  color: var(--kimama-muted);
  font-size: 11px;
  line-height: 1.8;
}

.kimama-referral-card .wpcf7-not-valid-tip {
  margin-top: 7px;
  font-size: 12px;
  line-height: 1.5;
}

.kimama-referral-card + .wpcf7-response-output,
.wpcf7 form .kimama-referral-card ~ .wpcf7-response-output {
  margin: 16px 0 0;
  padding: 12px 14px;
  border-width: 1px;
  border-radius: 0;
  font-size: 13px;
  line-height: 1.7;
}

.kimama-referral-card .wpcf7-spinner {
  margin: 12px 0 0;
}

@media screen and (max-width: 640px) {
  .kimama-referral-card {
    margin-top: 24px;
    padding: 22px 18px 24px;
  }

  .kimama-referral-label {
    display: block;
  }

  .kimama-referral-label small {
    display: block;
    margin-top: 3px;
  }
}


/* =========================================================
   KIMAMA REFERRAL CARD v8
   Compact layout / Turnstile placement / CF7 response footer
   ========================================================= */

.kimama-referral-card {
  margin: 28px 0 0;
  padding: clamp(22px, 3.2vw, 34px);
}

.kimama-referral-lead {
  margin-bottom: 22px !important;
}

.kimama-referral-field {
  margin-bottom: 18px;
}

.kimama-referral-card input[type="text"],
.kimama-referral-card input[type="email"] {
  min-height: 44px;
  padding-top: 8px;
  padding-bottom: 8px;
}

.kimama-referral-turnstile {
  width: 100%;
  min-height: 0;
  margin: 4px 0 14px;
}

.kimama-referral-turnstile .cf-turnstile,
.kimama-referral-turnstile iframe {
  max-width: 100%;
}

.kimama-referral-submit {
  margin-top: 18px;
}

.kimama-referral-card input[type="submit"] {
  min-height: 48px;
  padding: 11px 18px;
  font-size: 13px;
  letter-spacing: 0.06em;
}

.kimama-referral-fineprint {
  margin-top: 14px !important;
  line-height: 1.7;
}

/* Contact Form 7 response becomes a quiet footer attached to the card. */
.wpcf7:has(.kimama-referral-card) form .wpcf7-response-output {
  box-sizing: border-box;
  width: 100%;
  margin: -1px 0 18px !important;
  padding: 12px clamp(22px, 3.2vw, 34px) !important;
  border: 1px solid var(--kimama-line) !important;
  border-top: 0 !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, 0.22);
  color: var(--kimama-muted);
  font-size: 12px;
  line-height: 1.7;
}

.wpcf7:has(.kimama-referral-card) form.sent .wpcf7-response-output {
  color: var(--kimama-ink);
}

.wpcf7:has(.kimama-referral-card) form.invalid .wpcf7-response-output,
.wpcf7:has(.kimama-referral-card) form.failed .wpcf7-response-output,
.wpcf7:has(.kimama-referral-card) form.spam .wpcf7-response-output {
  color: var(--kimama-ink);
}

@media screen and (max-width: 640px) {
  .kimama-referral-card {
    margin-top: 22px;
    padding: 20px 16px 22px;
  }

  .kimama-referral-lead {
    margin-bottom: 18px !important;
  }

  .kimama-referral-field {
    margin-bottom: 16px;
  }

  .kimama-referral-card input[type="text"],
  .kimama-referral-card input[type="email"] {
    min-height: 42px;
  }

  .kimama-referral-submit {
    margin-top: 16px;
  }

  .kimama-referral-card input[type="submit"] {
    min-height: 46px;
    font-size: 12px;
  }

  .wpcf7:has(.kimama-referral-card) form .wpcf7-response-output {
    padding: 11px 16px !important;
  }
}


/* =========================================================
   KIMAMA REFERRAL CARD v9
   Desktop compact layout: fields side-by-side
   ========================================================= */

.kimama-referral-card {
  margin-top: 20px;
  padding: 20px 24px 18px;
}

.kimama-referral-head {
  margin: 0 0 16px;
}

.kimama-referral-kicker {
  margin: 0 0 5px !important;
}

.kimama-referral-title {
  margin: 0 0 7px !important;
  line-height: 1.35;
}

.kimama-referral-lead {
  margin: 0 !important;
  line-height: 1.65;
}

.kimama-referral-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 18px 24px;
  margin: 0;
}

.kimama-referral-field {
  margin: 0;
}

.kimama-referral-label {
  margin-bottom: 4px;
}

.kimama-referral-card input[type="text"],
.kimama-referral-card input[type="email"] {
  min-height: 38px;
  padding: 5px 0 6px;
}

.kimama-referral-turnstile {
  margin: 6px 0 0;
}

.kimama-referral-submit {
  margin-top: 12px;
}

.kimama-referral-card input[type="submit"] {
  min-height: 42px;
  padding: 9px 16px;
  font-size: 13px;
}

.kimama-referral-fineprint {
  margin: 10px 0 0 !important;
  font-size: 11px !important;
  line-height: 1.6;
}

/* Success / error text: minimal-height footer */
.wpcf7:has(.kimama-referral-card) form .wpcf7-response-output {
  margin: -1px 0 14px !important;
  padding: 8px 24px !important;
  font-size: 11px;
  line-height: 1.55;
}

/* Keep the Turnstile challenge in the card if interaction is required. */
.kimama-referral-turnstile .cf-turnstile,
.kimama-referral-turnstile > div {
  max-width: 100%;
}

@media screen and (max-width: 640px) {
  .kimama-referral-card {
    margin-top: 18px;
    padding: 18px 15px 16px;
  }

  .kimama-referral-head {
    margin-bottom: 14px;
  }

  .kimama-referral-fields {
    grid-template-columns: 1fr;
    gap: 13px;
  }

  .kimama-referral-card input[type="text"],
  .kimama-referral-card input[type="email"] {
    min-height: 38px;
  }

  .kimama-referral-submit {
    margin-top: 11px;
  }

  .kimama-referral-card input[type="submit"] {
    min-height: 42px;
  }

  .kimama-referral-fineprint {
    margin-top: 9px !important;
    font-size: 10.5px !important;
  }

  .wpcf7:has(.kimama-referral-card) form .wpcf7-response-output {
    padding: 8px 15px !important;
  }
}


/* =========================================================
   KIMAMA REFERRAL CARD v10
   Final footer placement / minimal compact card
   ========================================================= */

.kimama-referral-card {
  margin-top: 16px;
  padding: 16px 20px 14px;
}

.kimama-referral-kicker {
  margin: 0 0 10px !important;
  font-size: 10px !important;
  letter-spacing: 0.16em;
}

.kimama-referral-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 14px 22px;
  margin: 0;
}

.kimama-referral-field {
  margin: 0;
}

.kimama-referral-label {
  margin-bottom: 2px;
  line-height: 1.4;
}

.kimama-referral-label small {
  margin-left: 0.4em;
}

.kimama-referral-card input[type="text"],
.kimama-referral-card input[type="email"] {
  min-height: 34px;
  padding: 3px 0 5px;
}

.kimama-referral-turnstile {
  margin: 2px 0 0;
  min-height: 0;
}

.kimama-referral-submit {
  margin-top: 9px;
}

.kimama-referral-card input[type="submit"] {
  min-height: 38px;
  padding: 7px 14px;
  font-size: 12px;
  letter-spacing: 0.05em;
}

.kimama-referral-fineprint {
  margin: 8px 0 0 !important;
  font-size: 11px !important;
  line-height: 1.55;
}

.wpcf7:has(.kimama-referral-card) form .wpcf7-response-output {
  margin: -1px 0 0 !important;
  padding: 7px 20px !important;
  font-size: 11px;
  line-height: 1.5;
}

@media screen and (max-width: 640px) {
  .kimama-referral-card {
    margin-top: 14px;
    padding: 15px 14px 13px;
  }

  .kimama-referral-kicker {
    margin-bottom: 8px !important;
  }

  .kimama-referral-fields {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .kimama-referral-card input[type="text"],
  .kimama-referral-card input[type="email"] {
    min-height: 34px;
  }

  .kimama-referral-submit {
    margin-top: 8px;
  }

  .kimama-referral-card input[type="submit"] {
    min-height: 38px;
    font-size: 12px;
  }

  .kimama-referral-fineprint {
    margin-top: 7px !important;
    font-size: 10.5px !important;
  }

  .wpcf7:has(.kimama-referral-card) form .wpcf7-response-output {
    padding: 7px 14px !important;
  }
}