/**
 * comun.css — ce e valabil pe TOATE ecranele hubului.
 *
 * De ce există fișierul ăsta: până acum fiecare pagină își purta stilul într-un `<style>` propriu,
 * fără nicio foaie comună. Măsurat 2026-09-04: din 42 de pagini, 41 aveau butoane și UNA singură
 * (`chestionar.html`) avea vreo regulă `:active`. Adică un buton apăsat nu confirma prin nimic că
 * a fost apăsat — pe telefon, unde nu există `:hover`, apăsarea era complet mută.
 *
 * Cerut de proprietar, 2026-09-04: „toate butoanele să aibă efect de apăsare".
 *
 * Se leagă din `<head>`, ÎNAINTE de `<style>`-ul paginii, ca pagina să poată suprascrie orice de
 * aici fără `!important`. Regulile sunt deliberat slabe ca specificitate, din același motiv.
 */

/* Efectul de apăsare. `transform` + `filter` fiindcă merg pe orice fel de buton, indiferent ce
   fundal are — plin, tăiat, transparent — fără să știm culoarea dinainte. Un `background` fix
   ar fi arătat corect pe butoanele albastre și rupt pe restul. */
button,
.btn,
.mm-btn,
.add,
[role="button"] {
  transition: transform .06s ease, filter .06s ease;
}

button:active:not(:disabled),
.btn:active:not(:disabled),
.mm-btn:active:not(:disabled),
.add:active:not(:disabled),
[role="button"]:active {
  transform: translateY(1px);
  filter: brightness(.93);
}

/* Un buton dezactivat NU are voie să răspundă la apăsare: altfel confirmă o acțiune care nu se
   întâmplă. Multe locuri din hub dezactivează butonul cât timp cererea e pe drum. */
button:disabled,
.btn:disabled,
.mm-btn:disabled {
  cursor: not-allowed;
  transform: none;
  filter: none;
}

/* Cine a oprit animațiile din sistem primește tot confirmare, doar că fără mișcare. Efectul nu
   dispare — se schimbă din deplasare în luminozitate. */
@media (prefers-reduced-motion: reduce) {
  button, .btn, .mm-btn, .add, [role="button"] { transition: none; }
  button:active:not(:disabled),
  .btn:active:not(:disabled),
  .mm-btn:active:not(:disabled),
  .add:active:not(:disabled),
  [role="button"]:active { transform: none; filter: brightness(.90); }
}
