
.delivery-page{background:var(--cream)}
.delivery-intro{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(32px,6vw,80px);padding:48px 0 64px}
.delivery-intro h1{font-size:clamp(48px,5.2vw,76px);line-height:1.14;margin:0 0 20px}.delivery-intro h1 span{color:var(--olive-dark)}
.delivery-intro p{max-width:52ch;line-height:1.75;font-size:17px}.delivery-intro .delivery-script{font:400 32px/1.3 Kalam,cursive;color:var(--olive-dark);margin:16px 0}.delivery-intro .button{margin-top:14px}.delivery-intro figure{margin:0}.delivery-intro img{width:100%;height:auto;border:8px solid var(--paper)}
.delivery-finder{padding:56px 0 64px;scroll-margin-top:24px}.finder-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:32px}.finder-heading h2{font-size:clamp(38px,4vw,56px);line-height:1.15;margin:0}.finder-heading h2 span{color:var(--olive-dark)}.finder-heading p{max-width:48ch;font-size:16px;line-height:1.7;margin:0}
.town-search{display:block;max-width:700px}.town-search span{display:block;font-size:14px;font-weight:700;margin-bottom:10px}.town-search input{width:100%;padding:18px 20px;border:2px solid var(--olive-dark);background:var(--paper);color:var(--ink);font:400 18px "DM Sans",sans-serif;border-radius:0}.town-search input::placeholder{color:#66684c}.town-search input:focus-visible{outline:3px solid var(--honey);outline-offset:4px}
#town-count{font-size:13px;color:var(--olive-dark);margin:20px 0 18px}.town-results{display:flex;flex-wrap:wrap;gap:10px}.town-results button,.day-switch button{font:600 14px "DM Sans",sans-serif;cursor:pointer;padding:11px 15px;background:transparent;color:var(--olive-dark);border:1px solid #4e582a50;transition:background .18s,color .18s}.town-results button:hover{background:#e5e7d7}.town-results button[aria-pressed="true"]{background:var(--olive-dark);color:var(--cream)}.town-results button:focus-visible,.day-switch button:focus-visible{outline:3px solid var(--honey);outline-offset:3px}
.town-detail{padding:24px 0 0}.town-detail h3{font:700 23px/1.4 "DM Sans",sans-serif;margin:0 0 8px}.town-detail p{font-size:16px;line-height:1.7;max-width:70ch}.town-detail a{font-weight:700;text-decoration:underline;text-underline-offset:4px;color:var(--olive-dark)}
.weekly-runs{padding:64px 0;background:#e9ebdc}.day-switch{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.day-switch button{flex:1;padding:14px 18px;min-width:120px}.day-switch button[aria-pressed="true"]{background:var(--honey);border-color:var(--honey);color:var(--ink)}.run-panel{min-height:205px;padding:28px;background:var(--paper)}.run-panel h3{font:400 32px/1.2 Anton,sans-serif;margin:0 0 24px;color:var(--olive-dark)}.run-route{display:flex;gap:0;flex-wrap:wrap}.run-stop{position:relative;padding:16px 24px 16px 0;margin-right:24px;border-top:2px solid var(--olive);font-size:17px;font-weight:700;animation:stop-arrive .4s ease-out both;animation-delay:var(--stop-delay)}.run-stop::before{content:"";position:absolute;width:8px;height:8px;border-radius:50%;top:-5px;left:0;background:var(--olive-dark)}.run-panel p,.schedule-note{font-size:13px;line-height:1.7;max-width:85ch}.schedule-note{margin:22px 0 0;color:var(--olive-dark)}
.delivery-callout{padding:64px 0;display:flex;align-items:center;justify-content:space-between;gap:32px}.delivery-callout h2{font:400 clamp(32px,3vw,44px)/1.2 Anton,sans-serif;margin:0 0 12px}.delivery-callout p{font:400 23px/1.5 Kalam,cursive;color:var(--olive-dark);margin:0}
@keyframes stop-arrive{from{transform:translateX(-10px);filter:blur(2px)}to{transform:translateX(0);filter:blur(0)}}
@media(max-width:800px){.delivery-intro{grid-template-columns:1fr 1fr;gap:24px}.delivery-intro h1{font-size:42px}.finder-heading{align-items:flex-start;flex-direction:column;gap:20px}.delivery-callout{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.delivery-intro{grid-template-columns:1fr;padding:32px 0 40px}.delivery-intro figure{max-width:440px}.delivery-intro h1{font-size:48px}.delivery-finder{padding:36px 0 44px}.weekly-runs{padding:44px 0}.run-panel{padding:22px;min-height:240px}.run-stop{font-size:15px}.day-switch button{min-width:95px}.delivery-callout{padding:44px 0}}
@media(prefers-reduced-motion:reduce){.run-stop{animation:none}.town-results button,.day-switch button{transition:none}}

.delivery-page .button.dark{background:var(--honey);color:var(--ink);border-color:var(--honey);box-shadow:4px 5px 0 var(--olive-dark)}
.delivery-page .button.dark:hover{background:var(--honey-light);border-color:var(--honey-light)}

.finder-map-layout{display:grid;grid-template-columns:1fr 1.1fr;align-items:start;gap:36px}.finder-controls{min-width:0}.delivery-map-panel{min-width:0;background:var(--paper);border:1px solid #4e582a30;padding:18px}.map-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.map-heading h3{font:700 18px/1.3 "DM Sans",sans-serif;margin:0}.map-heading button{cursor:pointer;background:transparent;border:0;padding:6px 0;color:var(--olive-dark);text-decoration:underline;text-underline-offset:4px;font:600 12px "DM Sans",sans-serif}#delivery-map{height:460px;background:#e5e7d7;isolation:isolate;z-index:0}#map-status,.map-caption{font-size:12px;line-height:1.6;color:var(--olive-dark);margin:12px 0 0}.town-map-pin span{display:block;width:16px;height:16px;background:var(--olive-dark);border:2px solid #fff;border-radius:50%;box-shadow:0 2px 5px #12131040}.town-map-pin.is-selected span{background:var(--honey);transform:scale(1.4)}.leaflet-container{font-family:"DM Sans",sans-serif}.leaflet-popup-content p{font-size:13px;line-height:1.5;margin:8px 0 0}.state-map-label{color:#737e40;font:700 11px "DM Sans",sans-serif;letter-spacing:.08em;white-space:nowrap}.leaflet-container a:focus-visible,.map-heading button:focus-visible{outline:3px solid var(--honey);outline-offset:3px}
@media(max-width:900px){.finder-map-layout{grid-template-columns:1fr}.delivery-map-panel{margin-top:8px}#delivery-map{height:380px}}

.town-map-pin img{width:26px;height:32px;object-fit:contain;filter:drop-shadow(0 2px 2px #12131040);transition:transform .2s ease}
.town-map-pin.is-selected img{transform:scale(1.25);filter:drop-shadow(0 0 3px var(--honey))}
@media(prefers-reduced-motion:reduce){.town-map-pin img{transition:none}}

/* Keep delivery names legible above road detail, without capturing map gestures. */
.delivery-town-label{background:rgba(255,255,255,.94);border:1px solid #4e582a40;border-radius:3px;box-shadow:0 1px 3px #12131020;padding:3px 6px;color:var(--olive-dark);font:700 11px/1.3 "DM Sans",sans-serif;pointer-events:none}
.delivery-town-label.leaflet-tooltip-right::before{border-right-color:#4e582a40}
#map-detail-status{font-size:12px;line-height:1.6;color:var(--olive-dark);margin:12px 0 0}
#delivery-map .leaflet-control-attribution{font-size:10px;background:rgba(255,255,255,.94)}
#delivery-map .leaflet-control-scale-line{font-family:"DM Sans",sans-serif}
