/* =====================================================================
   CRF connect : sélecteur de date (dist/js/crf-calendrier.js)
   Couleurs de la nouvelle interface quand elle est active (variables de crf-v2.css), sinon équivalents fixes.
   ===================================================================== */
.crf-cal-champ{cursor:pointer;caret-color:transparent;}
.form-control.crf-cal-champ[readonly]{background-color:var(--em-input,#fff);}
.crf-cal-champ::-webkit-calendar-picker-indicator{cursor:pointer;}
/* Pas de overflow:hidden sur la page (la barre de défilement disparaîtrait et le site « sauterait ») : le défilement est bloqué par le script au-dessus de la fenêtre */

.crf-cal-bg{position:fixed;inset:0;z-index:1070;background:rgba(15,18,30,.45);display:flex;align-items:center;justify-content:center;padding:16px;}
.crf-cal-bg[hidden]{display:none;}
.crf-cal{width:340px;max-width:100%;max-height:100%;overflow:auto;background:var(--em-card,#fff);color:var(--em-ink,#1f2430);border-radius:24px;box-shadow:0 18px 50px rgba(10,12,24,.35);font-family:var(--em-font-body,"Roboto","Segoe UI",system-ui,sans-serif);outline:none;}
.crf-cal-tete{padding:18px 22px 14px;border-bottom:1px solid var(--em-line,#e3e6ec);}
.crf-cal-titre{font-size:.82rem;font-weight:500;color:var(--em-muted,#5f6676);margin-bottom:12px;}
.crf-cal-date{font-size:1.9rem;line-height:1.15;font-weight:400;color:var(--em-ink,#1f2430);}
.crf-cal-date.vide{color:var(--em-muted,#5f6676);font-size:1.5rem;}

.crf-cal-nav{display:flex;align-items:center;gap:2px;padding:10px 12px 4px 16px;}
.crf-cal-espace{flex:1;}
.crf-cal-mois{border:0;background:transparent;color:var(--em-ink,#1f2430);font-weight:600;font-size:.92rem;padding:6px 8px;border-radius:8px;cursor:pointer;}
.crf-cal-mois:hover{background:var(--em-chip,#eceef3);}
.crf-cal-mois i{font-size:.75rem;color:var(--em-muted,#5f6676);margin-left:2px;}
.crf-cal-ico{border:0;background:transparent;color:var(--em-ink,#1f2430);width:36px;height:36px;border-radius:50%;cursor:pointer;}
.crf-cal-ico:hover{background:var(--em-chip,#eceef3);}
.crf-cal-ico[hidden]{display:none;}

.crf-cal-corps{padding:0 12px 6px;min-height:288px;}
.crf-cal-entetes,.crf-cal-jours{display:grid;grid-template-columns:repeat(7,1fr);}
.crf-cal-entetes span{text-align:center;font-size:.78rem;font-weight:500;color:var(--em-muted,#5f6676);padding:8px 0;}
.crf-cal-jours>span,.crf-cal-jour{height:40px;}
.crf-cal-jour{width:40px;margin:2px auto;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--em-ink,#1f2430);font-size:.9rem;cursor:pointer;font-variant-numeric:tabular-nums;}
.crf-cal-jour:hover{background:var(--em-chip,#eceef3);}
.crf-cal-jour.auj{border-color:var(--em-rose-btn,#3f57c4);color:var(--em-rose,#3f57c4);}
.crf-cal-jour.sel{background:var(--em-rose-btn,#3f57c4);border-color:var(--em-rose-btn,#3f57c4);color:#fff;font-weight:600;}
.crf-cal-jour:disabled{opacity:.3;cursor:default;background:transparent;}
.crf-cal-jour:focus-visible,.crf-cal-an:focus-visible,.crf-cal-m:focus-visible,.crf-cal-action:focus-visible,.crf-cal-ico:focus-visible,.crf-cal-mois:focus-visible{outline:2px solid var(--em-rose,#3f57c4);outline-offset:2px;}

.crf-cal-annees{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;max-height:288px;overflow-y:auto;padding:6px 4px;}
.crf-cal-moisliste{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 4px;}
.crf-cal-annees[hidden],.crf-cal-moisliste[hidden],.crf-cal-grille[hidden]{display:none;}
.crf-cal-an,.crf-cal-m{border:0;background:transparent;color:var(--em-ink,#1f2430);padding:10px 0;border-radius:999px;cursor:pointer;font-size:.9rem;}
.crf-cal-an:hover,.crf-cal-m:hover{background:var(--em-chip,#eceef3);}
.crf-cal-an.sel,.crf-cal-m.sel{background:var(--em-rose-btn,#3f57c4);color:#fff;font-weight:600;}
.crf-cal-m:disabled{opacity:.3;cursor:default;}

.crf-cal-pied{display:flex;align-items:center;gap:4px;padding:6px 14px 14px;}
.crf-cal-action{border:0;background:transparent;color:var(--em-rose,#3f57c4);font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:10px 14px;border-radius:8px;cursor:pointer;font-size:.88rem;}
.crf-cal-action:hover{background:var(--em-rose-soft,#e6ebfd);}
.crf-cal-action:disabled{color:var(--em-muted,#5f6676);opacity:.5;cursor:default;background:transparent;}
.crf-cal-action[hidden]{display:none;}
.crf-cal-action[data-action="effacer"]{color:var(--em-muted,#5f6676);}
@media (max-width: 380px){ .crf-cal-jour{width:36px;height:36px;} .crf-cal-date{font-size:1.6rem;} }
