.cours{max-width:1180px;padding:clamp(72px, 10vw, 140px) var(--space-section-x);margin:0 auto}.cours__eyebrow{margin:0 0 var(--space-5);color:var(--color-accent);font-size:var(--font-size-label);letter-spacing:var(--letter-spacing-label);text-transform:uppercase;font-weight:700}.cours h1{max-width:10ch;font-family:var(--font-heading);color:var(--color-brand);margin:0 0 clamp(44px,7vw,88px);font-size:clamp(48px,7vw,76px);line-height:.95}.cours__state{padding:var(--space-5);color:var(--color-text);background:var(--color-surface-subtle);border-radius:var(--radius-card);font-family:var(--font-body);font-size:var(--font-size-body-sm)}.cours__state--error{color:var(--color-accent-deep);background:var(--color-surface-tile-4)}.cours__state--error button{min-height:var(--tap-target-min);margin-top:var(--space-3);padding:0 var(--space-5);background:var(--color-text-on-dark);border:var(--border-width) solid var(--color-accent);border-radius:var(--radius-pill);cursor:pointer}.cours__intro{grid-template-columns:minmax(220px,.7fr) minmax(0,1fr);align-items:start;gap:clamp(28px,7vw,112px);margin-bottom:clamp(56px,8vw,104px);display:grid}.cours__image{aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-card);width:100%;top:calc(78px + var(--space-6));position:sticky}.cours__introduction{max-width:48ch;color:var(--color-brand);font-family:var(--font-body);font-size:var(--font-size-body-lg);line-height:var(--line-height-body);white-space:pre-line;margin:0}.cours__sessions h2{margin:0 0 var(--space-6);color:var(--color-accent);font-family:var(--font-body);font-size:var(--font-size-label);letter-spacing:var(--letter-spacing-label);text-transform:uppercase}.cours__empty{color:var(--color-text);font-family:var(--font-body)}.cours__list{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0;padding:0;list-style:none;display:grid}.cours__session{gap:var(--space-3);padding:var(--space-6);background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-card);flex-direction:column;display:flex}.cours__session-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.cours__session-head h3{color:var(--color-brand);font-family:var(--font-heading);margin:0;font-size:26px}.cours__price{color:var(--color-accent-deep);white-space:nowrap;font-weight:700}.cours__date{color:var(--color-text);font-family:var(--font-body);margin:0;font-weight:700}.cours__description,.cours__seats{color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-body-sm);margin:0}.cours__full{color:var(--color-accent-deep);font-weight:700}.cours__already-booked{color:var(--color-brand);font-family:var(--font-body);font-size:var(--font-size-body-sm);margin:0;font-weight:600}.cours__hint{color:var(--color-text-muted);font-size:var(--font-size-body-sm);margin:0}.cours__login-hint{color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size-body-sm);margin:0}.cours__booking-form{align-items:center;gap:var(--space-3);margin-top:var(--space-2);display:flex}.cours__booking-form label{font-size:var(--font-size-body-sm);font-weight:600}.cours__booking-form select{min-height:var(--tap-target-min);padding:0 var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-card)}.cours__booking-form button{min-height:var(--tap-target-min);padding:0 var(--space-5);color:var(--color-text-on-dark);background:var(--color-brand);border-radius:var(--radius-pill);cursor:pointer;border:0;font-weight:700}.cours__booking-form button:disabled{opacity:.6;cursor:wait}.cours__booking-message{padding:var(--space-3);border-radius:var(--radius-card);font-size:var(--font-size-body-sm);margin:0}.cours__booking-message--success{color:var(--color-brand);background:var(--color-surface-page)}.cours__booking-message--error{color:var(--color-accent-deep);background:var(--color-surface-tile-4)}@media (width<=620px){.cours__intro{grid-template-columns:1fr}.cours__image{position:static}.cours__list{grid-template-columns:1fr}.cours__booking-form{flex-wrap:wrap}}
