/* No max-width here — matches Shop and every other module's own page
   container, which stay unconstrained and simply fill the theme's own
   main content column rather than adding a second, narrower limit. */
.site-page { }
.site-page .page-head-group { margin-bottom: .6rem; }

.site-page-body {
    padding: 1rem 1.1rem;
    font-size: .88rem; line-height: 1.65; margin-bottom: .85rem;
}
.site-page-body img { max-width: 100%; border-radius: 8px; }
.site-page-body p:first-child { margin-top: 0; }
.site-page-body p:last-child { margin-bottom: 0; }

.site-page-links {
    display: flex; flex-wrap: wrap; gap: .4rem;
    padding-top: .75rem; border-top: 1px solid var(--border);
}
.site-page-links a {
    padding: .35rem .75rem; border-radius: 20px; border: 1px solid var(--border);
    background: var(--surface); color: var(--ink); font-size: .8rem; font-weight: 600;
    text-decoration: none; transition: border-color .12s ease, color .12s ease;
}
.site-page-links a:hover { border-color: var(--indigo); color: var(--indigo); }

/* ---- Site Staff ---- */
.site-staff-grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: .6rem;
}
.site-staff-card {
    display: flex; flex-direction: column; align-items: center; text-align: center;
    background: var(--surface); border: 1px solid var(--border); border-radius: 10px;
    padding: .85rem .6rem; text-decoration: none; color: inherit;
    transition: border-color .12s ease, transform .1s ease, box-shadow .12s ease;
}
.site-staff-card:hover { border-color: var(--indigo); transform: translateY(-2px); box-shadow: 0 6px 16px -10px rgba(0,0,0,.22); }
.site-staff-avatar {
    width: 54px; height: 54px; border-radius: 50%; object-fit: cover; margin-bottom: .45rem;
}
.site-staff-avatar-initial {
    display: flex; align-items: center; justify-content: center;
    background: var(--indigo); color: #fff; font-size: 1.2rem; font-weight: 800;
}
.site-staff-card strong { font-size: .84rem; }
.site-staff-role {
    display: inline-block; margin-top: .25rem; padding: .12rem .5rem; border-radius: 999px;
    background: var(--chip-color, #6b7280); color: #fff; font-size: .6rem; font-weight: 800;
    text-transform: uppercase; letter-spacing: .03em;
}
.site-staff-bio { font-size: .74rem; color: var(--ink-soft); margin: .4rem 0 0; line-height: 1.4; }

/* ---- Feedback / Support / Newsletter forms ---- */
.site-contact-intro { font-size: .84rem; margin: 0 0 .6rem; }
.site-contact-card { padding: 1rem 1.1rem; }
.site-contact-success {
    display: flex; align-items: center; gap: .5rem;
    padding: 1rem 1.1rem; font-size: .86rem;
}

@media (max-width: 560px) {
    .site-staff-grid { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); }
}
