/* Walk for Palestine (/walkforpalestine) */
.walk-hero {
  background: linear-gradient(135deg, var(--palestine-green) 0%, var(--palestine-green-dark) 100%);
  color: #fff;
  padding: 3rem 0 4.5rem;
}
.walk-hero h1 { font-weight: 800; font-size: clamp(2.2rem, 6vw, 3.6rem); letter-spacing: -1px; color: #fff; }
.walk-eyebrow { display: inline-block; text-transform: uppercase; letter-spacing: .12em; font-size: .78rem; font-weight: 600; opacity: .85; margin-bottom: .5rem; }
.walk-lead { max-width: 42rem; font-size: 1.15rem; opacity: .95; margin-bottom: 1.5rem; }
.walk-main { margin-top: -2.5rem; padding-bottom: 3rem; }

.walk-card { background: #fff; border-radius: 14px; box-shadow: 0 4px 24px rgba(0,0,0,.08); padding: 1.5rem; }
.walk-pill { background: var(--section-green-tint); color: var(--palestine-green-dark); font-weight: 600; font-size: .8rem; padding: .25rem .7rem; border-radius: 99px; }

.walk-total { font-size: clamp(2.6rem, 8vw, 4rem); font-weight: 800; line-height: 1.1; color: var(--palestine-green-dark); margin-top: .75rem; }
.walk-total-unit { font-size: 1rem; font-weight: 600; color: #555; }
.walk-progress { height: .9rem; border-radius: 99px; background: #e8eee9; }
.walk-progress .progress-bar { background: var(--palestine-green); border-radius: 99px; transition: width .6s ease; }
.walk-stat { background: var(--section-light); border-radius: 10px; padding: .75rem .25rem; }
.walk-stat strong { display: block; font-size: 1.3rem; }
.walk-stat span { font-size: .78rem; color: #666; }

.walk-map { margin-top: 1.25rem; }
.walk-map-toolbar { display: flex; gap: .4rem; flex-wrap: wrap; margin-bottom: .5rem; }
.walk-map-toolbar button { border: 1px solid #cfd8d2; background: #fff; border-radius: 99px; padding: .25rem .8rem; font-size: .8rem; font-weight: 600; color: #444; }
.walk-map-toolbar button.active { background: var(--palestine-green); border-color: var(--palestine-green); color: #fff; }
.walk-map-surface { border-radius: 12px; overflow: hidden; background: #10342f; aspect-ratio: 800 / 520; }
.walk-svg { display: block; width: 100%; height: 100%; }
.walk-route-todo { fill: none; stroke: #f3ffd9; stroke-opacity: .55; stroke-width: 2; stroke-dasharray: 5 5; stroke-linejoin: round; }
.walk-route-done { fill: none; stroke: #4be08a; stroke-width: 4; stroke-linejoin: round; stroke-linecap: round; }
.walk-route-ferry { fill: none; stroke: #6cc4ff; stroke-width: 3; stroke-dasharray: 2 4; }
.walk-land-label { fill: #9fb8aa; font-size: 11px; letter-spacing: .15em; font-weight: 600; }
.walk-end-label { fill: #fff; font-size: 14px; font-weight: 700; paint-order: stroke; stroke: #10342f; stroke-width: 4px; }
.walk-legend { display: flex; gap: 1rem; flex-wrap: wrap; font-size: .78rem; color: #555; margin-top: .5rem; }
.walk-legend i { display: inline-block; width: 18px; height: 0; border-top: 3px solid; vertical-align: middle; margin-right: .35rem; }
.walk-legend .lg-done { border-color: #4be08a; }
.walk-legend .lg-todo { border-color: #9aa89f; border-top-style: dashed; }
.walk-legend .lg-ferry { border-color: #6cc4ff; border-top-style: dotted; }

.walk-unit { max-width: 6.5rem; }
.walk-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.walk-code { background: #fff8e1; border: 2px dashed #e0a800; border-radius: 12px; padding: 1rem; margin: 1rem 0; text-align: center; }
.walk-code-value { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: clamp(1.5rem, 6vw, 2.2rem); font-weight: 800; letter-spacing: .08em; margin: .35rem 0 .6rem; user-select: all; }
.walk-mine-total { margin: .75rem 0; font-size: 1.1rem; }

.walk-row { display: flex; justify-content: space-between; align-items: center; gap: .5rem; padding: .55rem 0; border-bottom: 1px solid #eef1ee; }
.walk-row:last-child { border-bottom: 0; }

.walk-chart { display: flex; align-items: stretch; gap: 3px; height: 180px; }
.walk-col { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.walk-bar-wrap { flex: 1; display: flex; align-items: flex-end; }
.walk-bar { display: block; width: 100%; background: #d5dfd8; border-radius: 3px 3px 0 0; }
.walk-bar.has { background: var(--palestine-green); }
.walk-col-label { font-size: .65rem; color: #777; text-align: center; height: 1rem; }

.walk-step { width: 2.2rem; height: 2.2rem; border-radius: 50%; background: var(--palestine-green); color: #fff; font-weight: 800; display: flex; align-items: center; justify-content: center; margin-bottom: .6rem; }
