/* 주차핑 행사 주차·환승 플래너 v1.1 (W-EVENT-BUSAN-01 → 02) — 360px 우선, 모든 규칙은 .jp-evp 안으로 한정 */
.jp-evp{--evp-accent:#c2410c;--evp-accent-soft:#fff4e6;--evp-line:#f1c7a8;--evp-ink:#1f2937;--evp-muted:#6b7280;--evp-ok:#166534;--evp-ok-bg:#ecfdf3;--evp-unk:#92400e;--evp-unk-bg:#fffbeb;--evp-risk:#b91c1c;--evp-risk-bg:#fef2f2;--evp-part:#1e40af;--evp-part-bg:#eff6ff;
  box-sizing:border-box;max-width:100%;margin:0 0 28px;padding:16px 14px;border:1px solid var(--evp-line);border-radius:12px;background:#fff;color:var(--evp-ink);line-height:1.6;word-break:keep-all;overflow-wrap:anywhere}
.jp-evp *,.jp-evp *::before,.jp-evp *::after{box-sizing:border-box}
.jp-evp [hidden]{display:none!important}
.jp-evp .jp-evp-needs-js{display:none}
.jp-evp.jp-evp-js .jp-evp-needs-js{display:block}
.jp-evp.jp-evp-js .jp-evp-choices.jp-evp-needs-js{display:flex}
.jp-evp.jp-evp-js .jp-evp-static,.jp-evp.jp-evp-js .jp-evp-static-note{display:none}
.jp-evp-title{font-size:1.2em;margin:0 0 6px;padding:0;border:0}
.jp-evp-lead{margin:0 0 14px;font-size:.95em}
.jp-evp-step{padding:12px 0;border-top:1px dashed var(--evp-line)}
.jp-evp-h{display:flex;align-items:center;gap:8px;font-size:1.02em;margin:0 0 10px}
.jp-evp-num{flex:0 0 24px;height:24px;border-radius:50%;background:var(--evp-accent);color:#fff;font-size:.85em;display:inline-flex;align-items:center;justify-content:center}
.jp-evp-choices{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px}
.jp-evp-choice{flex:1 1 calc(50% - 8px);min-width:0;min-height:44px;padding:8px 10px;border:1px solid var(--evp-line);border-radius:10px;background:#fff;color:var(--evp-ink);font:inherit;font-size:.95em;line-height:1.3;cursor:pointer;text-align:center}
.jp-evp-choice small{display:block;font-size:.78em;color:var(--evp-muted)}
.jp-evp-choice[aria-pressed="true"]{border-color:var(--evp-accent);background:var(--evp-accent);color:#fff}
.jp-evp-choice[aria-pressed="true"] small{color:#fff}
.jp-evp-choice:focus-visible,.jp-evp-btn:focus-visible,.jp-evp select:focus-visible{outline:3px solid #fdba74;outline-offset:2px}
.jp-evp-presets .jp-evp-choice{flex:1 1 calc(33.333% - 8px)}
.jp-evp-times{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 8px}
.jp-evp-field{display:flex;flex-direction:column;gap:4px;font-size:.9em;min-width:0}
.jp-evp-field select{width:100%;min-height:44px;padding:6px 8px;border:1px solid var(--evp-line);border-radius:10px;background:#fff;font:inherit;color:var(--evp-ink)}
.jp-evp-arrival,.jp-evp-summary,.jp-evp-route{margin:0 0 8px;padding:8px 10px;border-radius:8px;background:var(--evp-accent-soft);font-size:.93em}
.jp-evp-route{list-style:none;counter-reset:evpr}
.jp-evp-route li{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin:0;padding:6px 0 6px 26px;border-bottom:1px dashed var(--evp-line)}
.jp-evp-route li:last-child{border-bottom:0}
.jp-evp-route li::before{counter-increment:evpr;content:counter(evpr);position:absolute;left:0;top:7px;width:20px;height:20px;border-radius:50%;background:#fff;border:1px solid var(--evp-line);font-size:.75em;line-height:18px;text-align:center}
.jp-evp-route li.is-hint{padding-left:0}
.jp-evp-route li.is-hint::before{content:none}
.jp-evp-route-text{flex:1 1 auto;min-width:0}
.jp-evp-route-tag{flex:0 0 auto;padding:1px 6px;border-radius:999px;font-size:.75em;background:#fff;color:var(--evp-muted);border:1px solid #e5e7eb}
.jp-evp-route li.is-official .jp-evp-route-tag{color:var(--evp-ok);border-color:#86efac;background:var(--evp-ok-bg)}
.jp-evp-route li.is-unconfirmed .jp-evp-route-tag{color:var(--evp-unk);border-color:#fcd34d;background:var(--evp-unk-bg)}
.jp-evp-route-note{flex:1 0 100%;font-size:.85em;color:var(--evp-muted)}
.jp-evp-warn{margin:0 0 8px;padding:0;list-style:none}
.jp-evp-warn li{margin:0 0 6px;padding:8px 10px;border-left:3px solid #d97706;background:var(--evp-unk-bg);color:var(--evp-unk);font-size:.9em}
.jp-evp-static{margin:0 0 8px;padding-left:18px;font-size:.93em}
.jp-evp-note,.jp-evp-caution{font-size:.9em;margin:0 0 8px}
.jp-evp-caution{padding:8px 10px;border-left:3px solid var(--evp-accent);background:var(--evp-accent-soft)}
.jp-evp-src{font-size:.8em;color:var(--evp-muted);margin:4px 0 0}
.jp-evp-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:10px 14px;border-radius:10px;font:inherit;font-weight:700;text-align:center;text-decoration:none;cursor:pointer}
.jp-evp-btn-main{background:var(--evp-accent);color:#fff;border:1px solid var(--evp-accent);margin:0 0 10px}
.jp-evp-btn-main:hover,.jp-evp-btn-main:focus{color:#fff;background:#9a3412}
.jp-evp-btn-line{background:#fff;color:var(--evp-accent);border:1px solid var(--evp-accent)}
.jp-evp-facilities{margin-top:12px;padding:12px;border-radius:10px;background:#fafafa;border:1px solid #e5e7eb}
.jp-evp-subh{margin:0 0 4px;font-size:1em}
.jp-evp-gate-legend,.jp-evp-count{font-size:.88em;margin:0 0 8px}
.jp-evp-empty{margin:0;font-size:.9em;color:var(--evp-ink)}
.jp-evp-cards{display:grid;grid-template-columns:1fr;gap:10px;margin:0 0 8px}
.jp-evp-card{min-width:0;overflow-wrap:anywhere;padding:12px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}
.jp-evp-card.is-ready{border-color:#86efac}
.jp-evp-card-title{margin:0 0 4px;font-size:1em}
.jp-evp-card-badges{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 6px}
.jp-evp-card-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.78em;background:var(--evp-unk-bg);color:var(--evp-unk)}
.jp-evp-card-badge.is-ok{background:var(--evp-ok-bg);color:var(--evp-ok)}
.jp-evp-card-summary{margin:0 0 6px;font-size:.88em;color:var(--evp-muted)}
.jp-evp-card-caution{margin:0 0 6px;padding:6px 8px;border-left:3px solid var(--evp-risk);background:var(--evp-risk-bg);color:var(--evp-risk);font-size:.86em}
.jp-evp-gates{margin:0 0 8px;padding:0;list-style:none;font-size:.88em}
.jp-evp-gates li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 8px;padding:6px 0;border-bottom:1px solid #f3f4f6}
.jp-evp-gates li.is-confirmed .jp-evp-gate-state{color:var(--evp-ok);font-weight:700}
.jp-evp-gates li.is-partial .jp-evp-gate-state{color:var(--evp-part);font-weight:700}
.jp-evp-gates li.is-unconfirmed .jp-evp-gate-state{color:var(--evp-unk)}
.jp-evp-gates li.is-risk .jp-evp-gate-state{color:var(--evp-risk);font-weight:700}
.jp-evp-gate-note{flex:1 0 100%;color:var(--evp-muted);font-size:.92em}
.jp-evp-card-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:0}
.jp-evp-more{margin:0 0 8px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}
.jp-evp-more>summary{min-height:44px;padding:10px 12px;cursor:pointer;font-size:.9em;font-weight:700}
.jp-evp-more>.jp-evp-cards{padding:0 10px 10px;margin:0}
.jp-evp-more-risk>summary{color:var(--evp-risk)}
.jp-evp-share{padding-top:12px;border-top:1px dashed var(--evp-line)}
.jp-evp-share-row{display:grid;grid-template-columns:1fr;gap:8px}
.jp-evp-copy-fallback{display:flex;flex-direction:column;gap:4px;margin:8px 0 0;font-size:.88em}
.jp-evp-copy-fallback input{width:100%;min-height:44px;padding:6px 8px;border:1px solid var(--evp-line);border-radius:8px;font:inherit;font-size:.85em}
.jp-evp-status{min-height:1.2em;margin:6px 0 0;font-size:.88em;color:var(--evp-ok)}
@media (min-width:600px){
  .jp-evp{padding:20px}
  .jp-evp-choice{flex:1 1 0}
  .jp-evp-share-row{grid-template-columns:1fr 1fr}
  .jp-evp-cards{grid-template-columns:1fr 1fr}
  .jp-evp-btn-main{width:auto;display:inline-flex}
}
