
/* ======================================================
   LE REPAS DES TANGOS — PAGE PERMANENTE
====================================================== */

.alc-repas-page,
.alc-repas-page * {
	box-sizing: border-box;
}

.alc-repas-page {
	--alc-repas-orange: #f85903;
	--alc-repas-orange-dark: #d94700;
	--alc-repas-black: #171717;
	--alc-repas-text: #30343b;
	--alc-repas-muted: #6b7280;
	--alc-repas-border: #e8e8e8;
	--alc-repas-soft: #f7f7f7;

	width: min(1180px, calc(100% - 40px));
	margin: 0 auto;
	padding: 56px 0 90px;
	color: var(--alc-repas-text);
	font-family: Arial, Helvetica, sans-serif;
}

.alc-repas-page a {
	text-decoration: none !important;
}

/* ======================================================
   INTRODUCTION
====================================================== */

.alc-repas-page__intro {
	position: relative;
	overflow: hidden;
	margin-bottom: 26px;
	padding: 40px;
	border-radius: 26px;
	background:
		radial-gradient(
			circle at 88% 12%,
			rgba(255, 255, 255, 0.18),
			transparent 30%
		),
		linear-gradient(
			135deg,
			var(--alc-repas-orange),
			var(--alc-repas-orange-dark)
		);
	color: #ffffff;
	box-shadow: 0 18px 46px rgba(248, 89, 3, 0.2);
}

.alc-repas-page__intro::before {
	position: absolute;
	right: 72px;
	bottom: -92px;
	width: 220px;
	height: 220px;
	border: 34px solid rgba(255, 255, 255, 0.09);
	border-radius: 50%;
	content: "";
}

.alc-repas-page__intro::after {
	position: absolute;
	right: -42px;
	top: -52px;
	width: 150px;
	height: 150px;
	border: 25px solid rgba(23, 23, 23, 0.08);
	border-radius: 42px;
	content: "";
	transform: rotate(24deg);
}

.alc-repas-page__badge {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	margin-bottom: 17px;
	padding: 7px 12px;
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.12);
	font-size: 9px;
	font-weight: 900;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	gap: 7px;
}

.alc-repas-page__intro h2 {
	position: relative;
	z-index: 1;
	max-width: 760px;
	margin: 0;
	color: #ffffff;
	font-size: clamp(36px, 5vw, 60px);
	font-weight: 950;
	letter-spacing: -0.045em;
	line-height: 1;
}

.alc-repas-page__intro p {
	position: relative;
	z-index: 1;
	max-width: 780px;
	margin: 18px 0 0;
	color: rgba(255, 255, 255, 0.88);
	font-size: 15px;
	line-height: 1.7;
}

/* ======================================================
   PRÉSENTATION
====================================================== */

.alc-repas-page__presentation {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: 26px;
	gap: 16px;
}

.alc-repas-page__presentation-item {
	display: flex;
	align-items: center;
	min-height: 92px;
	padding: 18px;
	border: 1px solid var(--alc-repas-border);
	border-radius: 18px;
	background: #ffffff;
	box-shadow: 0 10px 28px rgba(17, 24, 39, 0.06);
	gap: 14px;
}

.alc-repas-page__presentation-icon {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 45px;
	height: 45px;
	border-radius: 14px;
	background: #fff0e7;
	color: var(--alc-repas-orange);
	font-size: 20px;
}

.alc-repas-page__presentation-item strong {
	display: block;
	color: var(--alc-repas-black);
	font-size: 13px;
	font-weight: 900;
}

.alc-repas-page__presentation-item span:last-child {
	display: block;
	margin-top: 4px;
	color: var(--alc-repas-muted);
	font-size: 11px;
	line-height: 1.4;
}

/* ======================================================
   CARTES D’ATTENTE
====================================================== */

.alc-repas-page__waiting-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-bottom: 26px;
	gap: 20px;
}

.alc-repas-page__waiting-card {
	display: grid;
	overflow: hidden;
	grid-template-columns: minmax(180px, 40%) minmax(0, 60%);
	min-height: 320px;
	border: 1px solid var(--alc-repas-border);
	border-radius: 22px;
	background: #ffffff;
	box-shadow: 0 14px 36px rgba(17, 24, 39, 0.08);
}

