/* RECOVERIC 매거진 · 축제(/festival/) · 전시(/calendar/) 전용 — 아트 디렉터 2026-10-23
   숫자 칸(.evs) · 찾기 줄(.evf: 날짜·월·지역·종류·낱말이 같은 모양·같은 높이 40px·같은 간격) · 선택 칩 · 작은 달력(.evp) · 목록(.ez-r)
   선택은 네이비 #1B2438 채움 한 가지. 개수는 글자 뒤 산세리프 tabular #6B6B6B. 줄 머리 라벨은 고정 폭 열.
   휴대폰 배치는 공용 규칙과 같이 body 폭(@container mg) 960px 이하에서 바뀐다. */

.evs,.evf,.evf-pick,.evf-res,#ez-rows,.evp{word-break:keep-all}

/* ---------- 숫자 칸: 랭킹 숫자 카드와 같은 격 ---------- */
.evs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:64px;margin-top:44px;border-top:1px solid #111111;border-bottom:1px solid #E6E6E6}
.evs-c{position:relative;appearance:none;display:flex;flex-direction:column;align-items:flex-start;min-width:0;margin:0;padding:30px 0 26px;border:0;background:none;color:#111111;text-align:left;cursor:pointer;font:inherit}
.evs-c+.evs-c::before{content:'';position:absolute;top:30px;bottom:26px;left:-32px;width:1px;background:#E6E6E6}
.evs-c::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:transparent;transition:background .15s}
.evs-k{font-family:'Noto Sans KR',sans-serif;font-size:11px;font-weight:500;letter-spacing:.2em;color:#1B2438;line-height:1.4}
.evs-n{display:block;margin-top:22px;font-size:clamp(46px,4.6cqw,66px);line-height:.95;letter-spacing:-.015em;color:#111111;font-variant-numeric:lining-nums proportional-nums!important}
.evs-rule{display:block;width:28px;height:2px;margin:22px 0 16px;background:#1B2438}
.evs-t{font-family:'Noto Serif KR',serif;font-size:15.5px;line-height:1.5;font-weight:500;color:#111111}
.evs-f{margin-top:8px;font-family:'Noto Sans KR',sans-serif;font-size:12.5px;line-height:1.5;color:#6B6B6B}
.evs-f .bod{font-size:13px;color:#333333}
.evs-fn{font-variant-numeric:tabular-nums;font-weight:500;color:#333333}
.evs-c:hover .evs-n{color:#1B2438}
.evs-c.on::after{background:#1B2438}
.evs-c.on .evs-n{color:#1B2438}
.evs-c:focus-visible{outline:2px solid #1B2438;outline-offset:4px}
.evs-note{margin:12px 0 0;font-family:'Noto Sans KR',sans-serif;font-size:12px;line-height:1.7;color:#6B6B6B}

/* ---------- 선택 칩 줄(검색창 바로 아래) ---------- */
.evf-k{font-family:'Noto Sans KR',sans-serif;font-size:10.5px;font-weight:500;letter-spacing:.24em;color:#6B6B6B;line-height:40px;white-space:nowrap}
.evf-pick{display:grid;grid-template-columns:112px minmax(0,1fr) auto;column-gap:16px;align-items:center;padding:10px 0;border-bottom:1px solid #E6E6E6}
.evf-pick[hidden]{display:none}
.evf-pick .evf-k{line-height:32px;color:#1B2438}
.evf-pl{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.evf-p{appearance:none;display:inline-flex;align-items:center;gap:10px;height:32px;padding:0 11px 0 13px;margin:0;border:1px solid #1B2438;border-radius:0;background:#FFFFFF;color:#1B2438;font-family:'Noto Sans KR',sans-serif;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap}
.evf-p svg{flex-shrink:0;opacity:.8}
.evf-p:hover{background:#1B2438;color:#FFFFFF}
.evf-all{appearance:none;border:0;border-bottom:1px solid #111111;background:none;padding:2px 0;margin:0;font-family:'Noto Sans KR',sans-serif;font-size:13px;color:#111111;cursor:pointer;white-space:nowrap}
.evf-p:focus-visible,.evf-all:focus-visible{outline:2px solid #1B2438;outline-offset:2px}

/* ---------- 찾기 줄: 모든 줄이 같은 틀 ---------- */
.evf{padding:10px 0;border-bottom:1px solid #E6E6E6}
.evf-row{position:relative;display:grid;grid-template-columns:112px minmax(0,1fr);column-gap:16px;align-items:start;padding:6px 0}
.evf-sc{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.evf-c{appearance:none;display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 15px;margin:0;border:1px solid #DADADA;border-radius:0;background:#FFFFFF;color:#111111;font-family:'Noto Sans KR',sans-serif;font-size:13.5px;font-weight:400;line-height:1;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:border-color .12s,background .12s}
.evf-c[hidden]{display:none}
.evf-n{font-family:'Noto Sans KR',sans-serif;font-size:12px;font-weight:500;color:#6B6B6B;font-variant-numeric:tabular-nums;letter-spacing:0}
.evf-n:empty{display:none}
.evf-y{font-size:11px;color:#6B6B6B;margin-right:-3px}
.evf-c:hover{border-color:#111111}
.evf-c.on{background:#1B2438;border-color:#1B2438;color:#FFFFFF;font-weight:500}
.evf-c.on .evf-n,.evf-c.on .evf-y{color:rgba(255,255,255,.8)}
.evf-c:focus-visible{outline:2px solid #1B2438;outline-offset:2px}
.evf-cal{gap:9px}
.evf-cal svg{flex-shrink:0}
.evf-ar{width:6px;height:6px;margin:0 1px 3px 2px;border-right:1.3px solid currentColor;border-bottom:1.3px solid currentColor;transform:rotate(45deg);transition:transform .2s}
.evf-cal[aria-expanded="true"]{border-color:#111111}
.evf-cal[aria-expanded="true"] .evf-ar{transform:rotate(-135deg);margin-bottom:-3px}

/* ---------- 결과 줄 ---------- */
.evf-res{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;column-gap:24px;row-gap:6px;padding:18px 0 16px;border-bottom:1px solid #111111}
.evf-cnt{margin:0;font-family:'Noto Sans KR',sans-serif;font-size:14px;color:#5E5E5E;white-space:nowrap}
.evf-cnt .evf-tot .bod{font-size:15px;color:#5E5E5E}
.evf-cnt b.bod{font-size:28px;line-height:1;color:#1B2438;margin:0 3px 0 4px;vertical-align:-3px}
.evf-sum{margin:0;font-family:'Noto Sans KR',sans-serif;font-size:13px;line-height:1.6;color:#6B6B6B;text-align:right}

/* ---------- 작은 달력: PC 는 날짜 줄 아래에 펼침 ---------- */
.evp{position:absolute;z-index:70;top:calc(100% - 2px);left:128px;background:#FFFFFF;border:1px solid #111111;box-shadow:0 22px 48px rgba(17,17,17,.10)}
.evp[hidden]{display:none}
.evp-in{position:relative;padding:24px 28px 20px}
.evp-nav{position:absolute;top:18px;left:16px;right:16px;display:flex;justify-content:space-between;pointer-events:none}
.evp-nav button{pointer-events:auto;appearance:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;border:0;background:none;color:#111111;cursor:pointer}
.evp-nav button:disabled{color:#D0D0D0;cursor:default}
.evp-nav button:not(:disabled):hover{color:#1B2438}
.evp-ms{display:flex;gap:44px}
.evp-m{width:308px}
.evp-mt{margin:0 0 14px;display:flex;align-items:baseline;justify-content:center;gap:10px;line-height:24px}
.evp-mt .bod{font-size:20px;color:#111111}
.evp-mk{font-family:'Noto Sans KR',sans-serif;font-size:10px;font-weight:500;letter-spacing:.2em;color:#6B6B6B}
.evp-wd,.evp-g{display:grid;grid-template-columns:repeat(7,44px)}
.evp-wd span{display:block;height:26px;text-align:center;font-family:'Noto Sans KR',sans-serif;font-size:11px;color:#6B6B6B}
.evp-g{row-gap:2px}
.evp-x{height:44px}
.evp-d{position:relative;appearance:none;display:flex;align-items:center;justify-content:center;height:44px;margin:0;padding:0;border:0;background:none;color:#111111;cursor:pointer}
.evp-d .bod{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:36px;height:36px;font-size:15px;line-height:1}
.evp-d:not([disabled]):hover .bod{box-shadow:inset 0 0 0 1px #111111}
.evp-d[disabled]{color:#BDBDBD;cursor:default}
.evp-d.t .bod::after{content:'';position:absolute;left:11px;right:11px;bottom:5px;height:1px;background:currentColor}
.evp-d.dot::before{content:'';position:absolute;z-index:2;left:50%;bottom:2px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:#1B2438}
.evp-d.in{background:#E9EBF1}
.evp-d.a{background:linear-gradient(90deg,transparent 50%,#E9EBF1 50%)}
.evp-d.b{background:linear-gradient(90deg,#E9EBF1 50%,transparent 50%)}
.evp-d.a.b{background:none}
.evp-d.a .bod,.evp-d.b .bod{background:#1B2438;color:#FFFFFF}
.evp-d.a.dot::before,.evp-d.b.dot::before{background:#1B2438}
.evp-d:focus-visible{outline:2px solid #1B2438;outline-offset:-2px}
.evp-ft{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:24px;row-gap:6px;margin-top:16px;padding-top:16px;border-top:1px solid #E6E6E6}
.evp-sel{margin:0;font-family:'Noto Sans KR',sans-serif;font-size:13.5px;color:#111111;display:flex;align-items:baseline;gap:12px;min-height:22px}
.evp-sel b{font-weight:500;color:#1B2438}
.evp-n{color:#6B6B6B;font-size:13px}.evp-n .bod{font-size:16px;color:#111111;margin-right:2px}
.evp-hint{font-size:12.5px;line-height:1.6;color:#6B6B6B}
.evp-lg{grid-column:1;grid-row:2;margin:0;display:flex;align-items:center;gap:7px;font-family:'Noto Sans KR',sans-serif;font-size:11.5px;color:#6B6B6B}
.evp-lg-dot{width:4px;height:4px;border-radius:50%;background:#1B2438}
.evp-btn{grid-column:2;grid-row:1 / span 2;display:flex;align-items:center;gap:18px}
.evp-clr{appearance:none;border:0;border-bottom:1px solid #111111;background:none;padding:2px 0;margin:0;font-family:'Noto Sans KR',sans-serif;font-size:13px;color:#111111;cursor:pointer}
.evp-clr:disabled{color:#BDBDBD;border-color:#DADADA;cursor:default}
.evp-ok{appearance:none;display:inline-flex;align-items:center;gap:0;height:40px;padding:0 22px;margin:0;border:0;background:#1B2438;color:#FFFFFF;font-family:'Noto Sans KR',sans-serif;font-size:13px;font-weight:500;letter-spacing:.04em;cursor:pointer}
.evp-ok .bod{font-size:15px;margin-right:1px}
.evp-ok:focus-visible,.evp-clr:focus-visible,.evp-nav button:focus-visible{outline:2px solid #1B2438;outline-offset:2px}
.evp-grab,.evp-ttl{display:none}

/* 휴대폰: 아래에서 올라오는 시트 */
.evp-bg{position:fixed;inset:0;z-index:258;background:rgba(17,17,17,.45);opacity:0;transition:opacity .2s}
.evp-bg[hidden]{display:none}
.evp-bg.on{opacity:1}
.evp.is-sheet{position:fixed;z-index:260;top:auto;left:0;right:0;bottom:0;max-height:88vh;overflow-y:auto;border:0;border-top:1px solid #111111;box-shadow:0 -12px 40px rgba(17,17,17,.14);transform:translateY(100%);transition:transform .24s cubic-bezier(.2,.8,.2,1)}
.evp.is-sheet.on{transform:none}
.evp.is-sheet .evp-in{padding:12px 20px calc(18px + env(safe-area-inset-bottom))}
.evp.is-sheet .evp-grab{display:block;width:40px;height:3px;margin:0 auto 14px;background:#DADADA}
.evp.is-sheet .evp-ttl{display:block;margin:0 0 4px;font-family:'Noto Sans KR',sans-serif;font-size:10.5px;font-weight:500;letter-spacing:.24em;color:#6B6B6B;text-align:center}
.evp.is-sheet .evp-nav{top:50px;left:8px;right:8px}
.evp.is-sheet .evp-ms{display:block}
.evp.is-sheet .evp-m{width:auto}
.evp.is-sheet .evp-mt{margin-top:6px}
.evp.is-sheet .evp-wd,.evp.is-sheet .evp-g{grid-template-columns:repeat(7,minmax(0,1fr))}
.evp.is-sheet .evp-d,.evp.is-sheet .evp-x{height:44px}
.evp.is-sheet .evp-d .bod{width:38px;height:38px;font-size:16px}
.evp.is-sheet .evp-ft{grid-template-columns:minmax(0,1fr);margin-top:12px}
.evp.is-sheet .evp-lg{grid-row:auto}
.evp.is-sheet .evp-btn{grid-column:1;grid-row:auto;justify-content:space-between;margin-top:8px}
.evp.is-sheet .evp-ok{flex:1;justify-content:center;height:50px;margin-left:12px}
html.evp-lock,html.evp-lock body{overflow:hidden}

/* ---------- 목록 ---------- */
.ez-box[hidden],.ez-none[hidden],#ez-none[hidden]{display:none!important}
/* 달별 접기(2026-11-03 · 액션 카드 20261103_캘린더_월별접기) */
.ez-r[hidden]{display:none!important}
.ez-more{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:52px;margin:0;padding:0 12px;border:0;border-top:1px solid #E2E2E2;border-bottom:1px solid #E2E2E2;background:none;font-family:'Noto Sans KR',sans-serif;font-size:13px;letter-spacing:.04em;color:#111111;cursor:pointer;word-break:keep-all}
.ez-more:hover,.ez-more:focus-visible{background:#F6F6F4}
.ez-more .bod,.ez-mopen .bod{font-size:16px}
.ez-mopen{margin-left:auto;align-self:center;min-height:44px;padding:0 2px;border:0;background:none;font-family:'Noto Sans KR',sans-serif;font-size:13px;color:#111111;text-decoration:underline;text-underline-offset:4px;cursor:pointer;white-space:nowrap}
.ez-month{margin:0;padding:34px 0 12px;border-bottom:1px solid #111111;display:flex;align-items:baseline;gap:14px}
.ez-month .bod{font-size:30px;line-height:1}
.ez-mk{font-family:'Noto Sans KR',sans-serif;font-size:10.5px;font-weight:500;letter-spacing:.22em;color:#6B6B6B}
.ez-r{display:grid;grid-template-columns:184px minmax(0,1fr) 120px;gap:24px;padding:22px 0;border-bottom:1px solid #E6E6E6;align-items:start}
.ez-r.has-ph{grid-template-columns:184px minmax(0,1fr) 120px 152px}
.ez-when{display:flex;flex-direction:column;gap:8px;min-width:0}
.ez-d{font-size:21px;line-height:1.1;color:#111111}
.ez-s{font-family:'Noto Sans KR',sans-serif;font-size:12px;color:#6B6B6B;white-space:nowrap}
.ez-dd{font-variant-numeric:tabular-nums;font-weight:500;color:#333333}
.ez-s.on{color:#1B2438;font-weight:500}
.ez-t{font-family:'Noto Serif KR',serif;font-size:19px;line-height:1.5;font-weight:500;color:#111111}
.ez-meta{margin:6px 0 0;font-size:13px;line-height:1.7;color:#6B6B6B}
.ez-intro{margin:8px 0 0;font-size:14px;line-height:1.8;color:#333333}
.ez-tag{margin:3px 0 0;font-family:'Noto Sans KR',sans-serif;font-size:11px;letter-spacing:.14em;color:#6B6B6B;text-align:right;line-height:1.7}
.ez-tag b{display:block;font-weight:500;color:#111111;letter-spacing:.06em;font-size:13px}
.ez-src{margin:28px 0 0;font-size:12px;line-height:1.9;color:#6B6B6B}

/* ---------- 휴대폰 ---------- */
@container mg (max-width:960px){
 .evs{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;margin-top:32px}
 .evs-c{padding:22px 0 20px}
 .evs-c+.evs-c::before{display:none}
 .evs-c:nth-child(2n)::before{display:block;content:'';position:absolute;top:22px;bottom:20px;left:-16px;width:1px;background:#E6E6E6}
 .evs-c:nth-child(n+3){border-top:1px solid #E6E6E6}
 .evs-n{margin-top:16px;font-size:44px}
 .evs-rule{margin:16px 0 12px;width:22px}
 .evs-t{font-size:14px;line-height:1.5}
 .evs-f{font-size:12px}
 .evf-pick{grid-template-columns:44px minmax(0,1fr) auto;column-gap:8px}
 .evf-all{font-size:12.5px}
 .evf{padding:8px 0}
 .evf-row{grid-template-columns:44px minmax(0,1fr);column-gap:8px;padding:5px 0;position:static}
 .evf-k{letter-spacing:.14em}
 .evf-sc{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;margin-right:-20px;padding-right:20px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
 .evf-sc::-webkit-scrollbar{display:none}
 .evf-c{padding:0 13px;font-size:13.5px}
 .evf-res{flex-direction:column;align-items:flex-start}
 .evf-sum{text-align:left}
 .ez-r,.ez-r.has-ph{grid-template-columns:minmax(0,1fr) 112px;gap:8px 16px;padding:20px 0}
 .ez-r .ez-when{grid-column:1 / -1;flex-direction:row;align-items:baseline;gap:12px}
 .ez-r .ez-main{grid-column:1}
 .ez-r:not(.has-ph) .ez-main{grid-column:1 / -1}
 .ez-r .ez-ph{grid-column:2;grid-row:2}
 .ez-r .ez-tag{display:none}
 .ez-d{font-size:19px}
 .ez-t{font-size:17.5px}
 .ez-month .bod{font-size:26px}
}
/* 사용성 점검 2026-10-24: 휴대폰 거르기 단추 44px */
@container mg (max-width:960px){.evf-c{height:44px}}
@container mg (max-width:960px){.ez-t{display:block;padding:10px 0}.evf-c{min-width:44px;justify-content:center}}

/* ---------- 위치로 찾기(내 위치 근처 · 지역 지정) ---------- */
.evg[hidden],.evg-km[hidden]{display:none}
.evg-in{display:flex;flex-direction:column;gap:10px;min-width:0}
.evg .evf-sc{overflow:visible;margin-right:0;padding-right:0;-webkit-mask-image:none;mask-image:none;flex-wrap:wrap}
.evg-sel{position:relative;display:inline-block}
.evg-sel select{appearance:none;-webkit-appearance:none;height:40px;min-width:132px;padding:0 34px 0 15px;border:1px solid #DADADA;border-radius:0;background:#FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none' stroke='%23111' stroke-width='1.3'%3E%3Cpath d='m1 1 4 4 4-4'/%3E%3C/svg%3E") no-repeat right 14px center;color:#111111;font-family:'Noto Sans KR',sans-serif;font-size:13.5px;line-height:1;cursor:pointer;word-break:keep-all}
.evg-sel select:hover:not(:disabled){border-color:#111111}
.evg-sel select:disabled{color:#9A9A9A;cursor:default}
.evg-sel select:focus-visible,.evg-name input:focus-visible{outline:2px solid #1B2438;outline-offset:2px}
.evg-name{display:flex;gap:8px;align-items:center;min-width:0}
.evg-name input{flex:1 1 auto;min-width:0;max-width:360px;height:40px;padding:0 14px;border:1px solid #DADADA;border-radius:0;background:#FFFFFF;color:#111111;font-family:'Noto Sans KR',sans-serif;font-size:13.5px}
.evg-name input::placeholder{color:#8A8A8A}
.evg-msg{margin:0;font-size:12px;line-height:1.7;color:#6B6B6B;word-break:keep-all}
.evg-msg.warn{color:#1B2438;font-weight:500}
.evg-me svg{flex-shrink:0}
.ez-km{margin:4px 0 0;font-family:'Noto Sans KR',sans-serif;font-size:12.5px;line-height:1.6;letter-spacing:.02em;color:#1B2438;word-break:keep-all}
.ez-km .bod{font-size:15px;letter-spacing:.02em}
.ez-km.unk{color:#6B6B6B}
.ez-month.ez-near .ez-mk{letter-spacing:.06em}
@container mg (max-width:760px){
.evg-sel{flex:1 1 calc(50% - 4px)}
.evg-sel select{width:100%;min-width:0}
.evg-me{flex:1 1 100%;justify-content:center}
.evg-name input{max-width:none}
}
