/* Typing Coach Category Consolidation 1.0.3 — related article links only. */
.tc-cc-related{box-sizing:border-box;margin:clamp(36px,5vw,72px) auto;padding:clamp(22px,3vw,38px);background:linear-gradient(130deg,#f5f8fc,#fff);border:1px solid #d9e1ec;border-radius:18px;color:#10283e}
.tc-cc-related *, .tc-cc-related *::before, .tc-cc-related *::after{box-sizing:border-box}
.tc-cc-related__inner{max-width:980px;margin:auto}
.tc-cc-related__eyebrow{margin:0 0 8px;font-size:.78rem;font-weight:750;letter-spacing:.14em;color:#a16c24}
.tc-cc-related h2{margin:0 0 10px!important;font-family:"Noto Serif JP","Yu Mincho",YuMincho,serif!important;font-weight:700;line-height:1.5;color:#11283d;font-size:clamp(1.35rem,2.5vw,1.8rem)}
.tc-cc-related__intro{margin:0 0 20px;font-size:1rem;line-height:1.9;color:#506276}
.tc-cc-related__list{list-style:none!important;padding:0!important;margin:0!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tc-cc-related__list li{list-style:none!important;margin:0!important;padding:0!important}
.tc-cc-related__list a{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:70px;padding:15px 17px;background:#fff;border:1px solid #d9e1ec;border-radius:11px;color:#143553!important;text-decoration:none!important;line-height:1.65;font-weight:600;overflow-wrap:anywhere;transition:border-color .15s,box-shadow .15s}
.tc-cc-related__list a:hover,.tc-cc-related__list a:focus-visible{border-color:#ad8542;box-shadow:0 2px 10px #10283d12;outline-offset:3px}
.tc-cc-related__arrow{flex:none;color:#9a7135;font-size:1.15rem}
@media (max-width:680px){.tc-cc-related{margin:36px auto;padding:22px 17px;border-radius:13px}.tc-cc-related__list{grid-template-columns:minmax(0,1fr)}.tc-cc-related__list a{min-height:60px;padding:14px}}
@media (prefers-reduced-motion:reduce){.tc-cc-related__list a{transition:none}}

/* v1.0.3 — prevent SWELL/post-specific h2 decorations from covering the title.
   Restrict resets to this plugin's supplemental article panel only. */
.tc-cc-related.tc-cc-related-links h2#tc-cc-related-title {
  display: block !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #11283d !important;
  text-shadow: none !important;
  font-family: "Noto Serif JP", "Yu Mincho", YuMincho, serif !important;
  font-size: clamp(1.35rem, 2.5vw, 1.8rem) !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  letter-spacing: .015em !important;
  text-align: left !important;
}
.tc-cc-related.tc-cc-related-links h2#tc-cc-related-title::before,
.tc-cc-related.tc-cc-related-links h2#tc-cc-related-title::after {
  display: none !important;
  content: none !important;
  background: none !important;
  border: 0 !important;
}
.tc-cc-related .tc-cc-related__label {
  min-width: 0;
  overflow-wrap: break-word;
  word-break: normal;
  line-break: strict;
  text-wrap: balance;
}

/* Keep Japanese phrases on each side of a full-width topic separator together. */
.tc-cc-related .tc-cc-related__title-part { display: inline-block; white-space: nowrap; }
@media (max-width: 350px) {
  .tc-cc-related .tc-cc-related__title-part { white-space: normal; }
}

/* Readable short headings and stable compound terms on narrow screens. */
.tc-cc-related .tc-cc-related__nowrap { white-space: nowrap; }
@media (max-width: 420px) {
  .tc-cc-related.tc-cc-related-links h2#tc-cc-related-title {
    font-size: 1.15rem !important;
    letter-spacing: 0 !important;
  }
}
