/* Pages de prestation (massages classiques, thérapeutiques, énergétiques), 31.10.2026.
   Seulement ce que style.css n'a pas : le reste (titres, panneau, éventail, tarifs, accès) vient du site. */

/* fil d'Ariane */
.fil { margin: 0 0 1.4rem; font-size: .875rem; color: var(--encre-douce); position: relative; z-index: 1; }
.fil ol { display: flex; flex-wrap: wrap; align-items: center; gap: .1rem .2rem; margin: 0; padding: 0; list-style: none; }
.fil li { display: inline-flex; align-items: center; gap: .2rem; }
.fil a { display: inline-block; padding: .55rem .15rem; text-decoration: none; color: var(--encre-douce); }
.fil a:hover, .fil a:focus-visible { color: var(--rose-texte); text-decoration: underline; text-underline-offset: 4px; }
.fil [aria-current="page"] { color: var(--encre); font-weight: 600; padding: .55rem .15rem; }
.fil__sep { width: 14px; height: 14px; flex: none; opacity: .55; }

.prestation .enveloppe { position: relative; z-index: 1; }
.prestation .titre { max-width: 16ch; }
.prestation__chapo { font-size: 1.0625rem; margin-bottom: 2.6rem; }

/* les soins : un titre et son texte, tout lisible sans rien déplier */
.prestation__soins { display: grid; gap: 0; }
.soin { padding: 1.5rem 0 1.4rem; border-bottom: 1px solid rgba(45, 68, 127, .14); }
.soin:first-child { padding-top: 0; }
.soin__titre { font: 400 1.4rem/1.25 var(--display); color: var(--encre); margin: 0 0 .55rem; }
.soin__titre .repere-asca { font-size: .75rem; vertical-align: .25em; }
.soin p { color: var(--encre-douce); max-width: 60ch; margin: 0 0 .5rem; }
.soin p:last-child { margin-bottom: 0; }
.prestation .eventail { margin-top: 1rem; }
@media (min-width: 56rem) {
  .prestation .eventail { margin-top: 0; top: 8rem; }
}

/* les deux autres pages de massages */
.autres { margin-top: 2.8rem; }
.autres__titre { font: 400 1.25rem/1.2 var(--display); color: var(--encre); margin: 0 0 .8rem; }
.autres__liste { display: flex; flex-wrap: wrap; gap: .7rem; margin: 0; padding: 0; list-style: none; }
.autres__lien {
  display: inline-flex; align-items: center; gap: .6rem; min-height: 3rem; padding: .6rem 1.15rem;
  border-radius: 999px; border: 1px solid rgba(45, 68, 127, .2); background: rgba(255, 255, 255, .75);
  color: var(--encre); font-weight: 600; text-decoration: none;
  transition: border-color .25s ease, background-color .25s ease, transform .25s ease;
}
.autres__lien svg { width: 16px; height: 16px; flex: none; color: var(--rose-texte); transition: transform .25s ease; }
@media (hover: hover) and (pointer: fine) {
  .autres__lien:hover { border-color: var(--rose-texte); background: #fff; }
  .autres__lien:hover svg { transform: translateX(3px); }
}
.autres__lien:focus-visible { outline: 2px solid var(--rose-texte); outline-offset: 3px; }

/* énergétiques : aucune ligne pour les assurés (la phrase ASCA ne nomme aucun soin énergétique) */
.prestation--sans-asca .prix__asca { display: none; }

/* rendez-vous : la carte de contact et le plan, sans le chemin depuis la gare */
@media (min-width: 62rem) {
  .prestation-appel .acces__grille { grid-template-columns: minmax(0, 1.1fr) minmax(0, .7fr); gap: 3rem; max-width: 56rem; }
}

@media (prefers-reduced-motion: reduce) {
  .autres__lien, .autres__lien svg { transition: none; }
}
