/* ==========================================================================
   Moment Présent — feuille de styles du thème
   Système visuel : Cormorant Garamond (titres) + Mulish (texte),
   papier crème, brun chaud, vert de bruyère en second accent.
   ========================================================================== */

:root{
  color-scheme: light;

  --mp-ink:#221F1D;
  --mp-ink-2:#5F5853;
  --mp-muted:#7D766F;
  --mp-sand:#B2A79C;

  --mp-paper:#FFFDFA;
  --mp-cream:#FAF3EC;
  --mp-cream-2:#F3E9DE;

  --mp-line:#EEE3D6;
  --mp-line-2:#E4D7C8;

  --mp-brown:#8A5A32;
  --mp-brown-d:#6E4626;
  --mp-brown-l:#C89A6E;
  --mp-green:#586B54;

  --mp-serif:'Cormorant Garamond','Iowan Old Style',Georgia,'Times New Roman',serif;
  --mp-sans:'Mulish','Avenir Next','Segoe UI',system-ui,-apple-system,sans-serif;

  --mp-wrap:1200px;
  --mp-pad:24px;
}
@media (min-width:800px){ :root{ --mp-pad:40px; } }

/* --------------------------------------------------------------- base --- */

*,*::before,*::after{ box-sizing:border-box; }

body{
  margin:0;
  background:var(--mp-paper);
  color:var(--mp-ink);
  font-family:var(--mp-sans);
  font-weight:300;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4,h5,h6{
  font-family:var(--mp-serif);
  font-weight:500;
  margin:0;
  letter-spacing:.01em;
  text-wrap:balance;
  color:var(--mp-ink);
}

p{ margin:0; }

a{ color:var(--mp-brown); text-decoration:none; }
a:hover,a:focus{ color:var(--mp-brown-d); }

:focus-visible{ outline:2px solid var(--mp-brown); outline-offset:3px; }

img{ max-width:100%; height:auto; }
svg{ flex-shrink:0; }

button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }

hr{ height:1px; background:var(--mp-line); border:0; margin:0; }

.screen-reader-text{
  position:absolute!important; width:1px; height:1px; overflow:hidden;
  clip:rect(1px,1px,1px,1px); white-space:nowrap;
}
.skip-link:focus{
  position:fixed; top:12px; left:12px; z-index:999;
  width:auto; height:auto; clip:auto;
  background:var(--mp-ink); color:var(--mp-paper);
  padding:12px 18px; font-size:13px;
}

/* ------------------------------------------------------------ gabarit --- */

.mp-wrap{ max-width:var(--mp-wrap); margin:0 auto; padding-left:var(--mp-pad); padding-right:var(--mp-pad); }
.mp-sec{ padding-block:56px; }
@media (min-width:800px){ .mp-sec{ padding-block:80px; } }

.mp-band{ background:var(--mp-cream); border-block:1px solid var(--mp-line); }
.mp-hero-band{ background:var(--mp-cream); border-bottom:1px solid var(--mp-line); }

.mp-stack{ display:flex; flex-direction:column; gap:20px; }
.mp-stack-s{ display:flex; flex-direction:column; gap:12px; }
.mp-row{ display:flex; flex-wrap:wrap; gap:12px; }

