.lfcrmx-public-calendar { max-width:1180px; margin:0 auto; }
.lfcrmx-public-calendar .lfcrmx-filter-panel { margin:0 0 28px; padding:18px; border:1px solid #dfe5e8; border-radius:14px; background:#fff; box-shadow:0 5px 22px rgba(23,70,100,.07); }
.lfcrmx-public-calendar .lfcrmx-pole-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.lfcrmx-public-calendar .lfcrmx-filter-chip { display:inline-flex; align-items:center; min-height:38px; padding:7px 13px; border:1px solid #174664; border-radius:999px; color:#174664; background:#fff; font-size:14px; font-weight:700; text-decoration:none; }
.lfcrmx-public-calendar .lfcrmx-filter-chip:hover,.lfcrmx-public-calendar .lfcrmx-filter-chip:focus,.lfcrmx-public-calendar .lfcrmx-filter-chip.is-active { color:#fff; background:#174664; }
.lfcrmx-public-calendar .lfcrmx-filter-chip.cal-domain-beaute-esthetique { border-color:#247c68; color:#247c68; background:#e4f5ed; }
.lfcrmx-public-calendar .lfcrmx-filter-chip.cal-domain-bijouterie { border-color:#b77616; color:#925b0b; background:#fff2d5; }
.lfcrmx-public-calendar .lfcrmx-filter-chip.cal-domain-activite { border-color:#6d4b8d; color:#684286; background:#f0e8f7; }
.lfcrmx-public-calendar .lfcrmx-filter-chip.cal-domain-objectif-emploi { border-color:#174664; color:#174664; background:#e5f0f6; }
.lfcrmx-public-calendar .lfcrmx-filter-chip.cal-domain-beaute-esthetique:hover,.lfcrmx-public-calendar .lfcrmx-filter-chip.cal-domain-beaute-esthetique:focus,.lfcrmx-public-calendar .lfcrmx-filter-chip.cal-domain-beaute-esthetique.is-active { color:#fff; background:#247c68; }
.lfcrmx-public-calendar .lfcrmx-filter-chip.cal-domain-bijouterie:hover,.lfcrmx-public-calendar .lfcrmx-filter-chip.cal-domain-bijouterie:focus,.lfcrmx-public-calendar .lfcrmx-filter-chip.cal-domain-bijouterie.is-active { color:#fff; background:#b77616; }
.lfcrmx-public-calendar .lfcrmx-filter-chip.cal-domain-activite:hover,.lfcrmx-public-calendar .lfcrmx-filter-chip.cal-domain-activite:focus,.lfcrmx-public-calendar .lfcrmx-filter-chip.cal-domain-activite.is-active { color:#fff; background:#6d4b8d; }
.lfcrmx-public-calendar .lfcrmx-filter-chip.cal-domain-objectif-emploi:hover,.lfcrmx-public-calendar .lfcrmx-filter-chip.cal-domain-objectif-emploi:focus,.lfcrmx-public-calendar .lfcrmx-filter-chip.cal-domain-objectif-emploi.is-active { color:#fff; background:#174664; }
.lfcrmx-public-calendar .lfcrmx-select-filters { display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px; }
.lfcrmx-public-calendar .lfcrmx-select-filters label { display:flex; flex-direction:column; gap:5px; margin:0; color:#263a47; font-size:13px; font-weight:700; }
.lfcrmx-public-calendar .lfcrmx-select-filters input,.lfcrmx-public-calendar .lfcrmx-select-filters select { min-height:42px; margin:0; padding:7px 10px; border:1px solid #bdc8ce; border-radius:8px; background:#fff; color:#1d2e38; }
.lfcrmx-public-calendar .lfcrmx-select-filters button { min-height:42px; margin:0; padding:8px 17px; border:0; border-radius:8px; background:#174664; color:#fff; font-weight:700; cursor:pointer; }
.lfcrmx-public-calendar .lfcrmx-reset { min-height:42px; display:inline-flex; align-items:center; padding:0 4px; color:#174664; font-size:14px; font-weight:700; }
.lfcrmx-public-calendar .lfcrmx-session-list { display:flex; flex-direction:column; gap:12px; }
.lfcrmx-public-calendar .lfcrmx-month-title { margin:24px 0 4px; color:#174664; font-size:25px; text-transform:capitalize; }
.lfcrmx-public-calendar .lfcrmx-session-row { display:grid; grid-template-columns:72px minmax(0,1fr) auto; gap:18px; align-items:center; padding:18px; border:1px solid #e0e5e8; border-left:5px solid #174664; border-radius:12px; background:#fff; box-shadow:0 3px 14px rgba(23,70,100,.06); }
.lfcrmx-public-calendar .lfcrmx-session-row.cal-domain-bijouterie { border-left-color:#b77616; }
.lfcrmx-public-calendar .lfcrmx-session-row.cal-domain-beaute-esthetique { border-left-color:#247c68; }
.lfcrmx-public-calendar .lfcrmx-session-row.cal-domain-activite { border-left-color:#6d4b8d; }
.lfcrmx-public-calendar .lfcrmx-session-row.cal-domain-objectif-emploi { border-left-color:#174664; }
.lfcrmx-public-calendar .lfcrmx-date { width:62px; padding:10px 5px; border-radius:10px; background:#eef4f7; color:#174664; text-align:center; text-transform:uppercase; }
.lfcrmx-public-calendar .lfcrmx-date strong { display:block; font-size:27px; line-height:1; }
.lfcrmx-public-calendar .lfcrmx-date span { display:block; margin-top:5px; font-size:13px; font-weight:800; }
.lfcrmx-public-calendar .lfcrmx-session-heading { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:7px; }
.lfcrmx-public-calendar .cal-tag,.lfcrmx-public-calendar .cal-status { display:inline-flex; align-items:center; min-height:27px; padding:4px 9px; border-radius:999px; font-size:12px; font-weight:800; }
.lfcrmx-public-calendar .cal-status { background:#dff6e7; color:#176b37; }
.lfcrmx-public-calendar .lfcrmp-closed-label { background:#e5e7eb; color:#4b5563; }
.lfcrmx-public-calendar .lfcrmx-session-main h3 { margin:0 0 5px; color:#172f3d; font-size:18px; line-height:1.35; }
.lfcrmx-public-calendar .formation { margin:0 0 8px; color:#5d6970; font-size:14px; }
.lfcrmx-public-calendar .lfcrmx-session-meta { display:flex; flex-wrap:wrap; gap:6px 18px; color:#44545e; font-size:14px; }
.lfcrmx-public-calendar .lfcrmx-public-schedule { margin:11px 0 0; padding:9px 12px; border-left:3px solid #174664; background:#f5f7f8; }
.lfcrmx-public-calendar .lfcrmx-public-schedule summary { color:#174664; font-weight:700; cursor:pointer; }
.lfcrmx-public-calendar .lfcrmx-public-schedule ul { margin:8px 0 0 18px; }
.lfcrmx-public-calendar .cal-actions { display:flex; flex-direction:column; gap:7px; min-width:132px; }
.lfcrmx-public-calendar .cal-actions a { display:inline-flex; justify-content:center; margin:0; padding:9px 12px; border-radius:8px; font-size:13px; font-weight:800; text-align:center; text-decoration:none; }
.lfcrmx-public-calendar .cal-actions .primary { background:#174664; color:#fff; }
.lfcrmx-public-calendar .cal-actions .secondary { border:1px solid #174664; background:#fff; color:#174664; }
.lfcrmx-public-calendar .lfcrmp-public-closed { background:#f8f9fa; }
.lfcrmx-public-calendar .lfcrmx-closed-notice { min-width:132px; padding:11px 12px; border:1px solid #747c82; border-radius:8px; background:#e9ecee; color:#4b565d; font-size:13px; font-weight:800; line-height:1.25; text-align:center; text-transform:uppercase; }
.lfcrmx-public-calendar .cal-empty { padding:24px; border-radius:10px; background:#f5f7f8; text-align:center; }
@media (max-width:720px) {
    .lfcrmx-public-calendar .lfcrmx-filter-panel { padding:14px; }
    .lfcrmx-public-calendar .lfcrmx-filter-chip { font-size:13px; }
    .lfcrmx-public-calendar .lfcrmx-select-filters label { width:100%; }
    .lfcrmx-public-calendar .lfcrmx-select-filters input,.lfcrmx-public-calendar .lfcrmx-select-filters select { width:100%; }
    .lfcrmx-public-calendar .lfcrmx-session-row { grid-template-columns:58px minmax(0,1fr); gap:12px; padding:14px; }
    .lfcrmx-public-calendar .lfcrmx-date { width:52px; }
    .lfcrmx-public-calendar .lfcrmx-date strong { font-size:23px; }
    .lfcrmx-public-calendar .cal-actions { grid-column:1 / -1; flex-direction:row; }
    .lfcrmx-public-calendar .cal-actions a { flex:1; }
    .lfcrmx-public-calendar .lfcrmx-closed-notice { grid-column:1 / -1; width:100%; box-sizing:border-box; }
    .lfcrmx-public-calendar .lfcrmx-session-main h3 { font-size:16px; }
}
.lfcrmx-home-sessions { width:100%; max-width:1100px; margin:8px auto 0; }
.lfcrmx-home-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.lfcrmx-home-card { display:flex; flex-direction:column; min-width:0; padding:19px; border:1px solid #e0e5e8; border-top:5px solid #174664; border-radius:16px; background:rgba(255,255,255,.94); box-shadow:0 8px 25px rgba(23,70,100,.09); text-align:left; }
.lfcrmx-home-card.cal-domain-beaute-esthetique { border-top-color:#247c68; }
.lfcrmx-home-card.cal-domain-bijouterie { border-top-color:#b77616; }
.lfcrmx-home-card.cal-domain-activite { border-top-color:#6d4b8d; }
.lfcrmx-home-card.cal-domain-objectif-emploi { border-top-color:#174664; }
.lfcrmx-home-card-top { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; margin-bottom:12px; }
.lfcrmx-home-card .cal-tag { display:inline-flex; padding:4px 9px; border-radius:999px; font-size:12px; font-weight:800; }
.lfcrmx-home-card .lfcrmx-home-date { color:#4f6572; font-size:13px; font-weight:700; text-transform:uppercase; }
.lfcrmx-home-card .lfcrmx-home-date strong { color:#174664; font-size:22px; }
.lfcrmx-home-card h3 { margin:0 0 10px; color:#172f3d; font-size:18px; line-height:1.3; }
.lfcrmx-home-range { margin:0 0 8px; color:#52636d; font-size:14px; }
.lfcrmx-home-places { margin:0 0 15px; color:#176b37; font-size:14px; }
.lfcrmx-home-book { display:block; margin-top:auto; padding:10px 14px; border-radius:9px; background:#174664; color:#fff !important; font-weight:800; text-align:center; text-decoration:none !important; }
.lfcrmx-home-all { margin:22px 0 0; text-align:center; }
.lfcrmx-home-all a { display:inline-flex; padding:11px 22px; border:2px solid #174664; border-radius:999px; color:#174664; font-weight:800; text-decoration:none; }
.lfcrmx-home-empty { padding:18px; border-radius:12px; background:#fff; text-align:center; }
@media (max-width:900px) { .lfcrmx-home-grid { grid-template-columns:1fr; } }
