/* Fooko — Événements (vitrine) : agenda, détail, réservation, confirmation.
   Concept « carnet de billets » : chaque événement est une souche de billet
   (bord perforé, encoche, date en grands chiffres Spectral) ; les surfaces
   navy portent le motif ndop. Tokens hérités du thème (fallbacks embarqués). */

.fk-evt {
	--evt-navy: var(--fk-navy, #0257ad);
	--evt-navy-2: var(--fk-navy-2, #024c97);
	--evt-accent: var(--fk-accent, #d81417);
	--evt-accent-ink: var(--fk-accent-ink, #b11013);
	--evt-bg: var(--fk-bg, #f7f6f2);
	--evt-surface: var(--fk-surface, #ffffff);
	--evt-border: var(--fk-border, #e7e4db);
	--evt-ink: var(--fk-text, #250906);
	--evt-ink-2: var(--fk-text-2, #5c4f4c);
	--evt-ink-3: var(--fk-text-3, #6c6260);
	--evt-green-ink: #0f7a52;   /* vert lisible en texte (5,2:1 sur blanc) */
	--evt-heading: var(--fk-font-heading, 'Spectral', Georgia, serif);
	--evt-body: var(--fk-font-body, 'Manrope', system-ui, sans-serif);
	--evt-radius: var(--fk-radius, 4px);
	--evt-track: var(--fk-eyebrow-tracking, 0.26em);
	background: var(--evt-bg);
	font-family: var(--evt-body);
	color: var(--evt-ink);
}
.fk-evt * { box-sizing: border-box; }
.fk-evt__wrap { max-width: 1140px; margin: 0 auto; padding: 0 22px; }

/* ── Eyebrow (signature typographique du site) ─────────────────────────── */
.fk-evt-eyebrow {
	display: inline-flex; align-items: center; gap: 12px;
	font-size: 11.5px; font-weight: 700; letter-spacing: var(--evt-track);
	text-transform: uppercase; color: var(--evt-accent-ink);
}
.fk-evt-eyebrow::before { content: ""; width: 26px; height: 1.5px; background: currentColor; }
.fk-evt-eyebrow--on-dark { color: #fff; }

/* ── Héros navy + ndop ──────────────────────────────────────────────────── */
.fk-evt-hero { position: relative; background: var(--evt-navy); color: #fff; overflow: hidden; }
.fk-evt-hero .fk-evt__wrap { position: relative; z-index: 1; padding-top: 72px; padding-bottom: 66px; }
.fk-evt-hero--detail .fk-evt__wrap { padding-top: 58px; padding-bottom: 150px; }
.fk-evt-hero__title {
	margin: 14px 0 0; font-family: var(--evt-heading); font-weight: 500;
	font-size: clamp(34px, 5.4vw, 56px); line-height: 1.06; letter-spacing: -0.012em; color: #fff;
}
.fk-evt-hero__lead { margin: 18px 0 0; max-width: 640px; color: var(--fk-on-dark-3, #d5e1ee); font-size: 17.5px; line-height: 1.7; }
.fk-evt-hero__meta { display: flex; flex-wrap: wrap; gap: 10px 26px; margin-top: 26px; color: var(--fk-on-dark, #dde6ee); font-size: 14.5px; font-weight: 500; }
.fk-evt-hero__meta svg { flex: 0 0 auto; opacity: .8; }
.fk-evt-hero__meta span { display: inline-flex; align-items: center; gap: 8px; }

/* ── Filtres catégories (agenda) ───────────────────────────────────────── */
.fk-evt-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 34px 0 6px; }
.fk-evt-chip {
	display: inline-block; padding: 7px 14px; border: 1px solid var(--evt-border);
	border-radius: 999px; background: var(--evt-surface); color: var(--evt-ink-2);
	font-size: 13px; font-weight: 600; text-decoration: none; transition: border-color .2s, color .2s;
}
.fk-evt-chip:hover { border-color: var(--evt-accent); color: var(--evt-accent-ink); }
.fk-evt-chip.is-on { border-color: var(--evt-navy); background: var(--evt-navy); color: #fff; }

/* ── Groupe mois ───────────────────────────────────────────────────────── */
.fk-evt-month { display: flex; align-items: center; gap: 16px; margin: 44px 0 18px; }
.fk-evt-month__label {
	font-size: 12px; font-weight: 700; letter-spacing: var(--evt-track);
	text-transform: uppercase; color: var(--evt-accent-ink); white-space: nowrap;
}
.fk-evt-month::after { content: ""; flex: 1; height: 1px; background: var(--evt-border); }

/* ── Carte-billet (souche) ─────────────────────────────────────────────── */
.fk-evt-card {
	position: relative; display: grid; grid-template-columns: 128px 1fr auto;
	background: var(--evt-surface); border: 1px solid var(--evt-border);
	border-radius: var(--evt-radius); margin-bottom: 14px;
	box-shadow: var(--fk-shadow-sm, 0 1px 3px rgba(7, 33, 60, .06));
	transition: box-shadow .25s, transform .25s; text-decoration: none; color: inherit;
}
.fk-anim .fk-evt-card:hover { box-shadow: var(--fk-shadow, 0 12px 30px -18px rgba(7, 33, 60, .55)); transform: translateY(-2px); }
.fk-evt-card:focus-visible { outline: 2px solid var(--evt-navy); outline-offset: 2px; }

/* Bloc date : la souche. Perforation à droite + encoches haut/bas. */
.fk-evt-card__date {
	position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center;
	padding: 20px 10px; border-right: 1.5px dashed var(--evt-border); text-align: center;
}
.fk-evt-card__date::before, .fk-evt-card__date::after {
	content: ""; position: absolute; right: -7px; width: 12px; height: 12px;
	background: var(--evt-bg); border: 1px solid var(--evt-border); border-radius: 50%;
}
.fk-evt-card__date::before { top: -7px; clip-path: inset(50% 0 0 0); border-top: 0; }
.fk-evt-card__date::after { bottom: -7px; clip-path: inset(0 0 50% 0); border-bottom: 0; }
.fk-evt-card__day { font-family: var(--evt-heading); font-weight: 600; font-size: 40px; line-height: 1; color: var(--evt-navy); }
.fk-evt-card__month { margin-top: 6px; font-size: 11px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--evt-ink-3); }
.fk-evt-card__dow { margin-top: 2px; font-size: 11.5px; color: var(--evt-ink-3); }
.fk-evt-card--past .fk-evt-card__day { color: var(--evt-ink-3); }

.fk-evt-card__body { padding: 20px 22px; min-width: 0; }
.fk-evt-card__cat {
	font-size: 10.5px; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase;
	color: var(--evt-accent-ink);
}
.fk-evt-card__title { margin: 6px 0 0; font-family: var(--evt-heading); font-weight: 600; font-size: 21px; line-height: 1.25; color: var(--evt-ink); }
.fk-evt-card__meta { margin-top: 8px; color: var(--evt-ink-3); font-size: 13.5px; display: flex; flex-wrap: wrap; gap: 4px 18px; }
.fk-evt-card__meta span { display: inline-flex; align-items: center; gap: 6px; }

.fk-evt-card__side { display: flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: 10px; padding: 20px 22px; }
.fk-evt-card__price { font-weight: 800; font-size: 14.5px; color: var(--evt-ink); white-space: nowrap; }
/* Le vert du design system (#1d9e75) ne tient que 3,4:1 sur blanc : à cette
   taille (14,5px) WCAG AA exige 4,5:1 — d'où un vert assombri dédié au texte. */
.fk-evt-card__price--free { color: var(--evt-green-ink); }
.fk-evt-card__go {
	display: inline-flex; align-items: center; gap: 7px; font-size: 13.5px; font-weight: 700;
	color: var(--evt-navy); white-space: nowrap;
}
.fk-evt-card__go svg { transition: transform .2s; }
.fk-anim .fk-evt-card:hover .fk-evt-card__go svg { transform: translateX(3px); }

/* Badges d'état */
.fk-evt-badge {
	display: inline-block; padding: 4px 10px; border-radius: 999px;
	font-size: 11px; font-weight: 700; letter-spacing: 0.04em; white-space: nowrap;
}
.fk-evt-badge--full { background: #fdeaea; color: #a12a2a; }
.fk-evt-badge--soon { background: #fff4e0; color: #9a6700; }
.fk-evt-badge--members { background: #e8f0fa; color: var(--evt-navy); }
.fk-evt-badge--cancelled { background: #eee; color: #666; }

.fk-evt-empty {
	padding: 56px 20px; text-align: center; color: var(--evt-ink-3);
	border: 1.5px dashed var(--evt-border); border-radius: var(--evt-radius); margin: 40px 0;
	font-size: 15px;
}
/* Rythme vertical seul : en raccourci, `padding: 8px 0 84px` remettrait à zéro la
   gouttière latérale de .fk-evt__wrap et collerait la liste aux bords de l'écran
   sous 1140 px. Les formes longues laissent les 22 px horizontaux en place. */
.fk-evt-section-pad { padding-top: 8px; padding-bottom: 84px; }

/* ── Page détail ───────────────────────────────────────────────────────── */
.fk-evt-detail { position: relative; margin-top: -96px; padding-bottom: 90px; }
.fk-evt-detail__grid { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 28px; align-items: start; }
.fk-evt-panel {
	background: var(--evt-surface); border: 1px solid var(--evt-border);
	border-radius: var(--evt-radius); box-shadow: var(--fk-shadow, 0 12px 30px -18px rgba(7, 33, 60, .55));
}
.fk-evt-desc { padding: 34px 36px; }
.fk-evt-desc__cover { margin: -34px -36px 28px; }
.fk-evt-desc__cover img { display: block; width: 100%; max-height: 420px; object-fit: cover; border-radius: var(--evt-radius) var(--evt-radius) 0 0; }
.fk-evt-desc h2 { font-family: var(--evt-heading); font-size: 24px; font-weight: 600; margin: 26px 0 12px; }
.fk-evt-desc h2:first-child { margin-top: 0; }
.fk-evt-desc p { color: var(--evt-ink-2); line-height: 1.75; font-size: 15.5px; margin: 0 0 14px; }
.fk-evt-desc ul, .fk-evt-desc ol { color: var(--evt-ink-2); line-height: 1.75; font-size: 15.5px; padding-left: 22px; }
.fk-evt-desc img { max-width: 100%; height: auto; border-radius: var(--evt-radius); }

.fk-evt-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 0 26px; margin: 0 0 26px; padding: 0 0 8px; border-bottom: 1px solid var(--evt-border); }
.fk-evt-fact { padding: 2px 0 16px; }
.fk-evt-fact__label { font-size: 10.5px; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; color: var(--evt-ink-3); }
.fk-evt-fact__value { margin-top: 5px; font-size: 14.5px; font-weight: 600; color: var(--evt-ink); line-height: 1.45; }

/* Carte réservation : la souche verticale (perforation en tête). */
.fk-evt-book { position: sticky; top: 96px; overflow: hidden; }
.fk-evt-book__head {
	position: relative; padding: 20px 26px 18px; background: var(--evt-navy); color: #fff;
}
.fk-evt-book__head::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 0;
	border-bottom: 1.5px dashed rgba(255, 255, 255, .0);
}
.fk-evt-book__title { font-family: var(--evt-heading); font-size: 19px; font-weight: 600; margin: 0; color: #fff; }
.fk-evt-book__sub { margin: 4px 0 0; font-size: 12.5px; color: var(--fk-on-dark-3, #d5e1ee); }
.fk-evt-book__perfo { position: relative; height: 14px; background: var(--evt-navy); }
.fk-evt-book__perfo::before {
	content: ""; position: absolute; inset: 6px 0 auto; height: 0;
	border-top: 2px dashed rgba(255, 255, 255, .55);
}
.fk-evt-book__perfo::after {
	content: ""; position: absolute; top: 0; left: -8px; right: -8px; height: 14px;
	background:
		radial-gradient(circle at 0 50%, var(--evt-bg) 8px, transparent 8.5px) left center / 16px 14px no-repeat,
		radial-gradient(circle at 100% 50%, var(--evt-bg) 8px, transparent 8.5px) right center / 16px 14px no-repeat;
}
.fk-evt-book__body { padding: 22px 26px 26px; }

/* Tarifs (radio-cartes) */
.fk-evt-fare { position: relative; display: block; margin-bottom: 10px; }
.fk-evt-fare input { position: absolute; opacity: 0; }
.fk-evt-fare__box {
	display: flex; justify-content: space-between; gap: 12px; align-items: flex-start;
	border: 1.5px solid var(--evt-border); border-radius: var(--evt-radius);
	padding: 13px 15px; cursor: pointer; transition: border-color .15s, background .15s;
}
.fk-evt-fare:hover .fk-evt-fare__box { border-color: var(--evt-navy); }
.fk-evt-fare input:checked + .fk-evt-fare__box { border-color: var(--evt-navy); background: #f2f7fd; }
.fk-evt-fare input:focus-visible + .fk-evt-fare__box { outline: 2px solid var(--evt-navy); outline-offset: 2px; }
.fk-evt-fare input:disabled + .fk-evt-fare__box { opacity: .55; cursor: not-allowed; }
.fk-evt-fare__name { font-weight: 700; font-size: 14.5px; }
.fk-evt-fare__kind {
	display: inline-block; margin-left: 7px; padding: 2px 8px; border-radius: 999px;
	background: #eef2f7; color: var(--evt-navy); font-size: 10px; font-weight: 800;
	letter-spacing: 0.08em; text-transform: uppercase; vertical-align: 1px;
}
.fk-evt-fare__desc { margin-top: 3px; font-size: 12.5px; color: var(--evt-ink-3); line-height: 1.5; }
.fk-evt-fare__price { font-weight: 800; font-size: 15px; white-space: nowrap; }
.fk-evt-fare__left { display: block; margin-top: 3px; font-size: 11px; color: var(--evt-accent-ink); font-weight: 700; text-align: right; }

/* Stepper quantité */
.fk-evt-qty { display: flex; align-items: center; gap: 0; border: 1.5px solid var(--evt-border); border-radius: var(--evt-radius); width: max-content; overflow: hidden; }
.fk-evt-qty button {
	width: 40px; height: 40px; border: 0; background: var(--evt-surface); cursor: pointer;
	font-size: 19px; font-weight: 700; color: var(--evt-ink-2); font-family: inherit; transition: background .15s;
}
.fk-evt-qty button:hover { background: #f2f0ea; }
.fk-evt-qty button:focus-visible { outline: 2px solid var(--evt-navy); outline-offset: -2px; }
.fk-evt-qty output { width: 46px; text-align: center; font-weight: 800; font-size: 15px; }

.fk-evt-row { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin: 18px 0 0; }
.fk-evt-row__label { font-size: 13px; font-weight: 700; color: var(--evt-ink-2); }

/* Champs */
.fk-evt-form { margin-top: 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.fk-evt-field { display: flex; flex-direction: column; gap: 6px; }
.fk-evt-field--full { grid-column: 1 / -1; }
.fk-evt-field label { font-size: 12px; font-weight: 700; color: var(--evt-ink-2); }
.fk-evt-field input {
	border: 1.5px solid var(--evt-border); border-radius: var(--evt-radius);
	padding: 11px 13px; font-size: 14.5px; font-family: inherit; color: var(--evt-ink);
	background: var(--evt-surface); outline: none; transition: border-color .15s; width: 100%;
}
.fk-evt-field input:focus { border-color: var(--evt-navy); }
.fk-evt-hp { position: absolute; left: -5000px; opacity: 0; height: 0; overflow: hidden; }

/* Coupon */
.fk-evt-coupon { grid-column: 1 / -1; display: flex; gap: 8px; }
.fk-evt-coupon input { flex: 1; text-transform: uppercase; letter-spacing: 0.06em; }
.fk-evt-coupon button {
	border: 1.5px solid var(--evt-border); background: var(--evt-surface); border-radius: var(--evt-radius);
	padding: 0 16px; font-weight: 700; font-size: 13px; cursor: pointer; color: var(--evt-ink-2);
	font-family: inherit; transition: border-color .15s, color .15s;
}
.fk-evt-coupon button:hover { border-color: var(--evt-navy); color: var(--evt-navy); }
.fk-evt-coupon__ok { grid-column: 1 / -1; font-size: 12.5px; font-weight: 700; color: var(--evt-green-ink); }
.fk-evt-coupon__err { grid-column: 1 / -1; font-size: 12.5px; font-weight: 600; color: var(--evt-accent-ink); }

/* Récap prix */
.fk-evt-summary { margin-top: 20px; border-top: 1px solid var(--evt-border); padding-top: 14px; font-size: 13.5px; }
.fk-evt-summary__line { display: flex; justify-content: space-between; padding: 4px 0; color: var(--evt-ink-2); }
.fk-evt-summary__line--total { font-size: 16px; font-weight: 800; color: var(--evt-ink); padding-top: 10px; }
.fk-evt-summary__line--discount { color: var(--evt-green-ink); font-weight: 700; }

/* Modes de paiement */
.fk-evt-paychoice { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 16px; }
.fk-evt-paychoice label { position: relative; display: block; }
.fk-evt-paychoice input { position: absolute; opacity: 0; }
.fk-evt-paychoice .box {
	display: flex; align-items: center; justify-content: center; gap: 8px;
	border: 1.5px solid var(--evt-border); border-radius: var(--evt-radius); padding: 11px 8px;
	font-size: 13px; font-weight: 700; color: var(--evt-ink-2); cursor: pointer; transition: border-color .15s, background .15s;
}
.fk-evt-paychoice input:checked + .box { border-color: var(--evt-navy); background: #f2f7fd; color: var(--evt-navy); }
.fk-evt-paychoice input:focus-visible + .box { outline: 2px solid var(--evt-navy); outline-offset: 2px; }

/* CTA */
.fk-evt-cta {
	width: 100%; margin-top: 18px; padding: 15px 18px; border: 0; border-radius: var(--evt-radius);
	background: var(--evt-navy); color: #fff; font-family: inherit; font-size: 15px; font-weight: 800;
	letter-spacing: 0.01em; cursor: pointer; transition: background .2s, transform .15s;
	display: flex; align-items: center; justify-content: center; gap: 9px;
}
.fk-evt-cta:hover { background: var(--fk-blue-600, #0366cc); }
.fk-evt-cta:focus-visible { outline: 2px solid var(--evt-navy); outline-offset: 2px; }
.fk-evt-cta:disabled { opacity: .6; cursor: default; transform: none; }
.fk-evt-note { margin: 12px 0 0; font-size: 12px; color: var(--evt-ink-3); text-align: center; line-height: 1.55; }
.fk-evt-alert {
	padding: 14px 16px; border-radius: var(--evt-radius); font-size: 13.5px; line-height: 1.55; margin-top: 14px;
}
.fk-evt-alert--warn { background: #fff8eb; border: 1px solid #fde9bf; color: #92590b; }
.fk-evt-alert--err { background: #fdeaea; border: 1px solid #f5c6c6; color: #a12a2a; }
.fk-evt-alert--ok { background: #e7f6ef; border: 1px solid #bfe6d6; color: #0f7a52; }
.fk-evt-closed { padding: 26px; text-align: center; color: var(--evt-ink-2); font-size: 14.5px; line-height: 1.6; }
.fk-evt-closed strong { display: block; font-family: var(--evt-heading); font-size: 18px; margin-bottom: 6px; color: var(--evt-ink); }

/* Interac (instructions) */
.fk-evt-interac { margin-top: 16px; border: 1px solid var(--evt-border); border-radius: var(--evt-radius); overflow: hidden; }
.fk-evt-interac__h { padding: 11px 15px; background: #faf9f5; font-size: 12px; color: var(--evt-ink-3); font-weight: 700; border-bottom: 1px solid var(--evt-border); }
.fk-evt-interac__row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 15px; border-bottom: 1px solid #f2f0ea; font-size: 14px; }
.fk-evt-interac__row:last-child { border-bottom: 0; }
.fk-evt-interac__row span { color: var(--evt-ink-3); }
.fk-evt-interac__row b { font-family: ui-monospace, Menlo, monospace; overflow: hidden; text-overflow: ellipsis; }

/* ── Confirmation / billets ─────────────────────────────────────────────── */
.fk-evt-confirm { max-width: 720px; margin: 0 auto; padding: 48px 22px 90px; }
.fk-evt-confirm__status { text-align: center; margin-bottom: 30px; }
.fk-evt-confirm__ring {
	width: 62px; height: 62px; margin: 0 auto 16px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
}
.fk-evt-confirm__ring--ok { background: #e7f6ef; color: #0f7a52; }
.fk-evt-confirm__ring--wait { background: #fff4e0; color: #9a6700; }
.fk-evt-confirm__ring--bad { background: #fdeaea; color: #a12a2a; }
.fk-evt-confirm__title { font-family: var(--evt-heading); font-size: 28px; font-weight: 600; margin: 0 0 6px; }
.fk-evt-confirm__sub { color: var(--evt-ink-2); font-size: 15px; margin: 0; line-height: 1.6; }
.fk-evt-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 22px; }
.fk-evt-btn {
	display: inline-flex; align-items: center; gap: 8px; padding: 11px 18px;
	border: 1.5px solid var(--evt-border); border-radius: var(--evt-radius); background: var(--evt-surface);
	color: var(--evt-ink); font-size: 13.5px; font-weight: 700; text-decoration: none; cursor: pointer;
	font-family: inherit; transition: border-color .15s, color .15s;
}
.fk-evt-btn:hover { border-color: var(--evt-navy); color: var(--evt-navy); }
.fk-evt-btn--primary { background: var(--evt-navy); border-color: var(--evt-navy); color: #fff; }
.fk-evt-btn--primary:hover { background: var(--fk-blue-600, #0366cc); color: #fff; }
.fk-evt-btn--danger:hover { border-color: var(--evt-accent); color: var(--evt-accent-ink); }

/* Souche de billet individuelle (QR) */
.fk-evt-stub {
	display: grid; grid-template-columns: 1fr 168px; background: var(--evt-surface);
	border: 1px solid var(--evt-border); border-radius: var(--evt-radius); margin-top: 16px;
	overflow: hidden; box-shadow: var(--fk-shadow-sm, 0 1px 3px rgba(7, 33, 60, .06));
}
.fk-evt-stub__main { padding: 22px 24px; min-width: 0; }
.fk-evt-stub__event { font-family: var(--evt-heading); font-weight: 600; font-size: 18px; line-height: 1.3; }
.fk-evt-stub__holder { margin-top: 10px; font-size: 14px; font-weight: 700; }
.fk-evt-stub__meta { margin-top: 4px; font-size: 12.5px; color: var(--evt-ink-3); line-height: 1.6; }
.fk-evt-stub__qr {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
	padding: 18px 14px; border-left: 1.5px dashed var(--evt-border); position: relative; background: #fcfbf8;
}
.fk-evt-stub__qr::before, .fk-evt-stub__qr::after {
	content: ""; position: absolute; left: -7px; width: 12px; height: 12px;
	background: var(--evt-bg); border: 1px solid var(--evt-border); border-radius: 50%;
}
.fk-evt-stub__qr::before { top: -7px; }
.fk-evt-stub__qr::after { bottom: -7px; }
.fk-evt-stub__qr svg { display: block; }
.fk-evt-stub__code { font-family: ui-monospace, Menlo, monospace; font-size: 11px; font-weight: 700; letter-spacing: 0.06em; color: var(--evt-ink-2); }

/* ── Responsive ────────────────────────────────────────────────────────── */
@media (max-width: 980px) {
	.fk-evt-detail__grid { grid-template-columns: 1fr; }
	.fk-evt-book { position: static; }
	.fk-evt-hero--detail .fk-evt__wrap { padding-bottom: 120px; }
}
@media (max-width: 640px) {
	/* Le héros cède de la hauteur : sur un écran de téléphone, il occupait presque
	   toute la première vue avant le moindre événement. Le héros de la page détail
	   est exclu : son grand retrait bas réserve la place au panneau qui le chevauche
	   (margin-top: -96px), et cette règle, écrite plus bas, l'emporterait sur lui. */
	.fk-evt-hero:not(.fk-evt-hero--detail) .fk-evt__wrap { padding-top: 48px; padding-bottom: 44px; }

	/* Les onze filtres s'empilaient sur quatre rangées et repoussaient le premier
	   événement sous la ligne de flottaison. Ils défilent désormais d'un doigt, de
	   bord à bord. Les puces restent des liens : au clavier, la tabulation fait
	   défiler la bande, et le retrait vertical laisse la place à l'anneau de focus. */
	.fk-evt-filters {
		flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-x: contain;
		scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch;
		margin: 26px -22px 2px; padding: 4px 22px;
		scrollbar-width: none;
	}
	.fk-evt-filters::-webkit-scrollbar { display: none; }
	.fk-evt-chip { flex: 0 0 auto; scroll-snap-align: start; }

	.fk-evt-card { grid-template-columns: 92px 1fr; }
	.fk-evt-card__date { padding: 16px 6px; }
	.fk-evt-card__day { font-size: 30px; }
	.fk-evt-card__side { grid-column: 1 / -1; flex-direction: row; justify-content: space-between; align-items: center; border-top: 1px solid var(--evt-border); padding: 12px 18px; }
	.fk-evt-desc { padding: 24px 20px; }
	.fk-evt-desc__cover { margin: -24px -20px 22px; }
	.fk-evt-form { grid-template-columns: 1fr; }
	.fk-evt-book__body { padding: 18px 18px 22px; }
	.fk-evt-stub { grid-template-columns: 1fr; }
	.fk-evt-stub__qr { border-left: 0; border-top: 1.5px dashed var(--evt-border); }
	.fk-evt-stub__qr::before { left: auto; top: -7px; right: 14px; }
	.fk-evt-stub__qr::after { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.fk-evt * { transition: none !important; }
}