.alc-repas-page__waiting-visual {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background:
		linear-gradient(
			145deg,
			#171717,
			#2a2a2a
		);
	isolation: isolate;
}

.alc-repas-page__waiting-visual--orange {
	background:
		linear-gradient(
			145deg,
			var(--alc-repas-orange),
			var(--alc-repas-orange-dark)
		);
}

.alc-repas-page__waiting-visual::after {
	position: absolute;
	z-index: -1;
	right: -45px;
	bottom: -60px;
	width: 150px;
	height: 150px;
	border: 24px solid rgba(255, 255, 255, 0.08);
	border-radius: 42px;
	content: "";
	transform: rotate(25deg);
}

.alc-repas-page__waiting-watermark {
	position: absolute;
	color: rgba(255, 255, 255, 0.055);
	font-size: 150px;
	transform: rotate(-10deg);
}

.alc-repas-page__waiting-icon {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 112px;
	height: 112px;
	border: 1px solid rgba(255, 255, 255, 0.32);
	border-radius: 30px;
	background: rgba(255, 255, 255, 0.14);
	box-shadow: 0 18px 36px rgba(0, 0, 0, 0.18);
	color: #ffffff;
	font-size: 50px;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.alc-repas-page__waiting-spark {
	position: absolute;
	z-index: 3;
	color: rgba(255, 255, 255, 0.66);
	font-size: 19px;
}

.alc-repas-page__waiting-spark--one {
	top: 27px;
	left: 25px;
}

.alc-repas-page__waiting-spark--two {
	right: 25px;
	bottom: 28px;
}

.alc-repas-page__waiting-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 30px;
}

