/* Calendrier XPANSION — styles propres à la page (le thème est dans ../shared/xp-theme.css). */

/* Prochaine rencontre */
.prochain{padding-bottom:8px}
.carte-prochaine{display:grid;grid-template-columns:auto 1fr;gap:12px 36px;align-items:center;padding:clamp(24px,4vw,40px);background:var(--carte);border-radius:20px;border-left:6px solid var(--rouge)}
.carte-prochaine .jour{font:700 clamp(56px,9vw,96px)/1 var(--titres);color:var(--rouge);text-align:center;min-width:1.4ch}
.carte-prochaine .jour small{display:block;font:600 15px/1.4 var(--corps);letter-spacing:.08em;text-transform:uppercase;color:var(--doux);margin-top:6px}
.carte-prochaine h3{font-size:clamp(24px,3vw,32px)}
.carte-prochaine .meta{margin:8px 0 18px;color:var(--doux)}
.carte-prochaine .type{margin:0 0 6px;font:700 13px/1 var(--corps);letter-spacing:.12em;text-transform:uppercase;color:var(--doux)}
@media(max-width:640px){.carte-prochaine{grid-template-columns:1fr}.carte-prochaine .jour{text-align:left}}

/* Outils */
.outils{display:flex;flex-wrap:wrap;gap:16px 32px;margin-bottom:20px}
.groupe{display:flex;flex-wrap:wrap;gap:4px}
.seg{min-height:44px;padding:0 18px;border:1px solid var(--ligne);background:var(--carte);color:var(--doux);border-radius:999px;font:600 15px/1.1 var(--corps);cursor:pointer}
.seg[aria-pressed="true"]{background:var(--encre);border-color:var(--encre);color:var(--papier)}
.etiq{display:inline-block;margin-left:6px;font-size:12px;font-weight:700;color:var(--ambre)}
.seg[aria-pressed="true"] .etiq{color:var(--jaune)}
.filtres{display:flex;flex-wrap:wrap;gap:2px 8px;margin:0 0 12px}
.filtre{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 12px;border:0;background:none;color:var(--doux);font:500 15px/1 var(--corps);cursor:pointer;border-radius:8px}
.filtre i{width:12px;height:12px;border-radius:3px;flex:none}
.filtre[aria-pressed="true"]{color:var(--encre);font-weight:700}
.filtre[aria-pressed="false"]{text-decoration:line-through;opacity:.7}
.avertissement{margin:0 0 16px;padding:14px 18px;border-left:4px solid var(--jaune);background:var(--ambre-d);border-radius:8px}
.avertissement[hidden]{display:none}
.fraicheur{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;margin-top:24px;font-size:14px;color:var(--doux)}
.fraicheur [data-erreur="true"]{color:var(--rouge);font-weight:700}

/* Affichages */
.agenda,.vue-mois,.vue-annee{display:none}
body[data-affichage="liste"] .agenda{display:block}
body[data-affichage="mois"] .vue-mois{display:block}
body[data-affichage="annee"] .vue-annee{display:block}

/* Liste */
.agenda .m{margin:0 0 40px}
.agenda .m>h3{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 6px;padding-bottom:10px;border-bottom:2px solid var(--encre);text-transform:capitalize;font-size:22px}
.agenda .m>h3 span{font:500 14px/1 var(--corps);color:var(--doux);text-transform:none}
.agenda ul{list-style:none;margin:0;padding:0}
.agenda li{border-bottom:1px solid var(--ligne)}
.agenda-row{display:grid;grid-template-columns:72px 1fr;gap:4px 20px;width:100%;min-height:72px;padding:16px 8px;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:8px}
.agenda-row:hover{background:var(--carte)}
.agenda-row .q{font:600 13px/1.2 var(--corps);text-transform:uppercase;letter-spacing:.06em;color:var(--doux);text-align:center}
.agenda-row .q b{display:block;font:700 30px/1.05 var(--titres);color:var(--encre);letter-spacing:0}
.agenda-row .c b{display:block;font:600 18px/1.35 var(--titres)}
.agenda-row .c small{display:block;margin-top:4px;font-size:15px;color:var(--doux)}
.agenda li.ATELIER .q b{box-shadow:inset 0 -4px 0 var(--ambre)}
.agenda li.WEBINAIRE .q b{box-shadow:inset 0 -4px 0 var(--rouge)}
.agenda li.LAB .q b{box-shadow:inset 0 -4px 0 var(--vert)}
.agenda li.MENTORAT .q b{box-shadow:inset 0 -4px 0 var(--mento)}
.agenda li.VAC{background:var(--zone-d)}
.proposition{display:inline-block;margin-left:10px;font:700 12px/1 var(--corps);color:var(--ambre);letter-spacing:.06em;text-transform:uppercase}
.agenda-vide{padding:24px 0;color:var(--doux)}

