/* ⚠️ ATTENTION · STRUCTURE PROTÉGÉE · Madame Ananas · ASL Legacy. Avant toute modification de ce fichier (par une personne ou une IA), lire AVANT-DE-MODIFIER.md à la racine du site.
   Toute modification de structure est signalée dans l'administration et relève de la responsabilité de la personne qui la fait. */
/* MADAME ANANAS · Conversations : Les Rencontres (calendrier, fiche, inscription) et inscription Mille-Feuilles */

/* Calendrier + liste */
.rv2{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:start}
.rv2-cal{background:var(--blanc);border:1px solid var(--creme-f);padding:18px 16px 14px;position:sticky;top:110px}
.rv2-cal-tete{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.rv2-cal-tete b{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:20px;color:var(--encre);text-transform:capitalize}
.rv2-cal-tete button{width:34px;height:34px;border:1px solid var(--creme-f);border-radius:50%;background:transparent;color:var(--vert);font-size:20px;line-height:1;cursor:pointer}
.rv2-cal-tete button:hover{border-color:var(--or)}
.rv2-cal-jours,.rv2-cal-grille{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}
.rv2-cal-jours span{font-size:10.5px;letter-spacing:1px;color:var(--encre-s);padding-bottom:6px}
.rv2-cal-grille .j{position:relative;display:flex;align-items:center;justify-content:center;height:32px;font-size:13.5px;color:var(--encre-s);border:none;background:none;font-family:inherit}
.rv2-cal-grille .j.auj{color:var(--encre);font-weight:600}
.rv2-cal-grille button.j{cursor:pointer;color:var(--vert-d,#3A5539);font-weight:600}
.rv2-cal-grille button.j::after{content:'';position:absolute;left:50%;bottom:3px;width:16px;height:2px;margin-left:-8px;background:var(--or)}
.rv2-cal-grille button.j.passe{color:var(--encre-s);font-weight:400}
.rv2-cal-grille button.j.passe::after{background:var(--creme-f)}
.rv2-cal-grille button.j.choisi{background:var(--vert);color:var(--ivoire);border-radius:50%;width:32px;margin:0 auto}
.rv2-cal-grille button.j.choisi::after{display:none}
.rv2-cal-grille button.j i{position:absolute;top:1px;right:2px;font-style:normal;font-size:9px;color:var(--or)}
.rv2-cal-grille button.j:focus-visible,.rv2-cal-tete button:focus-visible{outline:1px solid var(--or);outline-offset:2px}
.rv2-cal-aide{font-size:12px;color:var(--encre-s);margin-top:10px;font-style:italic;font-family:'EB Garamond',serif}
.rv2-filtre{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px;font-family:'Cormorant Garamond',serif;font-size:19px;color:var(--encre)}
.rv2-filtre button,.rv2-passees summary{background:none;border:none;color:var(--or);font-family:inherit;font-size:14.5px;cursor:pointer;border-bottom:1px solid rgba(200,152,59,.45);padding:0 0 2px}
.rv2-vide{font-family:'EB Garamond',serif;font-style:italic;color:var(--encre-s);font-size:16px}
.rv2-passees{margin-top:26px}
.rv2-passees summary{list-style:none;display:inline-block;margin-bottom:14px;font-size:13px;letter-spacing:2px;text-transform:uppercase;border:none}
.rv2-passees summary::-webkit-details-marker{display:none}
.rv2-passees .rv2-carte{opacity:.8}
.rv2-heure{font-size:13.5px!important;color:var(--vert)!important;margin:0 0 6px!important}
.rv2-carte .cv-rdv-txt p{font-size:14.5px;line-height:1.55;color:var(--encre-m)}
.rv2-carte button.cv-lien{background:none;border:none;font-family:inherit;cursor:pointer}
.rv2-carte.est-annulee h3{text-decoration:line-through;color:var(--encre-s)}
.cv-statut.annule{background:transparent;border:1px solid #B8735F;color:#8E4B3B}
.cv-statut.reporte{background:transparent;border:1px solid var(--or,#C8983B);color:#8A6A28}
.cv-statut.lieu-change{background:#F4EAD3;border:1px solid #E3CF9F;color:#7A5E22}
.rv2-badges{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}
.rv2-fiche-txt .rv2-badges{margin-bottom:4px}
.rv2-avis{margin:10px 0 0;padding:2px 0 2px 12px;border-left:2px solid var(--or,#C8983B);font-style:italic;font-size:15px;line-height:1.5;color:var(--encre,#3A382F)}
.rv2-carte.est-reportee .cv-date{opacity:.55}

/* Fiche d'une rencontre */
.rv2-fiche{margin:auto;width:min(720px,calc(100vw - 24px));max-height:calc(100vh - 32px);padding:0;border:none;background:var(--ivoire);color:var(--encre);box-shadow:0 30px 80px rgba(0,0,0,.35);overflow:auto}
.rv2-fiche::backdrop{background:rgba(58,56,47,.55)}
.rv2-fermer{position:sticky;top:10px;float:right;margin:10px 10px -46px 0;z-index:2;width:38px;height:38px;border-radius:50%;border:none;background:rgba(254,253,251,.92);color:var(--encre);font-size:24px;line-height:1;cursor:pointer}
.rv2-fiche-img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.rv2-fiche-txt{padding:26px 30px 32px}
.rv2-fiche-txt .lieu{font-size:10.5px;letter-spacing:2.5px;text-transform:uppercase;color:var(--or)}
.rv2-fiche-txt h3{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(26px,3.4vw,34px);line-height:1.15;margin:8px 0 10px}
.rv2-quand{font-family:'EB Garamond',serif;font-size:17px;color:var(--vert);margin-bottom:14px;text-transform:none}
.rv2-quand::first-letter{text-transform:uppercase}
.rv2-desc{margin:18px 0 6px;font-size:16px;line-height:1.7;color:var(--encre-m)}
.rv2-desc p{margin:0 0 .8em}
.rv2-note{font-family:'EB Garamond',serif;font-style:italic;font-size:16.5px;color:var(--encre-s);margin-top:18px}

/* Formulaire d'inscription */
.rv2-form{margin-top:24px;padding-top:22px;border-top:1px solid var(--creme-f);display:grid;gap:14px}
.rv2-form h4{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:24px;margin:0}
.rv2-form label{display:grid;gap:6px;font-size:13.5px;color:var(--encre-m)}
.rv2-form input,.rv2-form select{font:inherit;font-size:16px;padding:12px 14px;border:1px solid var(--creme-f);background:var(--blanc);color:var(--encre);border-radius:2px;min-width:0}
.rv2-form input:focus,.rv2-form select:focus{outline:none;border-color:var(--or)}
.rv2-form small{font-size:12.5px;color:var(--encre-s)}
.rv2-tel{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr);gap:8px}
.rv2-case{display:flex!important;grid-template-columns:none;align-items:flex-start;gap:10px!important;font-size:14px!important;line-height:1.5}
.rv2-case input{width:18px;height:18px;margin-top:2px;flex:none;accent-color:var(--vert);padding:0}
.rv2-pot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0}
.rv2-mention{font-size:12.5px;color:var(--encre-s);margin:0}
.rv2-envoyer,.mf-inscription button{justify-self:start;background:var(--vert);color:var(--ivoire);border:none;padding:15px 30px;font-family:'EB Garamond',serif;font-size:12.5px;letter-spacing:2.5px;text-transform:uppercase;cursor:pointer}
.rv2-envoyer:hover{background:var(--vert-d,#3A5539)}
.rv2-envoyer:disabled,.mf-inscription button:disabled{opacity:.6;cursor:default}
.rv2-retour,.mf-retour{font-size:14.5px;margin:0;min-height:1.2em}
.rv2-retour.ok,.mf-retour.ok{color:var(--vert);font-family:'EB Garamond',serif;font-style:italic;font-size:17px}
.rv2-retour.ko{color:#9A3B2E}
.rv2-autres{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:20px;font-size:14px;color:var(--encre-s)}
.rv2-wa,.rv2-ext{color:var(--or);text-decoration:none;border-bottom:1px solid rgba(200,152,59,.45);padding-bottom:2px}
.rv2-note + .rv2-wa{display:inline-block;margin-top:8px}

/* Mille-Feuilles : inscription discrète (fond sombre) */
.mf-inscription{margin-top:36px;max-width:480px;display:grid;gap:12px}
.mf-inscription .mf-lignes{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:8px}
.mf-inscription input[type=text],.mf-inscription input[type=email]{font-family:'EB Garamond',serif;font-size:16px;padding:14px 16px;background:transparent;border:1px solid rgba(247,244,238,.28);color:var(--ivoire);border-radius:0;min-width:0}
.mf-inscription input::placeholder{color:rgba(247,244,238,.5)}
.mf-inscription input:focus{outline:none;border-color:var(--or-l)}
.mf-inscription .mf-accord{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.5;color:rgba(247,244,238,.72)}
.mf-inscription .mf-accord input{width:17px;height:17px;margin-top:2px;flex:none;accent-color:var(--or)}
.mf-inscription button{background:var(--or);color:var(--encre)}
.mf-inscription button:hover{background:var(--or-l)}
.mf-inscription .mf-retour.ok{color:var(--or-l)}
.mf-inscription .mf-retour.ko{color:#F0B8A8}
.mf-inscription.envoye .mf-lignes,.mf-inscription.envoye .mf-accord,.mf-inscription.envoye button{display:none}

@media (max-width:860px){
  .rv2{grid-template-columns:1fr}
  .rv2-cal{position:static;max-width:360px}
}
@media (max-width:560px){
  .rv2-tel{grid-template-columns:1fr}
  .rv2-fiche-txt{padding:22px 20px 26px}
  .mf-inscription .mf-lignes{grid-template-columns:1fr}
}

/* Retour sur une rencontre passée */
.rv2-vignettes{display:flex;gap:6px;margin:8px 0 2px;align-items:center}
.rv2-vignettes img{width:46px;height:46px;object-fit:cover}
.rv2-vignettes span{font-size:12.5px;color:var(--encre-s)}
.rv2-retour-bloc{margin-top:22px;padding-top:20px;border-top:1px solid var(--creme-f)}
.rv2-retour-bloc h4{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:24px;margin:0 0 6px}
.rv2-carrousel{margin-top:14px}
.rv2-galerie{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;outline:none}
.rv2-galerie::-webkit-scrollbar{display:none}
.rv2-galerie button{flex:0 0 78%;max-width:440px;scroll-snap-align:start;padding:0;border:none;background:none;cursor:zoom-in}
.rv2-galerie button:only-child{flex-basis:100%;max-width:none}
.rv2-galerie img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;transition:opacity .3s}
.rv2-car-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:10px}
.rv2-car-nav button{width:38px;height:38px;border-radius:50%;border:1px solid var(--creme-f,#EDE6D8);background:transparent;color:var(--vert,#4B6B4C);font-size:22px;line-height:1;cursor:pointer;transition:border-color .3s,background .3s}
.rv2-car-nav button:hover,.rv2-car-nav button:focus-visible{border-color:var(--or,#C8983B);background:var(--blanc,#FEFDFB);outline:none}
.rv2-car-n{font-family:'EB Garamond',serif;font-style:italic;font-size:14px;color:var(--encre-s,#736F58);min-width:52px;text-align:center}
.rv2-galerie button:hover img{opacity:.85}
.rv2-visionneuse{position:fixed;inset:0;z-index:20;background:rgba(30,29,24,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px 16px}
.rv2-visionneuse img{max-width:100%;max-height:calc(100vh - 140px);object-fit:contain}
.rv2-visionneuse p{color:rgba(247,244,238,.8);font-family:'EB Garamond',serif;font-style:italic;margin-top:12px;text-align:center}
.rv2-visionneuse button{position:absolute;background:rgba(247,244,238,.12);border:none;color:var(--ivoire);width:44px;height:44px;border-radius:50%;font-size:26px;line-height:1;cursor:pointer}
.rv2-visionneuse .vp{left:12px;top:50%}
.rv2-visionneuse .vs{right:12px;top:50%}
.rv2-visionneuse .vf{right:12px;top:12px}
.rv2-visionneuse .vc{position:absolute;bottom:16px;color:rgba(247,244,238,.7);font-size:13px}
/* Aucune rencontre à venir : bloc d'attente puis rencontres passées */
.rv2-passees-seules{margin-top:30px}
.rv2-passees-seules .cv-avenir-titre{margin-bottom:14px}
.rv2-passees-seules .rv2-carte + .rv2-carte{margin-top:14px}
/* Partage d'une rencontre : menu déroulant discret */
.rv2-partage{position:relative;display:inline-block}
.rv2-partage summary{list-style:none;display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-family:'EB Garamond',serif;font-style:italic;font-size:14px;color:var(--encre-s,#736F58);padding:4px 2px;border-bottom:1px solid transparent;transition:color .3s,border-color .3s}
.rv2-partage summary::-webkit-details-marker{display:none}
.rv2-partage summary svg{width:15px;height:15px}
.rv2-partage summary:hover,.rv2-partage summary:focus-visible,.rv2-partage[open] summary{color:var(--vert,#4B6B4C);border-bottom-color:rgba(200,152,59,.45);outline:none}
.rv2-partage-menu{position:absolute;z-index:20;left:0;bottom:calc(100% + 8px);min-width:210px;display:flex;flex-direction:column;padding:6px;background:var(--blanc,#FEFDFB);border:1px solid var(--creme-f,#EDE6D8);box-shadow:0 12px 30px rgba(58,56,47,.14)}
.rv2-partage-menu a,.rv2-partage-menu button{display:flex;align-items:center;gap:10px;padding:9px 10px;border:none;background:none;font:inherit;font-size:14.5px;color:var(--encre,#3A382F);text-decoration:none;text-align:left;cursor:pointer;transition:background .2s,color .2s}
.rv2-partage-menu a:hover,.rv2-partage-menu button:hover,.rv2-partage-menu a:focus-visible,.rv2-partage-menu button:focus-visible{background:var(--ivoire,#F7F4EE);color:var(--vert,#4B6B4C);outline:none}
.rv2-partage-menu svg{width:17px;height:17px;flex:none;color:var(--vert,#4B6B4C)}
.rv2-partage-menu .copie{color:var(--vert,#4B6B4C)}
.rv2-fiche .rv2-partage{display:block;width:max-content;margin:-4px 0 14px}
.rv2-fiche .rv2-partage-menu{bottom:auto;top:calc(100% + 6px)}
.cv-rdv-pied .rv2-partage{margin-right:auto;margin-left:14px;order:2}
.cv-rdv-pied > .cv-statut,.cv-rdv-pied > .rv2-badges{order:1}
.cv-rdv-pied > .rv2-ouvrir{order:3}