.alc-repas-page__waiting-label {
	align-self: flex-start;
	margin-bottom: 14px;
	padding: 7px 10px;
	border-radius: 999px;
	background: #fff0e7;
	color: var(--alc-repas-orange);
	font-size: 9px;
	font-weight: 900;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.alc-repas-page__waiting-content h3 {
	margin: 0;
	color: var(--alc-repas-black);
	font-size: clamp(24px, 3vw, 34px);
	font-weight: 950;
	letter-spacing: -0.03em;
	line-height: 1.08;
}

.alc-repas-page__waiting-content p {
	margin: 15px 0 0;
	color: var(--alc-repas-muted);
	font-size: 14px;
	line-height: 1.65;
}

/* ======================================================
   BLOC INFORMATIONS
====================================================== */

.alc-repas-page__info {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
	overflow: hidden;
	border: 1px solid var(--alc-repas-border);
	border-radius: 24px;
	background: #ffffff;
	box-shadow: 0 14px 36px rgba(17, 24, 39, 0.07);
}

.alc-repas-page__info-content {
	padding: 34px;
}

.alc-repas-page__section-label {
	display: inline-flex;
	align-items: center;
	min-height: 27px;
	padding: 7px 11px;
	border-radius: 999px;
	background: #fff0e7;
	color: var(--alc-repas-orange);
	font-size: 9px;
	font-weight: 900;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	gap: 7px;
}

.alc-repas-page__info h3 {
	margin: 13px 0 0;
	color: var(--alc-repas-black);
	font-size: clamp(26px, 4vw, 38px);
	font-weight: 950;
	letter-spacing: -0.03em;
	line-height: 1.08;
}

.alc-repas-page__info p {
	max-width: 700px;
	margin: 15px 0 0;
	color: var(--alc-repas-muted);
	font-size: 14px;
	line-height: 1.65;
}

.alc-repas-page__info-list {
	display: grid;
	margin: 24px 0 0;
	padding: 0;
	gap: 10px;
	list-style: none;
}

.alc-repas-page__info-list li {
	display: flex;
	align-items: center;
	padding: 12px 14px;
	border: 1px solid #eeeeee;
	border-radius: 13px;
	background: #fafafa;
	color: #424242;
	font-size: 12px;
	font-weight: 800;
	gap: 11px;
}

.alc-repas-page__info-list i {
	width: 20px;
	color: var(--alc-repas-orange);
	text-align: center;
}

.alc-repas-page__info-visual {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	min-height: 330px;
	background:
		linear-gradient(
			145deg,
			#fff0e7,
			#fffaf7
		);
}

.alc-repas-page__info-visual::before {
	position: absolute;
	left: -52px;
	top: -55px;
	width: 150px;
	height: 150px;
	border: 24px solid rgba(248, 89, 3, 0.08);
	border-radius: 42px;
	content: "";
	transform: rotate(24deg);
}

.alc-repas-page__info-visual-icon {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 138px;
	height: 138px;
	border-radius: 38px;
	background: var(--alc-repas-orange);
	box-shadow: 0 20px 42px rgba(248, 89, 3, 0.23);
	color: #ffffff;
	font-size: 62px;
}

.alc-repas-page__intro h2{
	color:#fff !important;
}

.alc-repas-page__intro p{
	color:rgba(255,255,255,.9) !important;
}

.alc-repas-page__badge{
	color:#fff !important;
}

.alc-repas-page__badge i{
	color:#fff !important;
}

/* ======================================================
   RESPONSIVE
====================================================== */

@media (max-width: 980px) {

	.alc-repas-page__presentation {
		grid-template-columns: 1fr;
	}

	.alc-repas-page__waiting-grid {
		grid-template-columns: 1fr;
	}

	.alc-repas-page__info {
		grid-template-columns: 1fr;
	}

	.alc-repas-page__info-visual {
		min-height: 230px;
	}
}

@media (max-width: 620px) {

	.alc-repas-page {
		width: min(100% - 24px, 1180px);
		padding: 36px 0 65px;
	}

	.alc-repas-page__intro {
		padding: 29px 22px;
		border-radius: 21px;
	}

	.alc-repas-page__waiting-card {
		grid-template-columns: 1fr;
	}

	.alc-repas-page__waiting-visual {
		min-height: 220px;
	}

	.alc-repas-page__waiting-content,
	.alc-repas-page__info-content {
		padding: 24px 21px;
	}
}

/* Sections Gutenberg, dans la DA de la page permanente. */
.alc-repas-page .alc-vie-card{margin-bottom:26px;padding:30px;border:1px solid #e8e8e8;border-radius:22px;background:#fff;box-shadow:0 14px 36px rgba(17,24,39,.07);overflow-wrap:anywhere}
.alc-repas-page .alc-vie-card h3{margin:12px 0 18px;color:#171717;font-size:clamp(24px,3vw,34px);font-weight:900;line-height:1.15;letter-spacing:-.03em}
.alc-repas-page .alc-vie-card p,.alc-repas-page .alc-vie-card li{font-size:14px;line-height:1.65;color:#6b7280}
.alc-vie-poster{display:block;width:auto;max-width:100%;height:auto;max-height:850px;margin:0 auto;border-radius:14px}
.alc-vie-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 26px}
.alc-vie-facts>div{padding:18px;border:1px solid #e8e8e8;border-radius:18px;background:white;box-shadow:0 10px 28px rgba(17,24,39,.06)}
.alc-vie-facts dt{color:#f85903;font-size:11px;font-weight:900;text-transform:uppercase;margin-bottom:7px}
.alc-vie-facts dd{margin:0;color:#171717;font-size:14px;white-space:pre-line;overflow-wrap:anywhere}
.alc-vie-booking iframe{display:block;width:100%;border:0;background:white}
.alc-repas-page .alc-vie-button{display:inline-block;background:#f85903;color:white!important;border-radius:12px;padding:13px 20px;font-weight:800;margin-top:12px}
.alc-vie-status{display:inline-block;border-radius:999px;background:#fff0e7;color:#d94700;padding:8px 12px;font-size:12px;font-weight:800}
@media(max-width:620px){.alc-vie-facts{grid-template-columns:1fr}.alc-repas-page .alc-vie-card{padding:24px 21px}}

/* Vie du club — cartes et illustrations dans la continuité de la DA originale. */
.alc-repas-page svg{display:block;width:24px;height:24px;flex-shrink:0}
.alc-repas-page__badge svg{width:15px;height:15px}
.alc-repas-page .alc-vie-card{position:relative;padding:0;border-radius:24px;overflow:hidden;box-shadow:0 14px 36px rgba(17,24,39,.07)}
.alc-vie-card-head{display:flex;align-items:center;gap:20px;padding:28px 32px;border-bottom:1px solid #eee;background:linear-gradient(115deg,#fff 30%,#fffaf7)}
.alc-vie-card-head>div{min-width:0}
.alc-vie-card-icon{display:flex;align-items:center;justify-content:center;flex:0 0 68px;height:68px;border-radius:21px;background:#fff0e7;color:#f85903}
.alc-vie-card-icon svg{width:32px;height:32px}
.alc-repas-page .alc-vie-card h3{margin:10px 0 0;font-size:clamp(24px,3vw,34px);letter-spacing:-.035em}
.alc-vie-card-body{padding:28px 32px}
.alc-vie-card-body> :first-child{margin-top:0}
.alc-vie-card-body> :last-child{margin-bottom:0}
.alc-vie-card--contenu .alc-vie-card-body{padding-left:120px}
.alc-vie-card-body ul{padding:0;list-style:none;margin:20px 0}
.alc-vie-card-body li{position:relative;padding:12px 16px 12px 34px;margin:8px 0;border:1px solid #eee;border-radius:13px;background:#fafafa}
.alc-vie-card-body li::before{content:"";position:absolute;left:15px;top:21px;width:6px;height:6px;border-radius:50%;background:#f85903}
.alc-vie-card-body a:not(.alc-vie-button){color:#d94700;text-decoration:underline!important;text-underline-offset:3px}
.alc-vie-facts{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.alc-vie-facts>div{display:flex;align-items:center;gap:14px;padding:20px;border-radius:18px}
.alc-vie-fact-icon{display:flex;align-items:center;justify-content:center;flex:0 0 46px;height:46px;border-radius:14px;background:#fff0e7;color:#f85903}
.alc-vie-facts dt{font-size:10px;letter-spacing:.055em}
.alc-vie-facts dd{font-weight:800;font-size:13px;line-height:1.5}
.alc-vie-card--affiche .alc-vie-card-body{padding:0}
.alc-vie-poster-stage{position:relative;padding:32px;background:radial-gradient(circle at 10% 90%,rgba(248,89,3,.14),transparent 45%),linear-gradient(140deg,#f7f7f7,#fff4ec);overflow:hidden}
.alc-vie-poster-stage::before{content:"";position:absolute;width:240px;height:240px;right:-100px;top:20px;border:35px solid rgba(248,89,3,.06);border-radius:60px;transform:rotate(24deg);pointer-events:none}
.alc-vie-poster-stage .alc-vie-poster{position:relative;max-height:780px;border-radius:12px;box-shadow:0 18px 40px rgba(23,23,23,.16)}
.alc-vie-waiting{display:grid;grid-template-columns:230px 1fr;min-height:235px}
.alc-vie-waiting-visual{position:relative;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#171717,#2a2a2a);color:#fff;overflow:hidden}
.alc-vie-waiting-visual::after{content:"";position:absolute;right:-50px;bottom:-55px;width:160px;height:160px;border:24px solid rgba(255,255,255,.06);border-radius:42px;transform:rotate(25deg)}
.alc-vie-waiting-visual svg{position:relative;z-index:1;width:90px;height:90px;padding:20px;box-sizing:content-box;border:1px solid rgba(255,255,255,.25);border-radius:30px;background:rgba(255,255,255,.1)}
.alc-vie-waiting>div{align-self:center;padding:32px}
.alc-vie-waiting strong{font-size:22px;line-height:1.2;color:#171717;letter-spacing:-.025em;display:block}
.alc-vie-card--reservations .alc-vie-card-head{background:radial-gradient(circle at 95% 0,rgba(255,255,255,.2),transparent 35%),linear-gradient(135deg,#f85903,#d94700);border-bottom:0}
.alc-vie-card--reservations .alc-vie-card-icon{color:white;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25)}
.alc-repas-page .alc-vie-card--reservations h3{color:white!important}
.alc-vie-card--reservations .alc-repas-page__section-label{background:rgba(255,255,255,.15);color:#fff}
.alc-vie-status{display:inline-flex;align-items:center;gap:8px;border:1px solid #ffd7c0;padding:9px 13px}
.alc-vie-status::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.alc-repas-page .alc-vie-button{box-shadow:0 8px 20px rgba(248,89,3,.17);transition:background .2s,box-shadow .2s}
.alc-repas-page .alc-vie-button:hover{background:#d94700;box-shadow:0 10px 24px rgba(248,89,3,.24)}
.alc-repas-page .alc-vie-button:focus-visible{outline:3px solid #171717;outline-offset:4px}
.alc-vie-booking iframe{margin-top:24px;border-radius:14px}
@media(max-width:620px){
 .alc-repas-page .alc-vie-card{padding:0;border-radius:21px}
 .alc-vie-card-head{padding:22px 20px;gap:14px}
 .alc-vie-card-icon{flex-basis:50px;height:50px;border-radius:15px}
 .alc-vie-card-icon svg{width:26px;height:26px}
 .alc-vie-card-body,.alc-vie-card--contenu .alc-vie-card-body{padding:24px 21px}
 .alc-vie-waiting{grid-template-columns:1fr}
 .alc-vie-waiting-visual{min-height:180px}
 .alc-vie-waiting-visual svg{width:65px;height:65px;padding:17px;border-radius:24px}
 .alc-vie-waiting>div{padding:26px 21px}
 .alc-vie-poster-stage{padding:22px}
 .alc-repas-page .alc-vie-button{display:block;text-align:center}
}
/* Tarifs : cartes de formules, sans badge générique répété. */
.alc-vie-prices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:18px}
.alc-vie-price{position:relative;padding:24px;border:1px solid #ffdcc7;border-radius:18px;background:linear-gradient(145deg,#fffaf7,#fff);overflow:hidden}
.alc-vie-price::after{content:"";position:absolute;right:-25px;top:-30px;width:90px;height:90px;border:14px solid rgba(248,89,3,.045);border-radius:24px;transform:rotate(24deg);pointer-events:none}
.alc-repas-page .alc-vie-price h4{position:relative;z-index:1;margin:0;color:#171717;font-family:inherit;font-size:16px;font-weight:800;line-height:1.4;overflow-wrap:anywhere}
.alc-repas-page .alc-vie-price .alc-vie-price-amount{margin:14px 0 8px;color:#f85903;font-size:38px;font-weight:900;letter-spacing:-.045em;line-height:1.15;overflow-wrap:anywhere}
.alc-repas-page .alc-vie-price .alc-vie-price-detail{margin:0;font-size:12px;line-height:1.55;color:#6b7280}
.alc-repas-page .alc-vie-price-note{margin:20px 0 0;padding:13px 16px;border-radius:12px;background:#f7f7f7;color:#424242;font-size:13px}
.alc-repas-page .alc-vie-card-head h3:first-child{margin-top:0}

/* Raccourci visible dès le bandeau de présentation vers le formulaire HelloAsso. */
.alc-repas-page .alc-vie-hero-cta{display:inline-flex;align-items:center;justify-content:center;gap:11px;margin-top:22px;padding:14px 23px;border-radius:12px;background:#171717;color:#fff!important;text-decoration:none!important;font-weight:800;box-shadow:0 8px 24px rgba(0,0,0,.18);transition:background .2s,transform .2s}
.alc-repas-page .alc-vie-hero-cta svg{width:21px;height:21px;flex:none}
.alc-repas-page .alc-vie-hero-cta:hover{background:#2e2e2e;transform:translateY(-2px)}
.alc-repas-page .alc-vie-hero-cta:focus-visible{outline:3px solid #fff;outline-offset:4px}
.alc-repas-page .alc-vie-booking{scroll-margin-top:110px}
@media(max-width:600px){.alc-repas-page .alc-vie-hero-cta{width:100%;margin-top:18px;padding:14px 16px}}


/* ========================================================
   ALC VIE DU CLUB — IDENTITÉ VISUELLE UNIFIÉE 3.14.0
   Une seule couche de finition, sans anciennes surcharges.
======================================================== */
.alc-repas-page {
  --alc-orange:#f85903; --alc-black:#171717; --alc-ink:#242424;
  --alc-line:#eae8e5; --alc-soft:#faf9f7;
  --alc-radius:18px;
  width:min(1180px,calc(100% - 40px));
  padding-top:42px;
  color:var(--alc-ink);
}
.alc-repas-page__intro {
  background:linear-gradient(115deg,#f85903,#e64e00);
  border-radius:22px; padding:36px 38px; box-shadow:none;
  margin-bottom:22px;
}
.alc-repas-page__intro h2 {font-size:clamp(32px,4vw,50px);line-height:1.14;font-weight:750;letter-spacing:-.035em}
.alc-repas-page__intro p {font-size:15px;line-height:1.6;font-weight:400}
.alc-repas-page__badge {font-size:10px;font-weight:650}
.alc-repas-page .alc-vie-card {
  border:1px solid var(--alc-line);border-radius:var(--alc-radius);
  box-shadow:none;background:#fff;margin-bottom:20px;
  overflow:hidden;transition:border-color .2s;
}
.alc-repas-page .alc-vie-card:hover {transform:none;box-shadow:none;border-color:#dedbd8}
.alc-vie-card-head {
  display:flex;align-items:center;gap:13px;
  padding:22px 26px 17px;background:#fff;border-bottom:1px solid var(--alc-line);
}
.alc-vie-card-icon,.alc-vie-fact-icon,.alc-vie-document-icon {
  display:grid;place-items:center;width:43px;height:43px;flex:0 0 43px;
  color:var(--alc-orange);background:#fff0e8;border:0;
  border-radius:12px;box-shadow:none;
}
.alc-vie-card-icon svg,.alc-vie-fact-icon svg,.alc-vie-document-icon svg {width:22px;height:22px}
.alc-repas-page .alc-vie-card h3 {
  margin:0;font-size:clamp(21px,2.3vw,27px);
  font-weight:680;letter-spacing:-.025em;line-height:1.2;
}
.alc-vie-card-body,.alc-vie-card--contenu .alc-vie-card-body {padding:22px 26px 25px}
.alc-repas-page .alc-vie-card p,.alc-repas-page .alc-vie-card li {
  color:#4c4c4c;font-size:14px;line-height:1.65;font-weight:400;
}
.alc-vie-card-body strong {font-weight:650}
.alc-vie-card-body li {border:0;border-bottom:1px solid #efefef;background:transparent;border-radius:0;margin:0;padding:12px 12px 12px 25px}
.alc-vie-card-body li:last-child {border-bottom:0}
.alc-vie-card-body li::before {left:5px;top:21px}
.alc-vie-card--contenu .alc-vie-card-body {padding-left:26px}
.alc-repas-page__section-label {background:#fff0e8;color:#ca4704;font-weight:650}

/* Quatre infos : une colonne prioritaire + trois lignes équilibrées */
.alc-vie-page--operation .alc-vie-facts--bourse {
  display:grid;grid-template-columns:1.15fr 1fr;
  grid-template-rows:repeat(3,minmax(104px,auto));
  gap:12px;margin:0 0 22px;
}
.alc-vie-facts--bourse>div {
  display:flex;align-items:center;gap:15px;
  min-height:0;padding:20px;
  border:1px solid var(--alc-line);border-radius:16px;
  background:#fff;box-shadow:none;
}
.alc-vie-facts--bourse>div::before,.alc-vie-facts--bourse>div::after {display:none}
.alc-vie-facts--bourse .alc-vie-fact-icon {
  width:42px;height:42px;flex-basis:42px;border-radius:11px;
  background:#fff0e8;border:0;box-shadow:none;
}
.alc-vie-facts--bourse dt {margin:0 0 7px;color:#b84a0d;font-size:10px;letter-spacing:.085em;font-weight:700;text-transform:uppercase}
.alc-vie-facts--bourse dd {font-size:14px;font-weight:400;line-height:1.65;color:#303030;white-space:pre-line}
.alc-vie-fact-line {display:block;height:3px}
.alc-vie-facts--bourse .alc-vie-fact--date {
  grid-column:1;grid-row:1 / 4;display:flex;flex-direction:column;
  align-items:flex-start;justify-content:center;gap:18px;
  padding:36px;background:#171717;border-color:#171717;
}
.alc-vie-facts--bourse .alc-vie-fact--date .alc-vie-fact-icon {background:#303030;color:#ff782d}
.alc-vie-facts--bourse .alc-vie-fact--date dt {color:#ff9a62}
.alc-vie-facts--bourse .alc-vie-fact--date dd {font-size:clamp(20px,2vw,26px);font-weight:600;line-height:1.55;color:#fff}
.alc-vie-facts--bourse .alc-vie-fact--venue {grid-column:2;grid-row:1}
.alc-vie-facts--bourse .alc-vie-fact--deposit {grid-column:2;grid-row:2}
.alc-vie-facts--bourse .alc-vie-fact--settlement {grid-column:2;grid-row:3}

/* Galerie des affiches : simple et directe */
.alc-vie-card--affiche .alc-vie-card-head {border-bottom:0}
.alc-vie-card--affiche .alc-vie-card-body {padding:0}
.alc-vie-poster-stage {
  padding:0 22px 22px;background:#fff;
}
.alc-vie-poster-stage::before,.alc-vie-poster-stage .alc-vie-poster-item::after {display:none}
.alc-vie-poster-stage--duo {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.alc-vie-poster-stage .alc-vie-poster-item {padding:0;min-width:0;border:0;border-radius:10px;background:none;box-shadow:none;backdrop-filter:none}
.alc-vie-poster-stage .alc-vie-poster {max-height:none;width:100%;height:auto;border-radius:9px;object-fit:contain;box-shadow:none}

/* Documents : fiches côte à côte, largeur adaptée au texte */
.alc-vie-documents-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.alc-vie-document {
  display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;
  padding:17px;border:1px solid var(--alc-line);border-radius:14px;
  background:var(--alc-soft);
}
.alc-vie-document:first-child,.alc-vie-document:last-child {padding:17px;border:1px solid var(--alc-line)}
.alc-vie-document-copy {min-width:0;flex:1 1 calc(100% - 60px)}
.alc-repas-page .alc-vie-document h4 {margin:3px 0 5px;color:#171717;font-weight:650;font-size:16px}
.alc-vie-document-copy p {margin:0;color:#666;font-size:13px;line-height:1.55}
.alc-repas-page a.alc-vie-document-link {
  display:inline-flex;flex:0 0 auto;margin:3px 0 0 55px;
  padding:10px 13px;background:#171717;border-radius:9px;
  font-size:12px;font-weight:650;color:#fff!important;text-decoration:none!important;
}
.alc-repas-page a.alc-vie-document-link:hover {background:#f85903}
.alc-repas-page .alc-vie-card--documents .alc-vie-card-body {padding-top:0}

/* Tarifs et commandes : même système de titres et surfaces */
.alc-vie-price {background:var(--alc-soft);border:1px solid var(--alc-line);border-radius:13px;box-shadow:none;padding:20px}
.alc-vie-price::after {display:none}
.alc-repas-page .alc-vie-price h4 {font-weight:650}
.alc-repas-page .alc-vie-price .alc-vie-price-amount {font-size:34px;font-weight:700}
.alc-vie-card--reservations .alc-vie-card-head {background:#171717;border-bottom-color:#171717}
.alc-vie-card--reservations .alc-vie-card-icon {background:#303030;color:#f85903}
.alc-vie-card--reservations .alc-repas-page__section-label {background:#303030;color:#eee}
.alc-vie-card--reservations .alc-vie-card-body {background:#fff}
.alc-vie-status {font-weight:650}
.alc-repas-page .alc-vie-button {font-weight:650;border-radius:10px}
@media(max-width:800px) {
  .alc-vie-page--operation .alc-vie-facts--bourse {grid-template-columns:1fr;grid-template-rows:none}
  .alc-vie-facts--bourse .alc-vie-fact--date,
  .alc-vie-facts--bourse .alc-vie-fact--venue,
  .alc-vie-facts--bourse .alc-vie-fact--deposit,
  .alc-vie-facts--bourse .alc-vie-fact--settlement {grid-column:auto;grid-row:auto}
  .alc-vie-facts--bourse .alc-vie-fact--date {padding:25px;gap:12px}
}
@media(max-width:620px) {
  .alc-repas-page {width:min(100% - 24px,1180px)}
  .alc-repas-page__intro {padding:28px 22px}
  .alc-vie-card-head {padding:20px 18px 16px}
  .alc-vie-card-body,.alc-vie-card--contenu .alc-vie-card-body {padding:18px}
  .alc-vie-poster-stage {padding:0 14px 14px}
  .alc-vie-poster-stage--duo,.alc-vie-documents-grid {grid-template-columns:1fr}
  .alc-vie-facts--bourse>div {padding:17px}
}

/* 3.14.1 — Fidélité à la maquette validée, uniquement pour la bourse. */
.alc-vie-bourse .alc-repas-page__intro{position:relative;overflow:hidden;background:linear-gradient(105deg,#ff6506 0%,#f85903 73%,#ea4f00 100%);border-radius:20px;padding:36px 45px;margin-bottom:20px}
.alc-vie-bourse .alc-repas-page__intro::before{content:"";position:absolute;right:45px;top:0;width:160px;height:160px;border:18px solid rgba(110,34,0,.11);border-radius:45px;transform:rotate(28deg)}
.alc-vie-bourse .alc-repas-page__intro h2{font-size:clamp(34px,4vw,48px);font-weight:760}
.alc-vie-bourse .alc-vie-card--affiche,.alc-vie-bourse .alc-vie-card--documents{border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
.alc-vie-bourse .alc-vie-card--affiche .alc-vie-card-head,.alc-vie-bourse .alc-vie-card--documents .alc-vie-card-head{background:transparent;border:0;border-bottom:1px solid #e6e6e6;padding:8px 0 14px;margin-bottom:18px;position:relative}
.alc-vie-bourse .alc-vie-card--affiche .alc-vie-card-head::before,.alc-vie-bourse .alc-vie-card--documents .alc-vie-card-head::before{content:"";height:32px;width:5px;display:block;border-radius:5px;background:#f85903;margin-right:5px}
.alc-vie-bourse .alc-vie-card--affiche .alc-vie-card-head h3,.alc-vie-bourse .alc-vie-card--documents .alc-vie-card-head h3{font-size:30px;font-weight:730;color:#161616}
.alc-vie-bourse .alc-vie-card--affiche .alc-vie-card-body,.alc-vie-bourse .alc-vie-card--documents .alc-vie-card-body{padding:0}
.alc-vie-bourse .alc-vie-poster-stage{padding:0;background:transparent}
.alc-vie-bourse .alc-vie-poster-stage--duo{gap:16px;align-items:start}
.alc-vie-bourse .alc-vie-poster{border-radius:9px;width:100%;box-shadow:0 2px 8px rgba(0,0,0,.07)}
.alc-vie-bourse .alc-vie-documents-grid{gap:16px}
.alc-vie-bourse .alc-vie-document{display:grid;grid-template-columns:68px 1fr;column-gap:15px;row-gap:6px;align-items:start;min-height:132px;padding:19px 20px;background:#fafafa;border-radius:14px;border:1px solid #e8e8e8}
.alc-vie-bourse .alc-vie-document:first-child,.alc-vie-bourse .alc-vie-document:last-child{padding:19px 20px;border:1px solid #e8e8e8}
.alc-vie-bourse .alc-vie-document-icon{grid-column:1;grid-row:1/3;width:62px;height:62px;display:grid;place-items:center;color:#f85903;background:#fff0e7;border-radius:14px}
.alc-vie-bourse .alc-vie-document-icon svg{height:29px;width:29px}
.alc-vie-bourse .alc-vie-document-copy{grid-column:2;grid-row:1}
.alc-vie-bourse .alc-vie-document-copy h4{margin:2px 0 6px;font-size:16px;font-weight:700}
.alc-vie-bourse .alc-vie-document-copy p{margin:0;color:#7b7b7b;font-size:13px;line-height:1.5}
.alc-vie-bourse a.alc-vie-document-link{grid-column:2;grid-row:2;justify-self:start;margin:0;flex:none;border-radius:999px;padding:10px 16px;color:#ed5409!important;background:#fff0e7;font-size:13px;font-weight:700}
.alc-vie-bourse a.alc-vie-document-link:hover{color:#fff!important;background:#f85903}
.alc-vie-bourse .alc-vie-facts--bourse .alc-vie-fact--date{background:linear-gradient(135deg,#131313,#1c1c1c)}
@media(max-width:620px){.alc-vie-bourse .alc-vie-documents-grid,.alc-vie-bourse .alc-vie-poster-stage--duo{grid-template-columns:1fr}.alc-vie-bourse .alc-repas-page__intro{padding:28px 22px}.alc-vie-bourse .alc-vie-card--affiche .alc-vie-card-head h3,.alc-vie-bourse .alc-vie-card--documents .alc-vie-card-head h3{font-size:26px}}
