/* ============================================================
   전문 기관형 서브페이지 스타일 (body.pro 에서만 적용)
   흰 바탕 · 남색 글자 · 얇은 선 · 밑줄 탭 · 경로 표시 · 장식 아이콘 없음
   ============================================================ */
body.pro{
  --navy:#17293A; --ink:#17293A; --ink-soft:#4B5B6B; --ink-faint:#8794A1;
  --line:#E2E7EC; --bg-alt:#F5F7F9; --cream:#fff; --cream-deep:#F5F7F9;
  --shadow-card:none; --shadow-soft:none;
  background:#fff; color:var(--navy);
}
body.pro .site-header{background:rgba(255,255,255,.96); border-bottom:1px solid var(--line);}

/* ── 페이지 머리글 ── */
.ph{position:relative; border-bottom:1px solid var(--line);
  background:
    radial-gradient(760px 340px at 92% -10%, color-mix(in srgb,var(--acc,#FF7A59) 30%,transparent), transparent 70%),
    radial-gradient(620px 300px at 62% 130%, color-mix(in srgb,var(--acc,#FF7A59) 16%,transparent), transparent 70%),
    linear-gradient(118deg,#fff 0%,var(--acc-soft,#F6F3EE) 52%,color-mix(in srgb,var(--acc,#FF7A59) 20%,#fff) 100%);}
.ph-in{position:relative; max-width:1140px; margin:0 auto; padding:30px 24px 46px;}
.crumbs{display:flex; align-items:center; gap:8px; font-size:.82rem; color:var(--ink-faint); margin-bottom:34px;}
.crumbs a{color:var(--ink-soft); text-decoration:none;} .crumbs a:hover{color:var(--navy); text-decoration:underline;}
.crumbs .sep{opacity:.6;} .crumbs span:last-child{color:var(--navy); font-weight:700;}
.ph h1{margin:0 0 14px; font-size:clamp(1.9rem,4.4vw,2.7rem); font-weight:800; letter-spacing:-.03em; line-height:1.25; color:var(--navy); -webkit-text-fill-color:currentColor; background:none;}
.ph p{margin:0; max-width:520px; font-size:1.02rem; line-height:1.8; color:var(--ink-soft);}

/* ── 목차 탭: 위아래 선 + 칸 구분선으로 '메뉴'임이 보이게 ── */
.tabs{position:sticky; top:var(--hh,86px); z-index:30; background:#fff; border-bottom:1px solid var(--line);}
.tabs-in{max-width:1140px; margin:0 auto; padding:0 24px; display:flex; gap:6px; overflow-x:auto; scrollbar-width:none;}
.tabs-in::-webkit-scrollbar{display:none;}
.tabs a{flex:0 0 auto; padding:16px 18px 14px; font-size:.95rem; font-weight:700; color:var(--ink-soft); text-decoration:none; border-bottom:2px solid transparent; margin-bottom:-1px; transition:color .15s,border-color .15s;}
.tabs a:hover{color:var(--navy); border-bottom-color:color-mix(in srgb,var(--acc,#FF7A59) 40%,transparent);}
.tabs a.on{color:var(--navy); border-bottom-color:var(--acc,var(--coral));}

/* ── 본문 ── */
body.pro .doc{max-width:1140px; padding:0 24px 80px;}
body.pro .doc-section{padding:56px 0 52px; border-top:1px solid var(--line); scroll-margin-top:calc(var(--hh,86px) + 58px);}
body.pro .doc-section:first-child{border-top:0;}
body.pro .doc-eyebrow{color:var(--acc,var(--ink-faint)); font-weight:800; letter-spacing:.2em; font-size:.74rem;}
body.pro .doc-title{color:var(--navy); font-size:clamp(1.45rem,3vw,1.9rem);}
body.pro .doc-lead{color:var(--ink-soft);}
body.pro .doc-note{color:var(--ink-faint);}

/* 카드: 장식 아이콘 제거, 얇은 선 + 위쪽 남색 줄 */
body.pro .ic-ico{display:none;}
body.pro .info-card, body.pro .flow-step, body.pro .stat{background:#fff; border:1px solid var(--line); border-top:3px solid var(--acc,var(--navy)); border-radius:6px; box-shadow:none; padding:22px 22px 24px;}
body.pro .info-card h3{font-size:1.05rem; margin-bottom:10px; color:var(--navy);}
body.pro .info-card a.more{color:var(--navy); text-decoration:underline; text-underline-offset:3px;}
body.pro .stat b{background:none; -webkit-text-fill-color:currentColor; color:var(--navy);}
body.pro .num-list li{background:#fff; border:1px solid var(--line); border-radius:6px; box-shadow:none;}
body.pro .num-list .n{background:var(--acc,var(--navy)); border-radius:4px; width:32px; height:32px; flex-basis:32px; font-size:.84rem;}
body.pro .q-list li{background:#fff; border:1px solid var(--line); border-radius:6px; box-shadow:none;}
body.pro .callout, body.pro .callout.mint{background:var(--acc-soft,var(--bg-alt)); border:1px solid var(--line); border-left:4px solid var(--acc,var(--navy)); border-radius:4px; color:var(--ink-soft);}
body.pro .callout strong, body.pro .callout.mint strong{color:var(--navy);}
body.pro .callout a{color:var(--navy); font-weight:800; text-decoration:underline;}
body.pro .faq details{background:#fff; border:1px solid var(--line); border-radius:6px; box-shadow:none;}
body.pro .faq summary::after{color:var(--navy);}
body.pro .btn-pill{border-radius:6px;}

/* 문헌 카드: 표지 작게 + 오른쪽 글 */
body.pro .lit-grid{grid-template-columns:repeat(auto-fill,minmax(min(330px,100%),1fr)); gap:16px;}
body.pro .lit-card{display:grid; grid-template-columns:92px 1fr; gap:4px 18px; align-items:start; background:#fff; border:1px solid var(--line); border-radius:6px; box-shadow:none; padding:18px; transition:border-color .15s;}
body.pro .lit-card:hover{border-color:var(--acc,var(--navy));}
body.pro .lit-cover{grid-row:1 / span 3; margin:0; padding:10px; border-radius:3px; font-size:.78rem; line-height:1.35; box-shadow:2px 3px 8px rgba(23,41,58,.18);}
body.pro .lit-cover small{display:none;}
body.pro .lit-card h3{font-size:1.02rem; margin:0; line-height:1.45;}
body.pro .lit-card p{font-size:.88rem; flex:none;}
body.pro .lit-tag{align-self:start; justify-self:start; margin-top:6px; padding:3px 9px; border:1px solid var(--line); border-radius:3px; background:var(--bg-alt); color:var(--ink-soft); font-size:.74rem;}
.lit-bar{display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin:6px 0 4px;}
.lit-search{flex:1 1 280px; max-width:420px; height:44px; border:1px solid var(--line); border-radius:6px; padding:0 14px; font:inherit; font-size:.92rem; color:var(--navy); background:#fff;}
.lit-search:focus{outline:2px solid var(--navy); outline-offset:-1px;}
.lit-empty{display:none; padding:30px 0; color:var(--ink-faint);}

/* ── 모임 찾기 ── */
.mr-bar{background:#fff; border:1px solid var(--line); border-radius:8px; padding:14px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)) auto; gap:10px; margin:30px 0 0; box-shadow:0 8px 24px rgba(23,41,58,.06); position:relative; z-index:2; margin-top:-26px;}
.mr-sel{appearance:none; -webkit-appearance:none; height:46px; border:1px solid var(--line); border-radius:6px; padding:0 38px 0 14px; font:inherit; font-size:.92rem; font-weight:600; color:var(--navy); background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%234B5B6B' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") right 14px center no-repeat; cursor:pointer; width:100%;}
.mr-sel:focus{outline:2px solid var(--navy); outline-offset:-1px;}
.mr-reset{height:46px; padding:0 22px; border:0; border-radius:6px; font:inherit; font-weight:800; color:#fff; background:var(--grad-warm); cursor:pointer;}
.mr-layout{display:grid; grid-template-columns:230px minmax(0,1fr); gap:34px; margin-top:30px; align-items:start;}
.mr-side{position:sticky; top:calc(var(--hh,86px) + 16px); background:#fff; border:1px solid var(--line); border-radius:8px; padding:8px;}
.mr-side button{display:flex; justify-content:space-between; align-items:center; width:100%; border:0; background:none; font:inherit; font-size:.94rem; font-weight:600; color:var(--ink-soft); padding:12px 14px; border-radius:5px; cursor:pointer; text-align:left;}
.mr-side button:hover{background:var(--bg-alt); color:var(--navy);}
.mr-side button.on{background:var(--acc-soft,var(--bg-alt)); color:var(--navy); font-weight:800; box-shadow:inset 3px 0 0 var(--acc,var(--navy));}
.mr-side button small{font-size:.8rem; color:var(--ink-faint); font-weight:700;}
.mr-head{display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:12px;}
.mr-count{font-size:1.02rem; font-weight:800;} .mr-count b{color:var(--acc,var(--coral));}
.mr-tools{display:flex; gap:6px; flex-wrap:wrap;}
.mr-tool{border:1px solid var(--line); background:#fff; border-radius:6px; font:inherit; font-size:.84rem; font-weight:700; color:var(--ink-soft); padding:8px 13px; cursor:pointer;}
.mr-tool:hover{border-color:var(--navy); color:var(--navy);} .mr-tool.on{background:var(--navy); border-color:var(--navy); color:#fff;}
.mr-list{list-style:none; margin:0; padding:0; display:grid; gap:12px;}
.mr-row{display:grid; grid-template-columns:104px minmax(0,1fr) 46px; gap:20px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:8px; padding:12px 18px 12px 12px; text-decoration:none; color:inherit; transition:border-color .15s, box-shadow .15s;}
.mr-row:hover{border-color:var(--navy); box-shadow:0 8px 22px rgba(23,41,58,.08);}
.mr-thumb{width:104px; height:84px; border-radius:5px; overflow:hidden; position:relative;}
.mr-thumb .mp-cover{position:absolute; inset:0;}
.mr-thumb .mp-cover-ch{font-size:5.4rem; right:4%; bottom:-22%;}
.mr-name{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:0 0 7px; font-size:1.1rem; font-weight:800; letter-spacing:-.02em;}
.mr-badge{font-size:.74rem; font-weight:700; padding:3px 9px; border-radius:3px; border:1px solid var(--line); background:var(--bg-alt); color:var(--ink-soft);}
.mr-badge.open{background:#EAF3EE; border-color:#CFE3D6; color:#2E6B4C;} .mr-badge.closed{background:#F7ECEF; border-color:#EBCFD7; color:#9A3B57;}
.mr-meta{font-size:.92rem; color:var(--ink-soft); line-height:1.65;}
.mr-meta b{color:var(--navy);} .mr-meta .dot{margin:0 8px; color:#C5CDD5;}
.mr-extra{margin-top:6px; font-size:.82rem; color:var(--ink-faint);}
.mr-go{width:42px; height:42px; border-radius:50%; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--navy); font-size:1.05rem; transition:.15s;}
.mr-row:hover .mr-go{background:var(--navy); border-color:var(--navy); color:#fff;}
.mr-empty{padding:56px 20px; text-align:center; color:var(--ink-faint); border:1px dashed var(--line); border-radius:8px;}
.mr-map{display:none; height:360px; border-radius:8px; overflow:hidden; margin-bottom:16px; border:1px solid var(--line);} .mr-map.show{display:block;}
.mr-wrap{max-width:1140px; margin:0 auto; padding:0 24px 80px;}
.mr-dist{color:var(--coral); font-weight:800;}

@media (max-width:900px){
  .mr-bar{grid-template-columns:1fr 1fr;} .mr-reset{grid-column:1 / -1;}
  .mr-layout{grid-template-columns:1fr; gap:18px;}
  .mr-side{position:static; display:flex; overflow-x:auto; padding:6px; gap:4px; scrollbar-width:none;} .mr-side::-webkit-scrollbar{display:none;}
  .mr-side button{flex:0 0 auto; width:auto; gap:8px; white-space:nowrap;}
}
@media (max-width:560px){
  .ph-in{padding:22px 18px 34px;} .crumbs{margin-bottom:22px;}
  .tabs-in{padding:0 12px;} .tabs a{padding:14px 14px 12px;} body.pro .doc, .mr-wrap{padding-left:18px; padding-right:18px;}
  body.pro .lit-card{grid-template-columns:76px 1fr;}
  .mr-row{grid-template-columns:76px minmax(0,1fr); gap:14px; padding:10px;} .mr-thumb{width:76px; height:76px;} .mr-go{display:none;}
}
@media print{.ph,.tabs,.mr-bar,.mr-side,.mr-head,.mr-list{display:none!important}}

/* ============================================================
   전체 공통(헤더·버튼·푸터·폼) + 홈 + 기존 페이지 호환
   ============================================================ */
body.pro .topbar{background:var(--navy);}
body.pro .site-header{background:#fff; backdrop-filter:none; -webkit-backdrop-filter:none; box-shadow:none;}
body.pro .site-nav a:hover, body.pro .site-nav a.nav-active{border-bottom-color:var(--navy);}
body.pro .site-nav a.nav-active{color:var(--navy);}
body.pro .nav-dropdown{border-radius:6px; box-shadow:0 10px 28px rgba(23,41,58,.12); border:1px solid var(--line); padding:6px;}
body.pro .nav-dropdown a{border-radius:4px; font-weight:600;}
body.pro .nav-dropdown a:hover{background:var(--bg-alt); color:var(--navy);}
body.pro .btn-pill{border-radius:6px;}
body.pro .btn-pill.primary, body.pro .header-actions a.nav-star{background:var(--grad-warm); box-shadow:none; border-radius:6px; padding:10px 20px;}
body.pro .btn-pill.primary:hover{transform:none; box-shadow:0 4px 12px rgba(255,111,156,.3);}
body.pro .btn-pill.ghost{background:#fff; color:var(--navy); border:1px solid #C9D1D9; border-radius:6px;}
body.pro .btn-pill.ghost:hover{border-color:var(--navy); color:var(--navy);}
body.pro .btn-pill.accent{background:#fff; border:1px solid var(--navy); color:var(--navy); border-radius:6px; padding:9px 18px;}
body.pro .btn-pill.accent:hover{background:var(--navy); color:#fff; transform:none;}
body.pro .site-footer{background:var(--navy);}
body.pro .site-footer::before{display:none;}
body.pro .card{border:1px solid var(--line); box-shadow:none;}

/* 폼 */
body.pro .form-card{border:1px solid var(--line); border-radius:8px; box-shadow:none;}
body.pro .contact-field input, body.pro .contact-field textarea, body.pro .form-card input[type=text], body.pro .form-card input[type=email], body.pro .form-card select, body.pro .form-card textarea{border-radius:6px; border:1px solid #CBD3DB; background:#fff;}
body.pro .contact-field input:focus, body.pro .contact-field textarea:focus, body.pro .form-card input:focus, body.pro .form-card select:focus, body.pro .form-card textarea:focus{outline:2px solid var(--navy); outline-offset:-1px;}

/* 기존 .page-hero / .subnav 를 쓰는 페이지 (page_head 로 바뀌기 전 호환용) */
body.pro .page-hero{background:#fff; border-bottom:1px solid var(--line); text-align:left; padding:46px 24px 38px; max-width:none;}
body.pro .page-hero .ph-eyebrow{display:none;}
body.pro .page-hero h1{background:none; -webkit-text-fill-color:currentColor; color:var(--navy); text-align:left;}
body.pro .subnav{background:var(--bg-alt); border-top:0; border-bottom:1px solid var(--line); backdrop-filter:none;}
body.pro .subnav a{border-radius:0; background:none; border:0; border-bottom:3px solid transparent; padding:13px 20px;}
body.pro .subnav a:hover{border-bottom-color:var(--navy); color:var(--navy);}

/* ── 홈 히어로 ── */
.hm-hero{position:relative; background:#F6F3EE var(--hm-img, none) center/cover no-repeat; border-bottom:1px solid var(--line); overflow:hidden;}
.hm-hero::before{content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.9) 34%,rgba(255,255,255,.35) 62%,rgba(255,255,255,0) 100%);}
.hm-hero-in{position:relative; max-width:1140px; margin:0 auto; padding:84px 24px 92px; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:56px; align-items:center;}
.hm-eyebrow{font-size:.78rem; font-weight:800; letter-spacing:.14em; color:var(--ink-faint); margin-bottom:20px; text-transform:uppercase;}
.hm-hero h1{margin:0 0 22px; font-size:clamp(2.1rem,4.6vw,3.2rem); line-height:1.3; letter-spacing:-.035em; font-weight:800; color:var(--navy);}
.hm-hero p{margin:0 0 34px; max-width:480px; font-size:1.06rem; line-height:1.85; color:var(--ink-soft);}
.hm-btns{display:flex; gap:10px; flex-wrap:wrap;}
.hm-btns .btn-pill{padding:15px 28px; font-size:1rem;}
.hm-today{background:#fff; border:1px solid var(--line); border-top:3px solid var(--navy); border-radius:8px; padding:24px 24px 20px; box-shadow:0 18px 40px rgba(23,41,58,.10);}
.hm-today-date{font-size:.8rem; font-weight:700; color:var(--ink-faint); margin-bottom:6px;}
.hm-today h2{margin:0 0 14px; font-size:1.2rem; font-weight:800; color:var(--navy);} .hm-today h2 b{color:var(--coral); font-size:1.4rem;}
.hm-today ul{list-style:none; margin:0 0 14px; padding:0;}
.hm-today li{display:grid; grid-template-columns:48px 1fr; column-gap:12px; padding:11px 0; border-top:1px solid var(--line); align-items:baseline;}
.hm-today li .t{font-weight:800; color:var(--navy); font-variant-numeric:tabular-nums;} .hm-today li .g{font-weight:700; color:var(--navy);}
.hm-today li .l{grid-column:2; font-size:.84rem; color:var(--ink-faint);} .hm-today li.empty{display:block; color:var(--ink-faint); font-size:.92rem;}
.hm-today-more{display:block; text-align:right; font-size:.86rem; font-weight:800; color:var(--navy); text-decoration:none; border-top:1px solid var(--line); padding-top:13px;}
.hm-today-more:hover{text-decoration:underline;}

/* 바로가기 */
.hm-quick{background:#fff; border-bottom:1px solid var(--line);}
.hm-quick-in{max-width:1140px; margin:0 auto; display:grid; grid-template-columns:repeat(5,1fr); border-left:1px solid var(--line); border-right:1px solid var(--line);}
.hm-quick a{display:flex; flex-direction:column; gap:5px; padding:22px 24px; text-decoration:none; border-right:1px solid var(--line); border-bottom:3px solid transparent; transition:background .15s;}
.hm-quick a:last-child{border-right:0;} .hm-quick a:hover{background:var(--bg-alt); border-bottom-color:var(--coral);}
.hm-quick b{font-size:1rem; color:var(--navy);} .hm-quick span{font-size:.82rem; color:var(--ink-faint); line-height:1.5;}

/* 소개 */
body.home .intro-section{max-width:1140px; padding:88px 24px;}
body.home .intro-eyebrow{color:var(--ink-faint);}
body.home .intro-photo{border-radius:8px; box-shadow:none; border:1px solid var(--line); aspect-ratio:4/3;}
body.home .intro-quote-card{border:1px solid var(--line); box-shadow:0 12px 30px rgba(23,41,58,.10); border-radius:6px;}

/* 소식 · 행사 */
body.home .nw-section{background:var(--bg-alt); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
body.home .nw-inner{max-width:1140px; gap:32px; grid-template-columns:1.55fr 1fr; align-items:start;}
body.home .nw-col{background:#fff; border:1px solid var(--line); border-radius:8px; padding:26px 28px 14px;}
body.home .nw-col:first-child{padding-left:28px; border-right:1px solid var(--line);} body.home .nw-col:last-child{padding-right:28px;}
body.home .nw-thumb{border-radius:4px; flex-basis:80px; width:80px; height:58px;}
body.home .nw-tag, body.home .nw-tag-notice, body.home .nw-tag-guide, body.home .nw-tag-change, body.home .nw-tag-volunteer, body.home .nw-tag-event{background:var(--bg-alt); color:var(--ink-soft); border:1px solid var(--line); border-radius:3px; padding:2px 8px;}
body.home .nw-item:hover strong{color:var(--navy); text-decoration:underline;}
body.home .nw-cal{border:1px solid var(--line); border-radius:4px; box-shadow:none;}
body.home .nw-cal i{background:var(--navy); color:#fff;}
body.home .nw-event .nw-go{border-radius:4px;} body.home .nw-event:hover .nw-go{background:var(--navy);}

/* 소식 맨 위 고정 행사 + 봉사자료 칸 */
body.home .nw-pinned{background:var(--bg-alt); margin:0 -12px; padding:0 12px; border-radius:6px;}
body.home .nw-pinned + .nw-pinned{margin-top:2px;}
body.home .nw-item{min-height:84px; padding:11px 0; gap:16px;}
body.home .nw-body{gap:4px;}
body.home .nw-pinned .nw-item{min-height:76px; padding:10px 0;}
body.home .nw-lock{padding:8px 0 20px; color:var(--ink-soft); line-height:1.8; font-size:.93rem;}
body.home .nw-lock p{margin:0 0 16px;} body.home .nw-lock b{color:var(--ink); font-size:1rem;}

/* 숫자 섹션 */
body.home .rt-section{background:#fff; border-bottom:1px solid var(--line);}
body.home .rt-section::before{display:none;}
body.home .rt-inner{max-width:1140px;}
body.home .rt-em{font-style:normal; background:none; -webkit-text-fill-color:currentColor; color:var(--coral);}
body.home .rt-checks li::before{border-radius:3px;}
body.home .rt-track{fill:#fff; stroke:var(--line);}
body.home .rt-counter .rt-bar, body.home .rt-counter:nth-child(2) .rt-bar, body.home .rt-counter:nth-child(3) .rt-bar{stroke:var(--navy);}
body.home .rt-card{border-radius:8px; box-shadow:none; border:1px solid var(--line);}
body.home .rt-badge{border-radius:4px; box-shadow:none; border:1px solid var(--line);}
body.home .rt-counters{border-color:var(--line);}

/* 문의 */
body.home .contact-section{background:var(--bg-alt); border-top:0; box-shadow:none;}
body.home .contact-section::before{display:none;}
body.home .contact-form{border:1px solid var(--line); box-shadow:none; border-radius:8px;}
body.home .sh-eyebrow{color:var(--ink-faint);}
body.home .sh-divider{height:2px; background:var(--navy); width:36px; border-radius:0;}

@media (max-width:900px){
  .hm-hero::before{background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.82));}
  .hm-hero-in{grid-template-columns:1fr; gap:34px; padding:52px 20px 56px;}
  .hm-quick-in{grid-template-columns:1fr 1fr; border-left:0; border-right:0;}
  .hm-quick a{border-bottom:1px solid var(--line);} .hm-quick a:nth-child(2n){border-right:0;} .hm-quick a:last-child{grid-column:1/-1;}
  body.home .nw-inner{grid-template-columns:1fr;}
}

/* ── 모임 상세 / 그룹 상세 (pro) ── */
body.pro .mp-ico{display:none;}
body.pro .mv-wrap{max-width:1140px; padding:26px 24px 80px;}
body.pro .mv-wrap > .crumbs{margin-bottom:20px;}
body.pro .mv-hero{height:clamp(220px,30vw,340px); border-radius:8px; box-shadow:none; border:1px solid var(--line);}
body.pro .mv-hero::after{background:linear-gradient(180deg,rgba(15,28,40,0) 35%,rgba(15,28,40,.7));}
body.pro .mv-chip{border-radius:4px; background:rgba(255,255,255,.18); padding:6px 12px;}
body.pro .mv-eb{color:var(--acc,var(--ink-faint)); letter-spacing:.18em;}
body.pro .mv-sec h2{color:var(--navy);}
body.pro .mv-notice{border-radius:6px; background:var(--bg-alt); border:1px solid var(--line); border-left:3px solid var(--coral); color:var(--navy);}
body.pro .mv-feat{border-radius:6px; border:1px solid var(--line); border-top:3px solid var(--acc,var(--navy)); padding:15px 17px;}
body.pro .mv-feat-ico{display:none;}
body.pro .mv-read{border-radius:4px; background:var(--bg-alt); border:1px solid var(--line); color:var(--navy); padding:9px 15px;}
body.pro .mv-find{border-radius:6px; border:1px solid var(--line);}
body.pro .mv-find p{display:block;}
body.pro .mv-map{border-radius:6px; border:1px solid var(--line);}
body.pro .mv-first{background:var(--acc-soft,var(--bg-alt)); border:1px solid var(--line); border-left:4px solid var(--acc,var(--navy)); border-radius:4px;}
body.pro .mv-first li::before{border-radius:50%; background-color:var(--acc,var(--navy)); background-image:none; width:6px; height:6px; flex-basis:6px; margin-top:.7em;}
body.pro .mv-card{border-radius:8px; box-shadow:none; border:1px solid var(--line); border-top:3px solid var(--acc,var(--navy));}
body.pro .mv-line{display:block;}
body.pro .mv-btn{border-radius:6px; transform:none;}
body.pro .mv-btn.primary{box-shadow:none;}
body.pro .mv-btn:hover{transform:none; border-color:var(--navy);}
body.pro .mv-other{border-radius:6px; border:1px solid var(--line);}
body.pro .mv-other:hover{transform:none; box-shadow:none; border-color:var(--navy);}
body.pro .gc{border-radius:10px; box-shadow:none; border:1px solid var(--line);}
body.pro .gc:hover{transform:none; box-shadow:0 10px 28px rgba(23,41,58,.12);}
body.pro .gc-body{border-radius:8px 8px 0 0;}
body.pro .gc-btn{border-radius:6px;}
body.pro .mf-card{border-radius:8px; box-shadow:none; border:1px solid var(--line);}
body.pro .mf-card:hover{transform:none; border-color:var(--navy); box-shadow:none;}
body.pro .mf-tag{border-radius:3px; background:var(--bg-alt); border:1px solid var(--line);} body.pro .mf-tag.hl{background:#EAF3EE; border-color:#CFE3D6; color:#2E6B4C;}
body.pro .mf-open{border-radius:3px;}
/* 그룹 상세 */
body.pro .gv-hero{text-align:left; padding:30px 24px 44px;}
body.pro .gv-in{position:relative; max-width:1092px; margin:0 auto;}
body.pro .gv-hero .crumbs{color:rgba(255,255,255,.8); margin-bottom:30px;}
body.pro .gv-hero .crumbs a{color:rgba(255,255,255,.85);} body.pro .gv-hero .crumbs span:last-child{color:#fff;}
body.pro .gv-hero p{margin:0; max-width:620px;}
body.pro .gv-stats{justify-content:flex-start; gap:40px;} body.pro .gv-stats div{text-align:left;}
body.pro .gv-wrap{margin-top:0; padding:34px 24px 80px; max-width:1140px;}
body.pro .gv-panel{border-radius:0; box-shadow:none; padding:0;}

/* 마무리 보정 */
body.pro .q-list li{padding:13px 18px 13px 40px;}
body.pro .q-list li::before{content:""; left:18px; top:calc(13px + .85em - 4px); width:8px; height:8px; border-radius:50%; background:var(--acc,var(--navy));}
body.pro .flow-step .fs-k{color:var(--ink-faint);}
body.pro main a[style*="--coral"], body.pro .callout a, body.pro .info-card a, body.pro .contact-row-line a, body.pro .form-card a{color:var(--navy)!important; text-decoration:underline; text-underline-offset:3px;}
body.pro .contact-side ul{list-style:none; padding:0;} body.pro .contact-side li{padding:4px 0;}
body.pro .site-header .logo-mark{width:48px; height:48px;}
@media (max-width:560px){
  body.pro .site-header .logo-mark{width:38px; height:38px;}
  body.pro .site-header .logo{font-size:14px; line-height:1.25;}
  body.pro .site-header{padding:10px 12px; gap:6px;}
  body.pro .header-actions{gap:5px;}
  body.pro .header-actions a.nav-star, body.pro .header-actions .btn-pill.accent{padding:8px 9px; font-size:.76rem; white-space:nowrap;}
  body.pro .nav-toggle{padding:2px 4px;}
}

/* 행사·소식·멤버 영역 */
body.pro .event-row{background:#fff; border:1px solid var(--line); border-radius:6px; box-shadow:none; padding:16px 20px;}
body.pro .event-date{background:var(--acc-soft,#fff)!important; border:1px solid var(--line); border-top:3px solid var(--acc,var(--navy)); border-radius:4px; color:var(--navy);}
body.pro .event-date b{color:var(--navy);} body.pro .event-date span{color:var(--ink-soft);}
body.pro .empty-state{background:var(--bg-alt); border:1px dashed #C9D1D9; border-radius:6px; box-shadow:none;}
body.pro .story-card{border:1px solid var(--line); border-radius:6px; box-shadow:none;}
body.pro .story-card button.toggle{color:var(--navy); text-decoration:underline;}
body.pro .pin-card input, body.pro .form-card input[type=password]{border-radius:6px;}
body.pro .gpick a{border-radius:6px; box-shadow:none; border:1px solid var(--line);}
body.pro .mb-tabs a, body.pro .mb-top{border-radius:6px;}

/* 상단 헤더: 흰색 대신 아주 옅은 파스텔 그라데이션 + 위쪽 컬러 띠 (홈 제외) */
body.pro .site-header{background:linear-gradient(90deg,#FFF3EC 0%,#FFFFFF 34%,#F1F6FF 68%,#ECF9F3 100%); position:sticky;}
body.pro .site-header::before{content:""; position:absolute; left:0; right:0; top:0; height:3px; background:linear-gradient(90deg,#FF8F6B,#FF6F9C,#A99BE0,#6FB3E0,#6FBF9B);}
body.pro .site-nav a:hover, body.pro .site-nav a.nav-active{border-bottom-color:var(--coral);}
body.pro .topbar{background:#20364A;}
/* 포인트 컬러 */
body.pro .info-card h3, body.pro .flow-step h3{color:var(--navy);}
body.pro .info-card:hover, body.pro .flow-step:hover{box-shadow:0 8px 22px rgba(23,41,58,.07);}
body.pro .doc-section:nth-of-type(even){position:relative;}
body.pro .doc-title{position:relative;}
body.pro .doc-title::after{content:""; display:block; width:44px; height:4px; border-radius:2px; background:var(--acc,var(--navy)); margin-top:12px;}
body.pro .crumbs span:last-child{color:var(--navy);}
body.pro .btn-pill.ghost:hover{border-color:var(--acc,var(--navy));}

/* 알아넌 안내 패널 */
.alanon{display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:0; margin:22px 0 4px; border:1px solid var(--line); border-left:5px solid var(--acc,var(--navy)); border-radius:8px; background:var(--acc-soft,var(--bg-alt)); overflow:hidden;}
.alanon-txt{padding:26px 30px;}
.alanon-k{font-size:.72rem; font-weight:800; letter-spacing:.16em; color:var(--acc,var(--ink-faint)); margin-bottom:8px;}
.alanon h3{margin:0 0 10px; font-size:1.25rem; color:var(--navy);}
.alanon p{margin:0 0 14px; line-height:1.8; color:var(--ink-soft); font-size:.95rem;}
.alanon ul{list-style:none; margin:0; padding:0; display:grid; gap:6px;}
.alanon li{position:relative; padding-left:16px; font-size:.9rem; line-height:1.5; color:var(--navy); font-weight:600;}
.alanon li::before{content:""; position:absolute; left:0; top:50%; transform:translateY(-50%); width:6px; height:6px; border-radius:50%; background:var(--acc,var(--navy));}
.alanon-btns{background:#fff; border-left:1px solid var(--line); padding:26px 28px; display:flex; flex-direction:column; justify-content:center; gap:10px;}
.alanon-btns .btn-pill{display:flex; width:100%; height:50px; box-sizing:border-box; justify-content:center; align-items:center; padding:0 18px; border:1px solid transparent; font-size:.95rem; line-height:1;}
.alanon-btns .btn-pill.ghost{border-color:#C9D1D9;}
.alanon-btns small{color:var(--ink-faint); font-size:.78rem; line-height:1.6; margin-top:4px;}
@media (max-width:760px){.alanon{grid-template-columns:1fr;} .alanon-btns{border-left:0; border-top:1px solid var(--line);} .alanon-txt{padding:22px 20px;}}


/* ── 모바일 보정 (2026-10-08) ── */
@media (max-width:560px){
  .mr-meta .dot{display:none;}
  .mr-addr{display:block; margin-top:2px;}
  .mr-name{font-size:1.05rem;}
  .lit-search{flex:1 1 100%; max-width:none; height:48px;}
  .tabs a{min-height:48px; display:flex; align-items:center;}
  body.pro .doc-section{padding:44px 0 40px;}
  body.pro .info-card, body.pro .flow-step, body.pro .stat{padding:20px 18px 22px;}
}
@media (max-width:420px){
  .mr-bar{grid-template-columns:1fr; padding:12px;}
  .mr-sel, .mr-reset{height:48px;}
  .ph h1{font-size:1.8rem;}
  .alanon-btns .btn-pill{height:52px;}
}

/* ── 모임 찾기 도구 버튼 (가까운 순 / 지도 가리기 / 인쇄) — 눈에 잘 띄게 (2026-10-09) ── */
.mr-tools{gap:8px;}
.mr-tool{display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:44px; padding:0 18px; font-size:.95rem; font-weight:800; color:var(--navy); border:1.5px solid var(--navy); border-radius:8px; background:#fff; white-space:nowrap;}
.mr-tool svg{flex:0 0 auto;}
.mr-tool:hover{background:var(--bg-alt);}
.mr-tool-near{background:var(--grad-warm); color:#fff; border-color:transparent; box-shadow:0 6px 16px rgba(255,111,156,.28);}
.mr-tool-near:hover{background:var(--grad-warm); opacity:.92;}
.mr-tool-near.on{background:var(--navy); box-shadow:none;}
.mr-tool#map-btn.on{background:var(--bg-alt); color:var(--navy); border-color:var(--navy);}
.mr-tool:disabled{opacity:.6; cursor:wait;}
@media (max-width:640px){
  .mr-head{display:block;}
  .mr-count{margin-bottom:10px;}
  .mr-tools{display:grid; grid-template-columns:1.25fr 1.15fr .8fr; gap:6px; width:100%;}
  .mr-tool{padding:0 6px; font-size:.88rem; gap:5px; min-height:46px;}
  .mr-tool svg{width:16px; height:16px;}
  .mr-map{height:280px;}
}

/* 도구 버튼 보정: 아이콘·글자 높이 맞춤, 간격, 3개 같은 너비 (2026-10-09) */
.mr-tools{display:grid; grid-template-columns:repeat(3, 148px); gap:10px;}
.mr-tool{gap:10px; line-height:1; padding:0 12px;}
.mr-tool svg{display:block; width:20px; height:20px; flex:0 0 20px;}
.mr-tool span{display:block; line-height:1; padding-top:1px;}
@media (max-width:640px){
  .mr-tools{grid-template-columns:repeat(3, minmax(0,1fr)); gap:8px;}
  .mr-tool{flex-direction:column; gap:6px; min-height:60px; padding:8px 4px; font-size:.86rem;}
  .mr-tool svg{width:22px; height:22px; flex-basis:22px;}
}

/* 도구 버튼 테두리: 얇고 연하게 (2026-10-10) */
.mr-tool{border:1px solid #D5DCE3; box-shadow:none;}
.mr-tool:hover{border-color:#9AA8B5; background:var(--bg-alt);}
.mr-tool#map-btn.on{background:#fff; border-color:#D5DCE3; color:var(--navy);}
.mr-tool-near{border-color:transparent; box-shadow:0 4px 12px rgba(255,111,156,.22);}
.mr-tool-near.on{background:var(--navy); border-color:var(--navy); box-shadow:none;}
.mr-tool:focus{outline:none;}
.mr-tool:focus-visible{outline:2px solid #8FA3B6; outline-offset:2px;}