.mp-g2,.mp-g3,.mp-g4{ display:grid; gap:28px; }
@media (min-width:760px){
  .mp-g2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mp-g3{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (min-width:1000px){
  .mp-g2{ gap:56px; }
  .mp-g3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (min-width:640px){ .mp-g4{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1000px){ .mp-g4{ grid-template-columns:repeat(3,minmax(0,1fr)); } }

.mp-side{ display:grid; gap:32px; }
@media (min-width:960px){ .mp-side{ grid-template-columns:5fr 7fr; gap:48px; align-items:start; } }
.mp-side-r{ display:grid; gap:32px; }
@media (min-width:960px){ .mp-side-r{ grid-template-columns:7fr 5fr; gap:48px; align-items:start; } }
.mp-aside{ display:grid; gap:32px; }
@media (min-width:960px){ .mp-aside{ grid-template-columns:1fr 3fr; gap:48px; align-items:start; } }

/* ---------------------------------------------------------- typo utils --- */

.mp-eyebrow{ font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--mp-brown); font-weight:700; }
.mp-lede{ font-size:17px; line-height:1.8; color:var(--mp-ink-2); font-weight:300; max-width:62ch; }
.mp-body{ font-size:15px; line-height:1.85; color:var(--mp-ink-2); font-weight:300; max-width:70ch; }
.mp-small{ font-size:12.5px; line-height:1.7; color:var(--mp-muted); font-weight:300; }
.mp-todo{ color:var(--mp-sand); font-style:italic; font-weight:300; }
@media (min-width:800px){ .mp-lede{ font-size:19px; } }

.mp-h1{ font-size:38px; line-height:1.14; }
@media (min-width:700px){ .mp-h1{ font-size:50px; } }
@media (min-width:1100px){ .mp-h1{ font-size:56px; } }
.mp-h2{ font-size:30px; line-height:1.2; }
@media (min-width:700px){ .mp-h2{ font-size:40px; } }

/* -------------------------------------------------------------- boutons --- */

.mp-btn,.mp-btn-g,
.wp-block-button__link{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:var(--mp-sans);
  font-size:12px; letter-spacing:.12em; text-transform:uppercase; font-weight:700;
  min-height:48px; padding-inline:26px; border-radius:2px; text-align:center;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease;
}
.mp-btn,.wp-block-button__link{ background:var(--mp-brown); color:var(--mp-paper); border:1px solid var(--mp-brown); }
.mp-btn:hover,.wp-block-button__link:hover{ background:var(--mp-brown-d); border-color:var(--mp-brown-d); color:var(--mp-paper); }
.mp-btn-g,.wp-block-button.is-style-outline .wp-block-button__link{
  border:1px solid #C9B69F; color:var(--mp-brown); background:transparent;
}
.mp-btn-g:hover,.wp-block-button.is-style-outline .wp-block-button__link:hover{ border-color:var(--mp-brown); color:var(--mp-brown-d); }
.mp-btn-green{ background:var(--mp-green); border-color:var(--mp-green); color:var(--mp-paper); }
.mp-btn-green:hover{ background:#47573F; border-color:#47573F; color:var(--mp-paper); }

.mp-arrow{ font-size:12px; letter-spacing:.12em; text-transform:uppercase; font-weight:700; }
.mp-badge{
  display:inline-block; padding:6px 11px; background:var(--mp-brown); color:var(--mp-paper);
  font-size:9.5px; letter-spacing:.16em; text-transform:uppercase; font-weight:700;
}

/* --------------------------------------------------------------- entête --- */

.mp-header{ position:sticky; top:0; z-index:30; background:var(--mp-paper); border-bottom:1px solid var(--mp-line); }
.admin-bar .mp-header{ top:32px; }
@media (max-width:782px){ .admin-bar .mp-header{ top:46px; } }

.mp-header__in{ display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:76px; }

.mp-logo{ display:flex; flex-direction:column; gap:2px; }
.mp-logo b{ font-family:var(--mp-serif); font-size:24px; color:var(--mp-ink); font-weight:500; letter-spacing:.02em; }
.mp-logo span{ font-size:9px; letter-spacing:.18em; text-transform:uppercase; color:var(--mp-muted); font-weight:600; }

.mp-nav{ display:none; }
.mp-nav ul{ display:flex; align-items:center; gap:22px; list-style:none; margin:0; padding:0; }
.mp-nav a{ font-size:13.5px; color:var(--mp-ink); font-weight:400; }
.mp-nav a:hover{ color:var(--mp-brown); }
.mp-nav .current-menu-item > a,
.mp-nav .current_page_item > a{ color:var(--mp-brown); font-weight:700; }
/* La dernière entrée du menu principal — « Espace membre » — prend d'elle-même
   l'allure d'un bouton encadré. La classe mp-menu-cta reste disponible pour
   désigner une autre entrée à la place. */
.mp-nav li:last-child > a,
.mp-nav .mp-menu-cta > a{
  border:1px solid #C9B69F; color:var(--mp-brown);
  font-size:12px; letter-spacing:.12em; text-transform:uppercase; font-weight:700;
  padding:11px 20px; display:inline-block;
}
.mp-nav li:last-child > a:hover,
.mp-nav .mp-menu-cta > a:hover{ border-color:var(--mp-brown); color:var(--mp-brown-d); }
/* Si une autre entrée porte mp-menu-cta, la dernière redevient un lien normal. */
.mp-nav:has(.mp-menu-cta) li:last-child:not(.mp-menu-cta) > a{
  border:0; padding:0; font-size:13.5px; letter-spacing:.04em; text-transform:none; font-weight:400; color:var(--mp-ink);
}
@media (min-width:1060px){ .mp-nav{ display:block; } .mp-burger{ display:none; } }

.mp-burger{ display:flex; align-items:center; justify-content:center; width:48px; height:48px; margin-right:-12px; }

.mp-mnav{ display:none; border-top:1px solid var(--mp-line); background:var(--mp-cream); }
.mp-mnav.is-open{ display:block; }
.mp-mnav ul{ list-style:none; margin:0; padding:0; }
.mp-mnav a{ display:block; padding:15px 0; font-size:15px; color:var(--mp-ink); border-bottom:1px solid var(--mp-line); }
.mp-mnav li:last-child a{ border-bottom:0; }
.mp-mnav .current-menu-item > a,
.mp-mnav .current_page_item > a{ color:var(--mp-brown); font-weight:700; }

/* ---------------------------------------------------------------- cartes --- */

.mp-card{ border:1px solid var(--mp-line); background:var(--mp-paper); display:flex; flex-direction:column; }
.mp-card__thumb{ height:150px; display:flex; align-items:center; justify-content:center; background:var(--mp-cream-2); }
.mp-card__in{ padding:22px 24px 26px; display:flex; flex-direction:column; gap:12px; }
.mp-card__in h3{ font-size:23px; font-style:italic; color:var(--mp-brown); }

.mp-frame{ border:1px solid var(--mp-line-2); background:var(--mp-paper); padding:20px; }
.mp-stat{ border-left:2px solid var(--mp-brown); padding-left:14px; }
.mp-stat b{ font-family:var(--mp-serif); font-size:30px; font-weight:500; display:block; line-height:1.1; }

.mp-door{ display:flex; flex-direction:column; gap:14px; padding-block:34px; border-bottom:1px solid var(--mp-line); }
.mp-door:last-child{ border-bottom:0; }
.mp-door h3{ font-size:24px; }
@media (min-width:1000px){
  .mp-doors{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .mp-door{ padding:46px 32px; border-bottom:0; border-right:1px solid var(--mp-line); }
  .mp-door:first-child{ padding-left:0; }
  .mp-door:last-child{ padding-right:0; border-right:0; }
}

/* ---------------------------------------------------- contenu éditorial --- */
/* Ce qui suit habille ce que l'équipe écrit dans l'éditeur WordPress.      */

.mp-content{ max-width:70ch; }
.mp-content > * + *{ margin-top:22px; }
.mp-content p{ font-size:16px; line-height:1.85; color:var(--mp-ink-2); font-weight:300; }
.mp-content h2{ font-size:32px; line-height:1.2; margin-top:52px; }
.mp-content h3{ font-size:24px; line-height:1.25; margin-top:40px; }
.mp-content h4{ font-size:20px; margin-top:32px; }
.mp-content strong{ font-weight:600; color:var(--mp-ink); }
.mp-content ul,.mp-content ol{ padding-left:20px; color:var(--mp-ink-2); font-size:16px; line-height:1.85; }
.mp-content li + li{ margin-top:8px; }
.mp-content li::marker{ color:var(--mp-brown); }
.mp-content blockquote{
  margin:32px 0; padding:8px 0 8px 24px; border-left:2px solid var(--mp-line-2);
}
.mp-content blockquote p{ font-family:var(--mp-serif); font-size:24px; font-style:italic; line-height:1.5; color:var(--mp-ink); }
.mp-content blockquote cite{ display:block; font-family:var(--mp-sans); font-size:12.5px; font-style:normal; color:var(--mp-muted); padding-top:8px; }
.mp-content figure{ margin:32px 0; }
.mp-content figcaption{ font-size:12.5px; color:var(--mp-muted); padding-top:8px; }
.mp-content hr{ margin:44px 0; }
.mp-content table{ width:100%; border-collapse:collapse; font-size:15px; }
.mp-content th{ text-align:left; font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--mp-brown); font-weight:700; padding-bottom:10px; border-bottom:1px solid var(--mp-line-2); }
.mp-content td{ padding:13px 0; border-bottom:1px solid var(--mp-line); color:var(--mp-ink-2); vertical-align:top; }

/* Encadré crème : bloc Groupe auquel on donne la classe « encadre ». */
.mp-content .encadre,.encadre{
  background:var(--mp-cream); border-left:2px solid var(--mp-brown);
  padding:22px 24px; max-width:none;
}
.mp-content .encadre > * + *{ margin-top:10px; }

/* Tableaux et blocs larges ne débordent jamais la page. */
.mp-content .wp-block-table,
.mp-content pre{ overflow-x:auto; }

/* ------------------------------------------------------- formulaires --- */

.mp-label{ font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--mp-brown); font-weight:700; display:block; margin-bottom:8px; }
input[type=text],input[type=email],input[type=url],input[type=tel],input[type=search],textarea,select{
  width:100%; border:1px solid var(--mp-line-2); background:var(--mp-paper);
  padding:14px 16px; font-size:15px; color:var(--mp-ink);
  font-family:var(--mp-sans); font-weight:300; min-height:50px; border-radius:0;
}
input::placeholder,textarea::placeholder{ color:var(--mp-sand); }
textarea{ min-height:140px; resize:vertical; }
input[type=checkbox],input[type=radio]{ accent-color:var(--mp-brown); width:17px; height:17px; }

.mp-brownbox{ background:var(--mp-brown); padding:28px; display:flex; flex-direction:column; gap:16px; }
.mp-brownbox h2,.mp-brownbox h3{ color:var(--mp-paper); }
.mp-brownbox p{ font-size:14.5px; line-height:1.8; color:#F0E2D2; font-weight:300; }
.mp-brownbox .mp-btn{ background:var(--mp-ink); border-color:var(--mp-ink); }
.mp-brownbox .mp-btn:hover{ background:#000; border-color:#000; }

/* -------------------------------------------------------------- pied --- */

.mp-footer{ background:var(--mp-ink); color:#D8D2CC; }
.mp-footer a{ color:#D8D2CC; font-size:13.5px; }
.mp-footer a:hover{ color:#fff; }
.mp-footer h2{ font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--mp-brown-l); font-weight:700; font-family:var(--mp-sans); }
.mp-footer ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px; }
.mp-footer__grid{ display:grid; gap:32px; padding:48px 0 32px; }
@media (min-width:700px){ .mp-footer__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1000px){ .mp-footer__grid{ grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; } }
.mp-footer__legal{ padding:20px 0 30px; border-top:1px solid #3A3532; }
.mp-footer__legal p{ font-size:12px; color:#95908B; font-weight:300; }

/* ------------------------------------------------------- misc / a11y --- */

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.01ms!important; transition-duration:.01ms!important; }
}

.mp-pagination{ display:flex; gap:10px; justify-content:center; padding-top:40px; }
.mp-pagination .page-numbers{ padding:10px 16px; border:1px solid var(--mp-line-2); font-size:13px; }
.mp-pagination .current{ background:var(--mp-brown); border-color:var(--mp-brown); color:var(--mp-paper); }

/* ==========================================================================
   Répertoire des sanghas
   ========================================================================== */

.mp-content--large{ max-width:none; }

.mp-prov{
  font-family:var(--mp-sans); font-size:14px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--mp-brown); font-weight:700; margin:44px 0 16px;
}
.mp-prov:first-child{ margin-top:0; }

.mp-sgrid{ display:grid; gap:16px; }
@media (min-width:640px){ .mp-sgrid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1100px){ .mp-sgrid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }

.mp-sc{
  border:1px solid var(--mp-line); background:var(--mp-paper);
  padding:22px 24px; display:flex; flex-direction:column; gap:10px;
}
.mp-sc h3{ font-size:22px; font-style:italic; color:var(--mp-brown); margin:0; }
.mp-sc p{ margin:0; }
.mp-sc .mp-ville{ font-size:13.5px; color:var(--mp-ink); font-weight:600; letter-spacing:.01em; }
.mp-sc .mp-quand{ font-size:13.5px; color:var(--mp-ink-2); font-weight:300; }
.mp-sc .mp-qui{ font-size:13.5px; color:var(--mp-ink-2); font-weight:300; }
.mp-sc a{ font-size:13.5px; word-break:break-word; }
.mp-sc .mp-coord{ display:flex; flex-direction:column; gap:4px; margin-top:auto; padding-top:8px; border-top:1px solid var(--mp-line); }

.mp-repertoire{ display:grid; gap:40px; }
@media (min-width:1000px){ .mp-repertoire{ grid-template-columns:4fr 8fr; gap:48px; align-items:start; } }

/* ==========================================================================
   Moment Présent — accueil en blocs (v1.1.0)
   Habille les sections de la page « accueil » composée dans l'éditeur.
   Chaque section est un bloc Groupe auquel on donne les classes du thème
   (mp-sec, mp-band, mp-wrap, mp-g2, mp-stack…) dans Bloc › Avancé ›
   Classe(s) CSS additionnelle(s).
   ========================================================================== */

/* Dans un thème classique, WordPress glisse un conteneur intérieur dans
   chaque bloc Groupe. On le rend « transparent » pour que les grilles et
   les piles du thème s'appliquent directement aux blocs qu'il contient. */
.mp-home .wp-block-group__inner-container{ display:contents; }
.mp-home .wp-block-group,
.mp-home .is-layout-flow > *,
.mp-home .is-layout-constrained > *{ margin-block:0; }
.mp-home .wp-block-buttons{ gap:12px; }

.mp-center{ align-items:center; }
.mp-sep{ border-bottom:1px solid var(--mp-line); }
.mp-sep-haut{ border-top:1px solid var(--mp-line); }

/* En-tête de section : titre à gauche, lien à droite. */
.mp-sec-tete{
	display:flex; align-items:flex-end; justify-content:space-between;
	gap:20px; flex-wrap:wrap; padding-bottom:34px;
}

/* ------------------------------------------------ portes par profil --- */

.mp-door .mp-eyebrow{ padding-top:4px; }
.mp-door__liens{ display:flex; flex-wrap:wrap; gap:10px 24px; margin-top:auto; }
.mp-eyebrow--vert{ color:var(--mp-green); }
.mp-door__liens--vert a{ color:var(--mp-green); }
@media (min-width:1000px){
	/* La porte des pratiquants, public principal, est la plus large. */
	.mp-doors--prio{ grid-template-columns:1.5fr 1.25fr 1fr; }
}

/* ------------------------------------------- bandeau Ressources (encre) --- */

.mp-band-ink{ background:var(--mp-ink); }
.mp-band-ink .mp-h2{ color:var(--mp-paper); }
.mp-band-ink .mp-eyebrow{ color:var(--mp-brown-l); }

.mp-tiles{ display:grid; gap:14px; padding-top:14px; }
@media (min-width:640px){ .mp-tiles{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1000px){ .mp-tiles{ grid-template-columns:repeat(5,minmax(0,1fr)); } }

.mp-tile{ border:1px solid #3A3532; padding:22px; display:flex; flex-direction:column; gap:8px; }
.mp-tile a{ color:var(--mp-paper); font-family:var(--mp-serif); font-size:21px; font-weight:500; line-height:1.2; }
.mp-tile a:hover,.mp-tile a:focus{ color:var(--mp-brown-l); }
.mp-tile .mp-small{ color:#B8B0A8; }

/* ------------------------------------------------------ lexique --- */

.mp-mots{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px; }
.mp-mots li{
	padding:9px 16px; background:var(--mp-cream); border:1px solid var(--mp-line);
	font-family:var(--mp-serif); font-size:19px; color:var(--mp-green); font-weight:500;
}

/* --------------------------------------------------- lettre (brun) --- */

.mp-band-brun{ background:var(--mp-brown); }
.mp-band-brun .mp-h2{ color:var(--mp-paper); }
.mp-band-brun p{ font-size:16px; line-height:1.8; color:#F0E2D2; font-weight:300; }

/* --------------------------------------------------------------------------
   Menu principal (v1.1.1)
   « Ressources » (classe mp-menu-ressources dans Apparence › Menus) :
   bouton encadré. « Espace membre » (dernière entrée) : bouton plein.
   -------------------------------------------------------------------------- */
.mp-nav .mp-menu-ressources > a{
	border:1px solid var(--mp-brown); color:var(--mp-brown);
	font-size:12px; letter-spacing:.12em; text-transform:uppercase; font-weight:700;
	padding:11px 20px; display:inline-block;
}
.mp-nav .mp-menu-ressources > a:hover,
.mp-nav .mp-menu-ressources > a:focus,
.mp-nav .mp-menu-ressources.current-menu-item > a{ background:var(--mp-cream); color:var(--mp-brown-d); }
.mp-nav li:last-child > a{ background:var(--mp-brown); border-color:var(--mp-brown); color:var(--mp-paper); }
.mp-nav li:last-child > a:hover,
.mp-nav li:last-child > a:focus{ background:var(--mp-brown-d); border-color:var(--mp-brown-d); color:var(--mp-paper); }

/* --------------------------------------------------------------------------
   Page Ressources en deux colonnes (v1.1.2)
   Bloc Groupe « mp-res » : à gauche « mp-res__nav » (sommaire qui reste
   visible au défilement), à droite « mp-res__corps » qui contient une
   carte « mp-res__carte » par section.
   -------------------------------------------------------------------------- */
.mp-content:has(> .mp-res){ max-width:none; }
.mp-res > .wp-block-group__inner-container,
.mp-res__nav > .wp-block-group__inner-container,
.mp-res__corps > .wp-block-group__inner-container,
.mp-res__carte > .wp-block-group__inner-container{ display:contents; }

.mp-res{ display:grid; gap:32px; }
@media (min-width:960px){
	.mp-res{ grid-template-columns:250px minmax(0,1fr); gap:56px; align-items:start; }
	.mp-res__nav{ position:sticky; top:110px; }
}

.mp-res__nav{ display:flex; flex-direction:column; gap:8px; }
.mp-res__nav .mp-eyebrow{ padding:0 14px; }
.mp-content .mp-res__nav ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px; }
.mp-content .mp-res__nav li + li{ margin-top:0; }
.mp-res__nav a{
	display:block; padding:9px 14px; border-left:2px solid transparent;
	font-size:15px; line-height:1.4; color:var(--mp-ink); font-weight:400;
}
.mp-res__nav a:hover,.mp-res__nav a:focus{ color:var(--mp-brown); border-left-color:var(--mp-brown); background:var(--mp-cream); }

.mp-res__corps{ display:flex; flex-direction:column; gap:24px; }
.mp-res__carte{ background:var(--mp-paper); border:1px solid var(--mp-line-2); padding:28px 22px; }
@media (min-width:800px){ .mp-res__carte{ padding:40px 44px; } }
/* Le conteneur intérieur est « transparent » : les règles visent donc ses enfants. */
.mp-res__carte > .wp-block-group__inner-container > * + *{ margin-top:18px; }
.mp-content .mp-res__carte > .wp-block-group__inner-container > h2:first-child{ margin-top:0; }
.mp-res__carte > .wp-block-group__inner-container > hr{ margin:36px 0; }
.mp-res__carte p,.mp-res__carte ul,.mp-res__carte ol{ max-width:70ch; }
.mp-content .mp-res__nav .mp-eyebrow{ font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--mp-brown); font-weight:700; line-height:1.6; }
.mp-res [id]{ scroll-margin-top:120px; }

/* ==========================================================================
   Boutons plus doux et plus compacts (v1.1.3)
   Inspiré de plumvillage.org : coins arrondis, casse normale, moins haut.
   Les cartes et encadrés gardent leurs angles vifs.
   ========================================================================== */
.mp-btn,.mp-btn-g,
.wp-block-button__link{
	min-height:40px; padding-inline:20px; border-radius:8px;
	font-size:14px; letter-spacing:.01em; text-transform:none; font-weight:600;
}

/* Menu principal : Ressources en bouton plein, Espace membre en bouton encadré. */
.mp-nav .mp-menu-ressources > a,
.mp-nav li:last-child > a{
	border-radius:8px; padding:8px 16px;
	font-size:13.5px; letter-spacing:.01em; text-transform:none; font-weight:600;
}
.mp-nav .mp-menu-ressources > a{ background:var(--mp-brown); border:1px solid var(--mp-brown); color:var(--mp-paper); }
.mp-nav .mp-menu-ressources > a:hover,
.mp-nav .mp-menu-ressources > a:focus,
.mp-nav .mp-menu-ressources.current-menu-item > a{ background:var(--mp-brown-d); border-color:var(--mp-brown-d); color:var(--mp-paper); }
.mp-nav li:last-child > a{ background:transparent; border:1px solid var(--mp-brown); color:var(--mp-brown); }
.mp-nav li:last-child > a:hover,
.mp-nav li:last-child > a:focus{ background:var(--mp-cream); border-color:var(--mp-brown-d); color:var(--mp-brown-d); }

/* Agenda : filtres légers, « Sangha : Toutes ⌄ ». */
body .mpa-filtres-barre{ padding:10px 18px; gap:24px; }
body .mpa-filtres-barre .mpa-filtre-groupe{ gap:2px; flex:0 0 auto; }
body .mpa-filtres-barre .mpa-filtre-label::after{ content:" :"; }
body .mpa-filtres-barre .mpa-filtre-select{
	width:auto; field-sizing:content; min-height:0; height:auto;
	padding:6px 28px 6px 6px; border:1px solid transparent; border-radius:8px;
	background-color:transparent;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555555' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat:no-repeat; background-position:right 8px center; background-size:14px 14px;
	font-size:13px; font-weight:400; color:var(--mp-ink);
}
body .mpa-filtres-barre .mpa-filtre-select:hover,
body .mpa-filtres-barre .mpa-filtre-select:focus-visible{ background-color:rgba(255,255,255,.75); border-color:#D4C9BC; }
body .mpa-filtres-barre .mpa-filtre-reset{ border-radius:8px; padding:6px 14px; min-height:0; }
@media (max-width:640px){ body .mpa-filtres-barre{ flex-wrap:wrap; gap:8px 20px; width:auto; } }

/* Répertoire des sanghas : filtres en pastilles arrondies (v1.1.4). */
body .mps-filtres .mps-chip{ border-radius:8px; min-height:34px; padding:0 14px; font-size:13px; }

/* Répertoire des sanghas : barre de filtres déroulants « Public » et « Langue » (v1.1.5),
   même allure que les filtres de l'agenda. */
.mps-filtres-barre{
	display:flex; align-items:center; flex-wrap:wrap; gap:8px 24px; width:fit-content; max-width:100%;
	padding:10px 18px; margin-bottom:28px;
	background:linear-gradient(to right, #F5F0E8 0%, #F9F5F0 100%);
	border:1px solid #E8DDD0; border-radius:6px;
}
.mps-filtre-groupe{ display:flex; align-items:center; gap:2px; }
.mps-filtre-label{ font-size:13px; font-weight:600; color:#555; white-space:nowrap; margin:0; }
.mps-filtre-label::after{ content:" :"; }
body .mps-filtres-barre .mps-filtre-select{
	width:auto; field-sizing:content; min-height:0; height:auto; appearance:none;
	padding:6px 28px 6px 6px; border:1px solid transparent; border-radius:8px;
	background-color:transparent;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555555' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat:no-repeat; background-position:right 8px center; background-size:14px 14px;
	font-family:inherit; font-size:13px; font-weight:400; color:var(--mp-ink); cursor:pointer;
}
body .mps-filtres-barre .mps-filtre-select:hover,
body .mps-filtres-barre .mps-filtre-select:focus-visible{ background-color:rgba(255,255,255,.75); border-color:#D4C9BC; }
.mps-filtre-reset{
	font-family:inherit; font-size:13px; color:#555; cursor:pointer;
	padding:6px 14px; background:#fff; border:1px solid #D4C9BC; border-radius:8px;
}
.mps-filtre-reset:hover{ border-color:var(--mp-brown); color:var(--mp-brown); }
.mps-aucune{ font-size:15px; color:var(--mp-ink-2); padding:8px 0 24px; }

/* ==========================================================================
   Espace membre (v1.1.6)
   Page « Espace membre » composée en blocs Groupe :
   mp-em (grille) > mp-em__main + mp-em__cote ; cartes mp-em-carte,
   réunion mp-em-reunion, tuiles mp-em-tuiles / mp-em-tuile, aide mp-em-aide.
   Pastilles : mp-pastille (tous les membres), mp-pastille--ordre.
   ========================================================================== */
.mp-content:has(> .mp-em),
.mp-content:has(> .mp-mdp){ max-width:none; }
.mp-em .wp-block-group__inner-container{ display:contents; }
.mp-em{ display:grid; gap:48px; }
@media (min-width:1000px){ .mp-em{ grid-template-columns:minmax(0,2fr) minmax(0,1fr); align-items:start; } }
.mp-em__main{ display:flex; flex-direction:column; gap:44px; }
.mp-em__cote{ display:flex; flex-direction:column; gap:22px; }
.mp-content .mp-em h2{ margin-top:0; font-size:30px; }
.mp-content .mp-em h3{ margin-top:0; font-size:22px; }
.mp-content .mp-em p{ margin:0; }
.mp-em-section{ display:flex; flex-direction:column; gap:16px; }

.mp-em-reunion{ background:var(--mp-brown); padding:28px 32px; display:flex; flex-direction:column; gap:10px; }
.mp-content .mp-em-reunion h2{ color:var(--mp-paper); }
.mp-content .mp-em-reunion p{ color:#F0E2D2; }
.mp-content .mp-em-reunion .mp-eyebrow{ color:#F0E2D2; }
.mp-em-reunion .wp-block-buttons{ padding-top:6px; }
.mp-em-reunion .wp-block-button__link{ background:var(--mp-ink); border-color:var(--mp-ink); color:var(--mp-paper); }
.mp-em-reunion .is-style-outline .wp-block-button__link{ background:transparent; border-color:#F0E2D2; color:var(--mp-paper); }

.mp-em-carte{ border:1px solid var(--mp-line-2); background:var(--mp-paper); padding:24px 28px; display:flex; flex-direction:column; gap:12px; }
.mp-em-aide{ background:var(--mp-cream); border-left:2px solid var(--mp-brown); padding:20px 22px; display:flex; flex-direction:column; gap:8px; }

.mp-em-tuiles{ display:grid; gap:14px; }
@media (min-width:700px){ .mp-em-tuiles{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1200px){ .mp-em-tuiles{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
.mp-em-tuile{ border:1px solid var(--mp-line); background:var(--mp-paper); padding:22px; display:flex; flex-direction:column; gap:8px; }
.mp-content .mp-em-tuile p.mp-em-titre a{ font-family:var(--mp-serif); font-size:22px; font-weight:500; color:var(--mp-ink); }
.mp-content .mp-em-tuile p.mp-em-titre a:hover{ color:var(--mp-brown); }
.mp-content .mp-em-tuile .mp-small,.mp-content .mp-em-carte .mp-small{ font-size:13px; line-height:1.6; color:var(--mp-muted); }
.mp-content .mp-em .mp-eyebrow{ font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--mp-brown); font-weight:700; line-height:1.5; }

.mp-pastille{ display:inline-block; padding:2px 9px; border-radius:8px; border:1px solid #C9B69F; background:var(--mp-paper); font-size:11px; font-weight:600; line-height:1.6; color:var(--mp-ink-2); vertical-align:middle; }
.mp-pastille--ordre{ background:var(--mp-green); border-color:var(--mp-green); color:var(--mp-paper); }
.mp-content .mp-em ul.mp-em-liste{ list-style:none; padding:0; margin:0; border-top:1px solid var(--mp-line-2); }
.mp-content .mp-em ul.mp-em-liste li{ margin:0; padding:14px 0; border-bottom:1px solid var(--mp-line); font-size:15px; }

/* Formulaire de mot de passe */
.mp-mdp{ max-width:440px; margin:0 auto; background:var(--mp-paper); border:1px solid var(--mp-line-2); padding:40px; display:flex; flex-direction:column; gap:14px; }
.mp-content .mp-mdp p{ font-size:15px; line-height:1.8; margin:0; }
.mp-mdp label{ font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--mp-brown); font-weight:700; padding-top:6px; }
.mp-mdp button{ align-self:flex-start; cursor:pointer; }
.mp-content .mp-em .mp-em-reunion .mp-eyebrow{ color:#F0E2D2; }
.mp-content .mp-em p.mp-em-titre{ line-height:1.25; }


/* =========================================================
   Espace membre : demandes d'accès et agenda interne (v1.2.0)
   ========================================================= */
.mp-content .mp-em > .wp-block-group__inner-container > .mp-em__main > .wp-block-group__inner-container > p.mp-small:first-child,
.mp-content .mp-em__main > p.mp-small:first-child{ font-size:14px; color:var(--mp-muted); line-height:2; }

/* Bouton « Rejoindre sur Meet » lisible sur le fond brun */
.mp-content .mp-em-reunion .wp-block-button:not(.is-style-outline) .wp-block-button__link{ background:var(--mp-paper); color:var(--mp-brown-d); border-color:var(--mp-paper); }
.mp-content .mp-em-reunion .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover{ background:var(--mp-cream); color:var(--mp-brown-d); }
.mp-content .mp-em-reunion .is-style-outline .wp-block-button__link{ color:var(--mp-paper); border-color:rgba(255,253,250,.7); background:transparent; }
.mp-content .mp-em-reunion .is-style-outline .wp-block-button__link:hover{ background:rgba(255,253,250,.12); }

/* Agenda interne */
.mp-content ul.mp-em-agenda{ list-style:none; margin:4px 0 0; padding:0; }
.mp-content ul.mp-em-agenda li{ display:flex; gap:14px; align-items:flex-start; margin:0; padding:12px 0; border-top:1px solid var(--mp-line); }
.mp-content ul.mp-em-agenda li:first-child{ border-top:0; padding-top:2px; }
.mp-content ul.mp-em-agenda li::before{ content:none; }
.mp-em-agenda__date{ flex:0 0 50px; text-align:center; border:1px solid #E4D7C8; background:var(--mp-cream); padding:5px 0 6px; line-height:1.1; }
.mp-em-agenda__date b{ display:block; font-family:var(--mp-serif); font-size:24px; font-weight:500; color:var(--mp-ink); }
.mp-em-agenda__date span{ display:block; font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--mp-brown); font-weight:700; }
.mp-em-agenda__txt{ min-width:0; }
.mp-em-agenda__txt strong{ display:block; font-weight:600; font-size:15px; line-height:1.35; color:var(--mp-ink); }
.mp-em-agenda__txt span{ display:block; font-size:13px; line-height:1.5; color:var(--mp-muted); margin-top:2px; }
.mp-em-agenda__txt span::first-letter{ text-transform:uppercase; }

/* Formulaire de demande d'accès */
.mp-dem{ max-width:640px; display:flex; flex-direction:column; gap:18px; margin:8px 0 0; }
.mp-content .mp-dem p{ margin:0; }
.mp-dem label{ display:block; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--mp-brown); font-weight:700; margin-bottom:8px; }
.mp-dem input[type=text], .mp-dem input[type=email], .mp-dem select, .mp-dem textarea{ width:100%; box-sizing:border-box; border:1px solid #E4D7C8; background:var(--mp-paper); padding:12px 14px; font-family:inherit; font-size:15px; color:var(--mp-ink); border-radius:0; }
.mp-dem select{ appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%238A5A32' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; padding-right:40px; }
.mp-dem textarea{ min-height:110px; resize:vertical; }
.mp-dem input:focus, .mp-dem select:focus, .mp-dem textarea:focus{ outline:2px solid var(--mp-brown); outline-offset:1px; }
.mp-dem__aide{ display:block; font-size:13px; color:var(--mp-muted); margin-top:6px; }
.mp-dem .mp-dem__accord label{ display:flex; gap:10px; align-items:flex-start; text-transform:none; letter-spacing:0; font-weight:400; font-size:14px; line-height:1.6; color:var(--mp-muted); }
.mp-dem .mp-dem__accord input{ margin-top:4px; accent-color:var(--mp-brown); flex:0 0 auto; }
.mp-dem__pot{ position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden; }
.mp-content .mp-dem__erreur{ color:#8B2E1F; border-left:3px solid #8B2E1F; padding:4px 0 4px 12px; }
.mp-dem--ok{ border:1px solid #E4D7C8; background:var(--mp-cream); padding:28px 32px; gap:8px; }
.mp-mdp .mp-mdp__demande{ font-size:14px; color:var(--mp-muted); margin:4px 0 0; }


/* =========================================================
   Espace membre : connexion, comptes et profils (v1.3.0)
   ========================================================= */
.mp-content:has(> .mp-connexion){ max-width:none; }
.mp-connexion{ display:grid; gap:32px; align-items:start; }
@media (min-width:900px){ .mp-connexion{ grid-template-columns:minmax(0,3fr) minmax(0,2fr); gap:48px; } }
.mp-connexion__form{ background:var(--mp-paper); border:1px solid #E4D7C8; padding:36px 40px; display:flex; flex-direction:column; gap:14px; }
.mp-connexion--attente .mp-connexion__form{ max-width:640px; }
.mp-content .mp-connexion h2{ margin:0; font-size:32px; }
.mp-content .mp-connexion p{ margin:0; }
.mp-connexion__desc{ color:var(--mp-muted); font-size:15px; line-height:1.7; }
.mp-connexion form p{ margin:0 0 14px; }
.mp-connexion form label{ display:block; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--mp-brown); font-weight:700; margin-bottom:8px; }
.mp-connexion form input[type=text], .mp-connexion form input[type=password]{ width:100%; box-sizing:border-box; border:1px solid #E4D7C8; background:var(--mp-paper); padding:12px 14px; font-family:inherit; font-size:15px; color:var(--mp-ink); border-radius:0; }
.mp-connexion form input:focus{ outline:2px solid var(--mp-brown); outline-offset:1px; }
.mp-connexion .login-remember label{ text-transform:none; letter-spacing:0; font-weight:400; font-size:14px; color:var(--mp-muted); display:flex; gap:8px; align-items:center; }
.mp-connexion .login-remember input{ accent-color:var(--mp-brown); }
.mp-connexion .login-submit input[type=submit]{ display:inline-flex; align-items:center; min-height:44px; padding:0 24px; border-radius:8px; background:var(--mp-brown); border:1px solid var(--mp-brown); color:var(--mp-paper); font-family:inherit; font-size:14px; font-weight:600; cursor:pointer; }
.mp-connexion .login-submit input[type=submit]:hover{ background:var(--mp-brown-d); border-color:var(--mp-brown-d); }
.mp-connexion__oubli{ font-size:14px; }
.mp-connexion__nouveau{ background:var(--mp-cream); border:1px solid #E4D7C8; padding:32px 36px; display:flex; flex-direction:column; gap:14px; align-items:flex-start; }
.mp-connexion__nouveau p:not(.mp-eyebrow){ color:var(--mp-muted); font-size:15px; line-height:1.7; }

.mp-em-bonjour{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 20px; padding-bottom:4px; }
.mp-content .mp-em-bonjour p{ margin:0; font-size:16px; color:var(--mp-ink); display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.mp-em-bonjour__sortie{ font-size:14px; }
.mp-pastille--responsable{ background:#EFE3D3; border-color:#D9C3A5; color:var(--mp-brown-d); }
.mp-pastille--coordination{ background:var(--mp-brown); border-color:var(--mp-brown); color:var(--mp-paper); }
.mp-pastille--adherent{ background:var(--mp-paper); }

.mp-dem__deux{ display:grid; gap:18px; }
@media (min-width:640px){ .mp-dem__deux{ grid-template-columns:1fr 1fr; } }
.mp-dem input[type=password]{ width:100%; box-sizing:border-box; border:1px solid #E4D7C8; background:var(--mp-paper); padding:12px 14px; font-family:inherit; font-size:15px; color:var(--mp-ink); border-radius:0; }
.mp-dem__profils{ border:1px solid #E4D7C8; background:var(--mp-cream); padding:18px 20px 16px; margin:0; display:flex; flex-direction:column; gap:10px; }
.mp-dem__profils legend{ font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--mp-brown); font-weight:700; padding:0 6px; }
.mp-dem .mp-dem__profils label{ display:flex; gap:10px; align-items:center; text-transform:none; letter-spacing:0; font-weight:400; font-size:15px; color:var(--mp-ink); margin:0; }
.mp-dem__profils input{ accent-color:var(--mp-brown); width:16px; height:16px; }
.mp-content .mp-dem__erreur ul{ margin:0; padding-left:18px; }

.mp-content .mp-connexion .mp-eyebrow{ font-size:11.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--mp-brown); font-weight:700; }
@media (max-width:600px){ .mp-connexion__form, .mp-connexion__nouveau{ padding:24px 20px; } .mp-content .mp-connexion h2{ font-size:28px; } }
