/* ==========================================================================
   Profilia - Socle de normalisation

   La feuille reset.css de Hello Elementor est retiree de la file : elle
   impose une charte framboise (#c36) sur tous les boutons et leur survol,
   un survol de lien en #336 et des champs gris. Ces styles se propageraient
   a chaque bouton de formulaire, filtre et pagination du site.

   On reprend ici ce qu'elle apportait d'utile - la normalisation - sans ce
   qu'elle apportait d'opiniatre. Tout est en :where(), donc de specificite
   nulle : n'importe quel composant reprend la main sans avoir a surencherir.
   ========================================================================== */

*, *::before, *::after { box-sizing: border-box; }

:where(html) { -webkit-text-size-adjust: 100%; line-height: 1.15; }
:where(body) { margin: 0; }

:where(h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd) { margin: 0 0 var(--space-4); }
:where(ul, ol) { margin: 0 0 var(--space-4); padding-left: var(--space-5); }

:where(img, svg, video, canvas, iframe) { display: block; max-width: 100%; }
:where(img) { height: auto; border-style: none; }

:where(hr) { height: 0; overflow: visible; border: 0; border-top: 1px solid var(--border-default); }
:where(b, strong) { font-weight: 600; }
:where(small) { font-size: 80%; }
:where(sub, sup) { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
:where(sub) { bottom: -.25em; }
:where(sup) { top: -.5em; }
:where(abbr[title]) { text-decoration: underline dotted; }
:where(code, kbd, samp, pre) { font-family: var(--font-mono); font-size: 1em; }
:where(table) { border-collapse: collapse; }
:where([hidden]) { display: none; }

/* Controles : ils heritent, ils ne decident pas. */
:where(button, input, optgroup, select, textarea) { font: inherit; color: inherit; margin: 0; }
:where(button, [type="button"], [type="submit"], [type="reset"]) {
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  border: 0;
  padding: 0;
  text-align: inherit;
  cursor: pointer;
}
:where(button, input, select, textarea):disabled { cursor: not-allowed; opacity: .4; }

/* Champs de saisie : bordure teintee teal et rayon du systeme. */
:where(
  input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),
  select,
  textarea
) {
  width: 100%;
  min-height: var(--control-h-lg);
  padding: 0 var(--space-4);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-sm);
  background: var(--paper);
  color: var(--text-strong);
  transition: border-color var(--dur-fast) var(--ease-out);
}
:where(input, select, textarea):focus { border-color: var(--accent); }
:where(textarea) { padding: var(--space-3) var(--space-4); min-height: 120px; }
:where(::placeholder) { color: var(--text-muted); opacity: 1; }

/* Liens : survol en cyan fonce, 6,5:1 sur blanc. */
:where(a:hover, a:active) { color: var(--cyan-800); }
:where(a:not([href])) { color: inherit; text-decoration: none; }
