
/* NC-C00R1-R5 — Related articles */
.nico-related{margin:42px 0 32px;padding:25px;border:1px solid #d9e7f7;
 border-radius:16px;background:#f8fbff}
.nico-related h2{margin:0 0 8px;color:#102b4e;font-size:23px}
.nico-related>p{margin:0 0 15px;font-size:14px;color:#62758f}
.nico-related-list{display:grid;gap:10px}
.nico-related-link{display:flex;gap:12px;align-items:flex-start;padding:13px;
 background:#fff;border:1px solid #e0eafb;border-radius:11px;text-decoration:none}
.nico-related-arrow{font-size:21px;color:#1769e0}
.nico-related-link strong{display:block;color:#102b4e;font-size:15px}
.nico-related-link small{display:block;margin-top:5px;color:#687c96;
 font-size:13px;line-height:1.5}
.nico-related-link:hover{border-color:#8fbaff;background:#f0f7ff}

/* Floating promotion */
.nico-floating-promo[hidden]{display:none!important}
.nico-floating-promo{position:fixed;right:22px;bottom:22px;z-index:55;
 width:min(340px,calc(100vw - 28px));max-height:min(75vh,640px);
 overflow:auto;box-sizing:border-box;padding:20px;background:#fff;
 color:#102b4e;border:1px solid #d9e7f7;border-radius:17px;
 box-shadow:0 16px 58px rgba(10,34,70,.2)}
.nico-promo-close{position:absolute;right:9px;top:8px;width:33px;height:33px;
 border:0;border-radius:50%;background:#eff4fb;color:#102b4e;
 font-size:24px;cursor:pointer}
.nico-promo-eyebrow{display:block;margin:0 34px 10px 0;color:#1769e0;
 font-size:11px;letter-spacing:.07em;font-weight:800}
.nico-floating-promo h3{font-size:19px;line-height:1.35;margin:10px 0;color:#102b4e}
.nico-floating-promo p{font-size:14px;line-height:1.6;margin:8px 0;color:#536980}
.nico-promo-img{display:block;width:100%;height:auto;max-height:200px;
 object-fit:contain;border-radius:10px}
.nico-promo-html{max-height:240px;overflow:auto;font-size:14px;overflow-wrap:anywhere}
.nico-promo-html img{max-width:100%;height:auto}
.nico-promo-html table{display:block;max-width:100%;overflow-x:auto}
.nico-promo-action{display:block;margin-top:14px;padding:11px 14px;
 text-align:center;border-radius:9px;background:#1769e0;color:#fff;
 text-decoration:none;font-weight:700;font-size:14px}
@media(max-width:640px){
 .nico-floating-promo{right:12px;bottom:12px;padding:15px;
 max-height:46vh;width:min(310px,calc(100vw - 24px))}
 .nico-promo-img{max-height:110px}
 .nico-related{padding:17px}
}

/* NC-C00R1-R5-F4 — Related articles, distinct image cards */
.nico-related {
  margin:30px 0 36px;
  background:transparent;
  border:0;
  padding:0;
}
.nico-related h2 {font-size:24px}
.nico-related-list {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:15px;
}
.nico-related-link {
  display:flex;
  flex-direction:column;
  padding:0;
  overflow:hidden;
  border-radius:15px;
  background:#fff;
  border:1px solid #dce7f4;
  box-shadow:0 7px 20px rgba(15,43,77,.06);
}
.nico-related-thumb {
  display:block;
  width:100%;
  height:155px;
  object-fit:cover;
  border-radius:0;
  margin:0;
}
.nico-related-fallback {
  display:grid;
  place-items:center;
  width:100%;
  height:155px;
  background:linear-gradient(135deg,#e6f1ff,#d6e8ff);
  font-size:35px;
}
.nico-related-link > span:last-child {
  display:block;
  padding:15px;
}
.nico-related-link strong {
  font-size:15px;
  line-height:1.45;
}
.nico-related-link small {
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  margin-top:8px;
}
@media(max-width:640px) {
  .nico-related-list {grid-template-columns:1fr}
  .nico-related-link {flex-direction:row}
  .nico-related-thumb,.nico-related-fallback {
    width:115px;
    min-width:115px;
    height:120px;
  }
}

/* Configuration preview — mirrors the public floating card */
.nico-promo-preview-panel {
  margin:24px 0 12px;
  padding:20px;
  background:#fff;
  border:1px solid #d8e6f7;
  border-radius:15px;
}
.nico-promo-preview-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.nico-promo-state {
  font-size:12px;
  font-weight:800;
  padding:6px 10px;
  border-radius:99px;
  background:#f0f2f5;
  color:#5c6676;
}
.nico-promo-state.is-active {
  color:#087447;
  background:#e4f7ed;
}
.nico-promo-preview-stage {
  display:flex;
  justify-content:flex-end;
  padding:20px;
  margin-top:15px;
  background:#edf3fa;
  border-radius:12px;
}
.nico-promo-preview-card {
  box-sizing:border-box;
  width:min(340px,100%);
  padding:18px;
  background:#fff;
  border:1px solid #dbe8f7;
  border-radius:15px;
  box-shadow:0 10px 28px #102b4e20;
  overflow-wrap:anywhere;
}
.nico-promo-preview-card small {
  color:#1769e0;
  font-weight:800;
  letter-spacing:.05em;
}
.nico-promo-preview-card img {
  display:block;
  width:100%;
  max-height:185px;
  object-fit:contain;
  margin:12px auto;
  border-radius:10px;
}
.nico-promo-preview-card img[hidden] {display:none}
.nico-promo-preview-card h3 {
  font-size:18px;
  margin:12px 0;
}
.nico-promo-preview-card p {
  color:#556d88;
  font-size:14px;
  line-height:1.55;
}
#nico-promo-preview-button {
  display:block;
  text-align:center;
  background:#1769e0;
  color:white;
  font-weight:700;
  padding:11px;
  border-radius:9px;
}

/* NC-C00R1-R5-F5 — Compact horizontal related cards */
.nico-related .nico-related-list {
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

.nico-related .nico-related-link {
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:0;
  padding:0;
  min-height:104px;
  overflow:hidden;
}

.nico-related .nico-related-thumb,
.nico-related .nico-related-fallback {
  display:block;
  flex:0 0 120px;
  width:120px;
  min-width:120px;
  height:104px;
  margin:0;
  border-radius:0;
  object-fit:cover;
}

.nico-related .nico-related-fallback {
  display:grid;
  place-items:center;
  font-size:28px;
}

.nico-related .nico-related-link > span:last-child {
  flex:1;
  min-width:0;
  padding:12px 16px;
}

.nico-related .nico-related-link strong {
  font-size:15px;
  line-height:1.4;
}

.nico-related .nico-related-link small {
  font-size:12px;
  line-height:1.5;
  margin-top:6px;
}

@media(max-width:640px) {
  .nico-related .nico-related-link {
    min-height:95px;
  }

  .nico-related .nico-related-thumb,
  .nico-related .nico-related-fallback {
    flex-basis:92px;
    width:92px;
    min-width:92px;
    height:95px;
  }

  .nico-related .nico-related-link > span:last-child {
    padding:10px 12px;
  }

  .nico-related .nico-related-link strong {
    font-size:13px;
  }
}
