/* Shared actions for public pages and the account workspace. */
.site-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-height: 44px;
    max-width: 100%;
    padding: 10px 20px;
    border: 1px solid var(--color-brand-green);
    border-radius: var(--radius-md);
    background: var(--color-brand-green);
    color: var(--color-text-light);
    font: 700 16px/1.4 var(--font-body);
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}
.site-action:hover { background: var(--color-primary-dark); border-color: var(--color-primary-dark); }
.site-action--secondary { background: transparent; color: var(--color-brand-green); }
.site-action--secondary:hover { background: var(--color-brand-tint); border-color: var(--color-brand-green); }
.site-action--light { background: transparent; border-color: var(--color-accent-gold); color: var(--color-accent-gold); }
.site-action--light:hover { background: var(--color-accent-gold); border-color: var(--color-accent-gold); color: var(--color-forest-deep); }
.site-action:focus-visible, .category-filter select:focus-visible { outline: 3px solid var(--color-accent-gold); outline-offset: 3px; }
.site-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 18px; }
.category-filter { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin: 0; max-width: 100%; }
.category-filter label { display: flex; flex-direction: column; gap: 6px; color: var(--color-primary-dark); font-weight: 700; min-width: 0; }
.category-filter select { box-sizing: border-box; width: 100%; min-height: 44px; min-width: 180px; max-width: 100%; padding: 10px 14px; border: 1px solid var(--color-border-muted); border-radius: var(--radius-md); background: var(--color-bg-light); color: var(--color-primary-dark); font: 16px/1.4 var(--font-body); }
@media (max-width: 600px) {
    .category-filter { width: 100%; }
    .category-filter label { flex: 1 1 180px; }
    .category-filter select { min-width: 0; }
    .site-actions { align-items: stretch; }
    .site-actions .site-action { flex: 1 1 200px; }
}
