/* ═══ RUNIN.KR 대회일정 /find/ — World Marathon Majors 디자인(wm-) · 2026-10-05 · 클로드A ═══
   규칙 한 장 : https://idc.kr/_claude/CODE_RULES.txt
   설계서 : D:\작업중\2026년\10월\런닝인사이드\대회일정WMM시안\ref\find_설계서.md (값의 출처 = 1-3 값표 · 폰 1-4 · 달력/지도 1-5 · 기능 3-5)
   🔴 이 파일은 홈 wmm.css «뒤에» 실린다(같은 부품·같은 값). 홈 부품(.wm-chip .wm-btn .wm-st .wm-sec …)은 다시 정의하지 않고,
      /find/ 전용과 «옛 마크업이 기대던 기능 규칙»만 둔다. 선택자는 전부 body.wm-fdp 또는 .wm-fd 아래 — 홈과 섞이지 않게.
   🔴 글자는 완전 검정(#000 = --wm-ink). 회색 글자 금지. 포인트 빨강(--wm-hot)은 «지금 서둘러라»(마감임박·추가접수)에만.
   🔴 :has() 는 쓰지 않는다 — 고름은 서버가 붙인 is-on / aria-current, 펼침은 a[aria-expanded] 로 판단(설계 8-3 #6). */

/* ═══ 0. 기능 규칙 (설계 3-5) — 옛 CSS(app.css·utmb.css·ri-ff-css·ri-a-fm)를 걷으면서 «빠지면 오류 없이 깨지는» 것만 옮겼다 ═══ */

/* 화면낭독기 전용 글 664곳 — 빠지면 「대회일까지 13일 남음」·select 이름표가 화면에 다 보인다 (= .wm-sr, wmm.css:43) */
body.wm-fdp .ri-sr, body.wm-fdp .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; margin: 0; padding: 0; border: 0; }
/* 아이콘(sprite <use>) 631곳 — 크기를 안 주면 svg 기본 300×150 으로 줄이 터진다 */
body.wm-fdp svg.ri-i { width: 1em; height: 1em; flex: none; vertical-align: -.125em; }
/* findfix (findfix.php:101-125) — 추가접수 0건 단추 숨김 · 타이틀 코스 여섯 칸 차례 · 연월/대륙으로 거른 줄 숨김 */
body.wm-fdp .ri-ff-hide { display: none !important; }
body.wm-fdp .ri-chip.ri-ff-off { display: none !important; }
body.wm-fdp .ri-chip.ri-ff-o1 { order: 1; } body.wm-fdp .ri-chip.ri-ff-o2 { order: 2; } body.wm-fdp .ri-chip.ri-ff-o3 { order: 3; }
body.wm-fdp .ri-chip.ri-ff-o4 { order: 4; } body.wm-fdp .ri-chip.ri-ff-o5 { order: 5; } body.wm-fdp .ri-chip.ri-ff-o6 { order: 6; }
body.wm-fdp .ri-ff-trail { order: 4; }
body.wm-fdp .u-sched__row.ri-ff-x, body.wm-fdp .u-sched__row.ri-ff-ym { display: none !important; }
/* 펼침 자리 656개 — display 를 준 규칙이 [hidden] 을 이기면 빈 패널 656개가 한꺼번에 열린다(사슬 3-2). 반드시 짝으로 */
body.wm-fdp .wm-fp[hidden], body.wm-fdp .u-panel[hidden] { display: none !important; }
/* 알림 모달(app.js:96-200 이 is-open·hidden 을 함께 바꾼다) — 막 색 = .wm-dlg::backdrop 값(wmm.css:493) */
body.wm-fdp .ri-modal { position: fixed; inset: 0; z-index: 90; display: none; align-items: center; justify-content: center; padding: 1rem; background: rgba(0,0,30,.6); }
body.wm-fdp .ri-modal.is-open { display: flex; }
body.wm-fdp .ri-modal[hidden] { display: none; }
body.ri-locked { overflow: hidden; }
/* 폰 칩 띠(findmobile.php:34-64 의 기능 부분) — 🔵 Q2 기본안 : 경계를 767 하나로(아래 7장). JS 는 820 이하에서 띠를 «만들지만»
   768~820 에서는 거르개 칸이 보이므로 띠를 숨겨 이중 노출(인벤 4장 실측)을 없앤다. 줄 숨김([data-fm-off])도 띠가 보일 때만 */
body.wm-fdp .ri-fm { display: none; }

/* ═══ 1. 머리 — 메뉴 «지금 여기» (홈 hover 밑줄 wmm.css:171-173 을 «고정»으로 · 2단계에 공용 CSS 로 옮긴다) ═══ */
body.wm-fdp .wm-nav li a[aria-current="page"] { font-weight: 800; }
body.wm-fdp .wm-nav li a[aria-current="page"]::after { transform: none; }
body.wm-fdp .wm-dlg--nav a[aria-current="page"] { color: var(--wm-navy); }

/* ═══ 2. 지면 머리 (1-1 #3 · 1-3) — 사진 없음 · 위 5rem 아래 2.5rem (WMM §2 80/40) ═══ */
.wm-fd .wm-fd-hd { padding: 4rem var(--wm-gx) 2.5rem; }   /* 사장님 10-05 「맨 밑으로」 — 이제 목록 «뒤» 구역이라 규칙 구역 간격 4rem */
.wm-fd .wm-fd-crumb { font-size: .875rem; font-weight: 700; margin-bottom: 2rem; }        /* 규칙 2 라벨칩 글자 · 아래 2rem */
.wm-fd .wm-fd-crumb a { text-decoration: underline; }
.wm-fd .wm-fd-hd .wm-h2 { margin-bottom: .625rem; }                                        /* WMM §2 h1 아래 10px */
.wm-fd .wm-fd-lead { max-width: 55ch; }                                                     /* 규칙 4⑥ 글 폭 */

/* 문답 = 새 부품 wm-faq (WMM /race-draws §9-1) — 질문 1.3rem/1.5rem 700 · 오른쪽 ⊕ 1.875rem(열면 −) · 칸 사이 1px 구분 줄 */
.wm-fd .wm-faq { margin-top: 2rem; max-width: 64rem; }                                     /* WMM container-medium 64rem */
.wm-fd .wm-faq__i { border-bottom: 1px solid var(--wm-line); }                              /* WMM #d7e4f7 대신 규칙 1 구분 줄 */
.wm-fd .wm-faq__i > summary { position: relative; display: block; list-style: none; cursor: pointer; padding: 1.5rem 4rem 1.5rem 0; font-size: 1.3rem; line-height: 1.5rem; font-weight: 700; }
.wm-fd .wm-faq__i > summary::-webkit-details-marker { display: none; }
.wm-fd .wm-faq__q { display: block; max-width: 50ch; }
.wm-fd .wm-faq__i > summary::after {
  content: ""; position: absolute; right: 0; top: 50%; width: 1.875rem; height: 1.875rem; margin-top: -.9375rem;
  border: 2px solid var(--wm-ink); border-radius: 50%;
  background: linear-gradient(var(--wm-ink), var(--wm-ink)) center / 50% 2px no-repeat, linear-gradient(var(--wm-ink), var(--wm-ink)) center / 2px 50% no-repeat;
}
.wm-fd .wm-faq__i[open] > summary::after { background: linear-gradient(var(--wm-ink), var(--wm-ink)) center / 50% 2px no-repeat; }
.wm-fd .wm-faq__a { padding: 0 4rem 1.5rem 0; font-size: 1rem; line-height: 1.3; font-weight: 500; }

/* ═══ 3. «대회 찾기» 구역 (1-1 #5·#6 · 1-3) — [왼쪽 30% 고정 거르개 칸 | 오른쪽 칩 띠 → 줄 목록] ═══ */
.wm-fd .wm-fd-sec { padding-top: 2.5rem; }   /* 사장님 10-05 「메뉴 카테고리 밑에 바로」 — 지면 첫 구역(값 = 설계 1-3 지면 머리 아래 2.5rem) */
.wm-fd .wm-fd-cnt { font-size: 2rem; line-height: 1; font-weight: 900; font-style: italic; color: var(--wm-navy); white-space: nowrap; }   /* = .wm-find__cnt b (wmm.css:290) */
.wm-fd .wm-fd-body { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; }
.wm-fd .wm-fd-main { min-width: 0; display: flex; flex-direction: column; }
/* 표 머리가 목록에 «붙어» 있게 — findfix 대륙 칩·findmobile 칩 띠는 JS 가 ul.u-sched «바로 앞»에 넣어 표 머리와 목록 사이에 끼었다.
   차례만 바꾼다(마크업·JS 무변경) : 칩 띠(-2) → JS 칩(-1) → 표 머리·목록(0) */
.wm-fd .wm-fd-main > .wm-fd-bar { order: -2; }
.wm-fd .wm-fd-main > .ri-ff-cont, .wm-fd .wm-fd-main > .ri-ff-note, .wm-fd .wm-fd-main > .ri-fm { order: -1; }

/* 거르개 칸 — 바탕 = 규칙 1 «연한 바탕(카드·폼 구역)» · 안쪽 WMM §5 (폰 16/16/32) */
.wm-fd .wm-fd-filt { background: var(--wm-page); padding: 1rem 1rem 2rem; min-width: 0; }
.wm-fd .wm-fd-form { margin: 0; }
.wm-fd .wm-fd-f { display: grid; grid-template-columns: minmax(0, 1fr); gap: .5rem; }      /* select 한 줄에 하나 · 사이 = .wm-chips 세로 간격 */
.wm-fd .wm-fd-f select {                                                                     /* = .wm-lead__f select (wmm.css:422-424 · 규칙 1 입력칸) */
  width: 100%; min-height: 3.25rem; padding: .75rem 1rem; border: .125rem solid var(--wm-field); background: #fff;
  font: inherit; font-size: 1rem; color: var(--wm-ink); border-radius: 0;
}
.wm-fd .wm-fd-f select:focus { outline: none; border-color: var(--wm-navy); box-shadow: 0 0 0 2px var(--wm-navy); }