/* Mois */
.mois-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.mois-nav h3{text-transform:capitalize;font-size:24px}
.mois-nav .btn{min-width:48px;padding:0}
.mois-grille{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--ligne);border-left:1px solid var(--ligne)}
.semaine-label{padding:10px 4px;text-align:center;font:700 13px/1 var(--corps);color:var(--doux);border-right:1px solid var(--ligne);border-bottom:1px solid var(--ligne)}
.case{min-height:116px;padding:8px;display:flex;flex-direction:column;align-items:stretch;gap:4px;text-align:left;font:inherit;color:var(--encre);background:var(--carte);border:0;border-right:1px solid var(--ligne);border-bottom:1px solid var(--ligne);cursor:pointer}
.case.vide{background:var(--papier);cursor:default}
.case:hover:not(.vide){background:var(--we)}
.case>b{font:700 15px/1 var(--titres)}
.case.aujourdhui>b{color:var(--rouge)}
.case>small,.vac-tag{font-size:12px;color:var(--doux);line-height:1.3}
.case .lib{display:block;padding:4px 6px;font-size:12.5px;line-height:1.3;font-weight:600;border-radius:4px;overflow-wrap:anywhere}
.lib.ATELIER{background:var(--ambre-d);color:var(--ambre)}
.lib.WEBINAIRE{background:var(--rouge-doux);color:var(--rouge)}
.lib.LAB{background:var(--vert-d);color:var(--vert)}
.lib.MENTORAT{background:var(--mento-d);color:var(--mento)}
.lib small{display:block;font-weight:500}

/* Année : outil secondaire, défilement horizontal assumé */
.defile{overflow-x:auto;border:1px solid var(--ligne);border-radius:12px;background:var(--carte)}
.grille{display:grid;grid-template-columns:repeat(12,minmax(112px,1fr));min-width:1340px}
.grille .mois{border-right:1px solid var(--ligne)}
.grille .mois:last-child{border-right:0}
.grille .titre{margin:0;padding:10px 8px;font:700 13px/1.2 var(--titres);text-transform:uppercase;letter-spacing:.06em;border-bottom:2px solid var(--encre)}
.grille .titre span{display:block;font:500 12px/1.2 var(--corps);color:var(--doux);letter-spacing:0}
.j{position:relative;display:flex;align-items:center;gap:4px;width:100%;height:30px;padding:0 8px 0 4px;border:0;border-top:1px solid var(--ligne);background:none;color:var(--encre);font:inherit;text-align:left;cursor:pointer}
.j.vide{border-top-color:transparent;cursor:default}
.j.we{background:var(--we)}
.j.fer{background:var(--fer)}
.j:hover:not(.vide){box-shadow:inset 0 0 0 2px var(--encre)}
.j.aujourdhui{box-shadow:inset 0 0 0 2px var(--rouge)}
.j .n{flex:none;width:20px;text-align:right;font-size:12px;font-variant-numeric:tabular-nums;color:var(--doux)}
.j .w{flex:none;width:10px;font-size:10px;color:var(--doux);text-transform:uppercase}
.j .lib{flex:1;min-width:0;padding:2px 5px;font-size:12px;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zones{position:absolute;right:0;top:0;bottom:0;display:flex}
.zones i{width:3px;opacity:0}.zones i.on{opacity:1}
.zones i.a{background:var(--zA)}.zones i.b{background:var(--zB)}.zones i.c{background:var(--zC)}
@media(max-width:900px){body[data-affichage="annee"] .vue-annee .note{display:block}}

/* Abonnement et légende */
.deux{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px}
.deux h3{margin-bottom:10px}
.abonnement input{width:100%;min-height:48px;margin:6px 0;padding:0 14px;border:1px solid var(--ligne);border-radius:10px;background:var(--carte);color:var(--encre);font:inherit}
.abonnement .actions{margin:18px 0 14px}
.legende{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px 28px}
.legende li{display:flex;align-items:center;gap:12px;color:var(--doux)}
.legende b{width:14px;height:14px;border-radius:3px;flex:none}

/* Panneau jour */
dialog{width:min(480px,calc(100% - 32px));padding:26px;border:1px solid var(--ligne);border-radius:16px;background:var(--carte);color:var(--encre)}
dialog::backdrop{background:rgba(10,10,10,.5)}
dialog .d{margin:6px 0 18px;color:var(--doux);font-size:15px}
dialog ul{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:18px}
dialog li{padding-left:14px;border-left:4px solid var(--ligne)}
dialog li.ATELIER{border-color:var(--ambre)}dialog li.WEBINAIRE{border-color:var(--rouge)}
dialog li.LAB{border-color:var(--vert)}dialog li.MENTORAT{border-color:var(--mento)}dialog li.VAC{border-color:var(--zC)}
dialog li b{display:block;font:600 18px/1.3 var(--titres)}
dialog li small{display:block;margin:2px 0 10px;color:var(--doux);font-size:15px}
dialog li .actions{margin-bottom:8px}

@media(max-width:640px){
  .agenda-row{grid-template-columns:56px 1fr;gap:4px 14px}
  .case{min-height:84px;padding:4px}
  .case .lib{font-size:11px;padding:3px}
  .case>small,.vac-tag{font-size:10.5px}
}
@media print{
  .site-header,.site-footer,.hero,.prochain,.outils,.filtres,.fraicheur,.abonnement,.agenda,.vue-mois,.note,.legende,#legende-titre,#agenda-titre{display:none!important}
  .vue-annee{display:block!important}.defile{overflow:visible;border:0}.grille{min-width:0}.j{height:22px}
  @page{size:A3 landscape;margin:10mm}
}
