/* KeraLotto V25: responsive editorial guide template. Scoped to generated article pages. */
.kl25-detail-page.kl12-article-shell{width:min(1220px,calc(100% - 44px));max-width:1220px;margin:26px auto 38px;padding:0;min-height:0}
.kl25-article-grid{display:grid;grid-template-columns:minmax(0,1fr) 295px;align-items:start;gap:32px}
.kl25-detail-page .kl12-article{min-width:0;max-width:none;font-size:17px;line-height:1.78;color:#263b3b}
.kl25-detail-page .kl12-breadcrumb{margin:0 0 16px;color:#647b79;font-size:13px}
.kl25-detail-page .kl12-article h1{font-size:clamp(2rem,3.4vw,3.05rem);line-height:1.15;letter-spacing:-.042em;margin:8px 0 16px;color:#102f31}
.kl25-detail-page .kl12-eyebrow{margin:0 0 10px!important;color:#107665;font-size:11px;letter-spacing:.13em}
.kl25-detail-page .kl25-summary-block{margin:16px 0 16px;padding:18px 22px;background:#eef7f3;border:1px solid #d6eae1;border-left:4px solid #17876f;border-radius:12px}
.kl25-detail-label{display:block;color:#207463;font-size:10px;font-weight:800;letter-spacing:.12em;line-height:1.5}
.kl25-detail-page .kl12-summary{color:#315451;font-size:1.08rem;line-height:1.66;margin:6px 0 0}
.kl25-byline-block{display:flex;align-items:center;gap:12px;margin:18px 0 20px;padding:12px 0;border-bottom:1px solid #e5eeea}
.kl25-byline-mark{flex:none;width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#133c3c;color:white;font-weight:850}
.kl25-detail-page .kl12-byline{font-size:13px;color:#566f6c;margin:3px 0 0}
.kl25-detail-page .kl12-feature{margin:18px 0 22px}
.kl25-detail-page .kl12-feature img{border-radius:14px;aspect-ratio:16/9;object-fit:cover;background:#f1f5f3}
.kl25-detail-page .kl12-figure figcaption{font-size:12.5px;color:#637471;margin-top:7px}
.kl25-detail-page .kl12-article-body{font-size:1em;line-height:1.83}
.kl25-detail-page .kl12-article-body p{margin:12px 0;color:#2a3c3e}
.kl25-detail-page .kl12-article-body li{margin:6px 0}
.kl25-detail-page .kl12-article h2{font-size:clamp(1.4rem,2.4vw,1.77rem);margin:28px 0 12px;color:#123b3b;line-height:1.3}
.kl25-detail-page .kl12-article h3{font-size:1.14rem;margin:23px 0 8px;color:#145149}
.kl25-detail-page .kl12-article a{color:#086c66}
.kl25-detail-page .kl12-toc{background:#f5faf8;border-color:#dceae4;margin:22px 0 25px}
.kl25-detail-page .kl12-toc summary{color:#174640}
.kl25-detail-page .kl12-article-end{border-radius:12px;background:#f3f8f6;border:1px solid #e0ebe6;margin:24px 0;padding:16px 19px}
.kl25-detail-page .kl12-article-end p{margin:5px 0;font-size:14px}
.kl25-detail-page .kl12-related a{background:#f6faf8;border-color:#e1ebe7;color:#0e5752}
.kl25-detail-page .kl12-faq details{border-color:#e0eae5}
.kl25-aside{position:sticky;top:22px;display:grid;gap:15px;font-size:14px}
.kl25-side-card{border:1px solid #dfebe6;background:#fff;padding:20px;border-radius:15px;box-shadow:0 7px 24px rgba(14,58,55,.035)}
.kl25-aside h2{font-size:18px;line-height:1.3;color:#153a3b;margin:7px 0 12px}
.kl25-side-toc ol{margin:0;padding:0;list-style:none;display:grid;gap:0;counter-reset:toc}
.kl25-side-toc li{margin:0;border-bottom:1px solid #edf2f0;counter-increment:toc}
.kl25-side-toc li:last-child{border:0}
.kl25-side-toc li a{display:block;font-size:13px;color:#47625e;line-height:1.4;text-decoration:none;padding:10px 0}
.kl25-side-toc li a::before{content:counter(toc,decimal-leading-zero);font-size:10px;font-weight:800;color:#18836f;margin-right:9px}
.kl25-side-toc li a:hover{color:#08725b}
.kl25-source-card{background:#123c3b;color:#e5f5ed;border-color:#123c3b}
.kl25-source-card h2{color:white}
.kl25-source-card p{color:#d1e8de;font-size:13px;line-height:1.65}
.kl25-source-card .kl25-detail-label{color:#f3c778}
.kl25-side-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:9px;background:#f4c579;color:#183c39!important;padding:10px 14px;font-weight:800;text-decoration:none}
.kl25-guides-card>a{display:block;font-size:13px;font-weight:700;color:#086e5f;border-top:1px solid #eef3f0;padding:10px 0}
@media(min-width:981px){.kl25-detail-page .kl12-toc{display:none}}
@media(max-width:980px){.kl25-article-grid{grid-template-columns:minmax(0,1fr)}.kl25-aside{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.kl25-side-toc{display:none}.kl25-guides-card{grid-column:span 2}}
@media(max-width:640px){.kl25-detail-page.kl12-article-shell{width:calc(100% - 28px);margin:17px auto 30px;padding:0}.kl25-article-grid{gap:16px}.kl25-detail-page .kl12-article{font-size:16px;line-height:1.78}.kl25-detail-page .kl12-article h1{font-size:clamp(1.85rem,7.8vw,2.35rem);line-height:1.17;margin:8px 0 14px}.kl25-detail-page .kl25-summary-block{padding:14px 16px;margin:14px 0}.kl25-detail-page .kl12-summary{font-size:16px;line-height:1.62}.kl25-detail-page .kl12-feature{margin:15px 0 18px}.kl25-detail-page .kl12-article h2{font-size:1.43rem;margin:26px 0 12px}.kl25-detail-page .kl12-article h3{font-size:1.12rem}.kl25-detail-page .kl12-article-body p{margin:11px 0}.kl25-detail-page .kl12-toc details{padding:14px}.kl25-detail-page .kl12-related ul{grid-template-columns:1fr}.kl25-aside{grid-template-columns:1fr}.kl25-guides-card{grid-column:auto}.kl25-side-card{padding:17px}.kl25-detail-page .kl12-article-end{padding:14px}}

/* V26 refinement: editorial reading rhythm and related-guides section.
   Scoped to guide detail pages only; no PHP/data changes. */
.kl25-detail-page .kl12-article{font-size:16.5px;line-height:1.68}
.kl25-detail-page .kl12-article-body{line-height:1.7}
.kl25-detail-page .kl12-article-body p{margin:10px 0 13px}
.kl25-detail-page .kl12-article-body li{margin:4px 0}
.kl25-detail-page .kl12-article h2{margin:25px 0 10px}
.kl25-detail-page .kl12-article h3{margin:19px 0 7px}
.kl25-detail-page .kl12-faq{margin:30px 0 28px}
.kl25-detail-page .kl12-sources{margin:26px 0}
/* Use full content width for heading followed by an evenly aligned card grid. */
.kl25-detail-page .kl12-related{display:block;margin:28px 0 26px;padding-top:21px;border-top:1px solid #dceae4}
.kl25-detail-page .kl12-related h2{font-size:clamp(1.3rem,2vw,1.55rem);line-height:1.25;margin:0 0 14px}
.kl25-detail-page .kl12-related ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;align-items:stretch}
.kl25-detail-page .kl12-related li{min-width:0;margin:0;display:flex}
.kl25-detail-page .kl12-related li a{width:100%;display:flex;align-items:center;min-height:68px;padding:14px 16px;border:1px solid #dbe9e3;border-radius:11px;background:#f5faf7;color:#0c514b;font-size:14px;font-weight:700;line-height:1.42;text-decoration:none;overflow-wrap:anywhere;transition:background-color .15s,border-color .15s}
.kl25-detail-page .kl12-related li a:hover,.kl25-detail-page .kl12-related li a:focus-visible{background:#e9f6ef;border-color:#81bdaa;outline-offset:2px}
@media(max-width:640px){
  .kl25-detail-page .kl12-article{font-size:16px;line-height:1.65}
  .kl25-detail-page .kl12-article-body{line-height:1.68}
  .kl25-detail-page .kl12-article-body p{margin:10px 0 12px}
  .kl25-detail-page .kl12-article h2{margin:23px 0 10px}
  .kl25-detail-page .kl12-article h3{margin:18px 0 7px}
  .kl25-detail-page .kl12-related{margin:25px 0 22px;padding-top:17px}
  .kl25-detail-page .kl12-related h2{font-size:1.35rem;margin:0 0 12px}
  .kl25-detail-page .kl12-related ul{grid-template-columns:1fr;gap:9px}
  .kl25-detail-page .kl12-related li a{min-height:55px;padding:12px 14px;font-size:15px;line-height:1.4}
}
