/* =========================================================================
   어드민 관리 콘텐츠 (v42.4) — 오늘 진료 · 띠 공지 · 카톡 · /news
   v41 규칙: 카드·그림자·필 버튼 없음. 헤어라인과 여백으로 나눈다. 사각 4px.
   상태는 색만으로 말하지 않는다(색 + 글자 + 점 모양).
   ========================================================================= */

/* ── 오늘 진료 ── */
.gy-now{display:inline-flex;align-items:center;gap:8px;margin-right:14px;font-size:12.5px;color:var(--copy);white-space:nowrap}
.gy-now b{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--ink)}
.gy-now b::before{content:"";width:7px;height:7px;border-radius:1px;background:var(--mute)}
.gy-now.is-open b{color:#1E6B45}
.gy-now.is-open b::before{border-radius:50%;background:#1E8A55;box-shadow:0 0 0 3px rgba(30,138,85,.16);animation:gyPulse 2.4s ease-in-out infinite}
.gy-now.is-lunch b::before{background:#B5651D;transform:rotate(45deg)}
@keyframes gyPulse{50%{box-shadow:0 0 0 6px rgba(30,138,85,0)}}
.gy-now.is-big{display:flex;flex-wrap:wrap;gap:4px 10px;margin:0 0 14px;font-size:15px}
.gy-now.is-big b{font-size:17px}
.gy-dark .gy-now,.gh-drawer .gy-now{color:var(--copy)}
.gy-off{margin:-4px 0 14px;font-size:14.5px;color:var(--copy);line-height:1.7}
.gy-off b{color:var(--ink);font-weight:700;margin-right:4px}
@media (prefers-reduced-motion:reduce){ .gy-now.is-open b::before{animation:none} }

/* ── 아래 띠 공지 (고정 — 레이아웃을 밀지 않는다) ── */
.gy-strip{position:fixed;z-index:76;left:12px;right:12px;bottom:calc(58px + 10px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:6px;
  max-width:560px;margin:0 auto;background:var(--ink);color:#fff;border-radius:4px;padding:4px 4px 4px 14px;box-shadow:0 16px 30px -18px rgba(14,33,53,.6);
  opacity:0;transform:translateY(12px);transition:opacity .3s var(--e-out),transform .45s var(--e-expo)}
.gy-strip.on{opacity:1;transform:none}
.gy-strip-t{flex:1;min-width:0;display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;letter-spacing:-.02em;color:#fff;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:40px}
.gy-strip-t b{flex:0 0 auto;font-size:12px;font-weight:700;color:var(--accent-lt);border:1px solid rgba(143,184,245,.5);border-radius:3px;padding:2px 6px}
a.gy-strip-t::after{content:"→";margin-left:auto;padding-left:8px;flex:0 0 auto}
.gy-strip-x{flex:0 0 auto;width:40px;height:40px;border:0;background:none;color:rgba(255,255,255,.7);font-size:15px;cursor:pointer;border-radius:3px}
.gy-strip-x:hover{color:#fff;background:rgba(255,255,255,.08)}
@media (min-width:1080px){ .gy-strip{left:24px;right:auto;bottom:24px;width:440px} }
@media (min-width:760px) and (max-width:1079px){ .gy-strip{bottom:calc(64px + 12px)} }

/* ── 카카오톡 — 하단 탭 5칸 ── */
@media (max-width:1399px){ .gy-dock.has-5{grid-template-columns:repeat(5,1fr)} }
.gh-drawer-in > a.gy-kakao{font-weight:700}

/* ── 헤더 「소식」 ── */

/* ══════ /news ══════ */
.is-news .gy-pagehead{padding-bottom:40px}
.gy-news{padding-top:0}
.gy-news-top{display:grid;gap:28px;margin-bottom:44px}
@media (min-width:960px){ .gy-news-top{grid-template-columns:minmax(0,1fr) 380px;align-items:end;gap:56px} }
.gy-ntabs{display:flex;gap:28px;border-bottom:1px solid var(--line)}
.gy-ntabs button{position:relative;background:none;border:0;padding:0 0 14px;font:inherit;font-size:clamp(20px,2.4vw,26px);font-weight:680;letter-spacing:-.035em;color:var(--mute);cursor:pointer;display:inline-flex;align-items:baseline;gap:8px}
.gy-ntabs button b{font-size:14px;font-weight:600;color:var(--mute);font-variant-numeric:tabular-nums}
.gy-ntabs button[aria-selected="true"]{color:var(--ink)}
.gy-ntabs button[aria-selected="true"]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ink)}
.gy-ntabs button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
#news-today{border-top:1px solid var(--ink);padding-top:18px}
.gy-offlist{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:14.5px;color:var(--copy)}
.gy-offlist b{display:inline-block;min-width:116px;color:var(--ink);font-weight:650;font-variant-numeric:tabular-nums}
#news-cats{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:26px}
#news-cats button{height:38px;padding:0 14px;border:1px solid var(--line-2);border-radius:4px;background:#fff;font:inherit;font-size:14.5px;font-weight:600;color:var(--copy);cursor:pointer;display:inline-flex;align-items:center;gap:6px}
#news-cats button b{font-weight:600;color:var(--mute);font-variant-numeric:tabular-nums}
#news-cats button[aria-pressed="true"]{border-color:var(--ink);background:var(--ink);color:#fff}
#news-cats button[aria-pressed="true"] b{color:#C9D2DC}
#news-app:not(.is-ready) #news-list{min-height:320px}

/* 소식 목록 — 표가 아니라 줄. 테두리 없이 헤어라인 */
.gy-nlist{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.gy-nlist li{border-bottom:1px solid var(--line)}
.gy-ni{display:grid;gap:8px;padding:26px 0;color:var(--ink);transition:background-color .2s}
.gy-ni.has-img{grid-template-columns:minmax(0,1fr) 168px;column-gap:28px}
.gy-ni.has-img .f{grid-column:2;grid-row:1 / span 3;align-self:center}
.gy-ni .f{display:block;overflow:hidden;background:var(--band)}
.gy-ni .f img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .7s var(--e-expo)}
.gy-ni .m{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13.5px;color:var(--mute)}
.gy-ni .m time{font-variant-numeric:tabular-nums}
.gy-ni .cat{color:var(--copy);font-weight:600}
.gy-ni .pin{font-size:12px;font-weight:700;color:var(--accent);border:1px solid var(--accent);border-radius:3px;padding:1px 6px}
.gy-ni .new{font-size:12px;font-weight:700;color:#A0441C}
.gy-ni .new::before{content:"● ";font-size:9px}
.gy-ni .t{font-size:clamp(18px,1.9vw,21px);font-weight:650;letter-spacing:-.03em;line-height:1.45}
.gy-ni .x{font-size:15.5px;line-height:1.75;color:var(--copy);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (hover:hover){ .gy-ni:hover .t{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px} .gy-ni:hover .f img{transform:scale(1.05)} }
@media (max-width:599px){ .gy-ni.has-img{grid-template-columns:minmax(0,1fr) 96px;column-gap:16px} .gy-ni{padding:22px 0} }

/* 이벤트 — 사진 격자 */
.gy-evgrid{display:grid;gap:40px 28px}
@media (min-width:640px){ .gy-evgrid{grid-template-columns:repeat(2,1fr)} }
@media (min-width:1080px){ .gy-evgrid{grid-template-columns:repeat(3,1fr)} }
.gy-ev{display:block;color:var(--ink)}
.gy-ev .f{display:block;overflow:hidden;background:var(--dark);aspect-ratio:1/1;margin-bottom:16px;position:relative}
.gy-ev .f img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--e-expo)}
.gy-ev .f .ph{position:absolute;inset:0;display:flex;align-items:flex-end;padding:22px;color:#fff;font-size:22px;font-weight:680;letter-spacing:-.035em;line-height:1.35;
  background:var(--dark)}
.gy-ev .m{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13.5px;color:var(--mute);margin-bottom:8px}
.gy-ev .st,.gy-nart .st{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;border-radius:3px;padding:2px 8px}
.gy-ev .st::before,.gy-nart .st::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.gy-ev.is-live .st,.gy-nart .st.is-live{color:#1E6B45;background:#E8F2EC}
.gy-ev.is-soon .st,.gy-nart .st.is-soon{color:var(--accent);background:#E7EFFD}
.gy-ev.is-soon .st::before,.gy-nart .st.is-soon::before{border-radius:1px}
.gy-ev.is-done .st,.gy-nart .st.is-done{color:var(--mute);background:var(--band)}
.gy-ev.is-done .st::before,.gy-nart .st.is-done::before{background:none;box-shadow:inset 0 0 0 1.5px currentColor}
.gy-ev.is-done .f{filter:grayscale(1);opacity:.7}
.gy-ev .per{font-variant-numeric:tabular-nums}
.gy-ev .t{display:block;font-size:20px;font-weight:650;letter-spacing:-.032em;line-height:1.4}
.gy-ev .x{display:block;margin-top:6px;font-size:15.5px;line-height:1.7;color:var(--copy)}
@media (hover:hover){ .gy-ev:hover .f img{transform:scale(1.05)} .gy-ev:hover .t{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px} }
.gy-evdone{margin-top:56px;border-top:1px solid var(--line);padding-top:20px}
.gy-evdone summary{cursor:pointer;font-size:15.5px;font-weight:650;color:var(--copy);margin-bottom:28px}
.gy-nempty{padding:72px 0;border-top:1px solid var(--ink);text-align:left}
.gy-nempty h3{font-size:20px;font-weight:650;letter-spacing:-.03em;margin-bottom:8px}
.gy-nempty p,.gy-nempty{color:var(--copy);font-size:16px}

/* 상세 */
.gy-nback{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--copy);margin-bottom:28px}
.gy-nback::before{content:"←"}
.gy-nback:hover{color:var(--ink)}
.gy-nart{max-width:760px;border-top:1px solid var(--ink);padding-top:28px}
.gy-nart .m{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:14px;color:var(--mute);margin:0 0 12px;font-variant-numeric:tabular-nums}
.gy-nart .m .cat{color:var(--copy);font-weight:600}
.gy-nart-t{font-size:clamp(24px,3.2vw,34px);font-weight:680;letter-spacing:-.036em;line-height:1.32;margin:0 0 28px}
.gy-nart-f{margin:0 0 28px}
.gy-nart-f img{display:block;width:100%;max-height:640px;object-fit:contain;background:var(--band)}
.gy-nart-b p{font-size:17px;line-height:1.95;color:var(--copy);margin:0 0 18px;letter-spacing:-.016em}
.gy-nart-b a{color:var(--accent);border-bottom:1px solid currentColor;word-break:break-all}
.gy-nart-cta{margin-top:20px}
.gy-nart-done{margin-top:20px;font-weight:650;color:var(--mute)}
.gy-nart-note{margin-top:28px}
.gy-npn{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:760px;margin-top:48px;border-top:1px solid var(--line);padding-top:20px}
.gy-npn a{display:grid;gap:4px;color:var(--ink)}
.gy-npn a:last-child{text-align:right}
.gy-npn small{font-size:13px;color:var(--mute)}
.gy-npn span{font-size:15.5px;font-weight:600;letter-spacing:-.025em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gy-npn a:hover span{text-decoration:underline;text-underline-offset:3px}

/* v46.6 — 소식 분류 버튼도 손가락 기준 44px */
@media (pointer:coarse), (max-width:1079px){ #news-cats button{height:44px} }
