/* Calm controls: readable body typography, modest corners, no offset shadow. */
.hero-cta-primary,.action-button,.map-link,
body[data-hero-design="3"] #hero .hero-cta-primary,
body[data-event-design="4"] #hero #nextEventCard .action-button,
body[data-hero-option] #hero #nextEventCard .action-button,
.event-dialog .event-actions .action-button {
 font-family:var(--font-body); font-size:.95rem; font-weight:650;
 line-height:1.3; letter-spacing:0; text-transform:none;
 border-width:1.5px; border-style:solid; border-color:var(--color-ink);
 border-radius:12px; box-shadow:none; min-height:46px;
 padding:11px 18px; gap:10px; text-decoration:none;
}
.hero-cta-primary:hover,.hero-cta-primary:active,.action-button:hover,.action-button:active,
.map-link:hover,.map-link:focus,.map-link:active,
body[data-event-design="4"] #hero #nextEventCard .action-button:hover,
body[data-hero-option] #hero #nextEventCard .action-button:hover {
 box-shadow:none; transform:none; animation:none;
}
.map-link { display:inline-flex; align-items:center; justify-content:center; background:var(--color-paper); color:var(--color-teal-text); border-color:var(--color-teal-text); }
.map-link:hover,.map-link:focus { background:var(--color-teal-soft); color:var(--color-teal-text); }
.hero-cta-primary .ui-icon,.action-button .ui-icon,.map-link .ui-icon { width:18px; height:18px; flex-basis:18px; stroke-width:1.8; }
.hero-cta-primary:focus-visible,.action-button:focus-visible,.map-link:focus-visible { outline:3px solid var(--color-teal-text); outline-offset:4px; }
@media(max-width:400px) {
 .hero-cta-primary,.action-button,.map-link,body[data-hero-design="3"] #hero .hero-cta-primary,
 body[data-hero-option] #hero #nextEventCard .action-button { font-size:.9rem; padding:11px 14px; }
}
