/* One conference series — /conferences/<slug>/ (webapp/conference_pages.py).
   Server-rendered so a crawler reads the deadline without running JavaScript.
   Builds on landing.css + seo-pages.css tokens, so light and dark both follow. */
.cp{ --hot:#e5484d; --warm:#c46a00; --cool:#1f8a4c; max-width:1080px; }
[data-theme="dark"] .cp{ --hot:#ff6b6f; --warm:#ffb056; --cool:#54dca0; }

.cp-head{ max-width:820px; }
.cp-head h1{ font-family:var(--disp); font-weight:600; letter-spacing:-.025em; line-height:1.08;
  font-size:clamp(2rem,5vw,3.2rem); color:var(--ink); margin:.8rem 0 .6rem; }
.cp-name{ color:var(--soft); font-size:clamp(1rem,1.8vw,1.15rem); line-height:1.55; margin:0; }

.cp-count{ display:inline-flex; flex-direction:column; gap:.15rem; margin-top:1.4rem;
  padding:.85rem 1.2rem; border-radius:16px; border:1px solid var(--line); background:var(--card);
  border-left:4px solid var(--muted); }
.cp-count b{ font-family:var(--disp); font-weight:600; font-size:1.5rem; line-height:1.15; color:var(--ink); }
.cp-count span{ font-size:.86rem; color:var(--muted); }
.cp-count.hot{ border-left-color:var(--hot); } .cp-count.hot b{ color:var(--hot); }
.cp-count.warm{ border-left-color:var(--warm); } .cp-count.warm b{ color:var(--warm); }
.cp-count.cool{ border-left-color:var(--cool); } .cp-count.cool b{ color:var(--cool); }

.cp-grid{ display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:1.2rem;
  margin-top:clamp(1.8rem,4vw,2.6rem); align-items:start; }
.cp-facts{ margin:0; border:1px solid var(--line); border-radius:18px; background:var(--card);
  box-shadow:var(--shadow-s); overflow:hidden; }
.cp-facts > div{ display:grid; grid-template-columns:minmax(120px,38%) 1fr; gap:.8rem;
  padding:.85rem 1.2rem; border-top:1px solid var(--line); }
.cp-facts > div:first-child{ border-top:0; }
.cp-facts dt{ font:600 .74rem/1.5 var(--mono); letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
.cp-facts dd{ margin:0; color:var(--ink); font-weight:600; line-height:1.5; overflow-wrap:anywhere; }

.cp-cta{ border:1px solid var(--line-2); border-radius:18px; padding:1.3rem 1.3rem 1.2rem;
  background:var(--bg-2); display:flex; flex-direction:column; gap:.7rem; }
.cp-cta h2{ font-family:var(--disp); font-weight:600; font-size:1.3rem; line-height:1.25; margin:0; color:var(--ink); }
.cp-cta p{ margin:0; color:var(--soft); font-size:.93rem; line-height:1.6; }
.cp-cta .btn-iris, .cp-cta .btn-ghost{ text-align:center; justify-content:center; }
.cp-cta small{ color:var(--muted); font-size:.8rem; line-height:1.5; }

.cp-links{ display:flex; flex-wrap:wrap; gap:.6rem 1.4rem; align-items:center; margin-top:1.6rem !important; }
.cp-links a{ color:var(--navy); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.cp-official{ font-size:1.02rem; }

.cp-related{ list-style:none; padding:0; margin:0 auto; max-width:1080px; display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:.7rem; }
.cp-related a{ display:flex; flex-direction:column; gap:.2rem; height:100%; box-sizing:border-box;
  padding:.9rem 1rem; border:1px solid var(--line); border-radius:14px; background:var(--card);
  text-decoration:none; transition:border-color .2s, transform .2s; }
.cp-related a:hover{ border-color:var(--violet); transform:translateY(-1px); }
.cp-related b{ color:var(--ink); font-size:1rem; }
.cp-related span{ color:var(--muted); font-size:.82rem; }

.cp-note{ margin:clamp(2.4rem,5vw,3.4rem) auto 0; max-width:760px; text-align:center;
  color:var(--muted); font-size:.84rem; line-height:1.6; }

@media (max-width:760px){
  .cp-grid{ grid-template-columns:1fr; }
  .cp-facts > div{ grid-template-columns:1fr; gap:.15rem; }
}
