/* Élite Dental — base. Règles globales volontairement minimales (aucune remise à zéro large
   qui casserait l'éditeur Elementor ou les contenus Gutenberg) ; le reste est préfixé .ed-. */

html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--header-h) + var(--s-4)); scrollbar-color: var(--rule-strong) var(--bg); }
body.ed-theme {
  background: var(--bg);
  color: var(--text);
  font-family: var(--font);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  font-variant-numeric: tabular-nums;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
:where(.ed-theme) :where(h1, h2, h3, h4, h5, h6) { color: var(--text); text-wrap: balance; }
/* Police unique : Astra impose Georgia aux titres (réglage Personnaliser) — remplacée partout */
body.ed-theme :is(h1, h2, h3, h4, h5, h6, .entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4) { font-family: var(--font); }
/* Astra (Personnaliser › Typographie) met les titres en « capitalize » : neutralisé pour les contenus du thème */
.ed-theme .elementor-heading-title, .ed-theme .entry-content :is(h1, h2, h3, h4), .ed-theme .ed-footer h2, .ed-theme .ed-404 h1 { text-transform: none; }
/* Astra (réglage « capitalize » des titres) : neutralisé partout, y compris articles et archives. */
.ed-theme :is(h1, h2, h3, h4, h5, h6, .entry-title, .page-title, .ast-archive-title) { text-transform: none; }
:where(.ed-theme) a { color: var(--link); text-underline-offset: 0.22em; text-decoration-thickness: 1px; }
:where(.ed-theme) a:hover { color: var(--link-hover); }
.ed-theme ::selection { background: var(--selection); color: var(--text); }
.ed-theme :focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; border-radius: var(--radius); }

/* Remises à zéro limitées aux gabarits du thème */
.ed-header *, .ed-drawer *, .ed-footer *, .ed-tabs * { box-sizing: border-box; }
.ed-header ul, .ed-drawer ul, .ed-footer ul { margin: 0; padding: 0; list-style: none; }
.ed-header h2, .ed-footer h2, .ed-footer p, .ed-footer address { margin: 0; }
.ed-header img, .ed-footer img { display: block; max-width: 100%; height: auto; }
.ed-theme .ed-header button, .ed-theme .ed-drawer button { font: inherit; color: inherit; text-transform: none; letter-spacing: normal; box-shadow: none; }
.ed-theme .ed-nav__toggle { background: none; border: 0; padding: 0 var(--s-3); }
.ed-theme .ed-burger { background: transparent; }
.ed-theme .ed-btn { color: var(--btn-fg); }

/* En-tête : collant (Astra « en-tête transparent » le rendrait absolu) */
.ed-theme .ed-header#masthead { position: sticky; top: 0; z-index: 50; }
.ed-theme.admin-bar .ed-header#masthead { top: 32px; }
@media (max-width: 782px) { .ed-theme.admin-bar .ed-header#masthead { top: 46px; } }
/* Sous 600 px, la barre d'administration défile avec la page : l'en-tête colle en haut de l'écran. */
@media (max-width: 600px) { .ed-theme.admin-bar .ed-header#masthead { top: 0; } }

.ed-visually-hidden, .ed-theme .screen-reader-text:not(:focus) { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ed-theme .skip-link:focus { position: fixed; left: var(--s-4); top: var(--s-4); z-index: 100000; background: var(--brand); color: var(--on-brand); padding: var(--s-3) var(--s-4); clip: auto; width: auto; height: auto; }

.ed-container { width: 100%; max-width: calc(var(--container) + 2 * var(--gutter)); margin-inline: auto; padding-inline: var(--gutter); }

/* Astra : la zone de contenu des pages laisse la main aux sections (pleine largeur) */
.ed-theme.page .site-content > .ast-container,
.ed-theme.error404 .site-content > .ast-container { max-width: none; padding: 0; display: block; }
.ed-theme #primary { margin: 0; padding: 0; }
.ed-theme .entry-content > .elementor { margin: 0; }

/* Palette Astra (utilisée par les blocs Spectra et les réglages Astra) alignée sur le système, sans modifier les réglages */
body.ed-theme {
  --ast-global-color-0: var(--c-azure);
  --ast-global-color-1: var(--c-cobalt);
  --ast-global-color-2: var(--c-ink);
  --ast-global-color-3: var(--c-ink-2);
  --ast-global-color-4: var(--c-porcelain);
  --ast-global-color-5: var(--c-white);
  --ast-global-color-6: var(--c-silver);
  --ast-global-color-7: var(--c-ink);
  --ast-global-color-8: var(--c-ink);
}
