.sdps-agenda-shell{--sdps-yellow:#e79621;--sdps-red:#DD3333;--sdps-white:#f4efe6;--sdps-black:#0A0A0A;--sdps-dark:#141414;position:relative;color:var(--sdps-white)}
.sdps-agenda-calendar{background:transparent;border:0;border-radius:0;padding:0;overflow:visible}
.sdps-agenda-shell .fc{--fc-border-color:rgba(10,10,10,.14);--fc-page-bg-color:#fff;--fc-neutral-bg-color:#fff;--fc-list-event-hover-bg-color:#f6f6f6;--fc-today-bg-color:rgba(231,150,33,.12);font-family:inherit;background:#fff;color:#0A0A0A}
.sdps-agenda-shell .fc .fc-toolbar,.sdps-agenda-shell .fc .fc-header-toolbar{background:var(--sdps-black)!important;padding:18px;margin:0!important;border-radius:0!important}
.sdps-agenda-shell .fc .fc-toolbar-title{color:var(--sdps-white);font-size:clamp(1.25rem,2.2vw,1.8rem)}
.sdps-agenda-shell .fc .fc-button{background:#344158;border:1px solid #47546a;color:var(--sdps-white);box-shadow:none!important}
.sdps-agenda-shell .fc .fc-button:hover,.sdps-agenda-shell .fc .fc-button:focus{background:var(--sdps-yellow);border-color:var(--sdps-yellow);color:var(--sdps-black)}
.sdps-agenda-shell .fc .fc-col-header-cell-cushion,.sdps-agenda-shell .fc .fc-daygrid-day-number{color:#0A0A0A;text-decoration:none;font-weight:600}
.sdps-agenda-shell .fc .fc-col-header-cell{background:#fff;padding:7px 0}
.sdps-agenda-shell .fc .fc-scrollgrid-section,.sdps-agenda-shell .fc .fc-scrollgrid-section>td,.sdps-agenda-shell .fc .fc-daygrid-body,.sdps-agenda-shell .fc .fc-daygrid-day{background:#fff}
.sdps-agenda-shell .fc .fc-day-other .fc-daygrid-day-number{opacity:.35}
.sdps-agenda-shell .fc .fc-event{border-radius:5px;padding:2px 4px;font-weight:600;cursor:pointer;border-width:0}
.sdps-agenda-shell .fc .fc-event-title{white-space:normal;line-height:1.2}
.sdps-agenda-shell .fc .fc-scrollgrid{border:0!important;background:#fff;border-radius:20px!important;overflow:hidden!important;box-shadow:0 0 0 1px rgba(231,150,33,.35)}
.sdps-agenda-tooltip{position:absolute;z-index:9999;width:min(300px,calc(100% - 20px));padding:12px 14px;background:var(--sdps-dark);border:1px solid var(--sdps-yellow);border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.35);pointer-events:none}
.sdps-agenda-tooltip strong,.sdps-agenda-tooltip span{display:block}.sdps-agenda-tooltip strong{color:var(--sdps-yellow);margin-bottom:5px}.sdps-agenda-tooltip span{font-size:13px;line-height:1.45;color:var(--sdps-white)}
.sdps-agenda-modal[hidden]{display:none!important}.sdps-agenda-modal{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:20px}.sdps-agenda-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.74);backdrop-filter:blur(5px)}
.sdps-agenda-modal__panel{position:relative;z-index:1;width:min(680px,100%);max-height:min(86vh,820px);overflow:auto;background:var(--sdps-dark);border:1px solid var(--sdps-yellow);border-radius:18px;padding:28px;color:var(--sdps-white);box-shadow:0 25px 70px rgba(0,0,0,.5)}
.sdps-agenda-modal__close{position:absolute;right:12px;top:8px;background:none;border:0;color:var(--sdps-white);font-size:30px;line-height:1;cursor:pointer}
.sdps-agenda-detail__type{display:inline-block;background:var(--sdps-yellow);color:var(--sdps-black);font-size:12px;font-weight:700;text-transform:uppercase;border-radius:999px;padding:5px 9px;margin-bottom:10px}.sdps-agenda-detail h3{color:var(--sdps-white);margin:0 35px 8px 0}.sdps-agenda-detail__date{color:var(--sdps-yellow);font-weight:600}.sdps-agenda-detail__desc{margin-top:14px}.sdps-agenda-detail__button{display:inline-block;background:var(--sdps-yellow);color:var(--sdps-black)!important;text-decoration:none!important;border-radius:7px;padding:10px 14px;font-weight:700;margin-top:8px}.sdps-agenda-detail__button:hover{background:var(--sdps-red);color:var(--sdps-white)!important}
.sdps-agenda-media{display:grid;gap:12px;margin:16px 0}.sdps-agenda-media__image,.sdps-agenda-media__video{display:block;width:100%;max-height:420px;object-fit:cover;border-radius:14px;background:#000}.sdps-agenda-media__video{aspect-ratio:16/9}
html.sdps-agenda-modal-open{overflow:hidden}

/* ===== LISTES MENSUELLES : V0.2.1 ===== */
.sdps-agenda-lists{margin-top:36px}.sdps-agenda-month-list{margin-top:32px}.sdps-agenda-month-list--next{margin-top:52px;padding-top:30px;border-top:1px solid rgba(231,150,33,.28)}
.sdps-agenda-month-list__title{margin:0 0 22px;color:var(--sdps-white);font-size:clamp(1.35rem,2vw,1.8rem)}
.sdps-agenda-event-group{margin:0 0 28px}.sdps-agenda-event-group>h3{margin:0 0 14px;color:var(--sdps-yellow);font-size:1rem;text-transform:uppercase;letter-spacing:.04em}

/* Une carte = une ligne pleine largeur. Plus de mini-colonnes qui cassent chaque mot. */
.sdps-agenda-event-grid{display:grid;grid-template-columns:1fr;gap:14px}
.sdps-agenda-event-card{display:block;width:100%;min-height:0;overflow:hidden;background:var(--sdps-dark);border:1px solid rgba(244,239,230,.10);border-left:3px solid var(--sdps-yellow);border-radius:14px;color:var(--sdps-white);box-sizing:border-box}
.sdps-agenda-event-card.sdps-type-stage{border-left-color:var(--sdps-red)}.sdps-agenda-event-card.sdps-type-special{border-left-color:var(--sdps-white)}.sdps-agenda-event-card.sdps-type-vacances{border-left-color:#777}

/* Avec image : vignette à gauche sur PC/tablette, contenu fluide à droite. */
.sdps-agenda-event-card.sdps-has-image{display:grid;grid-template-columns:190px minmax(0,1fr);align-items:stretch}
.sdps-agenda-event-card__visual{min-height:138px;background:#090909;overflow:hidden}
.sdps-agenda-event-card__visual img{width:100%;height:100%;min-height:138px;object-fit:cover;display:block}

/* Sans image : le corps utilise réellement toute la largeur. */
.sdps-agenda-event-card__body{min-width:0;padding:15px 18px 16px}
.sdps-agenda-event-card__body h4{margin:4px 0 7px;color:var(--sdps-white);font-size:1.08rem;line-height:1.3}
.sdps-agenda-event-card__body p{margin:5px 0;color:var(--sdps-white);line-height:1.45;font-size:.92rem}
.sdps-agenda-event-card__meta{display:flex;align-items:center;flex-wrap:wrap;gap:5px 12px;color:var(--sdps-yellow);font-size:.84rem;font-weight:700;line-height:1.35}
.sdps-agenda-event-card__video{color:var(--sdps-white);opacity:.82}.sdps-agenda-event-card__location{opacity:.88}
.sdps-agenda-event-card__link{display:inline-block;margin-top:7px;color:var(--sdps-yellow)!important;font-weight:700;text-decoration:none!important}.sdps-agenda-event-card__link:hover{color:var(--sdps-red)!important}
.sdps-agenda-empty,.sdps-agenda-loading{padding:18px 20px;background:var(--sdps-dark);border-radius:12px;color:rgba(244,239,230,.78);border:1px solid rgba(244,239,230,.08)}

/* Tablette : toujours horizontal tant que la largeur le permet. */
@media(max-width:900px){
  .sdps-agenda-event-card.sdps-has-image{grid-template-columns:150px minmax(0,1fr)}
  .sdps-agenda-event-card__body{padding:14px 16px}
}

/* Mobile : image au-dessus, carte compacte et lisible. */
@media(max-width:700px){
  .sdps-agenda-shell .fc .fc-toolbar{padding:12px 8px;gap:5px}
  .sdps-agenda-shell .fc .fc-toolbar-title{font-size:1.05rem}
  .sdps-agenda-shell .fc .fc-button{padding:.35em .55em}
  .sdps-agenda-shell .fc .fc-col-header-cell-cushion{font-size:11px}
  .sdps-agenda-shell .fc .fc-daygrid-day-number{font-size:12px}
  .sdps-agenda-shell .fc .fc-event{font-size:10px;padding:1px 2px}
  .sdps-agenda-modal__panel{padding:24px 18px}
  .sdps-agenda-tooltip{display:none!important}
  .sdps-agenda-event-card.sdps-has-image{grid-template-columns:1fr}
  .sdps-agenda-event-card__visual{min-height:170px;max-height:230px}
  .sdps-agenda-event-card__visual img{min-height:170px;max-height:230px}
  .sdps-agenda-event-card__body{padding:14px 15px}
  .sdps-agenda-event-card__meta{font-size:.8rem}
  .sdps-agenda-event-card__body h4{font-size:1rem}
  .sdps-agenda-month-list--next{margin-top:38px}
  .sdps-agenda-lists{margin-top:28px}
}
