/* RCI – Calendrier des événements */
.rci-cal{--rci-ink:#252525;--rci-accent:#d52832;--rci-border:#dedede;position:relative;width:100%;font-family:inherit;color:var(--rci-ink);z-index:1}
.rci-cal *{box-sizing:border-box}
.rci-cal__toolbar{display:flex;align-items:center;justify-content:center;gap:18px;}
.rci-cal__toolbar h2{font-size:clamp(18px,2vw,24px)!important;line-height:1.2;margin:0;text-align:center;text-transform:capitalize;padding-bottom: 0px;}
.rci-cal__toolbar button,.rci-cal__week-toolbar button{border:1px solid var(--rci-border);background:#fff;color:var(--rci-ink);border-radius:50%;width:34px;height:34px;font-size:25px;line-height:1;cursor:pointer}
.rci-cal__weekdays,.rci-cal__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;padding: 4px}
.rci-cal__weekdays{text-align:center;font-size:12px;font-weight:700;color:#666}
.rci-cal__days{grid-template-columns:repeat(7,minmax(0,1fr))}
.rci-cal__day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:64px;padding:7px 3px;border:1px solid var(--rci-border);border-radius:7px;background:#fff;color:var(--rci-ink);cursor:pointer;font:inherit;transition:background .15s,border-color .15s}
.rci-cal__day:hover,.rci-cal__day.is-selected{border-color:var(--rci-accent);background:#fff4f4}
.rci-cal__day.is-empty{visibility:hidden;pointer-events:none}
.rci-cal__day-number{font-size:17px;font-weight:700;line-height:1.2}
.rci-cal__day-count{margin-top:5px;min-width:20px;height:20px;padding:2px 5px;border-radius:12px;background:var(--rci-accent);color:#fff;font-size:11px;line-height:16px;text-align:center}
.rci-cal__day-count.is-zero{background:#f0f0f0;color:#777}
.rci-cal__panel{position:relative;margin:0 0 16px;padding:18px;background:#fff;border:1px solid var(--rci-border);border-radius:10px;box-shadow:0 4px 18px rgba(0,0,0,.08)}
.rci-cal__panel[hidden]{display:none}
.rci-cal__close{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:#555}
.rci-cal__panel-heading{font-size:18px;font-weight:700;padding-right:30px;margin-bottom:14px}
.rci-cal__events{display:flex;flex-direction:column;gap:12px}
.rci-cal__event{display:flex;gap:14px;align-items:stretch;padding:12px;border:1px solid #e7e7e7;border-radius:8px;background:#fff;min-width:0}
.rci-cal__event-image{width:112px;flex:0 0 112px;min-height:85px;object-fit:cover;border-radius:5px}
.rci-cal__event-image--empty{background:#f1f1f1}
.rci-cal__event-body{min-width:0;flex:1}
.rci-cal__event-body p{padding-bottom: 0px!important;}
.rci-cal__event-body h3{padding-bottom: 0px!important;}
.rci-cal__event-title{margin:0 0 6px;font-size:25px;line-height:1.3;font-weight:700}
.rci-cal__event-meta{margin:3px 0;color:#555;font-size:13px}
.rci-cal__status{display:inline-block;margin:0 0 6px;padding:3px 8px;border-radius:20px;font-size:11px;font-weight:700}
.rci-cal__status.is-canceled{background:#fde5e5;color:#a31720}.rci-cal__status.is-postponed{background:#e4efff;color:#174a91}.rci-cal__status.is-full{background:#fff0d8;color:#8b4e00}.rci-cal__status.is-enrepli{background:#e1f5e7;color:#176b35}
.rci-cal__links{display:flex;flex-wrap:wrap;gap:14px;margin-top:9px;font-size:13px;font-weight:700}
.rci-cal__links a{color:var(--rci-accent);text-decoration:none}.rci-cal__links a:hover{text-decoration:underline}
.rci-cal__links .rci-cal__ticket-link::after{font-family: 'Flaticon' !important;content: "\f100";font-size: 14px; padding-left: 4px;}
.rci-cal__empty,.rci-cal__loading{padding:15px;text-align:center;color:#666}
.rci-cal__empty-month{grid-column:1/-1;padding:18px;text-align:center;color:#666;border:1px dashed var(--rci-border);border-radius:8px}
.rci-cal__days{touch-action:pan-y;transition:opacity .16s ease,transform .16s ease}
.rci-cal__days.is-loading{opacity:.45;pointer-events:none;transform:translateX(0)}
@media(min-width:768px){.rci-cal__days{grid-template-columns:repeat(31,minmax(0,1fr));gap:4px}.rci-cal__day{min-height:70px;padding:6px 1px}.rci-cal__day-number{font-size:15px}.rci-cal__day-count{font-size:10px;min-width:18px;height:18px;line-height:14px;margin-top:6px}.rci-cal__weekdays{display:none}.rci-cal__day.is-empty {display: none !important;}}
@media(max-width:767px){.rci-cal__weekdays{display:grid}.rci-cal__days{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.rci-cal__day{min-height:57px;padding:5px 1px}.rci-cal__day-number{font-size:15px}.rci-cal__day-count{margin-top:4px}.rci-cal__event{gap:10px;padding:9px}.rci-cal__event-image{width:86px;flex-basis:86px;min-height:75px}.rci-cal__event-title{font-size:20px}.rci-cal__panel{padding:14px 10px}}

/* v1.0.2 — feedback visuel au changement de semaine/mois sur mobile */
@media(max-width:767px){
  .rci-cal__days{touch-action:pan-y;overflow:hidden;position:relative}
  .rci-cal__days.rci-cal__slide-left{animation:rciCalSlideLeft .28s ease-out}
  .rci-cal__days.rci-cal__slide-right{animation:rciCalSlideRight .28s ease-out}
  .rci-cal__days.rci-cal__is-changing{pointer-events:none}
  .rci-cal__month-change{display:block;text-align:center;font-size:12px;font-weight:700;color:#666;margin:-3px 0 9px;opacity:1;transition:opacity .35s ease}
  .rci-cal__month-change.is-fading{opacity:0}
}
@keyframes rciCalSlideLeft{
  from{opacity:.35;transform:translateX(24px)}
  to{opacity:1;transform:translateX(0)}
}
@keyframes rciCalSlideRight{
  from{opacity:.35;transform:translateX(-24px)}
  to{opacity:1;transform:translateX(0)}
}
@media(prefers-reduced-motion:reduce){
  .rci-cal__days.rci-cal__slide-left,.rci-cal__days.rci-cal__slide-right{animation:none}
}

/* v1.0.3 — animation explicite de la rangée de dates sur mobile */
@media(max-width:767px){
  .rci-cal__days{overflow:hidden;will-change:transform,opacity}
  .rci-cal__days.rci-cal__slide-out-left{animation:rciCalOutLeft .16s ease-in forwards}
  .rci-cal__days.rci-cal__slide-out-right{animation:rciCalOutRight .16s ease-in forwards}
  .rci-cal__days.rci-cal__slide-in-left{animation:rciCalInFromRight .28s cubic-bezier(.22,.7,.25,1) both}
  .rci-cal__days.rci-cal__slide-in-right{animation:rciCalInFromLeft .28s cubic-bezier(.22,.7,.25,1) both}
}
@keyframes rciCalOutLeft{to{opacity:.25;transform:translateX(-35px)}}
@keyframes rciCalOutRight{to{opacity:.25;transform:translateX(35px)}}
@keyframes rciCalInFromRight{from{opacity:.25;transform:translateX(35px)}to{opacity:1;transform:translateX(0)}}
@keyframes rciCalInFromLeft{from{opacity:.25;transform:translateX(-35px)}to{opacity:1;transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){
  .rci-cal__days.rci-cal__slide-out-left,.rci-cal__days.rci-cal__slide-out-right,
  .rci-cal__days.rci-cal__slide-in-left,.rci-cal__days.rci-cal__slide-in-right{animation:none}
}
