/* Styles communs — drarnaudduval.fr
   Polices hébergées localement (aucun appel à Google Fonts), menu mobile, pied de page, références. */

@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 300; font-display: swap; src: url(fonts/cormorant-garamond-latin-300-normal.woff2) format('woff2'); }
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 300; font-display: swap; src: url(fonts/cormorant-garamond-latin-300-italic.woff2) format('woff2'); }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/cormorant-garamond-latin-400-normal.woff2) format('woff2'); }
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 400; font-display: swap; src: url(fonts/cormorant-garamond-latin-400-italic.woff2) format('woff2'); }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 600; font-display: swap; src: url(fonts/cormorant-garamond-latin-600-normal.woff2) format('woff2'); }
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 300; font-display: swap; src: url(fonts/dm-sans-latin-300-normal.woff2) format('woff2'); }
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url(fonts/dm-sans-latin-400-normal.woff2) format('woff2'); }
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 500; font-display: swap; src: url(fonts/dm-sans-latin-500-normal.woff2) format('woff2'); }

/* ── Navigation commune ── */
nav .nav-right { display: flex; align-items: center; gap: 28px; }
nav .nav-links { display: flex; gap: 32px; align-items: center; }
nav .nav-links a[aria-current="page"] { color: #2e6b74; }
.nav-cta {
  background: #2e6b74; color: #fff !important; text-decoration: none;
  padding: 10px 22px; border-radius: 2px; white-space: nowrap;
  font-family: 'DM Sans', sans-serif; font-size: 0.78rem; font-weight: 500;
  letter-spacing: 0.1em; text-transform: uppercase; transition: background 0.2s;
}
.nav-cta:hover { background: #1e4f57; }
.nav-toggle {
  display: none; width: 42px; height: 42px; padding: 10px 9px;
  background: none; border: 1px solid #e2ddd6; border-radius: 2px; cursor: pointer;
  flex-direction: column; justify-content: space-between;
}
.nav-toggle span { display: block; height: 1.5px; background: #1a1f2e; transition: transform 0.2s, opacity 0.2s; }
nav.open .nav-toggle span:nth-child(1) { transform: translateY(9px) rotate(45deg); }
nav.open .nav-toggle span:nth-child(2) { opacity: 0; }
nav.open .nav-toggle span:nth-child(3) { transform: translateY(-9px) rotate(-45deg); }
.nav-toggle:focus-visible, .nav-cta:focus-visible, nav .nav-links a:focus-visible { outline: 2px solid #b8976a; outline-offset: 3px; }

@media (max-width: 1080px) {
  nav .nav-right { gap: 12px; }
  .nav-toggle { display: inline-flex; }
  nav .nav-links {
    display: none; position: absolute; top: 72px; left: 0; right: 0;
    flex-direction: column; align-items: stretch; gap: 0;
    background: #f9f6f1; border-bottom: 1px solid #e2ddd6;
    padding: 8px clamp(24px, 5vw, 80px) 18px;
    box-shadow: 0 12px 24px rgba(26,31,46,0.08);
  }
  nav.open .nav-links { display: flex; }
  nav .nav-links a { padding: 15px 0; border-bottom: 1px solid #e2ddd6; font-size: 0.85rem; }
  nav .nav-links a:last-child { border-bottom: none; }
}
@media (max-width: 420px) {
  .nav-cta { padding: 9px 12px; font-size: 0.7rem; letter-spacing: 0.06em; }
  nav .nav-logo-sub { display: none; }
}

/* ── Pied de page commun ── */
.footer-links { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 8px; }
.footer-links a {
  font-family: 'DM Sans', sans-serif; font-size: 0.74rem; font-weight: 300;
  letter-spacing: 0.06em; color: rgba(255,255,255,0.72); text-decoration: none;
}
.footer-links a:hover { color: #d4b896; }
@media (max-width: 600px) { footer .footer-info { text-align: left; } }

/* ── Mise à jour et références (pages médicales) ── */
.page-refs {
  max-width: 900px; margin: 0 auto 64px; padding: 28px clamp(24px, 5vw, 52px);
  border-top: 1px solid #e2ddd6; font-family: 'DM Sans', sans-serif;
}
.page-refs .maj { font-size: 0.8rem; color: #4a5068; margin-bottom: 14px; }
.page-refs h2 {
  font-family: 'DM Sans', sans-serif; font-size: 0.72rem; font-weight: 400;
  letter-spacing: 0.04em; color: #4a5068; margin-bottom: 6px;
}
.page-refs ol { padding-left: 20px; }
.page-refs li { font-size: 0.78rem; line-height: 1.6; color: #4a5068; margin-bottom: 6px; }
.page-refs a { color: #2e6b74; }
.case-disclaimer { font-size: 0.72rem; color: #4a5068; font-style: italic; margin-top: 6px; }

/* Empêche iOS de transformer adresse et téléphone en liens bleus */
a[x-apple-data-detectors] { color: inherit !important; text-decoration: none !important; font: inherit !important; }

/* Dimensions intrinsèques des images : évitent les décalages au chargement sans écraser les hauteurs définies par les pages */
:where(img[width][height]) { height: auto; }
