/* Répertoire des sanghas — reprend les variables du thème Moment Présent,
   avec des valeurs de repli si un autre thème est actif. */

.mps{
  --s-ink:  var(--mp-ink, #221F1D);
  --s-ink2: var(--mp-ink-2, #5F5853);
  --s-muted:var(--mp-muted, #7D766F);
  --s-sand: var(--mp-sand, #B2A79C);
  --s-line: var(--mp-line, #EEE3D6);
  --s-line2:var(--mp-line-2, #E4D7C8);
  --s-cream:var(--mp-cream, #FAF3EC);
  --s-paper:var(--mp-paper, #FFFDFA);
  --s-brown:var(--mp-brown, #8A5A32);
  --s-green:var(--mp-green, #586B54);
  --s-serif:var(--mp-serif, 'Cormorant Garamond', Georgia, serif);
  --s-sans: var(--mp-sans, 'Mulish', 'Segoe UI', system-ui, sans-serif);

  font-family:var(--s-sans);
  color:var(--s-ink);
}
.mps *{ box-sizing:border-box; }
.mps [hidden]{ display:none !important; }
.mps p{ margin:0; }

/* ---------------------------------------------------------------------------
   Ces codes courts s'affichent souvent à l'intérieur du contenu éditorial du
   thème, dont les règles visent les mêmes éléments (h2, h3, p) avec la même
   force. On reprend donc la main avec deux classes plutôt qu'une.
   --------------------------------------------------------------------------- */

.mps .mps-prov,
.mps .mps-nom,
.mps .mps-item p,
.mps .mps-item a,
.mps .mps-form p,
.mps .mps-form label{
  margin:0; padding:0;
}
.mps .mps-prov{ margin:52px 0 0; }
.mps .mps-prov:first-child{ margin-top:0; }
.mps .mps-form .mps-champ{ margin-bottom:18px; }


/* ------------------------------------------------------------ filtres --- */

.mps-filtres{ display:flex; flex-wrap:wrap; gap:8px; padding-bottom:28px; }
.mps-chip{
  display:inline-flex; align-items:center; min-height:40px; padding:0 16px;
  border:1px solid var(--s-line2); background:var(--s-paper);
  font-family:inherit; font-size:12.5px; color:var(--s-ink2); cursor:pointer; border-radius:0;
}
.mps-chip:hover{ border-color:var(--s-brown); color:var(--s-brown); }
.mps-chip.is-on{ background:var(--s-brown); border-color:var(--s-brown); color:var(--s-paper); font-weight:600; }

/* ---------------------------------------------------------- annuaire --- */

.mps .mps-prov{
  font-family:var(--s-sans); font-size:13px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--s-brown); font-weight:700;
  margin:52px 0 0; padding-bottom:10px; border-bottom:1px solid var(--s-line2);
}
.mps-item{ display:grid; gap:10px; padding:24px 0; border-bottom:1px solid var(--s-line); }
@media (min-width:820px){
  .mps-item{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:40px; align-items:start; }
}

.mps-gauche{ display:flex; flex-direction:column; gap:6px; }

.mps .mps-nom{
  font-family:var(--s-serif); font-weight:500; font-size:24px; font-style:italic;
  color:var(--s-brown); margin:0; line-height:1.25;
}
.mps .mps-ville{ font-size:14.5px; color:var(--s-ink); font-weight:600; }

.mps .mps-prochaine{
  display:flex; align-items:center; gap:8px;
  font-size:14px; color:var(--s-green); font-weight:600;
}
.mps-puce{ width:7px; height:7px; border-radius:50%; background:var(--s-green); flex-shrink:0; }

.mps .mps-rythme{ font-size:14px; color:var(--s-ink2); }
.mps .mps-inconnu{ color:var(--s-sand); font-style:italic; }

.mps .mps-etiquettes{ display:flex; flex-wrap:wrap; gap:6px; padding-top:4px; }
.mps-tag{
  display:inline-block; padding:4px 10px; background:var(--s-cream);
  font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; font-weight:700; color:var(--s-brown);
}
.mps-tag--langue{ background:#EDF1EB; color:#4C5F49; }

.mps-droite{ display:flex; flex-direction:column; gap:5px; }
.mps-droite a{ font-size:14px; color:var(--s-brown); text-decoration:none; word-break:break-word; }
.mps-droite a:hover{ text-decoration:underline; }
.mps .mps-qui{ font-size:13.5px; color:var(--s-muted); }
.mps .mps-plus{ font-size:11.5px !important; letter-spacing:.12em; text-transform:uppercase; font-weight:700; padding-top:4px; }

.mps-vide{ padding:28px; border:1px dashed var(--s-line2); color:var(--s-muted); text-align:center; }

/* -------------------------------------------------------- formulaire --- */

.mps-form{ max-width:760px; }
.mps-champ{ display:block; margin-bottom:18px; }
.mps .mps-champ label{
  display:block; margin-bottom:8px;
  font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--s-brown); font-weight:700;
}
.mps-form input[type=text],
.mps-form input[type=email],
.mps-form textarea{
  width:100%; border:1px solid var(--s-line2); background:var(--s-paper);
  padding:14px 16px; font-family:var(--s-sans); font-size:15px; font-weight:300;
  color:var(--s-ink); min-height:50px; border-radius:0;
}
.mps-form textarea{ min-height:120px; resize:vertical; }
.mps-deux{ display:grid; gap:0 24px; }
@media (min-width:640px){ .mps-deux{ grid-template-columns:repeat(2,minmax(0,1fr)); } }

.mps-piege{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

.mps-envoyer{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:48px; padding:0 30px; border:1px solid var(--s-brown); background:var(--s-brown);
  color:var(--s-paper); font-family:var(--s-sans);
  font-size:12px; letter-spacing:.12em; text-transform:uppercase; font-weight:700;
  cursor:pointer; border-radius:0;
}
.mps-envoyer:hover{ background:#6E4626; border-color:#6E4626; }

.mps .mps-note{ font-size:12.5px; color:var(--s-muted); padding-top:10px; }
.mps-ok{ padding:16px 20px; background:#EDF1EB; color:#3E5039; margin-bottom:24px; font-size:15px; }
.mps-ko{ padding:16px 20px; background:#F6E7E7; color:#7B2F2F; margin-bottom:24px; font-size:15px; }

/* Carte des sanghas — [carte_sanghas] (1.4.0) */
.mps-carte{ position:relative; z-index:0; width:100%; margin-bottom:28px; border:1px solid #E4D7C8; background:#F3E9DE; }
.mps-carte .leaflet-popup-content{ margin:12px 14px; font-family:inherit; }
.mps-carte .leaflet-popup-content-wrapper{ border-radius:8px; }
.mps-bulle{ margin:0 0 10px; font-size:13px; line-height:1.5; color:#5F5853; }
.mps-bulle:last-child{ margin-bottom:0; }
.mps-bulle a{ color:#8A5A32; text-decoration:none; }
.mps-bulle a:hover{ color:#6E4626; }
.mps-item{ scroll-margin-top:120px; }
.mp-frame .mps-carte{ margin-bottom:0; border:0; }
/* Fond de carte adouci pour s'accorder aux tons crème du site. */
.mps-carte .leaflet-tile-pane{ filter:grayscale(.55) sepia(.2) brightness(1.03); }
