.lrs-cal{--red:#e30613;--ink:#1f252d;--mut:#8b929b;color:#fff;font-family:inherit}
.lrs-cal *{box-sizing:border-box}
.lrs-cal-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.lrs-cal-filters button{padding:12px 18px;border-radius:6px;border:0;font:inherit;font-size:16px;font-weight:500;cursor:pointer;background:#fff;color:var(--ink);line-height:1.2}
.lrs-cal-filters button.is-on{background:var(--red);color:#fff}
.lrs-cal-list{display:flex;flex-direction:column;gap:10px}
.lrs-cal-row{background:#fff;border-radius:6px;color:var(--ink);overflow:hidden;border-left:6px solid #fff;margin:0}
.lrs-cal-row[open]{border-left-color:var(--red)}
.lrs-cal-row summary{list-style:none;display:flex;align-items:center;gap:28px;padding:18px 28px;cursor:pointer}
.lrs-cal-row summary::-webkit-details-marker{display:none}
.lrs-cal-row summary::marker{content:""}
.lrs-cal-date{display:flex;align-items:center;gap:8px;width:150px;flex-shrink:0}
.lrs-cal-day{font-family:var(--e-global-typography-primary-font-family,inherit);font-weight:800;font-size:40px;line-height:1}
.lrs-cal-my{display:flex;flex-direction:column;font-family:var(--e-global-typography-primary-font-family,inherit);font-weight:700;font-size:14px;line-height:1.1;text-transform:uppercase}
.lrs-cal-my span+span{color:var(--mut)}
.lrs-cal-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.lrs-cal-dow{font-size:13px;letter-spacing:.14em;font-weight:600;color:var(--mut);text-transform:uppercase}
.lrs-cal-circ{font-size:21px;font-weight:600}
.lrs-cal-count{font-size:16px;color:#5d646d;white-space:nowrap}
.lrs-cal-btn{width:44px;height:44px;flex-shrink:0;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:22px;background:#f3f4f6}
.lrs-cal-btn::before{content:"+"}
.lrs-cal-row[open] .lrs-cal-btn{background:var(--red);color:#fff}
.lrs-cal-row[open] .lrs-cal-btn::before{content:"−"}
.lrs-cal-grid{padding:4px 28px 28px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.lrs-cal-stage{display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:6px;background:#f3f4f6;text-decoration:none!important;color:var(--ink)!important;border-top:4px solid var(--tone)}
.lrs-cal-stage:hover{background:#e9ebee}
.lrs-cal-kind{font-size:12px;letter-spacing:.14em;font-weight:600;color:var(--mut);text-transform:uppercase}
.lrs-cal-name{font-size:17px;font-weight:600;line-height:1.25}
.lrs-cal-cta{font-size:14px;font-weight:600;color:var(--red)}
.lrs-cal-stage.is-full{pointer-events:none;border-top-color:#c3c7cc;background:repeating-linear-gradient(135deg,#eceef0 0 10px,#e4e6e9 10px 20px);color:#9aa0a7!important}
.lrs-cal-stage.is-full .lrs-cal-name{text-decoration:line-through}
.lrs-cal-stage.is-full .lrs-cal-cta{color:#9aa0a7}
.lrs-cal-row.is-full{background:repeating-linear-gradient(135deg,#eceef0 0 10px,#e4e6e9 10px 20px);color:#9aa0a7;border-left-color:transparent}
.lrs-cal-row.is-full summary{cursor:default;pointer-events:none}
.lrs-cal-row.is-full .lrs-cal-day,.lrs-cal-row.is-full .lrs-cal-my{text-decoration:line-through}
.lrs-cal-row.is-full .lrs-cal-btn{display:none}
.lrs-cal-row.is-full .lrs-cal-count{font-size:13px;letter-spacing:.14em;font-weight:600;text-transform:uppercase;color:#9aa0a7}
.lrs-cal-empty{padding:28px;border:1.5px dashed #3a424c;border-radius:6px;font-size:18px;color:#c9ced4}
@media (max-width:1024px){
  .lrs-cal-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:4px 20px 20px}
  .lrs-cal-row summary{gap:20px;padding:16px 20px}
  .lrs-cal-date{width:130px}
}
@media (max-width:640px){
  .lrs-cal-filters{flex-wrap:nowrap;overflow-x:auto;margin-right:-16px;padding-right:16px;-webkit-overflow-scrolling:touch}
  .lrs-cal-filters button{flex-shrink:0;padding:11px 14px;font-size:15px}
  .lrs-cal-row summary{gap:14px;padding:14px 16px;flex-wrap:wrap}
  .lrs-cal-date{width:auto}
  .lrs-cal-day{font-size:32px}
  .lrs-cal-info{flex:1 1 140px}
  .lrs-cal-circ{font-size:18px}
  .lrs-cal-count{order:3;width:100%;font-size:14px}
  .lrs-cal-btn{width:40px;height:40px}
  .lrs-cal-grid{grid-template-columns:1fr;padding:0 16px 16px}
  .lrs-cal-stage{flex-direction:row;align-items:center;flex-wrap:wrap;gap:4px 12px;min-height:56px}
  .lrs-cal-kind{width:100%}
  .lrs-cal-name{flex:1}
}

/* Pleine page */
.lrs-cal-page{width:100vw;margin-left:calc(50% - 50vw);min-height:100vh;min-height:100dvh;background:#1f252d;padding:clamp(24px,5vw,72px) clamp(16px,5vw,72px) clamp(40px,6vw,96px)}
.lrs-cal-page-in{max-width:1400px;margin:0 auto}
.lrs-cal-head{display:flex;flex-direction:column;gap:12px;margin:0 0 clamp(20px,3vw,36px)}
.lrs-cal-title{margin:0;color:#fff;font-family:var(--e-global-typography-primary-font-family,inherit);font-weight:500;font-size:clamp(28px,3.6vw,46px);line-height:1.1;letter-spacing:.01em;text-transform:none}
.lrs-cal-intro{margin:0;color:#e7eaee;font-size:clamp(17px,1.6vw,22px);line-height:1.45;max-width:820px}
/* Bouton */
.lrs-cal-open{padding:16px 28px;border:0;border-radius:6px;background:#e30613;color:#fff;font:inherit;font-size:17px;font-weight:600;cursor:pointer}
.lrs-cal-open:hover{background:#c00510}
/* Fenêtre plein écran */
.lrs-cal-modal{position:fixed;inset:0;z-index:999999;background:#1f252d;display:flex;flex-direction:column;height:100vh;height:100dvh;opacity:0;transition:opacity .2s}
.lrs-cal-modal[hidden]{display:none}
.lrs-cal-modal.is-in{opacity:1}
.lrs-cal-modal-bar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:max(16px,env(safe-area-inset-top)) clamp(16px,5vw,72px) 16px;border-bottom:1px solid #2c333c}
.lrs-cal-modal-t{color:#fff;font-family:var(--e-global-typography-primary-font-family,inherit);font-weight:500;font-size:clamp(20px,2.4vw,30px);line-height:1.15;letter-spacing:.01em}
.lrs-cal-close{width:48px;height:48px;flex-shrink:0;border-radius:6px;border:1.5px solid #3a424c;background:transparent;color:#fff;font-size:28px;line-height:1;cursor:pointer;padding:0}
.lrs-cal-close:hover{border-color:#e30613;color:#e30613}
.lrs-cal-modal-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:clamp(16px,3vw,40px) clamp(16px,5vw,72px) max(32px,env(safe-area-inset-bottom))}
.lrs-cal-modal-body>.lrs-cal{max-width:1400px;margin:0 auto}
.lrs-cal-modal .lrs-cal-filters{position:sticky;top:calc(-1 * clamp(16px,3vw,40px));z-index:2;background:#1f252d;padding:12px 0;margin-top:-12px}
.lrs-cal-loading{color:#c9ced4;font-size:18px;padding:40px 0;text-align:center}
html.lrs-cal-lock,html.lrs-cal-lock body{overflow:hidden}
.lrs-cal .lrs-cal-row.is-hidden{display:none!important}
.lrs-cal-filters button{-webkit-appearance:none;appearance:none;box-shadow:none;text-transform:none;letter-spacing:0}
.lrs-cal-filters button:hover{background:#f3f4f6;color:var(--ink)}
.lrs-cal-filters button.is-on,.lrs-cal-filters button.is-on:hover{background:var(--red);color:#fff}