/* 타이틀 코스 — 칩 = 홈 .wm-chip 값. 🔴 findfix 가 JS 로 더하는 「트레일런」 칩(label.ri-chip.ri-ff-trail · wm-chip 이름 없음)도
   같은 모양이 되게 «.ri-chip» 으로 잡는다(2단계에서 findfix 가 wm-chip 을 붙이면 이 줄은 겹칠 뿐 해 없음) */
.wm-fd .wm-fd-dist { border: 0; padding: 0; margin: 2rem 0 0; min-width: 0; }
.wm-fd .wm-fd-dist > legend { padding: 0; margin-bottom: .9rem; }                         /* .wm-filt__l 글자 · 아래 = .wm-filt 간격 */
.wm-fd .wm-fd-dist > legend > span { display: block; margin-top: .25rem; font-size: .8125rem; font-weight: 500; font-style: normal; text-transform: none; }
.wm-fd .wm-fd-dist .ri-chips { display: flex; flex-wrap: wrap; gap: .5rem .6rem; padding-left: .4rem; }
.wm-fd .wm-fd-dist .ri-chip {
  position: relative; display: inline-flex; align-items: center; height: 2.75rem; padding: 0 1.1rem; cursor: pointer;
  border: 0; background: var(--wm-chip); transform: skew(-16deg); color: var(--wm-ink);
  font-size: .9375rem; font-weight: 800; font-style: italic; transition: background-color .2s ease, color .2s ease;
}
.wm-fd .wm-fd-dist .ri-chip > span { display: inline-flex; align-items: center; gap: .4rem; transform: skew(16deg); }
.wm-fd .wm-fd-dist .ri-chip:hover { background: var(--wm-nav2); }
.wm-fd .wm-fd-dist .ri-chip.is-on { background: var(--wm-navy); color: #fff; }
/* 체크 상자는 화면에서 숨기되 초점은 칩이 받는다(규칙 3 초점 · 3px 남색 + 2px 흰 겹) */
.wm-fd .wm-fd-dist .ri-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
.wm-fd .wm-fd-dist .ri-chip:focus-within { outline: 3px solid var(--wm-navy); outline-offset: 2px; box-shadow: 0 0 0 2px #fff; }
.wm-fd .wm-fd-note { margin-top: .5rem; font-size: .8125rem; font-weight: 500; }           /* = .wm-row__s 크기 (wmm.css:300) */
.wm-fd .wm-fd-note b { font-weight: 800; }
/* 스위치 = .ri-check input 값(wmm.css:428) */
.wm-fd .wm-fd-sw { display: flex; align-items: center; gap: .75rem; margin-top: 1rem; font-size: .875rem; font-weight: 700; cursor: pointer; }
.wm-fd .wm-fd-sw input { width: 1.25rem; height: 1.25rem; margin: 0; flex: none; accent-color: var(--wm-navy); }
/* 단추 줄 = .wm-btns 꼴(사이 1rem 1.5rem) · 위 = .wm-split__c .wm-btns 2rem */
.wm-fd .wm-fd-ft { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin-top: 2rem; }
.wm-fd .wm-fd-ft > .wm-fd-sw { flex: 1 0 100%; margin-top: 0; }

/* ═══ 4. 범위·보기 칩 띠 (1-1 #7) — 국내·국외·통합 / 목록·달력·지도 / 추가접수만 보기 · 「목록 앞」(사장님 08-24) ═══ */
.wm-fd .wm-fd-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin-bottom: 1.75rem; }
.wm-fd .wm-fd-bar .ri-scope3__flag { display: inline-block; width: 20px; height: 15px; flex: none; }   /* 원래 img 속성값 20×15 */
.wm-fd .wm-fd-bar .ri-views__soon { font-size: .9375rem; font-weight: 600; }
/* C 배너(riin-findbn)는 JS 가 .ri-views 바로 뒤에 넣는다 — 자리만 한 줄 전부(모양은 C 몫, Q8) */
.wm-fd .wm-fd-bar > .riin-findbn { flex: 1 0 100%; }

/* ═══ 5. 목록 (1-1 #11·#12 · 1-2 · 1-3) — 줄 마크업은 그대로, 이름만 덧붙여 wm 격자로 ═══
   격자 = 날짜 6.5rem(홈 .wm-row) | 이름 1.75fr | 장소 1fr | 상태 1fr (WMM §6 1.75fr 1fr 1fr) · 칸 사이 2rem
   🔵 설계 1-3 은 마지막 칸 «auto» 였으나 줄마다 따로 격자라 auto 면 줄마다 칸 폭이 달라 장소 칸이 지그재그가 된다
      → WMM 이 쓴 1fr 로 고정(모든 줄·표 머리가 같은 칸에 선다) */
.wm-fd .wm-fd-list { border-top: 2px solid var(--wm-ink); }                                 /* 규칙 3 목록 머리 줄 · wmm.css:291 */
.wm-fd .wm-fd-head { display: none; }
.wm-fd .wm-fr {
  position: relative; display: grid; grid-template-columns: 6.5rem minmax(0, 1.75fr) minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 2rem; align-items: center; padding: 1rem 2.75rem 1rem .25rem;               /* 오른쪽 2.75rem = 꺾쇠 자리 · 안쪽 1rem(WMM 72px 줄) */
  border-bottom: 1px solid var(--wm-line); transition: background-color .2s ease;
}
.wm-fd .wm-fr:hover { background: var(--wm-page); }
.wm-fd .wm-fr > p, .wm-fd .wm-fr > div { margin: 0; min-width: 0; }
/* 날짜 = .wm-row__d 값(wmm.css:295-296) · 토·일도 검정(색 안 씀) */
.wm-fd .wm-fr__d { white-space: nowrap; line-height: 1.1; }
.wm-fd .wm-fr__d b { font-size: 1.125rem; font-weight: 900; font-style: italic; }
.wm-fd .wm-fr__d span { margin-left: .25rem; font-size: .8125rem; font-style: italic; }
/* 대회명 = .wm-row__t 값(wmm.css:299) · hover 남색 .2s(WMM §6)
   ::before 로 줄 전체를 덮어 «줄 어디를 눌러도» 펼친다 — 누른 곳이 a 라 app.js 의 closest('.u-sched__toggle') 가 그대로 잡는다 */
.wm-fd .wm-fr__t { display: block; font-size: 1.0625rem; line-height: 1.35; font-weight: 800; transition: color .2s ease; }
.wm-fd .wm-fr__t::before { content: ""; position: absolute; inset: 0; }
.wm-fd .wm-fr:hover .wm-fr__t, .wm-fd .wm-fr__t:focus-visible { color: var(--wm-navy); }
/* 꺾쇠 — 홈 chev 꼴(굵기 2) 남색 1.5rem(WMM §6 바깥링크 아이콘 24px 자리). 펼치면 90° (aria-expanded 는 app.js 가 바꾼다) */
.wm-fd .wm-fr__t::after {
  content: ""; position: absolute; right: .25rem; top: 1.5rem; width: 1.5rem; height: 1.5rem; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000075' stroke-width='2' stroke-linecap='square'%3E%3Cpath d='m9 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: transform .2s ease;
}
.wm-fd .wm-fr__t[aria-expanded="true"]::after { transform: rotate(90deg); }
/* 취소 — 이름 줄긋기 · D-day 숨김(utmb.css:3489-3502 그대로). WMM 빨강 #fc0000 은 규칙 1 이 금지 */
.wm-fd .wm-fr.is-cancelled .wm-fr__t { text-decoration: line-through; text-decoration-thickness: 1px; }
.wm-fd .wm-fr.is-cancelled .u-dday { display: none; }
/* 거리 꼬리표 — .wm-st 크기 + 라벨칩 바탕(#f3f3f3) · 검정 글자.
   비스듬은 ::before 바탕에만 준다 — 꼬리표 안에 글자를 감싼 span 이 없어(마크업 무변경) 통째로 기울이면 글자가 눕는다.
   position·z-index 1 = 줄 덮개(::before) 위로 — title 말풍선(온전한 이름)이 가리지 않게 */
.wm-fd .wm-fr__dist, .wm-fd .wm-fp .u-dist { display: flex; flex-wrap: wrap; gap: .5rem .6rem; margin: .5rem 0 0; padding: 0 0 0 .4rem; }
.wm-fd .wm-fr__dist li, .wm-fd .wm-fp .u-dist li {
  position: relative; z-index: 1; isolation: isolate; display: inline-flex; align-items: center; gap: .3rem;
  padding: .3rem .6rem; font-size: .75rem; line-height: 1; font-weight: 800; font-style: italic; color: var(--wm-ink); white-space: nowrap;
}
.wm-fd .wm-fr__dist li::before, .wm-fd .wm-fp .u-dist li::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--wm-chip); transform: skew(-16deg); }
/* 장소 — 도시 1rem/1.6 500(WMM §6) · 범위·주최 = .wm-row__s 값 */
.wm-fd .wm-fr__s { font-size: .8125rem; font-weight: 500; line-height: 1.5; }
.wm-fd .wm-fr__s .u-sched__where { display: block; font-size: 1rem; line-height: 1.6; font-weight: 500; }
.wm-fd .wm-fr__s .u-sched__scope { font-weight: 800; margin-right: .4rem; }               /* = .wm-row__s i */
.wm-fd .wm-fr .ri-flag { display: inline-block; width: 20px; height: 15px; margin-right: .35rem; vertical-align: -.1em; }   /* 원래 img 속성값 20×15 */
/* 상태 칸 — 배지 + D-day (홈 .wm-row__r) */
.wm-fd .wm-fr__r { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .6rem; }
/* 상태 배지 : 접수중 = 남색(.wm-st 기본) · 마감임박·추가접수 = 포인트 빨강 + 흰 글자(wmm.css:116) · 접수예정 = 2px 테두리(wmm.css:117)
   접수마감·종료·취소·접수정보 없음 = 배지 없이 «글자만» 500 보통체 — 규칙 3 「빨강은 지금 서둘러라만」 · WMM §6 TBD 500
   겹배지(마감임박+추가접수)는 PHP 가 마감임박을 wm-st--txt(글자만)로 바꿔 보낸다 — 데이터 배지는 항목마다 1개 */
