/* 칼럼 (ColumnsScreen) */
#columns .cbody{flex:1;min-height:0; /* 페이지 전체가 스크롤 */margin-top:20px;display:grid;gap:26px;align-content:start;padding-bottom:12px}

/* 머리 배너 */
.chero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:40px;align-items:center;background:var(--card);border-radius:36px;padding:40px 52px}
.chero h2{font-family:var(--display);font-weight:400;font-size:44px;line-height:1.3;margin:0 0 12px;text-wrap:balance}
.chero h2 em{font-style:normal;color:var(--stem)}
.chero p{font-size:19px;color:var(--muted);margin:0;max-width:34em}
.chero img{width:min(100%,220px);justify-self:center}

/* 골라 보기 */
.cbar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* 칼럼 카드 */
.cgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}
.ccard{position:relative;background:var(--card);border:2px solid transparent;border-radius:24px;overflow:hidden;transition:border-color .15s,transform .15s}
.ccard:hover{border-color:var(--leaf-soft);transform:translateY(-3px)}
.cc-open{display:flex;flex-direction:column;gap:10px;align-items:flex-start;width:100%;text-align:left;background:none;border:0;padding:0 24px 22px;color:var(--ink)}
.cc-open:focus-visible{outline:3px solid var(--leaf);outline-offset:-3px;border-radius:24px}
.cart{position:relative;margin:0 -24px 4px;width:calc(100% + 48px);aspect-ratio:16/10;background:#fefdfa;border-bottom:2px solid var(--leaf-soft);display:grid;grid-template-rows:minmax(0,1fr);place-items:center;overflow:hidden}
.cart img{max-width:74%;max-height:86%;object-fit:contain;transition:transform .25s}
.ccard:hover .cart img{transform:scale(1.05) rotate(-2deg)}
.cart figcaption{position:absolute;left:16px;bottom:12px;background:var(--card);color:var(--stem);font-family:var(--display);font-size:14px;padding:3px 12px;border-radius:999px;box-shadow:0 2px 8px rgba(75,122,60,.12)}
.cc-done{position:absolute;right:16px;bottom:12px;background:var(--leaf);color:#fff;font-family:var(--display);font-size:13px;padding:3px 12px;border-radius:999px}
.ccard.read .cart img{opacity:.85}
.cc-open b{font-family:var(--display);font-weight:400;font-size:21px;line-height:1.4}
.clead{margin:0;color:var(--stem);font-size:16px}
.cc-meta{color:var(--muted);font-size:14px}
.cc-heart{position:absolute;top:12px;right:12px;width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.9);color:#d0705a;font-size:22px;line-height:1;box-shadow:0 2px 8px rgba(75,122,60,.12);transition:transform .15s}
.cc-heart:hover{transform:scale(1.12)}
.cc-heart[aria-pressed="true"]{background:var(--cheek-soft)}
.cempty{grid-column:1/-1;display:grid;place-items:center;text-align:center;color:var(--muted);padding:30px 0}
.cempty img{width:120px}

/* 읽기 화면 */
.creader{position:fixed;inset:0;z-index:20;background:rgba(58,42,34,.35);display:grid;place-items:center;padding:24px 16px}
.cr-panel{--fs:1;width:min(860px,100%);height:min(92vh,1000px);background:var(--bg);border-radius:32px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px rgba(58,42,34,.25);animation:crin .25s ease}
@keyframes crin{from{transform:translateY(16px);opacity:0}}
.cr-top{display:flex;align-items:center;gap:8px;padding:14px 18px;background:var(--card);border-bottom:2px solid var(--leaf-soft)}
.cr-prog{flex:1;height:8px;background:var(--leaf-soft);border-radius:8px;overflow:hidden;margin-right:8px}
.cr-prog i{display:block;height:100%;width:0;background:var(--leaf)}
.cr-top .ghost{padding:6px 14px;font-size:15px}
.cr-scroll{flex:1;overflow-y:auto;padding:28px 44px 36px}
.cr-art{margin:0 0 18px;background:#fefdfa;border:2px solid var(--leaf-soft);border-radius:24px;height:240px;display:grid;grid-template-rows:minmax(0,1fr);place-items:center;position:relative;overflow:hidden}
.cr-art img{max-height:86%;max-width:60%;object-fit:contain}
.cr-art figcaption{position:absolute;left:16px;bottom:12px;background:var(--card);color:var(--stem);font-family:var(--display);font-size:14px;padding:3px 12px;border-radius:999px}
.cr-scroll h2{font-family:var(--display);font-weight:400;font-size:34px;line-height:1.35;margin:10px 0 6px;text-wrap:balance}
.cr-meta{color:var(--muted);font-size:14px;margin:0 0 16px}
.cr-meta a{color:var(--stem)}
.cr-lead{font-family:var(--display);color:var(--stem);font-size:20px;margin:0 0 20px;padding:14px 20px;background:var(--leaf-soft);border-radius:18px}
.cr-body{font-size:calc(18px * var(--fs));line-height:1.9}
.cr-body p{margin:0 0 1em;word-break:keep-all}
.cr-body ul{display:grid;gap:10px;padding-left:22px}
.cr-foot{margin-top:28px;display:grid;gap:16px}
.cr-end{display:flex;gap:16px;align-items:center;background:var(--card);border-radius:22px;padding:16px 20px}
.cr-end img{width:72px;flex:none}
.cr-end p{margin:0}
.cr-act{display:flex;gap:10px;flex-wrap:wrap}
.cr-act .btn{padding:12px 26px;font-size:18px}
.cr-nav{display:flex;justify-content:space-between;gap:10px}
.cr-nav .ghost{font-size:15px;max-width:48%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.noscroll{overflow:hidden}

.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:1100px){.cgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.chero{grid-template-columns:1fr;padding:28px}.cgrid{grid-template-columns:1fr}.cr-scroll{padding:22px}.cr-art{height:180px}}

/* 분류·골라 보기 버튼: 배경과 구분되게 흰 바탕 + 또렷한 테두리, 고른 것은 진한 초록 */
#columns .chip{background:var(--card);border:2px solid #6f9a58;color:var(--stem);font-family:var(--display);box-shadow:0 2px 6px rgba(75,122,60,.08)}
#columns .chip:hover{border-color:var(--stem)}
#columns .chip[aria-pressed="true"]{background:var(--stem);border-color:var(--stem);color:#fff}

.ctoast{position:fixed;left:50%;bottom:32px;transform:translateX(-50%);z-index:30;background:var(--stem);color:var(--cream);font-family:var(--display);font-size:18px;padding:12px 26px;border-radius:999px;box-shadow:0 8px 24px rgba(58,42,34,.2);animation:crin .25s ease}

/* 카드 배지: 전문의·병원 칼럼, 사연 + 전문의 답변 */
.ctags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ctag{display:inline-block;font-family:var(--display);font-size:13px;padding:3px 10px;border-radius:999px}
.ctag.pro{background:#2d5a23;color:#fff}
.ctag.qa{background:var(--cream);color:#8a5a00;box-shadow:inset 0 0 0 1.5px #e7c66a}
