/* 법률24 — 통합 스타일 (외부 분리 + 비주얼 리뉴얼 2026-06) */
/* 모든 클래스명은 기존 템플릿과 호환. 캐시버스팅: <link ...?v=mtime> */

:root{
  /* 프차넷·로컬비즈 톤: 밝은 근백색 배경, 부드러운 보더, 은은한 섀도, 밝은 블루 브랜드 */
  --navy:#0b3d91;--navy2:#0a347d;--blue:#2563eb;--blue2:#1b64da;--brand:#2563eb;--brand-soft:#eaf2ff;
  --ink:#0d1422;--sub:#5b6577;--sub2:#8a93a6;--line:#edf0f5;--line2:#dde3ec;
  --bg:#f7f9fc;--surface:#fff;--gold:#ffce4a;
  --radius:16px;--radius-sm:12px;
  --shadow:0 1px 2px rgba(15,30,60,.04),0 4px 16px rgba(15,30,60,.05);
  --shadow-lg:0 12px 34px rgba(15,30,60,.1);
  --ring:0 0 0 3px rgba(37,99,235,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Pretendard','Apple SD Gothic Neo','Malgun Gothic',-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ink);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;word-break:keep-all}
a{color:var(--navy);text-decoration:none;transition:color .14s}
a:hover{color:#0a2f73}
.wrap{max-width:1280px;margin:0 auto;padding:0 20px}
:focus-visible{outline:none;box-shadow:var(--ring);border-radius:8px}

/* 상단 네비게이션 로딩바 */
#navbar{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,#1c5bd1,#5b8def 60%,#ffd24a);z-index:100;opacity:0;transition:width .25s ease,opacity .3s;box-shadow:0 0 8px rgba(28,91,209,.5)}
#navbar.go{opacity:1}
/* 상세 읽기 진행바 (헤더 하단 고정) */
#readbar{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,#2563eb,#ffce4a);z-index:99}

/* 헤더 */
.site-head{position:sticky;top:0;z-index:30;background:linear-gradient(90deg,#072352 0%,#0a3078 100%);color:#fff;box-shadow:inset 0 -1px 0 rgba(255,255,255,.12),0 2px 12px rgba(0,10,40,.25)}
.sh-inner{max-width:1280px;margin:0 auto;padding:13px 16px;display:flex;align-items:center;gap:20px}
.brand{display:flex;align-items:center;gap:9px;font-size:21px;font-weight:900;color:#fff;letter-spacing:-.6px}
.brand .bi{width:34px;height:34px;display:grid;place-items:center;background:rgba(255,255,255,.16);border-radius:10px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.brand em{color:var(--gold);font-style:normal}
.sh-nav{display:flex;gap:3px;margin-left:auto;flex-wrap:wrap}
.sh-nav a{display:flex;align-items:center;gap:5px;color:rgba(255,255,255,.84);font-weight:600;font-size:13.5px;padding:7px 12px;border-radius:9px;transition:.14s}
.sh-nav a:hover{color:#fff;background:rgba(255,255,255,.14);text-decoration:none;transform:translateY(-1px)}
.sh-nav a.nav-guide{background:rgba(255,210,74,.2);color:#ffe08a}
.sh-nav a.nav-guide:hover{color:#fff}
/* 메인 전용 흰색 헤더 (라이트모드만 — 다크모드는 기존 다크 네이비 유지) */
html:not([data-theme=dark]) .site-head--light{background:#fff;box-shadow:0 1px 0 var(--line),0 4px 16px rgba(15,30,60,.05)}
html:not([data-theme=dark]) .site-head--light .brand{color:var(--ink)}
html:not([data-theme=dark]) .site-head--light .brand em{color:#1d4ed8}
html:not([data-theme=dark]) .site-head--light .brand .bi{background:#0b3d91;box-shadow:none}
html:not([data-theme=dark]) .site-head--light .sh-nav a{color:#46557a}
html:not([data-theme=dark]) .site-head--light .sh-nav a:hover{color:var(--navy);background:#f1f5fb}
html:not([data-theme=dark]) .site-head--light .sh-nav a.nav-guide{background:#eaf2ff;color:#1d4ed8}
html:not([data-theme=dark]) .site-head--light .hbtn{background:#eef2f8;color:#0b3d91}
html:not([data-theme=dark]) .site-head--light .hbtn:hover{background:#e2e8f2}

/* 검색바 */
.searchbar{position:sticky;top:60px;z-index:29;background:rgba(255,255,255,.82);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line);padding:13px 16px}
.sb-form{max-width:1280px;margin:0 auto;display:flex;gap:9px;align-items:stretch}
.sb-form select{border:1px solid var(--line2);border-radius:var(--radius-sm);padding:0 14px;font-size:14px;font-weight:700;background:var(--surface);color:var(--navy);cursor:pointer;min-width:106px;transition:.14s}
.sb-form select:focus{border-color:var(--navy);box-shadow:var(--ring);outline:none}
.sb-wrap{flex:1;position:relative;display:flex;min-width:0}
.sb-wrap .sb-ic{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#94a3bf;pointer-events:none}
.sb-form input{flex:1;border:1px solid var(--line2);border-radius:var(--radius-sm);padding:13px 14px 13px 44px;font-size:15px;outline:none;min-width:0;transition:.14s;background:var(--surface)}
.sb-form input:focus{border-color:var(--navy);box-shadow:var(--ring)}
.sb-form button{border:0;border-radius:var(--radius-sm);padding:0 24px;background:linear-gradient(135deg,#2563eb,#1b64da);color:#fff;font-weight:800;font-size:15px;cursor:pointer;white-space:nowrap;transition:.14s;box-shadow:0 4px 14px rgba(37,99,235,.26)}
.sb-form button:hover{filter:brightness(1.08);transform:translateY(-1px)}

/* 본문 */
main{padding:24px 0 72px;animation:fade .26s ease}
@keyframes fade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;margin-bottom:16px;box-shadow:var(--shadow)}
h1.page-h{font-size:1.6rem;font-weight:900;margin:4px 0 18px;letter-spacing:-.7px;display:flex;align-items:center;gap:11px;flex-wrap:wrap}
.muted{color:var(--sub)}
/* AI 요약 카드 */
.aisum{display:flex;align-items:center;gap:9px;margin:0 0 16px;padding:11px 15px;border:1px dashed var(--line2);border-radius:var(--radius-sm);background:var(--surface)}
.aisum-badge{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:800;color:#fff;background:linear-gradient(135deg,#7c3aed,#2563eb);padding:4px 11px;border-radius:20px;white-space:nowrap}
.aisum-card{border:1px solid var(--line);border-left:3px solid #7c3aed;background:linear-gradient(180deg,#faf8ff,var(--surface) 60%)}
html[data-theme=dark] .aisum-card{background:linear-gradient(180deg,#1a1733,var(--surface) 60%)}
.aisum-top{display:flex;align-items:center;gap:9px;margin-bottom:9px;flex-wrap:wrap}
.aisum-note{font-size:11.5px;color:var(--sub2)}
.aisum-body{margin:0;font-size:14.5px;line-height:1.8;color:var(--ink)}

/* 무료 법률 상담 안내 카드 (생활법령 주제 하단) */
.aidcard{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--c,#16a34a);border-radius:14px;padding:18px 20px;margin-top:22px;box-shadow:var(--shadow)}
.aid-t{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;color:var(--ink);margin-bottom:14px}
.aid-grid{display:grid;grid-template-columns:1fr;gap:10px}
@media(min-width:620px){.aid-grid{grid-template-columns:repeat(3,1fr)}}
.aid-item{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:13px 15px;transition:.14s;background:var(--bg)}
.aid-item:hover{border-color:var(--c,#16a34a);background:var(--surface);text-decoration:none;transform:translateY(-2px);box-shadow:var(--shadow)}
.aid-ph{flex-shrink:0;min-width:48px;height:48px;padding:0 8px;border-radius:12px;background:linear-gradient(135deg,var(--c,#16a34a),color-mix(in srgb,var(--c,#16a34a) 70%,#000 8%));color:#fff;display:grid;place-items:center;font-size:20px;font-weight:900;letter-spacing:-.5px}
.aid-nm{display:flex;flex-direction:column;font-size:13.5px;font-weight:800;color:var(--ink);min-width:0}
.aid-nm small{font-weight:600;color:var(--sub);font-size:11.5px;margin-top:2px}

/* 일반인용 도움 배너 (상세 → 생활법령 연결) */
.easyhelp{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#eef6ff,#f1faf3);border:1px solid #dcebff;border-radius:14px;padding:15px 18px;margin-bottom:16px}
.easyhelp .eh-ic{font-size:24px;flex-shrink:0;line-height:1}
.easyhelp .eh-tx{flex:1;min-width:0}
.easyhelp .eh-t{font-weight:800;font-size:14.5px;color:var(--ink)}
.easyhelp .eh-s{font-size:13px;color:var(--sub);margin-top:2px}
.easyhelp .eh-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.easyhelp .eh-chips a{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:#15803d;background:#fff;border:1px solid #c8e6cf;border-radius:20px;padding:5px 11px;transition:.13s}
.easyhelp .eh-chips a:hover{background:#16a34a;color:#fff;border-color:#16a34a;text-decoration:none}
.easyhelp .eh-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;background:#16a34a;color:#fff;font-weight:800;font-size:13.5px;padding:11px 17px;border-radius:11px;transition:.13s;white-space:nowrap}
.easyhelp .eh-btn:hover{filter:brightness(1.08);text-decoration:none;transform:translateY(-1px)}
@media(max-width:560px){.easyhelp{flex-wrap:wrap}.easyhelp .eh-btn{width:100%;justify-content:center}}
html[data-theme=dark] .easyhelp{background:linear-gradient(135deg,#11233c,#10241a);border-color:#26405f}
html[data-theme=dark] .easyhelp .eh-chips a{background:#0e1730;border-color:#1f3a2c;color:#5fce85}

/* 상세 히어로 헤더 (프차넷 상세 참고) */
.backlink{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--sub);margin:0 0 11px}
.backlink:hover{color:var(--navy)}
.dethero{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;margin-bottom:16px;box-shadow:var(--shadow)}
.dethero .kicker{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;color:var(--brand);background:var(--brand-soft);padding:5px 12px;border-radius:20px}
.dethero h1{font-size:1.55rem;font-weight:900;letter-spacing:-.5px;color:var(--ink);margin:12px 0 0;line-height:1.34}
.dethero .chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.dethero .chip{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;color:var(--sub);background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:5px 11px}
.dethero .chip b{color:var(--ink);font-weight:700}
html[data-theme=dark] .dethero .chip{background:#0e1730}
.tag{display:inline-flex;align-items:center;background:#eaf0fb;color:var(--navy);font-size:12px;font-weight:700;padding:5px 11px;border-radius:8px;margin:0 5px 5px 0;transition:.14s}
a.tag:hover{background:var(--navy);color:#fff;text-decoration:none}
.sec-h{display:flex;align-items:center;gap:9px;font-size:1.12rem;font-weight:800;margin:0 0 12px}

/* 분야 탭 */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.tabs a{display:flex;align-items:center;gap:6px;padding:9px 15px;border-radius:24px;background:var(--surface);border:1px solid var(--line);font-size:13.5px;font-weight:700;color:#46557a;box-shadow:0 1px 2px rgba(16,32,72,.04);transition:.14s}
.tabs a:hover{border-color:var(--line2);text-decoration:none;transform:translateY(-2px);box-shadow:var(--shadow)}
.tabs a.on{background:linear-gradient(135deg,var(--navy),#1c5bd1);color:#fff;border-color:transparent;box-shadow:0 5px 16px rgba(11,61,145,.3)}
/* 목록 빠른 검색 칩 */
.quickchips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-4px 0 18px}
.quickchips .qc-lb{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800;color:var(--sub)}
.quickchips a{font-size:12.5px;font-weight:700;color:#3d4d6e;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:6px 13px;transition:.13s}
.quickchips a:hover{border-color:var(--navy);color:var(--navy);text-decoration:none}
html[data-theme=dark] .quickchips a{background:#151e36;border-color:#283251;color:#aebbd4}
/* 페이지네이션 */
.pager{display:flex;gap:6px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:26px}
.pager a,.pager .cur{min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border-radius:11px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:14px;font-weight:700;transition:.13s;font-variant-numeric:tabular-nums}
.pager a:hover{border-color:var(--navy);color:var(--navy);text-decoration:none;transform:translateY(-1px)}
.pager .cur{background:linear-gradient(135deg,var(--navy),#1c5bd1);color:#fff;border-color:transparent}
html[data-theme=dark] .pager a,html[data-theme=dark] .pager .cur{background:#151e36;border-color:#283251}
html[data-theme=dark] .pager .cur{background:linear-gradient(135deg,#1c5bd1,#2563eb);border-color:transparent}

/* 결과 리스트 카드 */
.rcard{display:flex;align-items:center;gap:15px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 18px 16px 20px;margin-bottom:11px;box-shadow:var(--shadow);transition:.17s cubic-bezier(.2,.7,.2,1);position:relative;overflow:hidden}
.rcard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--rc,var(--brand));transform:scaleY(0);transform-origin:center;transition:transform .17s}
.rcard:hover{border-color:var(--rc,var(--brand));transform:translateY(-3px);box-shadow:var(--shadow-lg);text-decoration:none}
.rcard:hover::before{transform:scaleY(1)}
.rcard .ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;flex-shrink:0;transition:transform .17s}
.rcard:hover .ic{transform:scale(1.06)}
.rcard .bd{min-width:0;flex:1}
.rcard .ti{font-size:15.5px;font-weight:800;color:var(--ink);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.46;transition:color .14s}
.rcard:hover .ti{color:var(--rc,var(--navy))}
.rcard .mt{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.badge{font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px}
.chev{color:#c2cbe0;flex-shrink:0;transition:.16s;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--bg)}
.rcard:hover .chev{transform:translateX(2px);color:#fff;background:var(--rc,var(--navy))}

/* 카테고리 그리드 (홈) */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:13px}
.cat-card{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--shadow);transition:.16s;border-left:4px solid var(--navy)}
.cat-card:hover{transform:translateY(-3px);text-decoration:none;border-color:var(--line2);box-shadow:var(--shadow-lg)}
.cat-card .ic{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;flex-shrink:0}
.cat-card .nm{font-size:15px;font-weight:800;color:var(--ink)}
.cat-card .ds{font-size:11.5px;color:var(--sub);margin-top:1px}

/* 리스트형(홈 최신) */
.litem{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 6px;border-bottom:1px solid var(--line);border-radius:8px;transition:.12s}
.litem:hover{background:#f7f9fd;text-decoration:none;padding-left:11px}
.litem:last-child{border-bottom:0}
.litem{min-width:0}
.litem .t{font-weight:600;font-size:14.5px;color:var(--ink);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.litem .muted{flex-shrink:0}

/* 브레드크럼 */
.crumb{font-size:12.5px;color:var(--sub);margin:0 0 14px;display:flex;align-items:center;flex-wrap:wrap;gap:4px}
.crumb a{color:var(--sub)}.crumb .cur{color:var(--ink);font-weight:600}.crumb .sep{color:#c2cbe0}

/* 정렬·필터 바 */
.filterbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 14px;margin:0 0 16px;box-shadow:var(--shadow)}
.filterbar .fb-field{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--sub)}
.filterbar .fb-field>span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.filterbar select,.filterbar input[type=date]{border:1px solid var(--line2);border-radius:9px;padding:8px 11px;font-size:13px;font-weight:600;color:var(--ink);background:var(--surface);outline:none;transition:.14s}
.filterbar select:focus,.filterbar input[type=date]:focus{border-color:var(--navy);box-shadow:var(--ring)}
.filterbar .fb-tilde{color:var(--sub)}
.filterbar .fb-go{border:0;background:var(--navy);color:#fff;border-radius:9px;padding:8px 16px;font-size:13px;font-weight:800;cursor:pointer;transition:.14s}
.filterbar .fb-go:hover{filter:brightness(1.08)}

/* ── browse 카테고리 히어로 (그라데이션·최신 트렌드) ── */
.cat-hero{position:relative;overflow:hidden;border-radius:22px;padding:30px 30px 26px;margin:0 0 16px;background:linear-gradient(125deg,var(--bc),color-mix(in srgb,var(--bc) 56%,#0a1020));box-shadow:0 16px 38px color-mix(in srgb,var(--bc) 28%,transparent)}
.cat-hero:before{content:"";position:absolute;width:380px;height:380px;right:-110px;top:-170px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 62%);pointer-events:none}
.cat-hero:after{content:"";position:absolute;width:240px;height:240px;left:-90px;bottom:-150px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.12),transparent 60%);pointer-events:none}
.cat-hero .ch-in{position:relative;z-index:1}
.cat-hero .ch-eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;color:#fff;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);padding:5px 13px;border-radius:30px;margin-bottom:14px}
.cat-hero .ch-row{display:flex;align-items:center;gap:15px}
.cat-hero .ch-ic{width:56px;height:56px;border-radius:17px;display:grid;place-items:center;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.22);flex-shrink:0}
.cat-hero h1{font-size:2.05rem;font-weight:900;letter-spacing:-1.1px;color:#fff;margin:0;line-height:1.12}
.cat-hero .ch-cnt{font-size:13px;font-weight:700;color:rgba(255,255,255,.9);margin-top:4px;font-variant-numeric:tabular-nums}
.cat-hero .ch-cnt b{font-size:1.05rem;font-weight:900}
.cat-hero .ch-desc{font-size:13.5px;color:rgba(255,255,255,.84);line-height:1.6;margin:15px 0 0;max-width:640px}
.cat-hero .ch-pop{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:16px}
.cat-hero .ch-pop .pl{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:800;color:rgba(255,255,255,.92)}
.cat-hero .ch-pop a{font-size:12.5px;font-weight:700;color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);border-radius:30px;padding:5px 13px;transition:.13s}
.cat-hero .ch-pop a:hover{background:#fff;color:var(--bc);border-color:#fff;text-decoration:none}
@media(max-width:600px){.cat-hero{padding:24px 20px}.cat-hero h1{font-size:1.55rem}.cat-hero .ch-ic{width:48px;height:48px}}

/* ── sticky 세그먼트 정렬 툴바 ── */
.toolbar{position:sticky;top:128px;z-index:19;display:flex;align-items:center;gap:9px;flex-wrap:wrap;background:color-mix(in srgb,var(--surface) 85%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border:1px solid var(--line);border-radius:14px;padding:9px 11px;margin:0 0 16px;box-shadow:var(--shadow)}
.tb-seg{display:flex;gap:3px;background:var(--bg);border:1px solid var(--line);border-radius:11px;padding:3px;overflow:auto;scrollbar-width:none;max-width:100%}
.tb-seg::-webkit-scrollbar{display:none}
.tb-seg a{flex-shrink:0;font-size:12.5px;font-weight:700;color:var(--sub);padding:7px 13px;border-radius:8px;white-space:nowrap;transition:.13s}
.tb-seg a:hover{color:var(--ink);text-decoration:none}
.tb-seg a.on{background:var(--surface);color:var(--bc,var(--navy));box-shadow:var(--shadow);font-weight:800}
.tb-cnt{font-size:12.5px;font-weight:700;color:var(--sub);white-space:nowrap;font-variant-numeric:tabular-nums}
.tb-sp{flex:1;min-width:6px}
.tb-filter{position:relative}
.tb-filter>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--sub);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:8px 13px;transition:.13s}
.tb-filter>summary::-webkit-details-marker{display:none}
.tb-filter[open]>summary,.tb-filter>summary:hover{color:var(--bc,var(--navy));border-color:var(--line2)}
.tb-pop{position:absolute;right:0;top:calc(100% + 7px);z-index:30;width:232px;background:var(--surface);border:1px solid var(--line2);border-radius:13px;box-shadow:var(--shadow-lg);padding:14px}
.tb-pop .f{display:flex;flex-direction:column;gap:5px;margin-bottom:10px;font-size:11.5px;font-weight:700;color:var(--sub)}
.tb-pop input[type=date]{border:1px solid var(--line2);border-radius:9px;padding:9px 11px;font-size:13px;color:var(--ink);background:var(--surface);width:100%;outline:none}
.tb-pop input[type=date]:focus{border-color:var(--navy);box-shadow:var(--ring)}
.tb-pop button{width:100%;border:0;background:var(--navy);color:#fff;border-radius:9px;padding:10px;font-size:13px;font-weight:800;cursor:pointer}
.tb-rss{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:800;color:#ea580c;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);transition:.13s}
.tb-rss:hover{border-color:#ea580c;text-decoration:none}
@media(max-width:600px){.toolbar{top:116px;padding:8px}.tb-cnt{display:none}}

/* ── 벤토 분야 타일 ── */
.bento-h{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:800;color:var(--ink);margin:2px 0 11px}
.bento{display:grid;grid-template-columns:repeat(2,1fr);gap:11px;margin:0 0 22px}
@media(min-width:560px){.bento{grid-template-columns:repeat(3,1fr)}}
@media(min-width:920px){.bento{grid-template-columns:repeat(5,1fr)}}
.bento a{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:15px 15px;box-shadow:var(--shadow);transition:.16s}
.bento a:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,var(--fc) 11%,transparent),transparent 58%);opacity:0;transition:.16s}
.bento a:hover{transform:translateY(-4px);border-color:var(--fc);box-shadow:var(--shadow-lg);text-decoration:none}
.bento a:hover:before{opacity:1}
.bento .bt-ic{position:relative;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--fc) 14%,transparent)}
.bento .bt-nm{position:relative;font-size:13.5px;font-weight:800;color:var(--ink);letter-spacing:-.2px}
.bento .bt-sub{position:relative;font-size:11px;color:var(--sub);font-weight:600;line-height:1.4}

/* ── 최근 본 (하단 풀폭) ── */
.recentrow{margin:8px 0 0}
.recentrow .rr-h{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:800;color:var(--ink);margin:0 0 11px}
.recentrow ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:8px}
@media(min-width:620px){.recentrow ol{grid-template-columns:1fr 1fr}}
@media(min-width:980px){.recentrow ol{grid-template-columns:1fr 1fr 1fr}}
.recentrow li a{display:flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:11px 13px;font-size:13px;font-weight:600;color:var(--ink);box-shadow:var(--shadow);transition:.13s}
.recentrow li a:hover{border-color:var(--line2);text-decoration:none;transform:translateY(-1px)}
.recentrow .rp-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

html[data-theme=dark] .toolbar{background:rgba(21,30,54,.86);border-color:#283251}
html[data-theme=dark] .tb-seg,html[data-theme=dark] .tb-filter>summary,html[data-theme=dark] .tb-rss{background:#0c1222;border-color:#283251}
html[data-theme=dark] .tb-seg a.on{background:#1e2a4a}
html[data-theme=dark] .tb-pop{background:#151e36;border-color:#36426a}
html[data-theme=dark] .tb-pop input[type=date]{background:#151e36;border-color:#36426a;color:#e7ebf4}
html[data-theme=dark] .bento a,html[data-theme=dark] .recentrow li a{background:#151e36;border-color:#283251}

/* 목록 구분 헤더 */
.listhead{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:18px 0 12px;padding-bottom:9px;border-bottom:1px solid var(--line)}
.listhead .lh-t{display:flex;align-items:center;gap:7px;font-size:15px;font-weight:800;color:var(--ink)}
.listhead .lh-s{font-size:12.5px;font-weight:700;color:var(--sub);white-space:nowrap;font-variant-numeric:tabular-nums}

/* ── 상세: "한눈에" 스탯 스트립 (잡플래닛/로컬비즈식 KPI) ── */
.statstrip{display:grid;grid-template-columns:repeat(auto-fit,minmax(116px,1fr));gap:10px;margin:0 0 16px}
.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:14px 12px;text-align:center;box-shadow:var(--shadow);position:relative;overflow:hidden}
.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--sc,var(--brand))}
.stat-card .sv{font-size:1.18rem;font-weight:900;color:var(--sc,var(--ink));letter-spacing:-.3px;font-variant-numeric:tabular-nums;line-height:1.2;word-break:keep-all}
.stat-card .sv.sm{font-size:.96rem;line-height:1.35}
.stat-card .sl{font-size:11.5px;font-weight:700;color:var(--sub);margin-top:5px}

/* ── 상세 2단 레이아웃 + 우측 정보 사이드바 ── */
.det-layout{display:grid;grid-template-columns:1fr;gap:18px}
@media(min-width:960px){.det-layout{grid-template-columns:1fr 322px;gap:26px;align-items:start}}
.det-main{min-width:0}
.det-side{min-width:0;display:flex;flex-direction:column;gap:14px}
@media(min-width:960px){.det-side{position:sticky;top:88px;max-height:calc(100vh - 104px);overflow:auto;padding-right:2px}}
.side-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:15px 16px;box-shadow:var(--shadow)}
.side-h{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:800;color:var(--ink);margin:0 0 11px;padding-bottom:9px;border-bottom:1px solid var(--line)}
.spec .srow{display:grid;grid-template-columns:80px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px;align-items:start}
.spec .srow:last-child{border-bottom:0}
.spec .srow .k{color:var(--sub);font-weight:700;font-size:12px}
.spec .srow .v{color:var(--ink);font-weight:700;word-break:break-all}
.side-toc{font-size:12.5px;max-height:280px;overflow:auto;margin:-2px -4px}
.side-toc a{display:block;padding:5px 8px;color:#46557a;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-toc a:hover{background:#eef2fb;text-decoration:none;color:var(--navy)}
.side-chips{display:flex;flex-wrap:wrap;gap:6px}
.side-links a{display:flex;align-items:center;gap:7px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px;font-weight:600;color:var(--ink);line-height:1.45}
.side-links a:last-child{border-bottom:0}
.side-links a:hover{color:var(--navy);text-decoration:none}
.side-links .more{font-size:12px;font-weight:700;color:var(--sub);padding-top:9px}
html[data-theme=dark] .stat-card,html[data-theme=dark] .side-card{background:#151e36;border-color:#283251}
html[data-theme=dark] .side-toc a{color:#9fb0cf}
html[data-theme=dark] .side-toc a:hover{background:#1a2440;color:#9fc0ff}
html[data-theme=dark] .spec .srow,html[data-theme=dark] .side-links a{border-color:#222d4a}

/* 조문 목차 */
.law-layout{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:900px){.law-layout{grid-template-columns:248px 1fr;align-items:start}}
.toc{position:sticky;top:124px;max-height:calc(100vh - 150px);overflow:auto;font-size:13px;padding:16px 18px}
.toc a{display:block;padding:6px 9px;color:#46557a;border-radius:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.toc a:hover{background:#eef2fb;text-decoration:none;color:var(--navy)}
.jo{padding:15px 2px;border-bottom:1px solid var(--line);scroll-margin-top:134px}
.jo:last-child{border-bottom:0}
.rel-grid{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:620px){.rel-grid{grid-template-columns:1fr 1fr}}
.rel-grid a.relrow{display:block;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.ad-slot{margin:18px 0;text-align:center;min-height:1px}

/* 맨 위로 */
#toTop{position:fixed;right:18px;bottom:18px;width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--navy),#1c5bd1);color:#fff;border:0;display:none;place-items:center;cursor:pointer;box-shadow:0 8px 22px rgba(11,61,145,.45);z-index:40;transition:.16s}
#toTop:hover{transform:translateY(-2px)}
#toTop.show{display:grid}

/* 다크모드 */
html[data-theme=dark]{--ink:#e7ebf4;--sub:#94a3c2;--line:#283251;--line2:#36426a;--bg:#0c1222;--surface:#151e36;--shadow:0 1px 3px rgba(0,0,0,.4);--shadow-lg:0 16px 40px rgba(0,0,0,.5)}
html[data-theme=dark] body{background:#0c1222}
html[data-theme=dark] .card,html[data-theme=dark] .rcard,html[data-theme=dark] .cat-card,html[data-theme=dark] .tabs a,html[data-theme=dark] .toc,html[data-theme=dark] .actbar button,html[data-theme=dark] .filterbar{background:#151e36;border-color:#283251}
html[data-theme=dark] .searchbar{background:rgba(12,18,34,.82);border-color:#283251}
html[data-theme=dark] .sb-form input,html[data-theme=dark] .sb-form select,html[data-theme=dark] .filterbar select,html[data-theme=dark] .filterbar input[type=date]{background:#151e36;border-color:#36426a;color:#e7ebf4}
html[data-theme=dark] .tag{background:#222d4a;color:#bcd0ff}
html[data-theme=dark] a{color:#9bb8ff}
html[data-theme=dark] .litem,html[data-theme=dark] .jo,html[data-theme=dark] .rel-grid a.relrow{border-color:#222d4a}
html[data-theme=dark] .litem:hover{background:#1a2440}
html[data-theme=dark] .rcard .ti,html[data-theme=dark] .cat-card .nm,html[data-theme=dark] .litem .t{color:#e7ebf4}

/* 헤더 버튼/드로어 */
.hgroup{display:flex;gap:7px;align-items:center}
.hbtn{width:38px;height:38px;border-radius:10px;border:0;background:rgba(255,255,255,.15);color:#fff;display:grid;place-items:center;cursor:pointer;font-size:16px;transition:.14s}
.hbtn:hover{background:rgba(255,255,255,.3)}
.hamb{display:none}
.drawer{position:fixed;inset:0;z-index:50;display:none}
.drawer.open{display:block}
.drawer .dim{position:absolute;inset:0;background:rgba(0,0,0,.45);animation:fade .2s ease}
.drawer .panel{position:absolute;top:0;right:0;width:82%;max-width:330px;height:100%;background:var(--surface);padding:16px;overflow:auto;box-shadow:-10px 0 40px rgba(0,0,0,.28);animation:slideIn .24s cubic-bezier(.4,0,.2,1)}
@keyframes slideIn{from{transform:translateX(100%)}to{transform:none}}
html[data-theme=dark] .drawer .panel{background:#151e36}
.drawer .panel a{display:flex;align-items:center;gap:11px;padding:12px 10px;border-radius:10px;font-weight:700;color:var(--ink);font-size:15px}
.drawer .panel a:hover{background:var(--bg);text-decoration:none}

/* 상세 액션바 */
.actbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 14px}
.actbar button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line2);background:var(--surface);color:var(--sub);border-radius:10px;padding:9px 13px;font-size:13px;font-weight:700;cursor:pointer;transition:.14s}
.actbar button:hover{border-color:var(--navy);color:var(--navy);transform:translateY(-1px)}
.actbar button.on{background:#fff7e0;border-color:var(--gold);color:#9a7400}

/* 글자크기 */
html[data-fs="-1"] .jo,html[data-fs="-1"] .legalbody{font-size:13px!important}
html[data-fs="1"] .jo,html[data-fs="1"] .legalbody{font-size:16.5px!important}
html[data-fs="2"] .jo,html[data-fs="2"] .legalbody{font-size:18.5px!important;line-height:2}

/* 조문 검색 */
.jofind{display:flex;gap:8px;margin:0 0 10px}
.jofind input{flex:1;border:1px solid var(--line2);border-radius:10px;padding:10px 13px;font-size:14px;outline:none;background:var(--surface);color:var(--ink);transition:.14s}
.jofind input:focus{border-color:var(--navy);box-shadow:var(--ring)}
html[data-theme=dark] .jofind input{background:#151e36;border-color:#36426a}
.jo.hide{display:none}
mark{background:#fff3a0;color:#000;padding:0 1px;border-radius:2px}

/* 토스트 */
#toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:11px 20px;border-radius:30px;font-size:13px;font-weight:700;z-index:60;opacity:0;transition:opacity .25s;pointer-events:none;box-shadow:var(--shadow-lg)}
#toast.show{opacity:.97}

/* 검색 자동완성 */
.sugbox{position:fixed;z-index:80;background:var(--surface);border:1px solid var(--line2);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);max-height:340px;overflow:auto;display:none}
.sug-i{display:block;padding:12px 16px;font-size:13.5px;color:var(--ink);border-bottom:1px solid var(--line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sug-i:last-child{border-bottom:0}
.sug-i:hover,.sug-i.on{background:#eef4ff;text-decoration:none}
.sug-i{display:flex;align-items:center;gap:9px}
.sug-h{padding:9px 15px 5px;font-size:11px;font-weight:800;color:var(--sub);letter-spacing:.3px;background:var(--surface)}
.sug-ic{color:#9aa6be;font-size:12px;flex-shrink:0}
.sug-rk{flex-shrink:0;width:18px;height:18px;border-radius:5px;display:grid;place-items:center;font-size:10.5px;font-weight:800;background:#0b3d91;color:#fff}
html[data-theme=dark] .sug-h{background:#151e36}
html[data-theme=dark] .sug-rk{background:#222d4a;color:#bcd0ff}
html[data-theme=dark] .sugbox{background:#151e36;border-color:#36426a}
html[data-theme=dark] .sug-i{border-color:#222d4a}
html[data-theme=dark] .sug-i:hover,html[data-theme=dark] .sug-i.on{background:#1e2a4a}

/* 푸터 (모던 다단) */
.site-foot{background:#0a1f47;color:rgba(255,255,255,.66);padding:46px 0 26px;font-size:13px;margin-top:8px}
.ft-wrap{max-width:1280px;margin:0 auto;padding:0 20px}
.ft-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:30px}
@media(max-width:720px){.ft-grid{grid-template-columns:1fr 1fr;gap:24px}.ft-about{grid-column:1 / -1}}
@media(max-width:460px){.ft-grid{grid-template-columns:1fr}}
.ft-brand{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:900;color:#fff;margin-bottom:11px}
.ft-brand em{color:var(--gold);font-style:normal}
.ft-desc{margin:0 0 15px;line-height:1.7;color:rgba(255,255,255,.58);max-width:430px}
.ft-badges{display:flex;gap:7px;flex-wrap:wrap}
.ft-badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;color:rgba(255,255,255,.82);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);border-radius:20px;padding:5px 12px}
.ft-col h4{font-size:12px;font-weight:800;color:#fff;margin:2px 0 12px;letter-spacing:.3px}
.ft-col a{display:block;color:rgba(255,255,255,.6);padding:5px 0;font-size:13px;transition:.12s}
.ft-col a:hover{color:#fff;text-decoration:none;padding-left:3px}
.ft-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:30px;padding-top:18px;display:flex;justify-content:space-between;gap:10px 24px;flex-wrap:wrap;font-size:11.5px;color:rgba(255,255,255,.42);line-height:1.6}
.ft-bottom a{color:rgba(255,255,255,.6)}

/* 모바일 하단 고정 탭바 */
.mobnav{display:none}
@media(max-width:600px){
  .mobnav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:45;background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -2px 14px rgba(15,35,80,.1)}
  .mobnav a,.mobnav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 0 9px;font-size:10.5px;font-weight:700;color:var(--sub);background:none;border:0;cursor:pointer;text-decoration:none}
  .mobnav a:active,.mobnav button:active{color:var(--navy)}
  body{padding-bottom:62px}
  #toTop{bottom:74px}
}
html[data-theme=dark] .mobnav{background:#151e36;border-color:#283251}
@media print{.site-head,.searchbar,.crumb,.actbar,.jofind,.ad-slot,#toTop,footer,.toc,.tabs,.rel-grid,.filterbar,.mobnav,#navbar{display:none!important}.card{box-shadow:none;border:0;padding:0;margin:0 0 10px}main{padding:0}.law-layout{display:block}body{padding-bottom:0}}
@media(max-width:600px){.sh-nav{display:none}.hamb{display:grid}.hgroup{margin-left:auto}.brand{font-size:19px}.searchbar{top:56px}.sb-form select{min-width:86px;font-size:13px}}

/* ════ 회원/전문가 (Phase 0+1) ════ */
/* 헤더 로그인 버튼 */
.hauth{display:flex;align-items:center;gap:7px}
.hauth a{font-size:13px;font-weight:700;color:var(--sub);padding:7px 11px;border-radius:9px;white-space:nowrap}
.hauth a:hover{color:var(--navy);background:#f1f5fb}
.hauth a.cta{background:linear-gradient(135deg,#2563eb,#1b64da);color:#fff}
.hauth a.cta:hover{background:#1b64da;color:#fff}
html[data-theme=dark] .hauth a:hover{background:#1d2944;color:#cfe0ff}
@media(max-width:760px){.hauth .hide-sm{display:none}}

/* 폼 */
.formwrap{max-width:560px;margin:0 auto}
.authwrap{max-width:430px;margin:8px auto}
.field{margin-bottom:15px}
.field>label{display:block;font-weight:800;font-size:13.5px;color:var(--ink);margin-bottom:6px}
.field .hint{font-weight:500;color:var(--sub2);font-size:12px;margin-left:4px}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--line2);border-radius:10px;padding:12px 13px;font-size:15px;background:var(--surface);color:var(--ink);outline:none;transition:.14s;font-family:inherit}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--navy);box-shadow:var(--ring)}
.field textarea{resize:vertical;min-height:84px;line-height:1.6}
.field-row{display:flex;gap:12px}.field-row>*{flex:1}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line2);background:var(--surface);color:var(--ink);font-weight:800;font-size:14.5px;padding:12px 20px;border-radius:10px;cursor:pointer;transition:.14s;text-decoration:none}
.btn:hover{border-color:var(--navy);color:var(--navy)}
.btn-primary{background:linear-gradient(135deg,#2563eb,#1b64da);border:0;color:#fff}
.btn-primary:hover{filter:brightness(1.06);color:#fff}
.btn-block{width:100%}
.btn-sm{padding:8px 14px;font-size:13px;border-radius:9px}
.btn-danger{color:#dc2626;border-color:#f3c4c4}.btn-danger:hover{background:#fef2f2;border-color:#dc2626;color:#dc2626}
.alert{padding:11px 14px;border-radius:10px;font-size:13.5px;font-weight:600;margin-bottom:15px}
.alert-err{background:#fef2f2;color:#b91c1c;border:1px solid #f4cccc}
.alert-ok{background:#ecfdf3;color:#15803d;border:1px solid #bbf7d0}
.alert-info{background:var(--brand-soft);color:#1b4ea8;border:1px solid #cfe0ff}
html[data-theme=dark] .alert-err{background:#3a1d1d;color:#fca5a5;border-color:#5b2a2a}
html[data-theme=dark] .alert-ok{background:#16331f;color:#86efac;border-color:#27502f}
html[data-theme=dark] .alert-info{background:#16243f;color:#bcd4ff;border-color:#274063}
.checkgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.checkgrid label{display:flex;align-items:center;gap:8px;border:1px solid var(--line2);border-radius:9px;padding:9px 11px;font-size:13.5px;font-weight:700;cursor:pointer;transition:.12s;background:var(--surface)}
.checkgrid input{width:auto;margin:0}
.checkgrid label:has(input:checked){border-color:var(--navy);background:var(--brand-soft);color:var(--navy)}
.formtitle{font-size:24px;font-weight:900;color:var(--navy);letter-spacing:-.5px;margin:2px 0 4px}
.formsub{color:var(--sub);font-size:14px;margin:0 0 20px}

/* 전문가 디렉토리 */
.ex-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:18px}
.ex-filters select{border:1px solid var(--line2);border-radius:9px;padding:9px 12px;font-weight:700;font-size:13.5px;background:var(--surface);color:var(--ink);cursor:pointer}
.ex-count{color:var(--sub);font-size:13.5px;font-weight:700;margin-left:auto}
.ex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}
.ex-card{display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 18px 16px;box-shadow:var(--shadow);transition:.14s}
.ex-card:hover{border-color:var(--exc,var(--blue));transform:translateY(-2px);box-shadow:0 8px 22px rgba(15,40,90,.1)}
.ex-top{display:flex;align-items:center;gap:12px}
.ex-ava{width:48px;height:48px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:900;font-size:18px;color:#fff;background:linear-gradient(135deg,#2563eb,#1b64da);overflow:hidden}
.ex-ava img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
.ex-nm{font-weight:900;font-size:16.5px;color:var(--ink);line-height:1.2}
.ex-role{font-size:12.5px;color:var(--sub);font-weight:700;margin-top:2px}
.ex-tags{display:flex;flex-wrap:wrap;gap:5px}
.ex-tags .tag{font-size:11.5px;padding:3px 9px}
.ex-intro{font-size:13.5px;color:var(--sub);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ex-foot{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--sub2);font-weight:700;margin-top:2px;border-top:1px solid var(--line);padding-top:10px}
.statusbadge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800;padding:4px 10px;border-radius:20px}
.st-pending{background:#fff7ed;color:#c2620a}.st-approved{background:#ecfdf3;color:#15803d}.st-rejected{background:#fef2f2;color:#b91c1c}
html[data-theme=dark] .st-pending{background:#3a2c16;color:#fdba74}html[data-theme=dark] .st-approved{background:#16331f;color:#86efac}html[data-theme=dark] .st-rejected{background:#3a1d1d;color:#fca5a5}
.pager{display:flex;justify-content:center;gap:6px;margin-top:22px}
.pager a,.pager span{min-width:38px;text-align:center;padding:8px 11px;border-radius:9px;border:1px solid var(--line2);font-weight:700;font-size:13.5px;color:var(--ink)}
.pager a:hover{border-color:var(--navy);color:var(--navy)}.pager .on{background:var(--navy);color:#fff;border-color:var(--navy)}
.emptybox{text-align:center;padding:48px 20px;color:var(--sub)}

/* 전문가 상세 */
.ex-hero{display:flex;gap:18px;align-items:flex-start}
.ex-hero .ex-ava{width:74px;height:74px;font-size:28px}
.ex-hero-nm{font-size:24px;font-weight:900;color:var(--navy);letter-spacing:-.5px}
.ex-meta-row{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--sub);font-size:14px;font-weight:600;margin-top:8px}
.ex-meta-row b{color:var(--ink)}
.ex-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.ex-section{margin-top:22px}.ex-section h3{font-size:16px;font-weight:900;color:var(--ink);margin:0 0 10px;display:flex;align-items:center;gap:8px}
.ex-career{white-space:pre-wrap;line-height:1.8;color:var(--ink)}

/* 관리자 */
.adm-tabs{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}
.adm-tabs a{padding:9px 15px;border-radius:9px;border:1px solid var(--line2);font-weight:800;font-size:13.5px;color:var(--sub)}
.adm-tabs a.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.adm-card{border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-bottom:12px;background:var(--surface);box-shadow:var(--shadow)}
.adm-card .kv{font-size:13.5px;color:var(--sub);margin:3px 0}.adm-card .kv b{color:var(--ink);font-weight:700}
.adm-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;align-items:center}
.adm-actions input[type=text]{flex:1;min-width:160px;border:1px solid var(--line2);border-radius:9px;padding:9px 11px;font-size:13.5px;background:var(--surface);color:var(--ink)}
@media(max-width:600px){.field-row{flex-direction:column;gap:0}.ex-hero{flex-direction:column}}

/* 상세/홈 — 관련 전문가 모듈 */
.ex-mod{border:1px solid var(--line);border-left:3px solid var(--exc,#2563eb);border-radius:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--exc,#2563eb) 5%,var(--surface)),var(--surface) 55%);padding:16px 18px;margin:18px 0}
.ex-mod-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.ex-mod-h h3{margin:0;font-size:15px;font-weight:900;color:var(--ink);display:flex;align-items:center;gap:7px}
.ex-mod-more{font-size:12.5px;font-weight:800;color:var(--exc,#2563eb);white-space:nowrap}
.ex-mod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.ex-mini{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:11px;padding:10px 12px;background:var(--surface);transition:.14s}
.ex-mini:hover{border-color:var(--exc,#2563eb);transform:translateY(-1px);box-shadow:0 5px 14px rgba(15,40,90,.08)}
.ex-mini .ex-ava{width:40px;height:40px;font-size:15px}
.ex-mini-tx{min-width:0;display:flex;flex-direction:column;gap:2px}
.ex-mini-nm{font-weight:800;font-size:14px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ex-mini-nm em{font-style:normal;font-weight:700;font-size:11.5px;color:var(--sub);margin-left:3px}
.ex-mini-sub{font-size:12px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ex-mod-cta{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.ex-mod-cta-t{font-weight:900;font-size:14.5px;color:var(--ink);display:flex;align-items:center;gap:7px}
.ex-mod-cta-s{font-size:13px;color:var(--sub);margin-top:3px}
.ex-mod-cta-btns{display:flex;gap:8px;flex-wrap:wrap}

/* 전문가 디렉토리 히어로 + 분야 칩 */
.exd-hero{position:relative;border-radius:16px;overflow:hidden;background:linear-gradient(120deg,#0f47a8,#2f6bea);padding:30px 26px;margin-bottom:18px;color:#fff}
.exd-hero:before{content:"";position:absolute;width:360px;height:360px;right:-120px;top:-160px;border-radius:50%;background:radial-gradient(circle,rgba(150,190,255,.35),transparent 62%)}
.exd-hero h1{position:relative;font-size:1.7rem;font-weight:900;letter-spacing:-.8px;margin:0 0 8px}
.exd-hero p{position:relative;margin:0;font-size:14.5px;color:rgba(255,255,255,.85);max-width:560px;line-height:1.6}
.exd-hero .exd-apply{position:relative;display:inline-flex;align-items:center;gap:6px;margin-top:14px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);color:#fff;font-weight:800;font-size:13px;padding:9px 16px;border-radius:10px;backdrop-filter:blur(4px)}
.exd-hero .exd-apply:hover{background:rgba(255,255,255,.26);color:#fff}
.exd-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}
.exd-chips a{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line2);border-radius:30px;padding:7px 14px;font-size:13px;font-weight:700;color:var(--ink);background:var(--surface);transition:.12s}
.exd-chips a:hover{border-color:var(--navy);color:var(--navy)}
.exd-chips a.on{background:var(--navy);border-color:var(--navy);color:#fff}
.exd-chips a.on .dotc{background:#fff !important}
.exd-chips .dotc{width:9px;height:9px;border-radius:50%;flex:none}
@media(max-width:600px){.exd-hero{padding:24px 18px}.exd-hero h1{font-size:1.4rem}}
