/* ===== 대한민국 복지 다모아 ===== */
.tab-welfare{color:var(--brand)!important}
.tab-welfare .tab-new{font-style:normal;font-size:9px;font-weight:800;letter-spacing:.04em;color:#fff;background:var(--brand);
  padding:1px 5px;border-radius:999px;margin-left:4px;line-height:1.5}

.wf-hero{padding:6px 0 22px;max-width:760px}
.wf-eyebrow{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);margin-bottom:12px}
.wf-hero h1{font-family:var(--serif);font-weight:900;font-size:30px;line-height:1.35;letter-spacing:-.035em;margin:0 0 14px}
.wf-hero h1 em{font-style:normal;background:linear-gradient(transparent 62%,#ffd9dc 62%);padding:0 2px}
.wf-lede{font-size:15.5px;line-height:1.75;color:var(--ink2);margin:0 0 14px}
.wf-trust{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.wf-trust li{font-size:12px;font-weight:600;color:var(--ink2);background:#fff;border:1px solid var(--line2);border-radius:999px;padding:5px 12px}
@media (min-width:640px){.wf-hero h1{font-size:40px}}

.wf-grid{display:grid;grid-template-columns:1fr;gap:22px}
@media (min-width:980px){
  .wf-grid{grid-template-columns:340px 1fr;gap:40px;align-items:start}
  .wf-side{position:sticky;top:104px;max-height:calc(100vh - 120px);overflow:auto;padding-right:2px;scrollbar-width:thin}
}

/* --- 입력 패널 --- */
.wf-panel{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:20px 18px;margin-bottom:14px}
.wf-ph2{font-family:var(--serif);font-size:19px;font-weight:900;margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid var(--ink)}
.wf-f{border:0;padding:0;margin:0 0 15px;min-width:0}
.wf-f legend{padding:0;margin:0 0 7px;font-size:12.5px;font-weight:800;color:var(--ink);letter-spacing:-.01em;display:flex;justify-content:space-between;width:100%}
.wf-mini{font-size:11px;font-weight:600;color:var(--navy);text-decoration:underline}
.wf-seg{display:flex;gap:6px}
.wf-seg label{flex:1;position:relative}
.wf-seg input{position:absolute;opacity:0;inset:0;cursor:pointer}
.wf-seg span{display:block;text-align:center;padding:10px 6px;border:1px solid var(--line2);border-radius:4px;font-size:13px;font-weight:700;color:var(--ink2);background:#fff;transition:all .15s}
.wf-seg input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.wf-seg input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px}
.wf-f select,.wf-date{width:100%;padding:10px 11px;border:1px solid var(--line2);border-radius:4px;font:inherit;font-size:14px;background:#fff;color:var(--ink)}
.wf-weeks{display:flex;align-items:center;gap:8px}
.wf-weeks input{width:76px;padding:11px 10px;border:1px solid var(--line2);border-radius:4px;font:inherit;font-size:20px;font-weight:800;font-family:var(--serif);text-align:center;color:var(--ink)}
.wf-weeks span{font-size:14px;font-weight:700;color:var(--ink2);margin-right:6px}
.wf-hint{font-size:11.5px;color:var(--ink3);margin:8px 0 0;line-height:1.55}
.wf-linkbtn{border:0;background:none;padding:0;font:inherit;font-size:11.5px;font-weight:700;color:var(--navy);text-decoration:underline;cursor:pointer}
.wf-checks label{display:flex;align-items:center;gap:9px;padding:6px 0;font-size:13px;color:var(--ink2);cursor:pointer}
.wf-checks input{width:17px;height:17px;accent-color:var(--brand)}
.wf-actions{display:flex;gap:8px;margin-top:4px}
.wf-btn{flex:1;padding:12px 10px;border:0;border-radius:4px;background:var(--brand);color:#fff;font-weight:800;font-size:13.5px;cursor:pointer}
.wf-btn.ghost{flex:none;background:#fff;color:var(--ink2);border:1px solid var(--line2)}
.wf-btn:hover{opacity:.92}
.wf-example{display:block;margin:12px auto 0;font-size:12.5px}
.wf-gov h3{font-family:var(--serif);font-size:15px;font-weight:900;margin:0 0 6px}
.wf-gov p{font-size:12.5px;color:var(--ink2);line-height:1.6;margin:0 0 10px}
.wf-gov a{display:block;font-size:13px;font-weight:700;color:var(--navy);padding:6px 0;border-top:1px solid var(--line)}

/* --- 결과 요약 --- */
.wf-summary{background:linear-gradient(135deg,#1a1d21,#2b1015);color:#fff;border-radius:4px;padding:24px 22px;margin-bottom:16px;box-shadow:0 12px 32px rgba(20,22,26,.16)}
.wf-sum-eyebrow{font-size:11px;font-weight:800;letter-spacing:.1em;color:#ff8d95;text-transform:uppercase}
.wf-sum-h{font-family:var(--serif);font-weight:900;font-size:26px;line-height:1.3;margin:6px 0 4px;letter-spacing:-.03em}
.wf-sum-sub{font-size:13px;color:rgba(255,255,255,.7);margin:0 0 18px}
.wf-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.wf-stat{background:rgba(255,255,255,.08);border-radius:4px;padding:12px 12px}
.wf-stat b{display:block;font-family:var(--serif);font-size:22px;font-weight:900;line-height:1.2}
.wf-stat span{display:block;font-size:11px;color:rgba(255,255,255,.65);margin-top:3px;line-height:1.4}
.wf-stat.money b{color:#ffb3b8}
.wf-total-note{font-size:11px;color:rgba(255,255,255,.55);margin:12px 0 0;line-height:1.55}
.wf-todo{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.14)}
.wf-todo h3{font-size:12px;font-weight:800;letter-spacing:.06em;margin:0 0 9px;color:#ff8d95}
.wf-todo ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.wf-todo li a{display:flex;gap:10px;align-items:baseline;font-size:14px;font-weight:600;color:#fff;padding:7px 0}
.wf-todo li a span{flex:none;font-family:var(--serif);color:#ff8d95;width:16px}
.wf-todo li a small{margin-left:auto;font-size:11px;color:rgba(255,255,255,.6);white-space:nowrap}
@media (max-width:560px){.wf-stats{grid-template-columns:1fr 1fr}.wf-stat.money{grid-column:1/-1}}

/* --- 필터 --- */
.wf-filter{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}
.wf-chip{border:1px solid var(--line2);background:#fff;border-radius:999px;padding:7px 13px;font:inherit;font-size:12.5px;font-weight:700;color:var(--ink2);cursor:pointer}
.wf-chip.on{background:var(--ink);border-color:var(--ink);color:#fff}

/* --- 타임라인 --- */
.wf-static-head{margin:0 0 16px}
.wf-static-head h2{font-family:var(--serif);font-size:22px;font-weight:900;margin:0 0 4px}
.wf-static-head p{font-size:13px;color:var(--ink3);margin:0}
.wf-phase{position:relative;margin:0 0 30px;padding-left:0}
.wf-ph-head{display:flex;align-items:center;gap:14px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line2)}
.wf-ph-no{flex:none;font-family:var(--serif);font-weight:900;font-size:30px;color:var(--line2);line-height:1;min-width:38px}
.wf-ph-head h3{font-family:var(--serif);font-size:20px;font-weight:900;margin:0;letter-spacing:-.02em}
.wf-ph-head p{font-size:12.5px;color:var(--ink3);margin:2px 0 0;line-height:1.5}
.wf-ph-count{margin-left:auto;flex:none;font-size:12px;font-weight:700;color:var(--ink3)}
.wf-phase.here .wf-ph-no{color:var(--brand)}
.wf-here{display:inline-block;margin-left:8px;font-family:var(--sans);font-size:10.5px;font-weight:800;color:#fff;background:var(--brand);padding:2px 8px;border-radius:999px;vertical-align:3px;letter-spacing:.02em}
.wf-ph-body{display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width:700px) and (max-width:979px),(min-width:1180px){.wf-ph-body{grid-template-columns:1fr 1fr}}

.wf-item{position:relative;background:var(--card);border:1px solid var(--line);border-radius:4px;padding:16px 16px 14px;transition:border-color .15s,box-shadow .15s}
.wf-item:hover{border-color:var(--line2);box-shadow:0 6px 18px rgba(20,22,26,.06)}
.wf-item.now{border-color:#f3b8bd;box-shadow:0 0 0 1px #f3b8bd}
.wf-item.done{opacity:.55}
.wf-item.done h4{text-decoration:line-through}
.wf-it-top{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.wf-cat{font-size:10.5px;font-weight:800;padding:2px 7px;border-radius:2px;letter-spacing:.02em}
.k-cash{background:#fdf0f0;color:#a81f1f}.k-leave{background:#eef3fd;color:#12459c}.k-medical{background:#eafafa;color:#0a6a75}
.k-housing{background:#f4f1fd;color:#5b2bb8}.k-tax{background:#fdf7e9;color:#9a6209}.k-service{background:#eafaf1;color:#0a6b41}.k-local{background:#f1f2f4;color:#4a5058}
.wf-low{font-size:10.5px;font-weight:700;color:#9a6209;background:#fff7e0;border:1px solid #f1dca0;padding:1px 6px;border-radius:2px}
.wf-st{margin-left:auto;font-size:11px;font-weight:800;padding:3px 9px;border-radius:999px;white-space:nowrap}
.st-now{background:var(--brand);color:#fff}.st-soon{background:#e8f0fe;color:#12459c}.st-later{background:#f1f2f4;color:var(--ink2)}
.st-maybe{background:#fff7e0;color:#9a6209}.st-past{background:#f1f2f4;color:var(--ink3)}
.wf-item h4{font-family:var(--serif);font-size:17px;font-weight:900;line-height:1.4;margin:0 0 6px;letter-spacing:-.025em}
.wf-amount{font-size:14.5px;font-weight:800;color:var(--brand);line-height:1.5;margin:0 0 10px}
.wf-dl{margin:0;display:grid;grid-template-columns:42px 1fr;gap:5px 8px;font-size:12.5px;line-height:1.6;color:var(--ink2)}
.wf-dl dt{font-weight:800;color:var(--ink3)}
.wf-dl dd{margin:0}
.wf-out{display:inline-block;margin-top:11px;font-size:12.5px;font-weight:800;color:var(--navy)}
.wf-out:hover{text-decoration:underline}
.wf-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px}
.wf-foot .wf-out{margin-top:0}
.wf-chk{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--ink3);cursor:pointer}
.wf-chk input{width:16px;height:16px;accent-color:var(--brand)}
.wf-when{font-size:12px;font-weight:700;color:var(--ink2);margin:-2px 0 8px}

.wf-hidden-group{margin-top:8px}
.wf-hidden-group summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--ink2);padding:12px 0;border-top:1px solid var(--line2)}
.wf-region{border:1px solid var(--line);border-radius:4px;background:var(--card);margin-bottom:8px}
.wf-region summary{cursor:pointer;padding:12px 14px;font-weight:800;font-size:14px}
.wf-region summary span{font-weight:600;color:var(--ink3);font-size:12px;margin-left:6px}
.wf-region .wf-ph-body{padding:0 12px 12px}
.wf-regional{display:block}

.wf-nodata{padding:30px 20px;text-align:center;color:var(--ink3);background:var(--card);border:1px dashed var(--line2);border-radius:4px;font-size:14px}

.wf-notes{margin:30px auto 10px;max-width:var(--wrap-narrow);font-size:13px;color:var(--ink2);line-height:1.75}
.wf-notes h2{font-family:var(--serif);font-size:18px;font-weight:900;margin:0 0 10px;color:var(--ink)}
.wf-notes ul{padding-left:18px;margin:0}
.wf-notes li{margin:7px 0}

@media (max-width:560px){
  .wf-hero h1{font-size:26px}
  .wf-sum-h{font-size:22px}
  .wf-panel{padding:16px 14px}
}

/* --- 카드 상세 접기 / 더 정확하게 / 확정 전 소식 --- */
.wf-info{margin:0}
.wf-info summary{cursor:pointer;font-size:12.5px;font-weight:700;color:var(--ink2);padding:6px 0;list-style:none}
.wf-info summary::-webkit-details-marker{display:none}
.wf-info summary::before{content:"+";display:inline-block;width:16px;color:var(--brand);font-weight:800}
.wf-info[open] summary::before{content:"−"}
.wf-info .wf-dl{margin-top:6px;padding-top:10px;border-top:1px dashed var(--line2)}
.wf-more{margin:2px 0 14px;border-top:1px solid var(--line);padding-top:10px}
.wf-more summary{cursor:pointer;font-size:12.5px;font-weight:800;color:var(--navy);padding:4px 0 10px}
.wf-upcoming .wf-ph-no{color:#e0a100}
.wf-upcoming .wf-item{background:#fffdf5;border-style:dashed}
.wf-maybe{font-size:10.5px;font-weight:700;color:#12459c;background:#eef3fd;border:1px solid #cddcf6;padding:1px 6px;border-radius:2px}
.wf-summary{scroll-margin-top:96px}

.wf-weeks input::placeholder,.wf-date::placeholder{color:#c6c9cf;font-weight:600;font-size:15px}
.wf-weeks input{font-size:20px}
.wf-msg{margin:0 0 12px;padding:10px 12px;border-radius:4px;background:#fdf0f0;border:1px solid #f3d2d5;color:#a81f1f;font-size:13px;font-weight:700;line-height:1.5}

/* ===== v2: 전 분야 · 카카오톡 공유 ===== */
.wf-hero{max-width:900px}
.wf-domnav{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}
.wf-domnav a{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--line2);border-radius:999px;background:#fff;font-size:12.5px;font-weight:700;color:var(--ink2);white-space:nowrap}
.wf-domnav a span{font-size:11px;font-weight:700;color:var(--ink3)}
.wf-domnav a:hover{border-color:var(--brand);color:var(--brand)}
.wf-domnav a.on{background:var(--ink);border-color:var(--ink);color:#fff}
.wf-domnav a.on span{color:rgba(255,255,255,.65)}

.wf-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.wf-num{width:100%;padding:10px 11px;border:1px solid var(--line2);border-radius:4px;font:inherit;font-size:15px;font-weight:700;color:var(--ink);background:#fff}
.wf-num::placeholder{color:#c6c9cf;font-weight:600;font-size:14px}
.wf-sub{margin:-4px 0 12px;padding:10px 12px;background:#f7f7f5;border:1px solid var(--line);border-radius:4px}
.wf-seg4 span{padding:10px 2px;font-size:12px}
.wf-more > summary{list-style:none}
.wf-more > summary::-webkit-details-marker{display:none}
.wf-more > summary::before{content:"+";display:inline-block;width:18px;font-weight:800;color:var(--brand)}
.wf-more[open] > summary::before{content:"−"}

/* 분야 타일 (메인) */
.wf-tiles{display:grid;grid-template-columns:1fr;gap:10px}
@media (min-width:560px){.wf-tiles{grid-template-columns:1fr 1fr}}
@media (min-width:1180px){.wf-tiles{grid-template-columns:1fr 1fr 1fr}}
.wf-tile{display:flex;flex-direction:column;gap:5px;padding:16px;background:var(--card);border:1px solid var(--line);border-radius:4px;transition:border-color .15s,box-shadow .15s}
.wf-tile:hover{border-color:var(--brand);box-shadow:0 6px 18px rgba(20,22,26,.06)}
.wf-tile svg{width:22px;height:22px;fill:none;stroke:var(--brand);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.wf-tile b{font-family:var(--serif);font-size:17px;font-weight:900;letter-spacing:-.02em}
.wf-tile span{font-size:12.5px;color:var(--ink2);line-height:1.55}
.wf-tile em{font-style:normal;font-size:12px;font-weight:800;color:var(--navy);margin-top:2px}

/* 결과: 분야 섹션 */
.wf-dom{margin:0 0 30px}
.wf-dom-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:10px;border-bottom:2px solid var(--ink)}
.wf-dom-head svg{width:22px;height:22px;flex:none;fill:none;stroke:var(--brand);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.wf-dom-head h3{font-family:var(--serif);font-size:20px;font-weight:900;margin:0;letter-spacing:-.02em}
.wf-dom-head span{margin-left:auto;font-size:12px;font-weight:700;color:var(--ink3)}
.wf-more-btn{display:block;width:100%;margin-top:12px;padding:12px;border:1px dashed var(--line2);border-radius:4px;background:#fff;font:inherit;font-size:13px;font-weight:800;color:var(--navy);cursor:pointer}
.wf-more-btn:hover{border-color:var(--navy)}

/* 공유 */
.wf-share{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.14)}
.wf-kakao{display:inline-flex;align-items:center;gap:7px;padding:11px 16px;border:0;border-radius:4px;background:#fee500;color:#191919;font:inherit;font-size:14px;font-weight:800;cursor:pointer}
.wf-kakao svg{width:18px;height:18px;fill:#191919}
.wf-copy{padding:11px 14px;border:1px solid rgba(255,255,255,.35);border-radius:4px;background:transparent;color:#fff;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.wf-kakao:hover,.wf-copy:hover{opacity:.92}
.wf-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:rgba(20,22,26,.94);color:#fff;font-size:13.5px;font-weight:700;padding:12px 18px;border-radius:999px;z-index:200;transition:all .25s;max-width:calc(100vw - 32px);text-align:center}
.wf-toast.on{opacity:1;transform:translate(-50%,0)}

.wf-chip.soft{background:#f7f7f5;border-style:dashed;color:var(--ink3)}
.wf-pend-label{align-self:center;font-size:11.5px;font-weight:700;color:var(--ink3);margin:0 2px 0 6px}

/* v9 — 언어 선택 · 번역 안내 */
.wf-langs{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 0}
.wf-langs a{display:inline-flex;align-items:center;padding:6px 13px;border:1px solid var(--line2);border-radius:999px;background:#fff;color:var(--ink2);font-size:12.5px;font-weight:700;line-height:1.3}
.wf-langs a.on{background:var(--ink);border-color:var(--ink);color:#fff}
.wf-langs a:not(.on):hover{border-color:var(--brand);color:var(--brand)}
.wf-mt{margin:10px 0 0;font-size:12.5px;line-height:1.55;color:var(--ink3)}
.wf-mt a{color:var(--navy);text-decoration:underline;font-weight:700;white-space:nowrap}
[lang="th"] .wf-item,[lang="th"] .wf-hero{line-height:1.7}
html[lang="ko"] .wf-hero h1,html[lang="ko"] .wf-lede,html[lang="ko"] .wf-item h4,html[lang="ko"] .wf-sum-h{word-break:keep-all;overflow-wrap:break-word}

/* v10 — 모바일 터치·입력 최적화 */
@media (max-width:760px){
  .wf-f select,.wf-date,.wf-num,.wf-num::placeholder{font-size:16px}       /* iOS 포커스 시 자동 확대 방지 */
  .wf-f select,.wf-date,.wf-num{min-height:46px}
  .wf-langs a,.wf-domnav a,.wf-chip{min-height:40px;padding-top:0;padding-bottom:0;display:inline-flex;align-items:center}
  .wf-seg span{padding:13px 4px;font-size:13px}
  .wf-more summary{padding:13px 0;min-height:44px;font-size:14px}
  .wf-checks label{min-height:44px;padding:8px 0;font-size:14px}
  .wf-checks input{width:22px;height:22px;flex:none}
  .wf-btn{padding:15px 10px;font-size:15px}
  .wf-linkbtn.wf-example{padding:12px 6px;font-size:13.5px}
  .wf-gov a{padding:13px 0;font-size:14px}
  .wf-out{display:inline-block;padding:10px 0}
  .wf-chk{min-height:44px;display:inline-flex;align-items:center;gap:6px}
  .wf-chk input{width:20px;height:20px}
  .wf-info summary{padding:12px 0;min-height:44px}
  .wf-kakao,.wf-copy{min-height:48px}
  .wf-linkbtn#wf-showall{padding:12px 4px;font-size:14px}
}
/* 비한국어 페이지: 긴 문구 보정 */
html:not([lang="ko"]) .wf-stat.money b{font-family:inherit;font-size:16px;line-height:1.35;font-weight:800}
html:not([lang="ko"]) .wf-stat b{font-size:20px}
html:not([lang="ko"]) .live{display:none}
html:not([lang="ko"]) .brand-name{white-space:normal;font-size:19px}
html:not([lang="ko"]) .wf-hero h1{font-size:clamp(24px,5.2vw,38px);line-height:1.25}
@media (max-width:760px){.wf-mt a{display:inline-block;padding:11px 4px}}
