/*
 * Static pages, contact and error pages (REDESIGN slice C). Tokens and shared components in ../app.css.
 */
.static-prose { max-width: 52rem; }
.static-prose label { font-weight: 700; color: var(--pa-navy); }

/* About: link cards to the main sections. */
.link-cards { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; margin: 0; padding: 0; list-style: none; }
@media (min-width: 768px) { .link-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.link-card { position: relative; display: flex; flex-direction: column; gap: .35rem; padding: 1.25rem; background: #fff; border: 1px solid var(--pa-line); border-radius: var(--card-radius); box-shadow: var(--shadow-soft); transition: box-shadow .18s ease, transform .18s ease; }
.link-card:hover { box-shadow: var(--shadow-hover); transform: translateY(-2px); }
.link-card:has(a:focus-visible) { outline: 3px solid var(--pa-primary); outline-offset: 2px; }
.link-card a:focus-visible { outline: 0; }
.link-card-icon { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: var(--pa-surface); color: var(--pa-primary); font-size: 1.2rem; margin-bottom: .35rem; }
.link-card-promo .link-card-icon { background: var(--pa-promo-soft); color: var(--pa-promo); }
.link-card-title { font-weight: 800; font-size: 1.1rem; color: var(--pa-navy); }
.link-card:hover .link-card-title { color: var(--pa-primary); text-decoration: none; }
.link-card-text { color: var(--pa-muted); font-size: .92rem; }

/* Contact form (bootstrap_5_layout; the form type's row classes). */
.contact-card { max-width: 52rem; }
.contact-card form .row { --bs-gutter-y: 1.1rem; }
.contact-card .form-label { font-weight: 700; color: var(--pa-navy); }
.contact-card .form-control { border-radius: var(--radius-control); min-height: 2.9rem; }
.contact-card .form-control:focus { border-color: var(--pa-primary); box-shadow: var(--focus-ring); }

/* Flash messages */
.flash-messages { margin-bottom: 1rem; }

/* Error pages */
.error-card { max-width: 40rem; margin: 0 auto; text-align: center; background: #fff; border: 1px solid var(--pa-line); border-radius: var(--radius-panel); box-shadow: var(--shadow-soft); padding: 2.25rem 1.5rem; }
.error-icon { display: inline-flex; align-items: center; justify-content: center; width: 4rem; height: 4rem; border-radius: 50%; background: var(--pa-surface); color: var(--pa-primary); font-size: 1.8rem; margin-bottom: 1rem; }
.error-suggestion { color: var(--pa-muted); margin: .75rem 0 1.25rem; }
.error-search { max-width: 26rem; margin: 0 auto 1.25rem; text-align: left; }
.error-search .header-search { max-width: none; margin-left: 0; }

@media (prefers-reduced-motion: reduce) {
    .link-card { transition: none; }
    .link-card:hover { transform: none; }
}
