
.su-calendar{--su-border:#e5e7eb;--su-text:#1f2937;--su-muted:#6b7280;font-family:inherit;color:var(--su-text)}
.su-calendar *{box-sizing:border-box}
.su-calendar [hidden],.su-calendar .is-filtered-out{display:none!important}
.su-calendar-toolbar{display:grid;grid-template-columns:repeat(4,minmax(145px,1fr)) auto;gap:14px;align-items:end;padding:18px;background:#f8fafc;border:1px solid var(--su-border);border-radius:14px;margin-bottom:18px}
.su-calendar-toolbar label span{display:block;font-size:13px;font-weight:700;margin-bottom:6px}
.su-calendar select{width:100%;min-height:44px;padding:8px 12px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}
.su-view-buttons{display:flex;border:1px solid #cbd5e1;border-radius:8px;overflow:hidden;background:#fff}
.su-view-buttons button{border:0;background:#fff;padding:11px 15px;cursor:pointer}
.su-view-buttons button.is-active{background:#072351;color:#fff}
.su-calendar-count{font-weight:700;margin:0 0 14px}
.su-session-list{display:grid;gap:14px}
.su-session{position:relative;display:grid;grid-template-columns:7px minmax(0,1fr) auto;align-items:stretch;border:1px solid var(--su-border);border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 2px 10px rgba(15,23,42,.05)}
.su-session-accent{background:#64748b}
.su-session-content{padding:16px 18px}
.su-session-heading{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}
.su-session h3{font-size:18px;margin:0 0 3px;color:#111827}
.su-session p{margin:5px 0}
.su-session-level{color:var(--su-muted);font-size:13px}
.su-session-date{font-weight:700}
.su-session-location{color:#374151}
.su-session-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.su-session-meta span,.su-status{display:inline-block;padding:4px 8px;background:#f1f5f9;border-radius:999px;font-size:12px;font-weight:700}
.su-status.is-full{background:#fee2e2;color:#991b1b}
.su-session-button{align-self:center;margin:18px;white-space:nowrap;background:#9b151d;color:#fff!important;text-decoration:none!important;border-radius:8px;padding:11px 15px;font-weight:700}
.su-session-button:hover{filter:brightness(.92)}
.su-type-r486 .su-session-accent{background:#ec4899}
.su-type-r489 .su-session-accent{background:#3b82f6}
.su-type-r482 .su-session-accent{background:#22c55e}
.su-type-r484 .su-session-accent{background:#f97316}
.su-type-sst .su-session-accent{background:#dc2626}
.su-type-hab_elec .su-session-accent{background:#facc15}
.su-month-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.su-month{border:1px solid var(--su-border);border-radius:12px;background:#fff;overflow:hidden}
.su-month h3{margin:0;padding:12px 14px;background:#072351;color:#fff;text-transform:capitalize;font-size:17px}
.su-month-events{padding:10px}
.su-month-event{display:block;margin:6px 0;padding:8px 10px;border-radius:8px;background:#f1f5f9;border-left:5px solid #64748b;font-size:13px}
.su-month-event strong{display:block}
.su-month-event[data-type="R486"]{border-left-color:#ec4899}
.su-month-event[data-type="R489"]{border-left-color:#3b82f6}
.su-month-event[data-type="R482"]{border-left-color:#22c55e}
.su-month-event[data-type="R484"]{border-left-color:#f97316}
.su-month-event[data-type="SST"]{border-left-color:#dc2626}
.su-month-event[data-type="HAB_ELEC"]{border-left-color:#facc15}
.su-empty,.su-calendar-error{padding:16px;border:1px solid #fecaca;background:#fff1f2;border-radius:10px}
.su-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.su-legend span{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}
.su-legend-r486{background:#fbcfe8}.su-legend-r489{background:#bfdbfe}.su-legend-r482{background:#bbf7d0}.su-legend-r484{background:#fed7aa}.su-legend-sst{background:#fecaca}.su-legend-hab{background:#fef08a}
@media (max-width:900px){
  .su-calendar-toolbar{grid-template-columns:1fr 1fr}
  .su-month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:620px){
  .su-calendar-toolbar{grid-template-columns:1fr}
  .su-view-buttons{width:100%}
  .su-view-buttons button{flex:1}
  .su-session{grid-template-columns:6px 1fr}
  .su-session-button{grid-column:2;margin:0 16px 16px;text-align:center}
  .su-month-grid{grid-template-columns:1fr}
  .su-session-heading{display:block}
  .su-status{margin-top:6px}
}




/* Version 2.0 : boutons d'aide visibles sous les filtres */
.su-calendar .su-locations,
.su-calendar .su-location-info {
  display: none !important;
}

.su-calendar .su-help-links {
  display: flex !important;
  flex-wrap: wrap;
  gap: 12px;
  margin: 18px 0 20px;
  padding: 0;
  visibility: visible !important;
  opacity: 1 !important;
}

.su-calendar .su-help-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 42px;
  padding: 10px 18px;
  border: 1px solid #0b2e63;
  border-radius: 8px;
  background: #ffffff;
  color: #0b2e63;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  visibility: visible !important;
  opacity: 1 !important;
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.su-calendar .su-help-button:hover,
.su-calendar .su-help-button:focus {
  background: #0b2e63;
  color: #ffffff;
  transform: translateY(-1px);
}

@media (max-width: 600px) {
  .su-calendar .su-help-links {
    flex-direction: column;
  }

  .su-calendar .su-help-button {
    width: 100%;
  }
}


/* Informations complémentaires dans l'affichage Calendrier (v2.0.9). */
.su-month-event .su-month-event-detail {
  display: block;
  margin-top: 2px;
  font-size: 0.88em;
  font-weight: 600;
  line-height: 1.25;
  opacity: 0.9;
}

.su-month-event .su-month-event-date {
  display: block;
  margin-top: 4px;
}
