/* Mise en avant payante (CDC §3.1) — bandeau « Sponsorisé » des pages publiques, réservation formateur,
   console. Uniquement des jetons --fs-* (thème sombre inclus), des propriétés logiques (RTL) et les
   points de rupture de l'échelle. */

/* ---- Bandeau public et mention sur la carte (transparence publicitaire) ---- */
.sponsor-band{padding-block-end:0}
.sponsor-strip{margin-block:0 var(--fs-space-lg);padding:var(--fs-space-md);border:1px dashed var(--fs-accent-border);border-radius:var(--fs-radius-lg);background:var(--fs-accent-soft)}
.sponsor-strip-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--fs-space-xs) var(--fs-space-md);margin-block-end:var(--fs-space-sm)}
.sponsor-strip-title{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:var(--fs-text-md);color:var(--fs-accent-text)}
.sponsor-strip-note{margin:0;font-size:var(--fs-text-sm);color:var(--fs-text-secondary)}
.sponsor-strip .course-grid{margin:0}
.course-card.is-sponsored{border-color:var(--fs-accent-border)}
.sponsor-mention{display:inline-flex;align-self:flex-start;inline-size:fit-content;align-items:center;gap:4px;margin:0 0 4px;padding:2px 8px;border-radius:var(--fs-radius-full);background:var(--fs-accent-soft);color:var(--fs-accent-text);font-size:var(--fs-text-xs);font-weight:700;letter-spacing:.02em}
.sponsor-mention .ic{inline-size:var(--fs-icon-xs);block-size:var(--fs-icon-xs)}

/* ---- Réservation (formateur) ---- */
.sponsor-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--fs-space-lg);align-items:start}
.sponsor-summary{position:sticky;inset-block-start:calc(var(--fs-sticky-top) + var(--fs-space-md))}
.sponsor-fieldset{border:1px solid var(--fs-border);margin-inline:0;padding:0;min-inline-size:0}
.sponsor-fieldset legend{float:inline-start;inline-size:100%}
.sponsor-fieldset legend + *{clear:both}
.sponsor-step-title{display:flex;align-items:center;gap:var(--fs-space-xs);margin:0 0 var(--fs-space-sm);font-size:var(--fs-text-md);font-weight:700;color:var(--fs-text)}
.sponsor-step-n{display:inline-grid;place-items:center;inline-size:var(--fs-icon-lg);block-size:var(--fs-icon-lg);border-radius:var(--fs-radius-full);background:var(--fs-primary-soft);color:var(--fs-primary-text);font-size:var(--fs-text-sm)}
.sponsor-placements{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.sponsor-rates + .sponsor-rates{margin-block-start:var(--fs-space-md)}
.sponsor-rates-title{margin:0 0 var(--fs-space-xs);font-weight:600;color:var(--fs-text-secondary);font-size:var(--fs-text-sm)}
.sponsor-rate-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
.sponsor-avail{margin:var(--fs-space-xs) 0 0;font-weight:600;font-size:var(--fs-text-sm)}
.sponsor-avail:empty{display:none}
.sponsor-avail.is-ok{color:var(--fs-success-text)}
.sponsor-avail.is-ko{color:var(--fs-danger-text)}
.sponsor-summary-list{display:grid;gap:var(--fs-space-xs);margin:0 0 var(--fs-space-sm)}
.sponsor-summary-list > div{display:flex;justify-content:space-between;gap:var(--fs-space-sm);padding-block:4px;border-block-end:1px solid var(--fs-divider)}
.sponsor-summary-list dt{color:var(--fs-text-secondary);font-size:var(--fs-text-sm)}
.sponsor-summary-list dd{margin:0;font-weight:600;text-align:end}
.sponsor-summary-warn{margin:0 0 var(--fs-space-sm);padding:var(--fs-space-xs) var(--fs-space-sm);border-radius:var(--fs-radius-md);background:var(--fs-danger-soft);color:var(--fs-danger-text);font-size:var(--fs-text-sm)}

/* Calendrier de disponibilité : l'état est écrit en toutes lettres, la couleur ne fait que le souligner. */
.sponsor-cal{margin-block-start:var(--fs-space-sm);border:1px solid var(--fs-border);border-radius:var(--fs-radius-md)}
.sponsor-cal > summary{cursor:pointer;padding:var(--fs-space-xs) var(--fs-space-sm);font-weight:600;min-block-size:var(--fs-target-min)}
.sponsor-cal-table th,.sponsor-cal-table td{text-align:center;vertical-align:top;min-inline-size:56px;padding-inline:4px}
.sponsor-cal-date{display:block;font-weight:600;font-size:var(--fs-text-sm)}
.sponsor-cal-free{display:block;font-size:var(--fs-text-xs);color:var(--fs-success-text)}
.sponsor-day.is-low{background:var(--fs-warning-soft)}
.sponsor-day.is-low .sponsor-cal-free{color:var(--fs-warning-text)}
.sponsor-day.is-full{background:var(--fs-danger-soft)}
.sponsor-day.is-full .sponsor-cal-free{color:var(--fs-danger-text);font-weight:700}
.sponsor-day.is-off{background:var(--fs-bg-subtle)}

/* ---- Console ---- */
.sponsor-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--fs-space-md);margin-block-end:var(--fs-space-lg)}
.sponsor-num{max-inline-size:120px}

@media (max-width:1024px){
  .sponsor-layout{grid-template-columns:minmax(0,1fr)}
  .sponsor-summary{position:static}
}
@media (max-width:640px){
  .sponsor-strip{padding:var(--fs-space-sm)}
  .sponsor-cal-table th,.sponsor-cal-table td{min-inline-size:44px}
}
