/* The Mayflower Leiden Walk — sales page + route page styling.
   Reuses the site's existing .walk-step-*/.fact-strip/.venue-block classes
   from styles.css for individual stops; this file only adds what's new:
   pricing cards, checkout form, the route-page toolbar and gating states. */

.walk-hero .intro { max-width: 42rem; }

.walk-version-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.25rem; margin-top: 1.5rem; }
.walk-version-card { border: 1px solid var(--rule); background: var(--white); border-radius: 3px; padding: 1.5rem; display: flex; flex-direction: column; }
.walk-version-card h3 { font-family: var(--serif); margin: 0 0 .3rem; }
.walk-version-price { font-size: 1.5rem; font-weight: 700; color: var(--forest); margin: 0 0 1rem; }
.walk-version-price span { font-size: .78rem; font-weight: 400; color: #607067; }
.walk-version-card ul { flex: 1; padding-left: 1.2rem; margin-bottom: 1.2rem; }
.walk-version-card li { margin-bottom: .5rem; line-height: 1.5; font-size: .92rem; }

.walk-checkout-form { display: flex; flex-direction: column; gap: .85rem; margin-top: .4rem; }
.walk-checkout-form label { font-size: .85rem; font-weight: 700; color: var(--green); }
.walk-checkout-form input[type="email"] { display: block; width: 100%; margin-top: .3rem; padding: .6rem .7rem; border: 1px solid var(--rule); border-radius: 2px; font-size: .95rem; font-family: var(--sans); }
.walk-consent-row { display: flex; align-items: flex-start; gap: .55rem; font-size: .8rem; line-height: 1.5; color: #4e6057; font-weight: 400; }
.walk-consent-row input[type="checkbox"] { margin-top: .2rem; flex-shrink: 0; }
.walk-buy-btn { margin-top: .3rem; border: 1px solid var(--rust); background: var(--rust); color: var(--white); cursor: pointer; }
.walk-buy-btn:disabled { cursor: not-allowed; opacity: .55; background: none; color: inherit; border-color: var(--rule); }
.walk-checkout-note { margin-top: 1.5rem; font-size: .85rem; color: #607067; text-align: center; }
.walk-checkout-error { font-size: .85rem; color: #a33; margin: 0; }
.walk-checkout-success { font-size: .9rem; color: var(--forest); background: rgba(43,90,63,.08); border: 1px solid rgba(43,90,63,.25); border-radius: 3px; padding: .8rem 1rem; margin-top: .5rem; }
.walk-checkout-success a { font-weight: 700; }

.method-steps li.walk-stop-card { grid-template-columns: 1fr; }

.walk-toc { list-style: none; margin: 1.25rem 0 0; padding: 0; display: grid; gap: .4rem; }
.walk-toc li { display: flex; align-items: baseline; gap: .6rem; padding: .5rem .75rem; border: 1px solid var(--rule); border-radius: 2px; font-size: .92rem; }
.walk-toc li[data-free="true"] { padding: 0; background: rgba(43,90,63,.06); }
.walk-toc-num { font-weight: 800; color: var(--green); min-width: 1.4rem; }
.walk-toc-free-tag { margin-left: auto; font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--forest); }
.walk-toc-row-link { display: flex; align-items: baseline; gap: .6rem; width: 100%; padding: .5rem .75rem; color: inherit; text-decoration: none; }
.walk-toc-row-link:hover, .walk-toc-row-link:focus-visible { background: rgba(43,90,63,.14); }
.walk-toc-row-link:hover .walk-toc-free-tag, .walk-toc-row-link:focus-visible .walk-toc-free-tag { text-decoration: underline; text-underline-offset: .2rem; }

.walk-route-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; margin-bottom: 2rem; padding: 1rem 1.25rem; border: 1px solid var(--rule); border-radius: 3px; background: var(--paper); }
.walk-route-toolbar button, .walk-route-toolbar select { font-family: var(--sans); font-size: .85rem; padding: .45rem .8rem; border: 1px solid var(--rule); border-radius: 2px; background: var(--white); cursor: pointer; }
.walk-route-summary { display: flex; gap: 1.25rem; flex-wrap: wrap; font-size: .82rem; color: #4e6057; }

.walk-gate-message { max-width: 34rem; margin: 3rem auto; text-align: center; padding: 2rem; border: 1px solid var(--rule); border-radius: 3px; }
.walk-gate-message input[type="text"] { display: block; width: 100%; margin: .75rem 0; padding: .6rem .7rem; border: 1px solid var(--rule); border-radius: 2px; }

.walk-stop-evidence { margin-top: .75rem; padding: .9rem 1.1rem; background: rgba(154,79,48,.08); border-left: 3px solid var(--rust); font-size: .88rem; line-height: 1.55; }
.walk-stop-evidence strong { display: block; margin-bottom: .3rem; color: var(--rust); font-size: .74rem; letter-spacing: .06em; text-transform: uppercase; }
.walk-stop-access { margin-top: .5rem; font-size: .84rem; color: #4e6057; }

@media (max-width: 640px) {
  .walk-route-toolbar { flex-direction: column; align-items: stretch; }
}
