/* church-bulletin.css — 교회 주보 도구 전용. A4 가로 한 장, 두 단.
   원래 페이지의 Ctrl+P 는 templates/tool.php 공용 규칙(.hpn-print-host / .hpn-noprint)이 담당한다. */

.cb-scroll{overflow-x:auto}
.cb-sheet{background:#fff;color:#0F172A;border:1px solid #E2E8F0;border-radius:16px;
  box-shadow:0 10px 40px -20px rgba(2,6,23,.25);padding:26px 28px;min-width:720px;aspect-ratio:297/210;
  display:flex;flex-direction:column;font-feature-settings:"tnum" 1}
.cb-top{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;border-bottom:2px solid #0F172A;padding-bottom:10px}
.cb-church{font-size:22px;font-weight:800;letter-spacing:-.01em;margin:0}
.cb-motto{font-size:12px;color:#64748B;margin:3px 0 0}
.cb-date{text-align:right;font-size:12px;color:#475569;line-height:1.5}
.cb-date b{display:block;font-size:14px;color:#0F172A}
.cb-date span{display:block}

.cb-cols{display:grid;grid-template-columns:1fr 1fr;gap:26px;flex:1;padding-top:14px}
.cb-col+.cb-col{border-left:1px dashed #CBD5E1;padding-left:26px}
.cb-h{font-size:13px;font-weight:800;color:#0F172A;margin:0 0 8px;padding-left:9px;border-left:3px solid #334155}
.cb-h span{font-weight:600;color:#64748B;margin-left:4px}
.cb-h2{margin-top:16px}

.cb-order{width:100%;border-collapse:collapse}
.cb-order th,.cb-order td{font-size:12px;line-height:1.45;padding:4px 3px;border-bottom:1px dotted #E2E8F0;vertical-align:top;text-align:left}
.cb-order th{width:78px;font-weight:700;color:#0F172A;white-space:nowrap}
.cb-order td{color:#334155;word-break:keep-all}
.cb-order td.cb-by{width:72px;text-align:right;color:#64748B;white-space:nowrap}

.cb-upnote{font-size:10.5px;color:#64748B;margin:5px 0 0}
.cb-times{display:flex;flex-wrap:wrap;gap:3px 14px;align-items:baseline;margin-top:10px;font-size:11px;color:#475569}
.cb-times b{font-size:11.5px;color:#0F172A}
.cb-sermon{margin-top:12px;border:1px solid #E2E8F0;background:#F8FAFC;border-radius:10px;padding:10px 12px}
.cb-sk{font-size:10.5px;letter-spacing:.14em;color:#334155;font-weight:700;margin:0}
.cb-st{font-size:14px;font-weight:800;margin:3px 0 0;word-break:keep-all}
.cb-sx{font-size:12px;color:#475569;margin:2px 0 0}
.cb-sp{font-size:11.5px;color:#64748B;margin:2px 0 0}

.cb-col ol{margin:0;padding-left:0;list-style:none}
.cb-col li::before{content:'· ';color:#94A3B8}
.cb-col li{font-size:12px;line-height:1.55;color:#334155;margin-bottom:3px;word-break:keep-all}
.cb-empty{font-size:12px;color:#94A3B8;margin:0}

.cb-foot{display:flex;flex-wrap:wrap;gap:3px 14px;align-items:baseline;border-top:1px solid #E2E8F0;padding-top:8px;margin-top:10px;font-size:11px;color:#64748B}
.cb-foot b{font-size:12px;color:#0F172A}

.cb-layout{display:grid;gap:32px;align-items:start}
@media (min-width:1280px){ .cb-layout{grid-template-columns:minmax(0,5fr) minmax(0,7fr)} }
.cb-row{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,5fr) minmax(0,3fr) auto 28px;gap:6px;align-items:center}
.cb-up{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:#64748B;white-space:nowrap;cursor:pointer}
.cb-up input{accent-color:#0F172A}
.cb-row input{font-variant-numeric:tabular-nums}
.cb-chip{border:1px solid #D1D5DB}

@media (min-width:1280px){ .cb-sticky{position:sticky;top:88px} }

@media print{
  @page{size:A4 landscape;margin:9mm}
  .cb-scroll{overflow:visible!important}
  .cb-sheet{border:none!important;box-shadow:none!important;border-radius:0!important;padding:0!important;
    min-width:0!important;aspect-ratio:auto!important;min-height:0!important}
  .cb-cols{flex:none;padding-top:10px;gap:20px}
  .cb-col+.cb-col{padding-left:20px}
  .cb-order th,.cb-order td{padding:3px 3px;font-size:11.5px}
  .cb-col li{font-size:11.5px;margin-bottom:2px}
  .cb-sticky{position:static!important}
}