.wm-fd .wm-st--closed, .wm-fd .wm-st--finished, .wm-fd .wm-st--cancelled, .wm-fd .wm-st--unknown, .wm-fd .wm-st--txt {
  background: none; color: var(--wm-ink); box-shadow: none; transform: none; padding: 0; font-size: .8125rem; font-weight: 500; font-style: normal;
}
.wm-fd .wm-st--closed > span, .wm-fd .wm-st--finished > span, .wm-fd .wm-st--cancelled > span, .wm-fd .wm-st--unknown > span, .wm-fd .wm-st--txt > span { transform: none; }
/* D-day = .wm-dd · 지난 것은 500 보통체 — 서버는 u-dday--past, app.js 는 ri-dday--past 를 붙인다(인벤 7장 ⑩ 이름 둘) */
.wm-fd .u-dday--past, .wm-fd .ri-dday--past { font-weight: 500; font-style: normal; }

/* ═══ 6. 펼침 패널 (1-1 #13) — REST 로 오는 html(늘 한국어) · 옛 utmb.css 의 «배치 값»만 옮기고 색·글꼴은 wm ═══
   grid-column 1/-1 = 줄 격자를 꽉 · position·z-index 1 = 줄 덮개(::before) 위로(안 그러면 패널 속 단추·링크가 안 눌린다) */
.wm-fd .wm-fp { grid-column: 1 / -1; position: relative; z-index: 1; background: var(--wm-page); cursor: auto; }
/* 🔵 여백은 «.wm-fr > .wm-fp» 로 준다 — 위 줄에 두었던 margin-top:1rem 은 5장 「.wm-fd .wm-fr > p, .wm-fd .wm-fr > div { margin: 0 }」(특이도 0,2,1)에 져서
      계산값 0 이었다(10-05 검토 실측). 오른쪽 −2.5rem = 줄 오른쪽 안쪽 2.75rem(꺾쇠 자리) − 왼쪽 .25rem → 패널 좌우가 .25rem 로 같아진다
      (1280 에서 오른쪽만 44px 비던 것). 폰은 12장에서 오른쪽만 −2rem(= 2.25rem − .25rem). 지우거나 특이도를 낮추지 말 것 */
