/* Épanovia — styles communs (barre mobile, prochaines séances, formulaire créneau, signature, FAQ pratique) */

/* ---------- Signature de fin de page ---------- */
.epv-signature{margin:0 0 26px;padding:22px 0 0;border-top:1px solid rgba(255,255,255,.15);text-align:center;
  font-style:italic;font-weight:300;font-size:clamp(1.05rem,2.4vw,1.35rem);letter-spacing:.02em;color:#F3EBDD;}
.epv-signature span{display:block;margin-top:6px;font-style:normal;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--or,#B8975A);}

/* ---------- Barre de réservation mobile (< 760 px) ---------- */
.epv-mbar{display:none;}
@media(max-width:760px){
  .epv-mbar{position:fixed;left:0;right:0;bottom:0;z-index:900;display:flex;gap:6px;align-items:stretch;
    padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:rgba(255,247,240,.97);
    -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-top:1px solid rgba(3,75,65,.12);box-shadow:0 -6px 18px rgba(3,75,65,.10);
    font-family:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;}
  .epv-mbar a{flex:1 1 0;display:flex;align-items:center;justify-content:center;gap:5px;text-align:center;text-decoration:none;
    border-radius:999px;padding:9px 6px;font-size:.78rem;font-weight:500;line-height:1.2;border:1.5px solid #034B41;color:#034B41;background:transparent;}
  .epv-mbar a.epv-mb-p{flex:1.45 1 0;background:#A2554D;border-color:#A2554D;color:#FFFDFB;}
  .epv-mbar a.epv-mb-g{flex:.8 1 0;}
  .epv-mbar svg{width:15px;height:15px;flex:0 0 15px;}
  body.epv-avec-barre{padding-bottom:64px;}
  body.epvq-lock .epv-mbar{display:none;}
}

/* ---------- « Prochaine séance » sur les cartes ---------- */
.epv-prochaine{font-size:.84rem;color:#3E3B36;background:#F9EEE6;border-radius:10px;padding:8px 12px;margin:0 0 14px;line-height:1.5;}
.epv-prochaine strong{font-weight:500;color:#034B41;}
.epv-prochaine .epv-pro-l{color:#A2554D;font-weight:500;}
.epv-prochaine .epv-pro-t{color:#6b665c;}
.band-vert .epv-prochaine{background:rgba(255,255,255,.1);color:#DCE4DE;}

/* ---------- Bloc « Prochaines séances » ---------- */
.epv-prochaines{margin-top:18px;}
.epv-filtres{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;}
.epv-filtre{font:inherit;font-size:.82rem;padding:6px 14px;border-radius:999px;border:1px solid #93A38E;background:#FFFDFB;color:#034B41;cursor:pointer;}
.epv-filtre[aria-pressed="true"]{background:#034B41;border-color:#034B41;color:#FFFDFB;}
.epv-liste{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.epv-seance{display:grid;grid-template-columns:minmax(150px,1fr) 2fr auto;gap:14px;align-items:center;background:#FFFDFB;
  border:1px solid rgba(3,75,65,.12);border-left:3px solid #A2554D;border-radius:12px;padding:12px 16px;}
.epv-seance.ex{border-left-color:#93A38E;}
.epv-s-date strong{display:block;font-weight:500;color:#034B41;font-size:.95rem;}
.epv-s-date span,.epv-s-offre span{display:block;font-size:.8rem;color:#6b665c;}
.epv-s-offre a{color:#2E2B27;font-weight:500;text-decoration:none;font-size:.93rem;}
.epv-s-offre a:hover{color:#A2554D;text-decoration:underline;}
.epv-s-btn{display:inline-block;background:#A2554D;color:#FFFDFB !important;text-decoration:none;border-radius:999px;padding:8px 18px;font-size:.84rem;font-weight:500;white-space:nowrap;}
.epv-s-btn:hover{background:#8f4941;}
.epv-vide{font-size:.9rem;color:#4A463F;}
@media(max-width:640px){
  .epv-seance{grid-template-columns:1fr auto;gap:6px 12px;}
  .epv-s-offre{grid-column:1 / 2;}
  .epv-s-btn{grid-row:1 / span 2;grid-column:2;align-self:center;}
}
.epv-note{font-size:.8rem;color:#6b665c;margin:12px 0 0;}

/* ---------- Encadré « En bref » (pages ciblées) ---------- */
.epv-bref{max-width:760px;margin:22px auto 0;background:#FFFDFB;border:1px solid rgba(3,75,65,.12);border-top:3px solid #A2554D;border-radius:16px;padding:18px 22px;text-align:left;}
.epv-bref-t{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:#A2554D;font-weight:500;margin-bottom:8px;}
.epv-bref ul{list-style:none;margin:0 0 6px;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.92rem;color:#2E2B27;}
.epv-bref li{position:relative;padding-left:14px;}
.epv-bref li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:#93A38E;}
.epv-bref .epv-prochaine{margin:10px 0 4px;}
.epv-bref .cta-row{margin-top:12px !important;}

/* ---------- Étiquette ---------- */
.epv-etiquette{display:inline-block;background:#034B41;color:#FFFDFB;font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;padding:4px 12px;border-radius:999px;margin:0 0 10px;}

/* ---------- Mention sous « Offrir » ---------- */
.epv-mention-cadeau{display:block;font-size:.78rem;color:#6b665c;}

/* ---------- Titres de catégories (Offres) ---------- */
.epv-titre-cat small{font-size:.5em;font-weight:300;color:#A2554D;letter-spacing:.04em;white-space:nowrap;}

/* ---------- Bandeau ouverture ---------- */
.epv-ouverture{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:center;}
.epv-ouverture-photos{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.epv-ouverture-photos img{width:100%;height:220px;object-fit:cover;object-position:50% 20%;border-radius:14px;box-shadow:0 8px 22px rgba(3,75,65,.12);}
.epv-ouverture-date{font-size:clamp(1.3rem,3vw,1.7rem);color:#034B41;margin:0 0 10px;}
.epv-places{display:inline-block;border:1px solid #A2554D;color:#A2554D;border-radius:14px;padding:3px 12px;font-size:.8rem;font-weight:500;margin-bottom:12px;line-height:1.45;max-width:100%;}
@media(max-width:760px){.epv-ouverture{grid-template-columns:1fr;}.epv-ouverture-photos img{height:170px;}}

/* ---------- Sections dépliables ---------- */
.epv-deplier{border:1px solid rgba(3,75,65,.14);border-radius:14px;background:#FFFDFB;margin:0 0 14px;}
.epv-deplier > summary{cursor:pointer;list-style:none;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px;color:#034B41;font-weight:500;}
.epv-deplier > summary::-webkit-details-marker{display:none;}
.epv-deplier > summary::after{content:"+";font-size:1.3rem;line-height:1;color:#A2554D;}
.epv-deplier[open] > summary::after{content:"–";}
.epv-deplier > summary small{display:block;font-weight:300;color:#6b665c;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;}
.epv-deplier-corps{padding:0 20px 20px;}
.epv-deplier-corps .section{padding:10px 0 !important;background:none !important;}
.epv-deplier-corps .container{padding:0;max-width:none !important;}
.epv-deplier .epv-sum-h{font-size:1.08rem;font-weight:500;margin:2px 0 0;color:#034B41;}
.epv-choix{font-size:.92rem;color:#3E3B36;margin:0 0 10px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.epv-choix strong{color:#034B41;font-weight:500;}

/* ---------- Cycles Arts plastiques par thème ---------- */
.epv-cycle-dates{margin-top:12px;padding-top:12px;border-top:1px dashed rgba(3,75,65,.18);text-align:left;font-size:.82rem;color:#3E3B36;}
.epv-cycle-dates p{margin:0 0 8px;font-size:.82rem !important;}
.epv-cycle-dates b{font-weight:500;color:#034B41;}
.epv-cycle-dates small{color:#6b665c;}
.epv-cy-statut{display:inline-block;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;padding:3px 10px;border-radius:999px;border:1px solid #93A38E;color:#6b665c;margin-bottom:8px;}
.epv-cy-statut.on{background:#A2554D;border-color:#A2554D;color:#FFFDFB;}
.epv-cy-debut strong{color:#A2554D;font-weight:500;}

/* ---------- Encart pop-up réductible (accueil : ouverture du cabinet) ---------- */
/* Sans JavaScript, l'encart reste une simple section dans la page. */
.epv-pop{max-width:1120px;margin:0 auto;padding:10px 28px;}
.epv-pop-onglet{display:none;}
.epv-pop-reduire{display:none;}
.epv-pop.epv-pop-js{position:fixed;z-index:800;top:var(--epv-pop-top,130px);left:16px;max-width:none;margin:0;padding:0;pointer-events:none;}
.epv-pop-js .epv-pop-panel{pointer-events:auto;position:relative;width:min(400px,calc(100vw - 32px));max-height:calc(100vh - var(--epv-pop-top,130px) - 90px);overflow-y:auto;
  background:#FFFDFB;border:1px solid rgba(3,75,65,.14);border-top:4px solid #A2554D;border-radius:18px;padding:22px 22px 18px;
  box-shadow:0 22px 50px rgba(3,75,65,.22);font-size:.9rem;color:#3E3B36;
  opacity:0;transform:translateY(-14px);transition:opacity .35s ease,transform .35s ease;}
.epv-pop-js.on .epv-pop-panel{opacity:1;transform:none;}
.epv-pop-js .epv-pop-reduire{display:flex;align-items:center;justify-content:center;position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;
  border:1px solid rgba(3,75,65,.2);background:#FFF7F0;color:#034B41;font-size:1.3rem;line-height:1;cursor:pointer;}
.epv-pop-js .epv-pop-reduire:hover,.epv-pop-js .epv-pop-reduire:focus-visible{background:#034B41;color:#FFFDFB;}
.epv-pop-js .epv-ouverture-date{font-size:1.2rem;margin:0 36px 10px 0;line-height:1.35;}
.epv-pop-js p{margin:0 0 10px;}
.epv-pop-js .cta-row{margin-top:10px !important;gap:8px;}
.epv-pop-photos{margin-top:12px;}
.epv-pop-js .epv-pop-photos img{height:110px;}
.epv-pop-js.reduit .epv-pop-panel{display:none;}
.epv-pop-js .epv-pop-onglet{pointer-events:auto;position:fixed;left:0;top:42%;display:block;border:none;cursor:pointer;
  background:#A2554D;color:#FFFDFB;font:inherit;font-family:'Poppins',sans-serif;font-size:.78rem;font-weight:500;letter-spacing:.04em;
  padding:16px 9px;border-radius:0 12px 12px 0;box-shadow:4px 6px 16px rgba(3,75,65,.2);writing-mode:vertical-rl;transform:rotate(180deg);
  transition:padding .2s ease;}
.epv-pop-js .epv-pop-onglet:hover,.epv-pop-js .epv-pop-onglet:focus-visible{padding-left:13px;background:#8f4941;}
.epv-pop-js .epv-pop-onglet[hidden]{display:none;}
@media(max-width:760px){
  .epv-pop.epv-pop-js{left:12px;right:12px;}
  .epv-pop-js .epv-pop-panel{width:auto;padding:18px 16px 14px;}
  .epv-pop-js .epv-pop-photos{display:none;}
  .epv-pop-js .epv-pop-onglet{top:38%;font-size:.72rem;padding:12px 7px;}
}
@media(prefers-reduced-motion:reduce){.epv-pop-js .epv-pop-panel{transition:none;}}

/* ---------- Signature de fin de page (fin de FAQ / dernière section) ---------- */
.epv-signature-page{margin:30px 0 0;padding-top:24px;border-top:1px solid rgba(3,75,65,.12);text-align:center;font-style:italic;font-weight:300;
  font-size:clamp(1.4rem,3.2vw,2rem);line-height:1.3;color:#034B41;letter-spacing:.01em;}
.epv-signature-page::before{content:"";display:block;width:46px;height:3px;border-radius:3px;background:#A2554D;margin:0 auto 18px;}
.legal-content p.epv-signature-page,.mini-card p.epv-signature-page{color:#034B41 !important;font-size:clamp(1.4rem,3.2vw,2rem) !important;text-align:center !important;font-style:italic !important;}
.band-vert .epv-signature-page{color:#FFFDFB;border-top-color:rgba(255,255,255,.18);}

/* ---------- Règle du site : espaces réduits entre deux sections ---------- */
.section{padding-top:30px;padding-bottom:30px;}
.section-narrow{padding-top:22px;padding-bottom:22px;}
.hero{padding-bottom:16px;}
.wave{max-height:24px !important;}
footer.site{padding-top:40px;}
.faq-item:has(+ .epv-signature-page){border-bottom:none;}

/* ---------- Bandeau de conclusion des pages ciblées (corail doux) ---------- */
.band-corail{background:#F3E1D8;color:#2E2B27;}
.band-corail .quote-block{color:#034B41;}
.band-corail .epv-mention-soin{color:#6b665c !important;}

/* ---------- Bloc Prochaines séances : lien « Plan des créneaux annuels » ---------- */
/* Ordinateur : à droite, sur la même ligne que les filtres */
.epv-filtres .epv-filtre-lien{margin-left:auto;text-decoration:none;background:#FFF7F0;border-color:#A2554D;color:#A2554D;}
.epv-filtres .epv-filtre-lien:hover{background:#A2554D;color:#FFFDFB;}
/* Smartphone (≤ 640 px) : sur sa propre ligne, à gauche, sous le bouton « Toutes » */
@media(max-width:640px){
  .epv-filtres{row-gap:4px;}
  .epv-filtres::after{content:"";flex-basis:100%;height:0;order:1;}
  .epv-filtres .epv-filtre-lien{margin-left:0;order:2;}
}
@media(min-width:1000px){.quote-block.epv-quote-ligne{max-width:none;white-space:nowrap;}}

/* ---------- Étiquettes de parcours (mêmes couleurs que la grille du programme) ---------- */
.offer-card .tag.epv-tag-ap,.epv-tag-ap{background:#A2554D;color:#FFFDFB;}
.offer-card .tag.epv-tag-ex,.epv-tag-ex{background:#6F8A6B;color:#FFFDFB;}
h3.epv-parcours-titre{display:inline-block;padding:5px 18px;border-radius:999px;margin-bottom:12px;color:#FFFDFB;}

/* ---------- Blog : couleur par catégorie ---------- */
/* Créativité & perception = terracotta · Décrocher & souffler = vert · Actualités & coulisses = beige foncé (sable) */
a.cat-pill[href*="categorie-creativite-perception"]{background:#A2554D;color:#FFFDFB;}
a.cat-pill[href*="categorie-decrocher-souffler"]{background:#6F8A6B;color:#FFFDFB;}
a.cat-pill[href*="categorie-actualites"]{background:#9C7B4E;color:#FFFDFB;}
a.cat-pill[href*="categorie-creativite-perception"]:hover{background:#8f4941;}
a.cat-pill[href*="categorie-decrocher-souffler"]:hover{background:#5B7458;}
a.cat-pill[href*="categorie-actualites"]:hover{background:#8C6D44;}
.cat-bar a[href*="categorie-creativite-perception"]:hover,.cat-bar a[href*="categorie-creativite-perception"].active{background:#A2554D;border-color:#A2554D;color:#FFFDFB;}
.cat-bar a[href*="categorie-decrocher-souffler"]:hover,.cat-bar a[href*="categorie-decrocher-souffler"].active{background:#6F8A6B;border-color:#6F8A6B;color:#FFFDFB;}
.cat-bar a[href*="categorie-actualites"]:hover,.cat-bar a[href*="categorie-actualites"].active{background:#9C7B4E;border-color:#9C7B4E;color:#FFFDFB;}

/* RDV 1er geste créatif : mention de remboursement (cartes d'offres) */
.epv-rembourse{margin:8px 0 10px;padding:8px 12px;border-left:3px solid var(--terracotta,#A2554D);background:#F9EEE6;border-radius:0 8px 8px 0;font-size:.85rem;line-height:1.45;color:#4A463F;}
/* Encart Ouverture : code de réduction */
.epv-code-promo{margin:12px 0 0;padding:10px 14px;background:#F9EEE6;border-radius:12px;font-size:.92rem;line-height:1.5;}
.epv-code-val{display:inline-block;padding:1px 10px;border:1.5px dashed var(--terracotta,#A2554D);border-radius:6px;font-weight:600;letter-spacing:.08em;color:var(--terracotta,#A2554D);background:#fff;user-select:all;-webkit-user-select:all;}

/* Parcours signature d'Épanovia (parcours exploration : RDV Cocon, Atelier Exploration,
   Cycle Le rythme des saisons) : logo « Épanovia Signature », seulement dans les titres.
   Le logo sert de masque : sa couleur se règle avec background-color. */
.epv-sig{display:inline-block;width:7.6em;height:3.1em;margin:-.7em 0 -.45em .3em;vertical-align:middle;background-color:#B0624D;
  -webkit-mask:url(images/epanovia-signature.png) no-repeat center/contain;mask:url(images/epanovia-signature.png) no-repeat center/contain;}
/* À côté (ou sous) une pastille de parcours, hors de la pastille */
.epv-sig-hors{font-size:1rem;margin:0 0 12px .6em;}
.epv-sig-centre{display:block;margin:-8px auto 10px;}
.epv-tag-ligne{display:flex;align-items:center;flex-wrap:wrap;margin-bottom:14px;}
.epv-tag-ligne .tag{margin-bottom:0 !important;}
.epv-tag-ligne .epv-sig{font-size:1rem;margin:0 0 0 .5em;}

/* ---------- Bandeau « Avant votre séance » : accès rapide aux Infos pratiques ----------
   Réutilisé sur l'accueil, les offres, le programme, la réservation, le calendrier,
   la demande par e-mail et les pages « Pour qui ». */
.epv-avant{display:flex;align-items:center;gap:16px 20px;flex-wrap:wrap;max-width:1040px;margin:26px auto 0;padding:16px 20px;
  background:var(--creme-clair,#FFFDFB);border:1px solid var(--beige,#EFDBCB);border-left:3px solid var(--vert-sauge,#93A38E);
  border-radius:0 16px 16px 0;box-shadow:0 4px 16px rgba(3,75,65,.06);text-align:left;}
.epv-avant-txt{flex:1 1 260px;min-width:0;font-size:.92rem;line-height:1.5;color:#4A463F;}
.epv-avant-txt strong{display:block;font-weight:500;color:var(--vert-profond,#034B41);font-size:1rem;margin-bottom:2px;}
.epv-avant-liens{display:flex;gap:8px;flex-wrap:wrap;}
.epv-avant-liens a{display:inline-flex;align-items:center;gap:7px;text-decoration:none;font-size:.86rem;font-weight:500;line-height:1.25;
  color:var(--vert-profond,#034B41);background:var(--creme,#FFF7F0);border:1.5px solid var(--vert-sauge,#93A38E);border-radius:999px;padding:8px 15px;
  transition:background .2s ease,color .2s ease,border-color .2s ease;}
.epv-avant-liens a:hover,.epv-avant-liens a:focus-visible{background:var(--vert-profond,#034B41);border-color:var(--vert-profond,#034B41);color:#fff;}
.epv-avant-liens svg{width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
@media(max-width:560px){.epv-avant{padding:14px 16px;}.epv-avant-liens{width:100%;}.epv-avant-liens a{flex:1 1 100%;justify-content:center;}}

/* Plan des parkings dessiné par Magali (infos-pratiques.html, infos-nfc.html) */
.epv-plan{margin:0 0 18px;}
.epv-plan-lien{position:relative;display:block;border-radius:14px;overflow:hidden;border:1px solid var(--beige,#EFDBCB);background:#FCF6F1;}
.epv-plan-lien img{display:block;width:100%;height:auto;}
.epv-plan-zoom{position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:500;line-height:1;
  color:#fff;background:rgba(3,75,65,.86);border-radius:999px;padding:7px 12px;pointer-events:none;}
.epv-plan-zoom svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;}
.epv-plan-lien:hover .epv-plan-zoom,.epv-plan-lien:focus-visible .epv-plan-zoom{background:var(--terracotta,#A2554D);}
.epv-plan figcaption{font-size:.8rem;color:#6b675c;margin-top:8px;line-height:1.45;}
/* Bouton « Infos pratiques » sous une réponse de FAQ */
.faq-item p.epv-faq-btn{margin:12px 0 0;}
