/* 자녀를 위한 3분 축복기도 달력 — 홈 토글 섹션 + /kids-prayer/ 페이지가 함께 쓴다. */
.kp{--kp-blue:#5aa9f0;--kp-blue-d:#2f6fb3;--kp-tint:#eaf3fd;--kp-edge:#c9def5;font-family:Pretendard,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;color:var(--ink,#282720)}
.kp *{box-sizing:border-box}
.kp button{font-family:inherit}
.kp-toggle{display:flex;align-items:center;gap:14px;width:100%;min-height:64px;padding:14px 18px;border:1px solid var(--kp-edge);border-radius:var(--r-md,12px);background:var(--kp-tint);color:var(--kp-blue-d);font:inherit;text-align:left;cursor:pointer}
.kp-toggle:hover,.kp-toggle:focus-visible{border-color:var(--kp-blue-d)}
.kp-toggle:focus-visible,.kp-seg button:focus-visible,.kp-nav button:focus-visible,.kp-today-btn:focus-visible,.kp-name input:focus-visible,.kp-cal-toggle:focus-visible,.kp-cell:focus-visible,.kp-mx:focus-visible,.kp-mnav button:focus-visible{outline:2px solid var(--kp-blue-d);outline-offset:2px}
.kp-toggle .kp-t{flex:1;min-width:0}
.kp-toggle b{display:block;font-size:var(--fs-lg,18px);line-height:1.4;word-break:keep-all}
.kp-toggle small{display:block;margin-top:2px;font-size:var(--fs-sm,14px);color:#4a6a8a;line-height:1.5;word-break:keep-all}
.kp-badge{flex:none;font-size:var(--fs-xs,12px);font-weight:700;letter-spacing:.04em;padding:2px 9px;border-radius:999px;background:#fff;color:var(--kp-blue-d);border:1px solid var(--kp-edge)}
.kp-chev{flex:none;width:22px;height:22px;transition:transform .2s}
.kp-toggle[aria-expanded="true"] .kp-chev,.kp-cal-toggle[aria-expanded="true"] .kp-chev{transform:rotate(180deg)}
.kp-panel{margin-top:14px}
.kp-panel[hidden],.kp-cal[hidden]{display:none}

/* 언어 · 이름 */
.kp-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 14px}
.kp-seg{display:inline-flex;border:1px solid var(--kp-edge);border-radius:999px;overflow:hidden;background:#fff}
.kp-seg button{min-height:40px;min-width:64px;padding:0 16px;border:0;background:none;font-size:var(--fs-sm,14px);color:#4a6a8a;cursor:pointer}
.kp-seg button[aria-pressed="true"]{background:var(--kp-blue-d);color:#fff;font-weight:700}
.kp-name{white-space:nowrap;display:inline-flex;align-items:center;gap:8px;margin-left:auto;font-size:var(--fs-sm,14px);color:#4a6a8a}
.kp-name input{width:11em;max-width:100%;min-height:40px;padding:0 12px;border:1px solid var(--kp-edge);border-radius:var(--r-sm,8px);font:inherit;font-size:var(--fs-md,16px);background:#fff;color:var(--ink,#282720)}

/* 오늘의 기도 */
.kp-hero{padding:20px 22px;border-radius:var(--r-md,12px);background:linear-gradient(135deg,#5aa9f0,#7cbcf5);color:#fff}
.kp-k{margin:0;font-size:var(--fs-sm,14px);letter-spacing:.04em}
.kp-hero .kp-k{opacity:.95}
.kp-hero h3{margin:2px 0 8px;font-size:var(--fs-2xl,24px);line-height:1.35}
.kp-txt{margin:0 0 10px;font-size:var(--fs-md,16px);line-height:1.85;word-break:keep-all}
.kp-hero .kp-txt{font-size:var(--fs-lg,18px)}
.kp-done{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:var(--fs-sm,14px);cursor:pointer}
.kp input[type=checkbox]{width:22px;height:22px;accent-color:var(--kp-blue-d);cursor:pointer}

/* 성경 본문(작게) */
.kp-verse{margin:0 0 10px;padding-left:12px;border-left:3px solid rgba(255,255,255,.55);font-size:var(--fs-sm,14px);line-height:1.7;word-break:keep-all;opacity:.95}
.kp-verse sup{margin-right:3px;font-size:.75em;opacity:.8}
.kp-verse .kp-ver{display:block;margin-top:2px;font-size:var(--fs-xs,12px);letter-spacing:.02em;opacity:.8}
.kp-modal .kp-verse{border-left-color:#c9def5;color:#4a5b70;opacity:1}

/* 달력 열기 버튼 */
.kp-cal-toggle{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;margin:12px 0 0;padding:0 16px;border:1px solid var(--kp-edge);border-radius:var(--r-md,12px);background:#fff;color:var(--kp-blue-d);font-size:var(--fs-md,16px);font-weight:600;cursor:pointer}
.kp-cal-toggle:hover{border-color:var(--kp-blue-d);background:var(--kp-tint)}
.kp-cal{margin-top:14px}
.kp-calbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 6px}
.kp-nav{display:inline-flex;align-items:center;gap:4px}
.kp-nav button{width:44px;height:44px;border:1px solid var(--kp-edge);border-radius:50%;background:#fff;color:var(--kp-blue-d);font-size:20px;line-height:1;cursor:pointer}
.kp-nav b{min-width:7.5em;text-align:center;font-size:var(--fs-lg,18px)}
.kp-today-btn{min-height:40px;padding:0 16px;border:1px solid var(--kp-edge);border-radius:999px;background:#fff;color:var(--kp-blue-d);font-size:var(--fs-sm,14px);cursor:pointer}
.kp-hint{margin:0 0 10px;font-size:var(--fs-sm,14px);color:#4a6a8a;text-align:center}

/* 이달 달력(성경 위치만) */
.kp-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.kp-wd{padding:6px 0;text-align:center;font-size:var(--fs-sm,14px);letter-spacing:.12em;color:var(--kp-blue);font-weight:700}
.kp-cell{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;min-height:76px;padding:8px 9px;border:2px solid transparent;border-radius:var(--r-sm,8px);background:#f3f6fa;color:#1f2f44;text-align:left;cursor:pointer}
button.kp-cell:hover{background:#e3eefb}
.kp-cell.kp-blank{background:transparent;cursor:default;min-height:0}
.kp-cell i{font-style:normal;font-size:1.15rem;line-height:1.2;color:var(--kp-blue-d)}
.kp-cell .kp-ref{font-size:var(--fs-sm,14px);font-weight:700;line-height:1.35;word-break:keep-all;overflow-wrap:anywhere}
.kp-cell.kp-today{border-color:var(--kp-blue);background:#fff;box-shadow:0 0 0 3px #d6e8fb}
.kp-cell.kp-done{background:#e3f1e7}
.kp-ck{display:none;position:absolute;top:6px;right:8px;color:#2f8a4a;font-weight:700}
.kp-cell.kp-done .kp-ck{display:block}
.kp-pr{display:none}
.kp-foot{margin:14px 0 0;font-size:var(--fs-sm,14px);line-height:1.8;color:var(--muted,#66625a);word-break:keep-all;text-align:center}
.kp-foot a{color:var(--kp-blue-d);text-underline-offset:3px}
.kp-err{padding:14px;color:var(--muted,#66625a)}

/* 날짜 눌렀을 때 뜨는 기도 팝업 */
body.kp-lock{overflow:hidden}
.kp-modal-bg{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(40,39,32,.45);font-family:Pretendard,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;animation:kpFade .2s ease both}
.kp-modal{position:relative;width:min(480px,100%);max-height:calc(100dvh - 40px);display:flex;flex-direction:column;overflow:hidden;background:#fff;color:#282720;border-radius:var(--r-md,12px);box-shadow:0 30px 70px -20px rgba(40,39,32,.5);animation:kpUp .3s cubic-bezier(.2,.9,.25,1.1) both}
.kp-modal .kp-mbody{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:26px 26px 8px}
.kp-modal .kp-k{color:var(--kp-blue-d,#2f6fb3);font-weight:700}
.kp-modal h3{margin:2px 0 10px;padding-right:36px;font-size:var(--fs-2xl,24px);line-height:1.35;color:#1f2f44}
.kp-modal .kp-txt{font-size:var(--fs-lg,18px);line-height:1.9;margin:0 0 6px}
.kp-mx{position:absolute;top:8px;right:8px;width:44px;height:44px;border:0;background:none;border-radius:12px;color:#66625a;font-size:28px;line-height:1;cursor:pointer}
.kp-mx:hover{background:#f1f1ee}
.kp-mnav{flex:none;display:flex;gap:10px;padding:10px 26px 20px;border-top:1px solid #eef0f3}
.kp-mnav button{flex:1;min-height:46px;border:1px solid #c9def5;border-radius:999px;background:#fff;color:#2f6fb3;font-size:var(--fs-md,16px);font-weight:600;cursor:pointer}
.kp-mnav button:disabled{opacity:.4;cursor:default}
@keyframes kpFade{from{opacity:0}to{opacity:1}}@keyframes kpUp{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}

@media(max-width:700px){
 .kp-name{margin-left:0;width:100%}.kp-name input{flex:1;width:auto}
 .kp-grid{grid-template-columns:minmax(0,1fr);gap:6px}
 .kp-wd,.kp-cell.kp-blank{display:none}
 .kp-cell{flex-direction:row;align-items:center;gap:12px;min-height:52px;padding:8px 44px 8px 14px}
 .kp-cell i{min-width:1.6em;text-align:right}
 .kp-ck{top:50%;transform:translateY(-50%);right:14px}
 .kp-hero{padding:18px}
 .kp-modal-bg{align-items:flex-end;padding:0}
 .kp-modal{width:100%;max-height:88dvh;border-radius:22px 22px 0 0}
 .kp-modal .kp-mbody{padding:22px 20px 6px}.kp-mnav{padding:10px 20px calc(14px + env(safe-area-inset-bottom))}
}
@media print{
 .kp-toggle,.kp-bar,.kp-hero-box,.kp-cal-toggle,.kp-calbar,.kp-hint,.kp-foot a,.kp-modal-bg{display:none!important}
 .kp-panel,.kp-cal{display:block!important}
 .kp-grid{grid-template-columns:repeat(7,1fr);gap:4px}.kp-wd{display:block}.kp-cell.kp-blank{display:block;background:none}
 .kp-cell{display:flex;flex-direction:column;break-inside:avoid;background:#fff;border:1px solid #bbb;min-height:0;padding:4px 5px;gap:1px}
 .kp-cell .kp-ref{font-size:11px}.kp-pr{display:block;font-size:9px;line-height:1.4;word-break:keep-all}.kp-ck{display:none!important}
}
@media(prefers-reduced-motion:reduce){.kp-chev{transition:none}.kp-modal,.kp-modal-bg{animation:none}}