.wm-fd .wm-fr > .wm-fp { margin: 1rem -2.5rem 0 0; }
.wm-fd .wm-fp .u-panel__in { padding: 1.25rem 1.25rem 1.5rem; }                            /* = .wm-pc__b (wmm.css:279) */
.wm-fd .wm-fp .u-panel__wait { padding: 1.25rem; font-size: .875rem; font-weight: 600; }
.wm-fd .wm-fp a { text-decoration: underline; text-underline-offset: 3px; }
/* 표 = .wm-tbl 값(wmm.css:251-253) · 라벨 칸 폭 118px(utmb.css 47장 옛 배치 값) */
.wm-fd .wm-fp .p-tbl { width: 100%; border-collapse: collapse; margin: 0 0 1.5rem; border-top: 2px solid var(--wm-ink); background: #fff; }
.wm-fd .wm-fp .p-tbl > tbody > tr { border-bottom: 1px solid var(--wm-line); }
.wm-fd .wm-fp .p-tbl > tbody > tr > th { width: 118px; padding: .85rem .75rem; text-align: left; vertical-align: top; font-size: .9375rem; font-weight: 800; border-right: 1px solid var(--wm-line); white-space: nowrap; }
.wm-fd .wm-fp .p-tbl > tbody > tr > td { padding: .85rem .75rem; font-size: 1rem; line-height: 1.6; vertical-align: top; }
.wm-fd .wm-fp .p-lab { display: inline-flex; align-items: center; gap: .5rem; line-height: 1.25; }
.wm-fd .wm-fp .p-lab .ri-i { width: 1.05em; height: 1.05em; }
.wm-fd .wm-fp .p-when, .wm-fd .wm-fp .p-where { font-size: 1.125rem; font-weight: 800; }
.wm-fd .wm-fp .p-sub { font-size: .8125rem; font-weight: 500; }
.wm-fd .wm-fp .p-line { display: block; margin-top: 3px; }
.wm-fd .wm-fp .p-note { display: block; line-height: 1.6; }
/* 「접수」·「주최·문의」 줄(race-panel.php:250·323 — span.p-con > .p-kv + span.p-sep「·」) — 옛 utmb.css:2897-2907 배치 값 그대로.
   빠져 있어서 「접수중·10.11 23:59 마감·접수기간…」 이 가운뎃점 양옆 빈칸 없이 붙어 보였다(10-05 검토). 색은 검정 — 옛 --ri-ink-2/3 회색은 옮기지 않는다.
   폰(≤560)에서는 12-b 장이 세로로 쌓는다 — 그 블록이 이 «뒤»에 있어야 한다 */
.wm-fd .wm-fp .p-con { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 0; margin: 0; }
.wm-fd .wm-fp .p-con > * { display: inline-flex; align-items: center; }
.wm-fd .wm-fp .p-kv { gap: 4px; }
.wm-fd .wm-fp .p-sep { margin: 0 8px; flex: 0 0 auto; }
.wm-fd .wm-fp .p-con .p-sep:last-child { display: none; }                                  /* 줄 끝에서 접힐 때 가운뎃점이 줄 머리에 남지 않게 */
/* 안쪽 표(코스별 요금·대회 결과) — 머리 = .wm-tbl thead th 값 */
.wm-fd .wm-fp .p-course { width: 100%; border-collapse: collapse; margin: 2px 0 0; }
.wm-fd .wm-fp .p-course caption { text-align: left; padding: .5rem 0 .2rem; font-size: .8125rem; font-weight: 800; }
.wm-fd .wm-fp .p-course th, .wm-fd .wm-fp .p-course td { padding: .5rem .75rem; font-size: 1rem; text-align: left; border-bottom: 1px solid var(--wm-line); }
.wm-fd .wm-fp .p-course thead th { font-size: .8125rem; font-weight: 800; font-style: italic; text-transform: uppercase; border-bottom: 2px solid var(--wm-ink); }
.wm-fd .wm-fp .p-course tbody th { font-weight: 800; }
.wm-fd .wm-fp .p-fee, .wm-fd .wm-fp .p-rec { white-space: nowrap; font-variant-numeric: tabular-nums; }
.wm-fd .wm-fp .p-rank { width: 15%; white-space: nowrap; font-weight: 900; font-style: italic; }
.wm-fd .wm-fp .p-res tr.is-empty th, .wm-fd .wm-fp .p-res tr.is-empty td { font-weight: 500; }   /* 옛 opacity .5 는 회색 글자라 쓰지 않는다 */
/* 홈페이지 주소 + 복사 + 바로가기 */
.wm-fd .wm-fp .p-url { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 0 0 .5rem; }
.wm-fd .wm-fp .p-url:last-child { margin-bottom: 0; }
.wm-fd .wm-fp .p-url__d { word-break: break-all; font-weight: 600; }
.wm-fd .wm-fp .p-url__c, .wm-fd .wm-fp .p-url__go {                                          /* = .wm-btn--sm (wmm.css:80) */
  display: inline-flex; align-items: center; padding: .4rem .64rem; font-size: .8125rem; line-height: 1; font-weight: 800; font-style: italic;
  text-transform: uppercase; text-decoration: none; border: .125rem solid var(--wm-ink); background: transparent; color: var(--wm-ink); cursor: pointer;
  transition: transform .2s ease;
}
.wm-fd .wm-fp .p-url__go { background: var(--wm-navy); border-color: var(--wm-navy-bd); color: #fff; }   /* 주 단추 색 */
.wm-fd .wm-fp .p-url__c:hover, .wm-fd .wm-fp .p-url__go:hover { transform: translateY(-.2rem); }
.wm-fd .wm-fp .p-url__k { font-size: .8125rem; font-weight: 500; }
/* 대회장 지도 — 맨 아래. 카카오 상자는 «그려졌을 때만»(.is-on) 높이를 준다(utmb.css §95 — 안 그리면 빈칸이 남는다) */
.wm-fd .wm-fp .p-map { display: block; }
.wm-fd .wm-fp .p-map__f { display: block; width: 100%; max-width: 720px; height: 360px; border: 0; background: #fff; }
.wm-fd .wm-fp .p-map__n { display: block; margin-top: .5rem; font-size: .8125rem; font-weight: 500; }
.wm-fd .wm-fp .p-map__g { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: .25rem; }
.wm-fd .wm-fp .p-map__g a { font-size: .8125rem; font-weight: 800; }
.wm-fd .wm-fp .p-kmap { position: relative; display: block; width: 100%; max-width: 720px; height: 0; overflow: hidden; background: var(--wm-grey); }
.wm-fd .wm-fp .p-kmap.is-on { height: 360px; }
.wm-fd .wm-fp .p-kmap * { max-width: none; }
.wm-fd .wm-fp .p-kmap__z { position: absolute; top: 8px; right: 8px; z-index: 3; display: flex; flex-direction: column; gap: 1px; }
.wm-fd .wm-fp .p-kmap__z button { width: 28px; height: 28px; padding: 0; border: 0; background: #fff; color: var(--wm-ink); font: 700 17px/1 system-ui, sans-serif; cursor: pointer; }
/* 다음 행동 — 「알림 받기」(button.ri-btn[data-ri=alert-open]) = 보조 단추 작은 꼴 · 「대회 상세 페이지 →」 = 밑줄 링크 */
.wm-fd .wm-fp .p-cta { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin: 0 0 1.5rem; }
.wm-fd .wm-fp .ri-btn {
  display: inline-flex; align-items: center; gap: .4rem; padding: .4rem .64rem; font-size: .8125rem; line-height: 1.2; font-weight: 800; font-style: italic;
  border: .125rem solid var(--wm-ink); background: transparent; color: var(--wm-ink); text-decoration: none; cursor: pointer; transition: transform .2s ease;
}
.wm-fd .wm-fp .ri-btn:hover { transform: translateY(-.2rem); }
.wm-fd .wm-fp .p-more { margin-left: auto; font-size: .875rem; font-weight: 800; }
/* 관련(근처 훈련 트랙·이 지역 크루) */
.wm-fd .wm-fp .p-near { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: .75rem 1.5rem; border-top: 2px solid var(--wm-ink); padding-top: .75rem; }
/* 옛 «.p-near__c + .p-near__c 왼쪽 세로줄»은 뺐다 — auto-fit 격자가 줄을 바꾸면 둘째 줄 첫 칸에도 선이 붙어 들쭉날쭉했다(10-05 화면 확인). 칸 사이는 gap 으로 */
.wm-fd .wm-fp .p-near__c h4 { margin: 0 0 .25rem; font-size: .8125rem; font-weight: 800; font-style: italic; text-transform: uppercase; }
.wm-fd .wm-fp .p-near__c li { margin: 0 0 3px; }
.wm-fd .wm-fp .p-near__c a { display: block; font-size: .875rem; line-height: 1.4; text-decoration: none; }
.wm-fd .wm-fp .p-near__c a:hover { text-decoration: underline; }
.wm-fd .wm-fp .p-todo { margin-top: 1rem; padding-top: .75rem; border-top: 1px solid var(--wm-line); }
.wm-fd .wm-fp .p-todo h4 { margin: 0 0 .25rem; font-size: .8125rem; font-weight: 800; }
.wm-fd .wm-fp .p-todo ul { display: flex; flex-wrap: wrap; gap: .25rem .5rem; margin: 0 0 .5rem; }
.wm-fd .wm-fp .p-todo li { padding: 2px 8px; font-size: .8125rem; font-weight: 500; border: 1px solid var(--wm-line); background: #fff; }
.wm-fd .wm-fp .p-todo p { font-size: .875rem; }
.wm-fd .wm-fp .p-todo p a { font-weight: 800; }
.wm-fd .wm-fp .p-src { margin-top: .75rem; font-size: .8125rem; font-weight: 500; }
/* 패널 속 상태 배지 — REST 배지는 글자가 span 에 안 싸여 있어 «기울이지 않는다»(기울이면 글자가 눕는다) */
.wm-fd .wm-fp .u-st { display: inline-block; padding: .3rem .6rem; font-size: .75rem; line-height: 1; font-weight: 800; white-space: nowrap; background: var(--wm-navy); color: #fff; }
.wm-fd .wm-fp .u-st--closing, .wm-fd .wm-fp .u-st--extra { background: var(--wm-hot); color: #fff; }
.wm-fd .wm-fp .u-st--scheduled { background: transparent; color: var(--wm-ink); box-shadow: inset 0 0 0 2px var(--wm-ink); }
.wm-fd .wm-fp .u-st--closed, .wm-fd .wm-fp .u-st--finished, .wm-fd .wm-fp .u-st--cancelled, .wm-fd .wm-fp .u-st--unknown { background: none; color: var(--wm-ink); padding: 0; font-size: .8125rem; font-weight: 500; }

/* ═══ 7. 빈 결과 (1-1 #14) — 홈 .wm-empty + 「조건 모두 지우기」 보조 단추(WMM 결함 4 보완) ═══ */
.wm-fd .wm-empty { padding: 2rem 0; font-weight: 600; border-top: 2px solid var(--wm-ink); }
.wm-fd .wm-empty .wm-hs { margin-bottom: .75rem; }
.wm-fd .wm-empty p + p { margin-top: 1.5rem; }
.wm-fd .wm-empty a.wm-btn { text-decoration: none; }                                         /* wmm.css 의 .wm-empty a 밑줄을 단추에서만 끈다 */

/* ═══ 8. 달력 보기 (1-5) — 마크업은 B 것 그대로, 칸 배치는 utmb.css:5214-5268·5497-5506 의 «옛 값», 색·글꼴만 wm ═══ */
.wm-fd .ri-cal { margin: 16px 0 28px; }
.wm-fd .ri-cal__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.wm-fd .ri-cal__title small { margin-left: 8px; font-size: .875rem; font-weight: 500; font-style: normal; text-transform: none; }
.wm-fd .ri-cal__grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 1px; background: var(--wm-line); border: 1px solid var(--wm-line); }
.wm-fd .ri-cal__wd { padding: 8px 0; text-align: center; font-size: .8125rem; font-weight: 800; font-style: italic; background: var(--wm-nav2); }   /* 토·일 글자도 검정 */
.wm-fd .ri-cal__cell { min-height: 104px; padding: 8px; background: #fff; }
.wm-fd .ri-cal__cell.is-blank { min-height: 0; background: var(--wm-grey); }
.wm-fd .ri-cal__cell.is-past { background: var(--wm-page); }
.wm-fd .ri-cal__cell.is-today { box-shadow: inset 0 0 0 3px var(--wm-navy); }              /* 오늘 = 초점 값 3px 남색 */
.wm-fd .ri-cal__d { display: block; margin-bottom: 3px; font-size: .8125rem; font-weight: 900; font-style: italic; }
.wm-fd .ri-cal__cell.is-past .ri-cal__d, .wm-fd .ri-cal__cell.is-past .ri-cal__race { font-weight: 500; }   /* 지난 칸 500 */
.wm-fd .ri-cal__races { display: flex; flex-direction: column; gap: 2px; }
.wm-fd .ri-cal__race {
  display: block; padding: 2px 4px; font-size: .8125rem; line-height: 1.4; font-weight: 700; background: var(--wm-page);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; transition: background-color .2s ease;
}
.wm-fd .ri-cal__race:hover { background: var(--wm-nav2); text-decoration: underline; }
.wm-fd .ri-cal__race.is-open { color: var(--wm-navy); }                                      /* 접수중 = 남색 글자 */
/* 마감임박·추가접수 = 앞에 빨강 네모 점 하나(데이터 표식 1개) — 규칙 3 «링크에 빨강 글자 금지» 라 글자는 칠하지 않는다 */
.wm-fd .ri-cal__race.is-closing::before, .wm-fd .ri-cal__race.is-extra::before { content: ""; display: inline-block; width: .5em; height: .5em; margin-right: .3em; vertical-align: .1em; background: var(--wm-hot); }
.wm-fd .ri-cal__race.is-cancelled .ri-cal__n { text-decoration: line-through; text-decoration-thickness: 1px; }
.wm-fd .ri-cal__x { font-weight: 700; margin-right: 1px; }
.wm-fd .ri-cal__more { margin-top: 3px; }
.wm-fd .ri-cal__more > summary { display: inline-block; list-style: none; cursor: pointer; padding: 1px 4px; font-size: .8125rem; line-height: 1.4; font-weight: 800; font-style: italic; text-decoration: underline; white-space: nowrap; }   /* = .wm-btn--link 꼴 */
.wm-fd .ri-cal__more > summary::-webkit-details-marker { display: none; }
.wm-fd .ri-cal__more > summary::after { content: " ▾"; }
.wm-fd .ri-cal__more[open] > summary::after { content: " ▴"; }
.wm-fd .ri-cal__more > .ri-cal__races { margin-top: 2px; }

/* ═══ 9. 지도 보기 (1-5) — 우리 SVG 지도(외부 API 없음) · 배치는 utmb.css:5271-5294 옛 값 ═══ */
.wm-fd .ri-map { display: grid; gap: 16px; margin: 16px 0 28px; }
.wm-fd .ri-map__canvas { padding: 8px; background: var(--wm-page); border: 1px solid var(--wm-line); }
.wm-fd .ri-map__svg { display: block; width: 100%; height: auto; }
.wm-fd .ri-map__sido { font-size: 16px; font-weight: 900; font-style: italic; letter-spacing: .04em; fill: var(--wm-ink); }   /* 시·도 글자 900 기울임 */
/* 핀 : 접수중 남색 · 마감임박·추가접수 빨강(데이터 표식) · 그 밖 은색 */
.wm-fd .ri-map__pin circle { fill: var(--wm-silver); fill-opacity: .9; stroke: #fff; stroke-width: 1.2; }
.wm-fd .ri-map__pin.is-open circle { fill: var(--wm-navy); }
.wm-fd .ri-map__pin.is-closing circle, .wm-fd .ri-map__pin.is-extra circle { fill: var(--wm-hot); }
.wm-fd .ri-map__label { font-size: 12px; fill: var(--wm-ink); opacity: 0; pointer-events: none; }
.wm-fd .ri-map__pin:hover circle, .wm-fd .ri-map__pin:focus circle { r: 7; fill-opacity: 1; }
.wm-fd .ri-map__pin:hover .ri-map__label, .wm-fd .ri-map__pin:focus .ri-map__label { opacity: 1; paint-order: stroke; stroke: #fff; stroke-width: 3.5px; stroke-linejoin: round; font-weight: 700; }
.wm-fd .ri-map__side { font-size: .875rem; }
.wm-fd .ri-map__lead { margin: 0 0 12px; }
.wm-fd .ri-map__lead strong { font-weight: 900; font-style: italic; color: var(--wm-navy); }
.wm-fd .ri-map__lead small { font-size: .8125rem; font-weight: 500; }
/* 시·도별 목록 = wm-faq 꼴(⊕ · 1px 구분 줄) */
.wm-fd .ri-map__reg { border-bottom: 1px solid var(--wm-line); }
.wm-fd .ri-map__reg > summary { position: relative; display: block; list-style: none; cursor: pointer; padding: .75rem 2.75rem .75rem 0; font-size: 1rem; font-weight: 700; }
.wm-fd .ri-map__reg > summary::-webkit-details-marker { display: none; }
.wm-fd .ri-map__reg > summary span { margin-left: 4px; font-weight: 500; }
.wm-fd .ri-map__reg > summary::after {
  content: ""; position: absolute; right: 0; top: 50%; width: 1.875rem; height: 1.875rem; margin-top: -.9375rem; border: 2px solid var(--wm-ink); border-radius: 50%;
  background: linear-gradient(var(--wm-ink), var(--wm-ink)) center / 50% 2px no-repeat, linear-gradient(var(--wm-ink), var(--wm-ink)) center / 2px 50% no-repeat;
}
.wm-fd .ri-map__reg[open] > summary::after { background: linear-gradient(var(--wm-ink), var(--wm-ink)) center / 50% 2px no-repeat; }
.wm-fd .ri-map__reg ul { margin: 0 0 8px; padding: 0 0 0 8px; }
.wm-fd .ri-map__reg li { margin: 3px 0; }
.wm-fd .ri-map__reg a:hover { text-decoration: underline; }
.wm-fd .ri-map__reg small { margin-left: 4px; font-size: .8125rem; font-weight: 500; }

/* ═══ 10. JS 가 넣는 칩 — «지금 마크업 그대로» wm 칩 모양 (findfix 대륙 칩 .ri-ff-cb · findmobile 폰 칩 .ri-fm__b) ═══
   두 단추에는 글자를 감싼 span 이 없다(findfix.php:363 · findmobile.php:138-141 — 이번 단계 무변경).
   그래서 «비스듬 바탕은 ::before 에만» 주고 단추 자체는 기울이지 않는다 → 글자가 바로 선 채 홈 .wm-chip 과 같은 모양.
   고름 = 남색 + 흰 글자 · 0건 = 투명 + 얇은 은색 선(규칙 3) · 빨강은 쓰지 않는다(고르기 칩 빨강 금지) */
body.wm-fdp .ri-ff-cb, body.wm-fdp .ri-fm__b {
  position: relative; isolation: isolate; flex: none; display: inline-flex; align-items: center; gap: .3rem;
  height: 2.75rem; padding: 0 1.1rem; border: 0; background: none; color: var(--wm-ink); cursor: pointer;
  font-family: inherit; font-size: .9375rem; line-height: 1; font-weight: 800; font-style: italic; white-space: nowrap; letter-spacing: normal;
  transition: color .2s ease;
}
body.wm-fdp .ri-ff-cb::before, body.wm-fdp .ri-fm__b::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--wm-chip); transform: skew(-16deg); transition: background-color .2s ease; }
body.wm-fdp .ri-ff-cb:hover::before, body.wm-fdp .ri-fm__b:hover::before { background: var(--wm-nav2); }
body.wm-fdp .ri-ff-cb.is-on, body.wm-fdp .ri-fm__b.is-on { color: #fff; }
body.wm-fdp .ri-ff-cb.is-on::before, body.wm-fdp .ri-fm__b.is-on::before { background: var(--wm-navy); }
body.wm-fdp .ri-ff-cb b, body.wm-fdp .ri-fm__b b { margin-left: .15rem; font-weight: 500; font-style: normal; color: inherit; font-variant-numeric: tabular-nums; }   /* = .wm-chip b */
body.wm-fdp .ri-ff-cb.is-zero:not(.is-on)::before, body.wm-fdp .ri-fm__b.is-zero:not(.is-on)::before { background: transparent; box-shadow: inset 0 0 0 1px var(--wm-silver); }
body.wm-fdp .ri-ff-cb.is-zero { cursor: default; }
/* 대륙 칩 줄 — 목록 바로 위 */
body.wm-fdp .ri-ff-cont { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .6rem; margin: 0 0 .5rem; padding-left: .4rem; }
body.wm-fdp .ri-ff-cont__l, body.wm-fdp .ri-fm__l { flex: none; margin-right: .25rem; font-size: .875rem; font-weight: 900; font-style: italic; text-transform: uppercase; }   /* = .wm-filt__l */
body.wm-fdp .ri-ff-note { margin: 0 0 1rem; font-size: .8125rem; font-weight: 500; }

/* ═══ 11. 991 이하 — 거르개 칸이 목록 «위»로 쌓인다(WMM §5 폰) · select 3열 ═══ */
@media (min-width: 992px) {
  .wm-fd .wm-fd-body { grid-template-columns: 30% minmax(0, 1fr); gap: 3rem; align-items: start; }   /* WMM §9-2 왼쪽 30% · §5 오른쪽 여백 3rem */
  /* 고정 칸 — 목록을 내려도 따라온다(WMM §5 top 7.5rem = 메뉴 줄 아래) · 칸이 길면 칸 «안»에서 스크롤(§9-2 80vh) */
  .wm-fd .wm-fd-filt { position: sticky; top: 7.5rem; max-height: 80vh; overflow-y: auto; padding: 2rem 1rem 4rem; }
}
/* 메뉴 줄이 «붙어 다니게» (설계 1-1 #2 「로고 줄 73px + 메뉴 줄 53px sticky」 · 규칙 4②)
   🔴 홈 wmm.css:166 .wm-nav{position:sticky} 는 header.wm-head 상자 «안»에 갇혀 있어(sticky 는 부모 상자를 못 벗어난다) 헤더가 지나가면
      같이 사라진다 — 6,000px 내리면 메뉴 top −5,871, 7만 px 목록 내내 메뉴가 없고 거르개 칸 위 120px 가 빈 띠였다(10-05 검토 실측).
   → /find/ 에서만 헤더 «통째»를 붙이고 로고 줄 높이(4.5625rem = wmm.css:147 .wm-brand__in)만큼 위로 빼서 메뉴 줄만 남긴다.
      그래야 거르개 칸 top 7.5rem(WMM §5 «메뉴 줄 아래») 이 뜻대로 선다. #race-N 해시는 html scroll-padding-top 4rem(wmm.css:41) > 메뉴 53px 라 안 가린다.
   1023↓ 은 메뉴 줄이 없다(wmm.css:518). 홈도 같은 병 — 홈 파일은 1단계에서 안 고치고 2단계 공용 CSS 에서 같이 고친다 */
@media (min-width: 1024px) {
  body.wm-fdp .wm-head { position: sticky; top: -4.5625rem; z-index: 50; }
  body.wm-fdp.admin-bar .wm-head { top: calc(32px - 4.5625rem); }                         /* 로그인 화면 — 관리 막대(32px) 아래에 메뉴 줄 */
}
/* 992~1023 — 거르개 칸은 붙는데 메뉴 줄이 없는 폭이라 top 7.5rem 이 빈 띠로 남는다 → 거르개 안쪽 위와 같은 2rem(설계 1-3 · WMM §5 32px) */
@media (min-width: 992px) and (max-width: 1023px) {
  .wm-fd .wm-fd-filt { top: 2rem; }
}
@media (max-width: 991px) {
  .wm-fd .wm-fd-f { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
/* 표 머리 — 줄이 4칸 격자인 768 이상에서만. 🔵 utmb 경계(561)는 줄이 767 에서 2칸으로 바뀌는 지금 격자와 어긋나 같은 경계(768)로 맞춘다 */
@media (min-width: 768px) {
  .wm-fd .wm-fd-head {
    display: grid; grid-template-columns: 6.5rem minmax(0, 1.75fr) minmax(0, 1fr) minmax(0, 1fr); column-gap: 2rem;
    padding: .85rem 2.75rem .85rem .25rem; font-size: .8125rem; line-height: 1.2; font-weight: 800; font-style: italic; text-transform: uppercase;   /* = .wm-tbl thead th */
  }
  .wm-fd .wm-fd-head > span:nth-child(3) { grid-column: 4; }                                  /* 「접수」는 상태 칸 위 */
}

/* ═══ 12. 767 이하 (폰) — 홈 폰 줄 값(wmm.css:586-587) · Q2 기본안 ═══ */
@media (max-width: 767px) {
  .wm-fd .wm-fd-hd { padding-top: 3rem; }   /* 규칙 4 간격 : 폰 구역 위아래 3rem */                                                     /* WMM §2 폰 64px (문답 글자는 WMM 폰도 같은 크기) */
  /* 🔵 Q2 기본안 = 767 하나로 : 거르개 칸 숨김 ≤767 · 폰 칩 띠 ≤767.
     (지금 라이브는 560 이하 숨김 — 사장님 08-26 utmb.css:6029-6034. 561~820 에서 거르개와 칩 띠가 «둘 다» 나오던 것을 없앤다.
      사장님이 560 을 유지하라시면 아래 두 max-width 를 560 으로, 그 사이(561~767)는 칩 띠 대신 거르개 칸이 보이게 된다) */
  .wm-fd .wm-fd-filt { display: none; }
  body.wm-fdp .ri-fm { display: block; position: sticky; top: 0; z-index: 30; margin: 0 0 .75rem; padding: .6rem 0 .5rem; background: #fff; border-bottom: 1px solid var(--wm-line); }
  body.wm-fdp .ri-fm__g { display: flex; align-items: center; gap: .5rem .6rem; overflow-x: auto; scrollbar-width: none; margin-right: calc(-1 * var(--wm-gx)); padding: .1rem 0 .3rem .4rem; }
  body.wm-fdp .ri-fm__g::-webkit-scrollbar { display: none; }
  body.wm-fdp .ri-fm__n { padding: .4rem .25rem 0; font-size: .875rem; font-weight: 700; }
  body.wm-fdp .ri-fm__n b { font-weight: 900; font-style: italic; color: var(--wm-navy); }
  body.wm-fdp .u-sched__row[data-fm-off] { display: none !important; }
  /* 칩 줄은 한 줄 가로 스크롤(홈 .wm-news .wm-tabs 폰 규칙 wmm.css:570-571 값) */
  .wm-fd .wm-fd-bar { gap: .75rem; }
  .wm-fd .wm-fd-bar > .wm-chips { flex: 1 1 100%; }                                          /* 가로 줄(.wm-fd-bar) 안에서만 — 세로 줄(.wm-fd-main)의 대륙 칩에 주면 높이로 늘어난다 */
  .wm-fd .wm-fd-bar > .wm-chips, body.wm-fdp .ri-ff-cont { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-right: calc(-1 * var(--wm-gx)); padding: .1rem 0 .3rem .4rem; }
  .wm-fd .wm-fd-bar > .wm-chips::-webkit-scrollbar, body.wm-fdp .ri-ff-cont::-webkit-scrollbar { display: none; }
  .wm-fd .wm-fd-bar .wm-chip { flex: none; }
  /* 줄 2칸 격자 : [날짜 한 줄] / [이름 | 상태] / [장소 한 줄 말줄임] — 칸 자리를 못 박는다(자동 배치는 장소 뒤로 상태를 밀어낸다) */
  .wm-fd .wm-fr { grid-template-columns: minmax(0, 1fr) auto; gap: .3rem .75rem; padding: .7rem 2.25rem .7rem .25rem; }
  .wm-fd .wm-fr__d { grid-column: 1 / -1; grid-row: 1; }
  .wm-fd .wm-fr__d b { font-size: .9375rem; }
  .wm-fd .wm-fr__m { grid-column: 1; grid-row: 2; }
  .wm-fd .wm-fr__r { grid-column: 2; grid-row: 2; justify-content: flex-end; }
  .wm-fd .wm-fr__s { grid-column: 1 / -1; grid-row: 3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .wm-fd .wm-fr__s .u-sched__where { display: inline; font-size: .875rem; margin-right: .4rem; }
  .wm-fd .wm-fr .u-sched__host { display: none; }                                             /* 주최 숨김 (utmb.css:5711 유지) */
  .wm-fd .wm-fr__t { font-size: 1rem; }                                                       /* 이름 줄간 1.35 유지 — WMM 결함 5(줄간 16px)는 따라 하지 않는다 */
  .wm-fd .wm-fr__t::after { top: .9rem; }
  .wm-fd .wm-fp { grid-row: 4; }
  .wm-fd .wm-fr > .wm-fp { margin-right: -2rem; }                                            /* 폰 줄 오른쪽 안쪽 2.25rem − .25rem (6장 주석 참고 · 위 1rem 은 그대로) */
  /* 패널 — 표를 좁힌다(utmb 47장 700↓ 값) · 안쪽 표는 가로 스크롤(.wm-tbl-wrap 방식) */
  .wm-fd .wm-fp .u-panel__in { padding: 1rem .75rem 1.25rem; }
  .wm-fd .wm-fp .p-tbl > tbody > tr > th { width: 84px; padding: .5rem; font-size: .875rem; white-space: normal; }
  .wm-fd .wm-fp .p-tbl > tbody > tr > td { padding: .5rem .75rem; }
  .wm-fd .wm-fp .p-when, .wm-fd .wm-fp .p-where { font-size: 1rem; }
  .wm-fd .wm-fp .p-course { display: block; overflow-x: auto; }
  .wm-fd .wm-fp .p-map__f { height: 240px; }
  .wm-fd .wm-fp .p-kmap.is-on { height: 200px; }

  .wm-fd .wm-fp .p-more { margin-left: 0; }
  /* 달력 — 7칸이 눌리므로 글씨를 줄이고 여백을 뺀다(utmb.css:5497-5506 옛 값) */
  .wm-fd .ri-cal__head { flex-wrap: wrap; gap: 8px; }
  .wm-fd .ri-cal__title { order: -1; width: 100%; text-align: center; }
  .wm-fd .ri-cal__cell { min-height: 62px; padding: 3px 2px 4px; }
  .wm-fd .ri-cal__d { font-size: 12px; }
  .wm-fd .ri-cal__race { padding: 1px 3px; font-size: 11px; }
  .wm-fd .ri-cal__more > summary { font-size: 0; padding: 1px 3px; }                          /* 「그 밖에 14개」 → 「+14」 */
  .wm-fd .ri-cal__more > summary::before { content: attr(data-short); font-size: 11px; }
  .wm-fd .ri-cal__more > summary::after { font-size: 11px; }
  .wm-fd .ri-map__side { font-size: .8125rem; }
}
/* ═══ 12-b. 폰 펼침 패널 — «표를 버린다» (사장님 2026-08-26 「모바일은 완전 다르게 구성해야 해 · 대회일시 / 그 밑에 정보~」) ═══
   옛 utmb.css §91·§91-c·§92(5735-5911)의 «배치 값» 그대로 — 라벨 위·값 아래, 패널 가로 넘침 막기, 주소는 글자째 끊기, 접수·주최 줄 세로 쌓기.
   색은 옮기지 않는다(옛 라벨 --ri-ink-2 회색 → 검정 그대로). §92 의 «카드형 요금표»는 CSS content:"제한 " 한국어가 외국어판에 새서 옮기지 않았다
   (요금표는 12장의 가로 스크롤 그대로 — 설계 1-1 #13).
   🔴 빠지면 390 에서 .p-tbl 374px 가 패널 318px 를 넘어 문서가 406px 로 가로로 샌다(10-05 검토 실측 · utmb §93 사고와 같은 꼴). 지우지 말 것.
   🔴 이 블록은 12장(767) «뒤»에 있어야 한다 — 같은 특이도의 767 값(th 84px · td 안쪽)을 이겨야 한다 */
@media (max-width: 560px) {
  .wm-fd .wm-fp .u-panel__in { overflow-x: hidden; }
  .wm-fd .wm-fp .p-tbl, .wm-fd .wm-fp .p-tbl > tbody, .wm-fd .wm-fp .p-tbl > tbody > tr,
  .wm-fd .wm-fp .p-tbl > tbody > tr > th, .wm-fd .wm-fp .p-tbl > tbody > tr > td { display: block; width: auto; }
  .wm-fd .wm-fp .p-tbl > tbody > tr { padding: 12px 0 16px; }
  .wm-fd .wm-fp .p-tbl > tbody > tr > th { border-right: 0; padding: 0 0 8px; font-size: 14px; white-space: normal; }
  .wm-fd .wm-fp .p-tbl > tbody > tr > td { padding: 0; font-size: 16px; line-height: 1.6; word-break: keep-all; overflow-wrap: break-word; }   /* 한글은 낱말째 */
  .wm-fd .wm-fp .p-url, .wm-fd .wm-fp .p-tbl a[href^="http"] { overflow-wrap: anywhere; }   /* 주소는 낱말이 없어 글자째 끊는다 */
  .wm-fd .wm-fp .p-con { flex-direction: column; align-items: flex-start; gap: 4px; }       /* 6장 p-con 값 «뒤» — 세로로 쌓으면 가운뎃점은 뜻을 잃는다 */
  .wm-fd .wm-fp .p-con > .p-sep { display: none; }
  .wm-fd .wm-fp .p-kv { flex-wrap: wrap; }
  .wm-fd .wm-fp .p-map__f { width: 100%; max-width: none; height: 220px; }
  .wm-fd .wm-fp .p-near { grid-template-columns: 1fr; }
}
/* 주최 숨김을 768~1279 까지 — 설계 1-4 「장소 칸이 좁아지면 주최만 숨김(700·820·991 실측 후 정함)」의 실측 결과(10-05 검토).
   왼쪽 30% 거르개 칸 때문에 1279 까지 장소 칸이 약 104~150px 뿐이라 주최가 줄을 4~6줄로 늘렸다(1024 줄 높이 중앙 117px · 옛 92px · WMM 72px).
   경계 1279 는 홈 wmm.css:511 의 것(새 숫자 아님). 주최는 펼침 패널 「주최·문의」 줄에 그대로 있다. ≤767 은 12장 */
@media (min-width: 768px) and (max-width: 1279px) {
  .wm-fd .wm-fr .u-sched__host { display: none; }
}
/* 달력 「그 밖에 N개 ▾」 — 768·992~1279 는 30% 거르개 칸 때문에 달력 칸이 87~107px(옛 «폰» 크기)이라 글이 칸 밖으로 최대 22px 샜다
   (992 에서 문서 1px 가로 넘침 · 10-05 검토 실측). 서버가 준 data-short(「+N」 · find-calendar.php:159)를 쓴다 — 12장 폰 방식 그대로, 글자만 13px.
   🔴 summary 의 data-short 를 지우면 「+N」 이 사라진다(find-calendar.php:27 경고) */
@media (min-width: 768px) and (max-width: 1279px) {
  .wm-fd .ri-cal__more > summary { font-size: 0; padding: 1px 3px; }
  .wm-fd .ri-cal__more > summary::before { content: attr(data-short); font-size: .8125rem; }
  .wm-fd .ri-cal__more > summary::after { font-size: .8125rem; }
}
/* 지도 + 옆 목록 두 칸 — 옛 경계 900(utmb.css:5272)은 «화면 폭» 기준이었다. 새 지면은 왼쪽 30% 거르개 칸이 있어 1024 에서
   지도가 276px 로 눌렸다(10-05 화면 확인) → 홈 wmm.css 의 1279 경계를 따라 1280 이상에서만 나란히, 그 아래는 지도 위·목록 아래 */
@media (min-width: 1280px) {
  .wm-fd .ri-map { grid-template-columns: minmax(0, 1fr) 320px; align-items: start; }
}
@media (max-width: 380px) {
  .wm-fd .ri-cal__cell { min-height: 54px; }
}

/* ═══ 13. 알림 모달 속 (원문 #ri-alert-modal + 이름 덧붙임 : 판 = .wm-dlg .wm-dlg__in · 닫기 = .wm-dlg__x) ═══
   입력칸·동의·보내기 단추 모양은 홈 wmm.css 의 .wm-dlg 규칙(422-433)이 그대로 맡는다 */
body.wm-fdp .ri-modal__panel { max-height: 90vh; overflow-y: auto; }
body.wm-fdp .ri-modal__head h2 { padding-right: 3.5rem; font-size: 1.6875rem; line-height: 1.22; font-weight: 900; font-style: italic; text-transform: uppercase; }   /* = .wm-hs */
body.wm-fdp .ri-modal .wm-dlg__x { display: inline-flex; align-items: center; justify-content: center; padding: 0; color: var(--wm-ink); }
body.wm-fdp .ri-modal .wm-dlg__x svg { width: 1.25rem; height: 1.25rem; }
body.wm-fdp .ri-modal__note { margin-top: .75rem; font-size: .9375rem; }
body.wm-fdp .ri-modal .ri-mailform { margin-top: 1.25rem; }
body.wm-fdp .ri-modal .ri-mailform__row { display: grid; grid-template-columns: minmax(0, 1fr); gap: .75rem; align-items: end; }
body.wm-fdp .ri-modal .ri-field label span { font-weight: 500; }
@media (prefers-reduced-motion: reduce) {
  .wm-fd *, .wm-fd *::before, .wm-fd *::after, body.wm-fdp .ri-ff-cb, body.wm-fdp .ri-fm__b { transition: none !important; }
}

/* ═══ 13. 코스 색 · 접수 상태 (사장님 10-05 밤) ═══════════════════════════════════════════
   「풀코스·하프·10K·트레일런 버튼 색상 다르게 — 넘 똑같아서 차별화가 안 돼」 「타이틀 코스 버튼도 같이 기획해서 컬러 변경」
   색 = 홈 wmm.css 토큰 --wm-c-*(WMM 팔레트 실측). 5K 는 줄마다 붙는 «기본» 거리라 회색 그대로(색이 너무 많아지면 다시 «차별화»가 사라진다).
   한 칸 = 한 코스 한 색 : 목록 꼬리표 · 펼침 패널 꼬리표 · 왼쪽 «타이틀 코스» 칩 · 폰 칩 띠가 모두 같은 색. */
.wm-fd .wm-fr__dist li.is-full, .wm-fd .wm-fp .u-dist li.is-full { color: #fff; }
.wm-fd .wm-fr__dist li.is-full::before, .wm-fd .wm-fp .u-dist li.is-full::before { background: var(--wm-c-full); }
.wm-fd .wm-fr__dist li.is-half::before, .wm-fd .wm-fp .u-dist li.is-half::before { background: var(--wm-c-half); }
.wm-fd .wm-fr__dist li.is-ten::before, .wm-fd .wm-fp .u-dist li.is-ten::before { background: var(--wm-c-10k); }
.wm-fd .wm-fr__dist li.is-trail::before, .wm-fd .wm-fp .u-dist li.is-trail::before { background: var(--wm-c-trail); }
.wm-fd .wm-fr__dist li.is-ultra::before, .wm-fd .wm-fp .u-dist li.is-ultra::before { background: var(--wm-c-ultra); }

/* 타이틀 코스 칩 — 늘 코스 색으로 칠하고, 고른 것은 «3px 검정 테두리 + ✓» (남색 채우기 대신 — 색이 곧 코스라서 고름을 색으로 덮지 않는다) */
.wm-fd .wm-fd-dist .ri-chip.wm-c--full { background: var(--wm-c-full); color: #fff; }
.wm-fd .wm-fd-dist .ri-chip.wm-c--half { background: var(--wm-c-half); color: var(--wm-ink); }
.wm-fd .wm-fd-dist .ri-chip.wm-c--10k { background: var(--wm-c-10k); color: var(--wm-ink); }
.wm-fd .wm-fd-dist .ri-chip.wm-c--trail { background: var(--wm-c-trail); color: var(--wm-ink); }
.wm-fd .wm-fd-dist .ri-chip.wm-c--ultra { background: var(--wm-c-ultra); color: var(--wm-ink); }
.wm-fd .wm-fd-dist .ri-chip.wm-c:hover { box-shadow: inset 0 0 0 2px var(--wm-ink); }
.wm-fd .wm-fd-dist .ri-chip.wm-c.is-on { box-shadow: inset 0 0 0 3px var(--wm-ink); }
.wm-fd .wm-fd-dist .ri-chip.wm-c--full.is-on { box-shadow: inset 0 0 0 3px var(--wm-ink), inset 0 0 0 5px #fff; }   /* 짙은 풀코스 위 검정 테두리는 안 보여 흰 겹을 한 줄 더 */
.wm-fd .wm-fd-dist .ri-chip.wm-c.is-on > span::before { content: "\2713"; font-style: normal; font-weight: 900; }

/* 폰 칩 띠(findmobile)의 거리 칩 — data-v 가 코스 이름(findmobile.php DL 표) */
body.wm-fdp .ri-fm__b[data-k="dist"][data-v="풀"] { color: #fff; }
body.wm-fdp .ri-fm__b[data-k="dist"][data-v="풀"]::before { background: var(--wm-c-full); }
body.wm-fdp .ri-fm__b[data-k="dist"][data-v="하프"]::before { background: var(--wm-c-half); }
body.wm-fdp .ri-fm__b[data-k="dist"][data-v="10K"]::before { background: var(--wm-c-10k); }
body.wm-fdp .ri-fm__b[data-k="dist"][data-v="트레일"]::before { background: var(--wm-c-trail); }
body.wm-fdp .ri-fm__b[data-k="dist"][data-v^="울트라"]::before { background: var(--wm-c-ultra); }
body.wm-fdp .ri-fm__b[data-k="dist"][data-v]:not([data-v=""]).is-on { color: var(--wm-ink); }
body.wm-fdp .ri-fm__b[data-k="dist"][data-v="풀"].is-on { color: #fff; }
body.wm-fdp .ri-fm__b[data-k="dist"][data-v]:not([data-v=""]).is-on::before { box-shadow: inset 0 0 0 3px var(--wm-ink); }
body.wm-fdp .ri-fm__b[data-k="dist"][data-v="풀"].is-on::before { background: var(--wm-c-full); box-shadow: inset 0 0 0 3px var(--wm-ink), inset 0 0 0 5px #fff; }
body.wm-fdp .ri-fm__b[data-k="dist"][data-v="하프"].is-on::before { background: var(--wm-c-half); }
body.wm-fdp .ri-fm__b[data-k="dist"][data-v="10K"].is-on::before { background: var(--wm-c-10k); }
body.wm-fdp .ri-fm__b[data-k="dist"][data-v="트레일"].is-on::before { background: var(--wm-c-trail); }
body.wm-fdp .ri-fm__b[data-k="dist"][data-v^="울트라"].is-on::before { background: var(--wm-c-ultra); }

/* 접수 상태 = 줄의 «주인공» (D-day 를 한국어 지면에서 숨겼으므로 — 홈 wmm.css 끝 규칙)
   접수중 = 남색 · 마감임박·추가접수 = 빨강(핫) · 접수예정 = 2px 테두리 · 접수마감 = 연회색 칩 + 검정
   종료·취소·접수정보 없음 = 배지 없이 글자(끝났거나 모르는 것은 칠하지 않는다) — 글자는 700 으로 올려 «상태»로 읽히게 */
.wm-fd .wm-st--closed { background: var(--wm-chip); color: var(--wm-ink); transform: skew(-16deg); padding: .3rem .6rem; font-size: .75rem; font-weight: 800; font-style: italic; }
.wm-fd .wm-st--closed > span { transform: skew(16deg); }
.wm-fd .wm-st--finished, .wm-fd .wm-st--cancelled, .wm-fd .wm-st--unknown { font-weight: 700; }

/* ═══ 14. 범위·보기 칩을 거르개 칸 안으로 (사장님 10-05 밤 「스크롤하면 위 내용이 안 보인다 — 고정하든지 접수 전체 밑으로」) ═══
   PC(≥768) : 칸 안 «접수 전체» 밑에 칩 두 줄 · 목록 위 칩은 숨김 · 칸 안 «국내» select 숨김(칩이 같은 일) — 칸이 따라 내려오므로 늘 보인다
   폰(≤767) : 거르개 칸이 숨으므로 목록 위 칩 그대로 */
.wm-fd .wm-fd-side { display: grid; gap: .75rem; margin-top: 1.25rem; }
.wm-fd .wm-fd-side .wm-chips { flex-wrap: wrap; }
@media (min-width: 768px) {
  .wm-fd .wm-fd-f--scope { display: none !important; }
}
@media (max-width: 767px) { .wm-fd .wm-fd-side { display: none; } }

/* 「트레일런」 칩은 findfix 가 JS 로 새로 만든다(class = ri-chip ri-ff-trail, 서버 이름표 없음) → 같은 초록을 따로 입힌다.
   고름 표시는 안의 체크 상자로만 알 수 있어 :has() 를 «덤»으로 쓴다(못 알아듣는 옛 브라우저는 색만 보인다) */
.wm-fd .wm-fd-dist .ri-chip.ri-ff-trail { background: var(--wm-c-trail); color: var(--wm-ink); }
.wm-fd .wm-fd-dist .ri-chip.ri-ff-trail:hover { box-shadow: inset 0 0 0 2px var(--wm-ink); }
.wm-fd .wm-fd-dist .ri-chip.ri-ff-trail:has(input:checked) { box-shadow: inset 0 0 0 3px var(--wm-ink); }
.wm-fd .wm-fd-dist .ri-chip.ri-ff-trail:has(input:checked) > span::before { content: "\2713"; font-style: normal; font-weight: 900; }

/* 개수 — 칸 안 칩 위(사장님 10-05 밤 캡처 덩어리 그대로 «접수 전체 밑으로») */
.wm-fd .wm-fd-side__cnt { margin: 0; }

/* 10-05 밤 다시 : 목록 위 개수·칩은 «원래 자리 그대로»(위 14장의 숨김 규칙을 뺐다) · 칸 안 것은 스크롤용으로 함께 */
/* RUN(접수중) · FAST(마감임박) — D-day 와 같은 글자 꼴(.wm-dd 값 · 검정). 빨강 글자는 회색 hover 바탕에서 4.28 이라 쓰지 않는다 */
.wm-fd .wm-word { font-weight: 900; font-style: italic; font-size: .9375rem; white-space: nowrap; color: var(--wm-ink); }
.wm-fd .wm-dd--off { display: none !important; }
/* 취소 줄 — 옛 규칙(.is-cancelled .u-dday 숨김)과 상관없이 STOP 낱말은 보인다 */
.wm-fd .wm-fr.is-cancelled .wm-word { text-decoration: none; }

/* ═══ 10-06 사장님 「모바일도 변경된 리뉴얼 디자인 색으로 — 넘 검정색이야, 포인트 색 줄 거 있으면 판단해서」
   C 님 「대회를 여시는 분께」 칸(riin-findbn · C 것)이 검정 #141414 + 연두 #c6f24e(새 디자인 팔레트 밖)라
   대회일정(A 지면) 안에서만 새 디자인 값으로 덮는다 — 남색 면 · 노랑(--wm-ultra 울트라 #ffd100) 포인트 · 흰 단추 남색 글자 · 각진 모서리.
   C 님 원본 CSS 는 손대지 않았다. C 님이 원본을 이 값으로 바꾸면 이 덩어리는 지운다(판에 적어 둠). 되돌리기 = 이 덩어리 삭제 ═══ */
.wm .riin-findbn { background: var(--wm-navy); border: 0; border-radius: 0; }
.wm .riin-findbn__tag { background: #ffd100; color: #000; border-radius: 0; font-style: italic; }
.wm .riin-findbn__tx b { color: #ffd100; }
.wm .riin-findbn__go { background: #fff; color: var(--wm-navy); border-radius: 0; font-style: italic; }
.wm .riin-findbn__x { color: #fff; }
@media (hover: hover) and (pointer: fine) { .wm .riin-findbn__go:hover { background: #ffd100; color: #000; } }

/* 10-06 규칙 v3.5 «아이콘 = 남색» — 문답 ⊕ · 시·도별 목록 ⊕ 의 2px 검정 원(가상 요소라 10-06 검정 전수 검사가 못 잡았다) → 남색 */
.wm-fd .wm-faq__i > summary::after, .wm-fd .ri-map__reg > summary::after { border-color: var(--wm-navy);
  background: linear-gradient(var(--wm-navy), var(--wm-navy)) center / 50% 2px no-repeat, linear-gradient(var(--wm-navy), var(--wm-navy)) center / 2px 50% no-repeat; }
.wm-fd .wm-faq__i[open] > summary::after, .wm-fd .ri-map__reg[open] > summary::after { background: linear-gradient(var(--wm-navy), var(--wm-navy)) center / 50% 2px no-repeat; }

/* 10-07 사장님 「대회일시·대회장소… 아이콘 컬러로」 — 대회일정 펼침 칸(대회 상세와 같은 표)도 같은 값 : 남색 · 1.25em */
.wm-fd .wm-fp .p-lab .ri-i { width: 1.25em; height: 1.25em; color: var(--wm-navy); }

/* ═══ 10-07 사장님 「대회 상세 밑 근처 훈련 트랙 · 이 지역 런닝크루 등이 넘 텍스트 위주 — 「나주종합스포츠파크…」 앞에 아이콘 · 리뉴얼 지면답게 상하 여백」
   → 칸 머리 아이콘(sprite)과 같은 모양을 줄마다 남색 작은 아이콘으로(CSS mask · :has 로 칸 머리 아이콘을 보고 고른다 — 트랙=달리는 사람 · 크루=깃발 · 지역=핀 · 달=달력 · 종목=신발 · 국내/해외=지구)
     줄 사이 .55rem · 칸 사이 2rem 2.5rem · 위 2.5rem — «붙어 있다» 해소. 2px 검정 위 줄·알림 단추 검정 테두리 → 남색(v3.5). 되돌리기 = 이 덩어리 삭제 ═══ */
.wm-fd .wm-fp .p-near .p-near__c { --wm-li-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 21V4M5 5h12l-2.2 3.5L17 12H5'/%3E%3C/svg%3E"); }
.wm-fd .wm-fp .p-near .p-near__c li a { display: flex; align-items: flex-start; gap: .55rem; padding: .55rem 0; line-height: 1.45; }
.wm-fd .wm-fp .p-near .p-near__c li a::before { content: ""; flex: none; width: 1.05rem; height: 1.05rem; margin-top: .12rem; background: var(--wm-navy); -webkit-mask: var(--wm-li-ic) center / contain no-repeat; mask: var(--wm-li-ic) center / contain no-repeat; }
.wm-fd .wm-fp .p-near .p-near__c li { margin: 0; }
.wm-fd .wm-fp .p-near .p-near__c h4 { margin: 0 0 .75rem; }
.wm-fd .wm-fp .p-near .p-near__c h4 svg.ri-i, .wm-fd .wm-fp .p-near .p-near__c h4 .ri-i { color: var(--wm-navy); }
.wm-fd .wm-fp .p-near .p-near__c:has(use[href="#ri-i-run"]) { --wm-li-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13.49 5.48c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm-3.6 13.9l1-4.4 2.1 2v6h2v-7.5l-2.1-2 .6-3c1.3 1.5 3.3 2.5 5.5 2.5v-2c-1.9 0-3.5-1-4.3-2.4l-1-1.6c-.4-.6-1-1-1.7-1-.3 0-.5.1-.8.1l-5.2 2.2v4.7h2v-3.4l1.8-.7-1.6 8.1-4.9-1-.4 2 7 1.4z'/%3E%3C/svg%3E"); }
.wm-fd .wm-fp .p-near .p-near__c:has(use[href="#ri-i-flag"]) { --wm-li-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 21V4M5 5h12l-2.2 3.5L17 12H5'/%3E%3C/svg%3E"); }
.wm-fd .wm-fp .p-near .p-near__c:has(use[href="#ri-i-pin"]) { --wm-li-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-6.2 7-11a7 7 0 1 0-14 0c0 4.8 7 11 7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.4'/%3E%3C/svg%3E"); }
.wm-fd .wm-fp .p-near .p-near__c:has(use[href="#ri-i-cal"]) { --wm-li-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='1.5'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E"); }
.wm-fd .wm-fp .p-near .p-near__c:has(use[href="#ri-i-shoe"]) { --wm-li-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M3 16.5h15.5a2.5 2.5 0 0 0 2.4-3.2c-.3-1-1.1-1.6-2.1-1.9l-3.6-1-2.2-2.9a1.4 1.4 0 0 0-2.3.1L9 10.5 3 12z'/%3E%3Cpath d='M3 16.5V19h18'/%3E%3C/svg%3E"); }
.wm-fd .wm-fp .p-near .p-near__c:has(use[href="#ri-i-globe"]) { --wm-li-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M3.5 12h17M12 3.5c2.4 2.6 3.6 5.4 3.6 8.5S14.4 18.4 12 20.5c-2.4-2.1-3.6-5.4-3.6-8.5S9.6 6.1 12 3.5z'/%3E%3C/svg%3E"); }
.wm-fd .wm-fp .p-near { gap: 2rem 2.5rem; margin-top: 2.5rem; padding-top: 1.5rem; border-top-color: var(--wm-navy); }
.wm-fd .wm-fp .ri-btn { border-color: var(--wm-navy); color: var(--wm-navy); }
.wm-fd .wm-fp .p-todo { margin-top: 2.5rem; padding-top: 1.5rem; }
.wm-fd .wm-fp .p-todo h4 { margin-bottom: .75rem; }
.wm-fd .wm-fp .p-todo li { padding: .3rem .7rem; }

/* ═══ 10-07 떠 있는 단추(.wm-fab) 밑에 꺾쇠가 깔리던 것 — A ═══
   왜 : .wm-fab 은 right 1rem · 폭 3.25rem 로 화면 오른쪽 끝 68px 를 늘 덮는데(768↑), 줄 꺾쇠는 줄 오른쪽 끝(.25rem)에 있어
        스크롤하면 줄마다 꺾쇠가 단추 밑으로 들어갔다(1440 에서 꺾쇠 1372–1412 · 단추 1372–1424 실측).
   고침 : 768↑ 에서 꺾쇠를 줄 끝에서 3.75rem 안으로 — 여백(2%)+3.75rem ≥ 68px+7px 라 768~1920 어디서도 단추와 안 겹친다.
        여백 2%(WMM 실측 값)는 건드리지 않는다. 줄 오른쪽 안쪽 여백도 그만큼 늘려 글자가 꺾쇠에 닿지 않게. */
@media (min-width: 768px) {
  .wm-fd .wm-fr { padding-right: 6rem; }
  .wm-fd .wm-fr__t::after { right: 3.75rem; }
}
