/* Shared controls: one primary, secondary and outline style across all public pages. */
.button, .rc-search button, .rc-groups button, .rc-card__actions > a:first-child,
.rc-add button, .quote-copy, .quote-item button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  min-height: var(--control-height);
  border: 1px solid transparent;
  border-radius: var(--radius-control);
  padding: var(--space-3) var(--space-4);
  font: inherit;
  font-size: .9375rem;
  font-weight: 650;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background var(--motion-feedback), border-color var(--motion-feedback), color var(--motion-feedback);
}
.button { background: var(--color-action); color: var(--color-text); }
.button--primary, .button--whatsapp, .rc-card__actions > a:first-child { background: var(--color-action); color: var(--color-text); }
.button--primary:hover, .button--whatsapp:hover, .rc-card__actions > a:first-child:hover { background: var(--color-action-hover); }
.button--dark, .rc-search button, .rc-groups button { background: var(--color-heading); color: var(--color-surface); }
.button--dark:hover, .rc-search button:hover, .rc-groups button:hover { background: var(--color-brand); }
.button--outline, .button--ghost, .rc-add button, .quote-copy, .quote-item button { background: transparent; border-color: var(--color-control-border); color: var(--color-heading); }
.button--outline:hover, .button--ghost:hover, .rc-add button:hover, .quote-copy:hover, .quote-item button:hover { background: var(--color-surface-soft); }
.button--ghost-light { background: transparent; color: var(--color-surface); border-color: currentColor; }
.button--large { min-height: 56px; padding-inline: var(--space-6); }
.button--compact { min-height: 44px; font-size: .875rem; }
.button:hover { transform: none; }
.button:active { filter: brightness(.96); }
button:disabled, .button[aria-disabled="true"] { cursor: not-allowed; opacity: .55; transform: none; }
.button > svg { width: 20px; height: 20px; flex-shrink: 0; }
:where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { border-radius: var(--radius-control); font-size: 1rem; }
:where(button, a, input, select, textarea, summary):focus-visible { outline: 3px solid var(--color-focus); outline-offset: 3px; }
:where(.ph-category, .ph-path, .rc-card, .article-card, .contact-panel, .page-hero__media) { border-radius: var(--radius-card); }
.rc-card__actions { gap: var(--space-2); }
.rc-card__actions > a:first-child, .rc-card__actions .rc-add button { font-size: .875rem; padding: 10px 8px; }
.analytics-consent { position: fixed; z-index: 220; bottom: max(16px, env(safe-area-inset-bottom)); left: 16px; width: min(520px, calc(100vw - 32px)); max-height: 75dvh; overflow: auto; padding: 24px; border: 1px solid var(--color-border); border-radius: var(--radius-card); background: var(--color-surface); box-shadow: var(--shadow); }
.analytics-consent h2 { font-size: 1.4rem; line-height: 1.25; }
.analytics-consent p { font-size: .9375rem; color: var(--color-muted); }
.analytics-consent > div { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 16px; }
.analytics-manage { display: block; margin: 12px auto 88px; min-height: 44px; border: 0; background: transparent; text-decoration: underline; color: var(--color-muted); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .button, .rc-card, .ph-category { transition: none; transform: none; } }
