/* Kit Elementor commun aux deux propositions
   Largeurs de contenu : 1500 grand écran, 1000 portable, 100 % tablette et téléphone
   Marges internes des containers de section identiques partout */

:root {
  --kit-content: 1500px;
  --kit-pad-y: 80px;
  --kit-pad-x: 32px;
}
@media (max-width: 1366px) {
  :root { --kit-content: 1000px; --kit-pad-y: 80px; --kit-pad-x: 50px; }
}
@media (max-width: 1024px) {
  :root { --kit-content: 100%; --kit-pad-y: 50px; --kit-pad-x: 24px; }
}
@media (max-width: 767px) {
  :root { --kit-pad-y: 50px; --kit-pad-x: 16px; }
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; overflow-wrap: break-word; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
h1, h2, h3, h4, p, ul, ol, figure { margin: 0; }
ul, ol { padding: 0; list-style: none; }

/* Container de section Elementor */
.section { padding: var(--kit-pad-y) var(--kit-pad-x); }
/* Container interne de largeur de contenu */
.inner { width: 100%; max-width: var(--kit-content); margin: 0 auto; }

:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

.ico { width: 24px; height: 24px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

/* Mots composés insécables dans les titres */
.nb { white-space: nowrap; }

/* Accordéon FAQ, commun */
details summary { cursor: pointer; list-style: none; }
details summary::-webkit-details-marker { display: none; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* Barre de bascule entre propositions (hors maquette, n'existera pas sur le site) */
:root { --h-switch: 70px; }
.switch {
  height: var(--h-switch);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 8px;
  background: #1d1d1d;
  font-family: system-ui, sans-serif;
}
.switch a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  text-align: center;
  text-decoration: none;
  font-size: 18px;
  font-weight: 600;
  color: #fff;
  background: #3a3a3a;
  border-radius: 6px;
}
.switch a[aria-current="true"] { background: #fff; color: #1d1d1d; }

/* Burger commun */
.burger { display: none; width: 46px; height: 46px; padding: 11px 9px; background: none; border: 1px solid currentColor; border-radius: 4px; color: inherit; cursor: pointer; }
.burger span { display: block; height: 2px; background: currentColor; }
.burger span + span { margin-top: 6px; }
