/* Client annotations, 5-6 October 2026. Shared by all canonical pages. */
nav .nav-logo img {
  width: 72px;
  height: 52px;
  object-fit: contain;
  border-radius: 0;
  flex-shrink: 0;
}
nav .nav-logo-text { letter-spacing: 0; }
nav .nav-links, nav .nav-logo { min-width: 0; }
nav .nav-links a, nav .btn-rdv { letter-spacing: 0; }
.nav-links .mega-trigger { background: none; border: 0; color: inherit; font: 500 13px/1.5 'Montserrat', sans-serif; letter-spacing: 0; text-transform: uppercase; padding: 0; }
.nav-item.open-m .mega { opacity: 1; visibility: visible; transform: translateX(-50%); }
.hero-practices { max-width: 760px; margin: 12px auto 0; font-size: 17px; line-height: 1.65; }
.hero-practices + .hero-subtitle { margin-top: 20px; }
.pillar-card p, .contact p { overflow-wrap: anywhere; }
.pillar-card a { color: inherit; text-underline-offset: 3px; }
.session-price { font-weight: 500; }
.contact { scroll-margin-top: 110px; }
.tarifs-subtitle + .tarifs-subtitle { margin-top: 12px; }
.tarif-left { min-width: 0; }
.tarif-price { flex-shrink: 0; }
.spec-card { height: 560px; }
.spec-face[aria-hidden="true"] { visibility: hidden; }
.spec-face[aria-hidden="false"] { visibility: visible; }
.spec-back { padding-bottom: 90px; }
.intro3d-fallback { filter: none; mix-blend-mode: multiply; }
.intro3d-wordmark p { text-transform: none; }
.gift-note { padding: 52px 24px; background: #eff3ef; text-align: center; }
.gift-note h2 { font: 400 30px/1.3 'Playfair Display', Georgia, serif; margin-bottom: 16px; }
.gift-note p { max-width: 650px; margin: 0 auto 22px; line-height: 1.75; }
.gift-note a { color: #203d32; font-weight: 500; text-underline-offset: 5px; }
@media (max-width: 1120px) {
  nav .nav-links.open { position: absolute; top: 100%; max-height: calc(100dvh - 82px); overflow-y: auto; }
  .nav-item:hover .mega { display: none; }
  .nav-item.open-m .mega { display: grid; transform: none; }
  .nav-links .mega-trigger { padding: .3rem 0; }
  nav .nav-links.open .mega { gap: 4px; }
  nav .nav-links.open .mega a { padding-block: 9px; }
}
@media (max-width: 640px) {
  nav .nav-logo img { width: 64px; height: 46px; }
  .hero-practices { font-size: 14px; line-height: 1.65; }
  .spec-card { height: 560px; }
  .tarif-item { align-items: flex-start; gap: 16px; }
  .tarif-name { font-size: 15px; }
  .tarif-note { font-size: 13px; }
  .tarif-emoji { display: none; }
  .tarif-price { font-size: 23px; }
  .tarif-price span { display: block; font-size: 11px; }
}
@media (max-width: 360px) {
  .spec-card { height: 620px; }
  .tarif-item { flex-wrap: wrap; }
  .tarif-price span { display: inline; }
}

/* 2026-10-28 — retour de Jean-Marc (appel du 24/10) : sur telephone, le logo
   restait seul, « Jean-Marc Broner / Cotignac · Var » etait masque.
   La regle d'origine .nav-logo-text{display:none} de la media query 640 px reste
   en place dans index.html ; le bloc ci-dessous la bat par specificite
   (nav .nav-logo-text = 0,1,1 contre .nav-logo-text = 0,1,0), sans !important.
   Retour arriere = supprimer ce bloc. */
@media (max-width: 640px) {
  nav .nav-logo { gap: 9px; }
  nav .nav-logo img { width: 52px; height: 32px; }
  nav .nav-logo-text { display: block; font-size: .78rem; letter-spacing: .045em; line-height: 1.15; }
  nav .nav-logo-text span { font-size: .54rem; letter-spacing: .06em; }
}
@media (max-width: 400px) {
  nav .nav-logo { gap: 7px; }
  nav .nav-logo img { width: 44px; height: 27px; }
  nav .nav-logo-text { font-size: .70rem; letter-spacing: .03em; }
  nav .nav-logo-text span { font-size: .49rem; letter-spacing: .04em; }
}
/* Suite du bloc ci-dessus : en reaffichant le nom, le logo passe de 46 a 32 px de haut,
   donc la barre fixe passe d'environ 69 a environ 60 px. Le menu mobile etait cale en dur
   a top:66px sur l'ancienne hauteur et laisserait un trou sous la barre. On le recale,
   avec un leger recouvrement comme dans le reglage d'origine (66 pour 69).
   Specificite : nav .nav-links.open (0,2,1) bat .nav-links.open (0,2,0). */
@media (max-width: 640px) {
  nav .nav-links.open { top: 55px; }
}
