/* ============================================================================
   Bandeaux : barre « Prochain départ » (haut) et barre d'offre (bas).
   Aucun style ne dépend d'une classe ajoutée par JS (affichage par l'attribut
   hidden et par styles en ligne), pour résister à un nettoyage de CSS inutilisé.
   ========================================================================== */

:root {
	--uc-strava: #FC4C02;
}

/* L'ancienne sortie du plugin Announcer est masquée (le plugin peut être retiré). */
.ancr-group { display: none !important; }

/* --- Barre du haut --------------------------------------------------------- */
.uc-nextbar {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	box-sizing: border-box;
	height: 40px;
	padding: 0 20px;
	background: var(--uc-vert-profond, #0F6E5C);
	color: #fff;
	font-family: var(--uc-font-corps, "Work Sans", Arial, sans-serif);
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	white-space: nowrap;
}
.uc-nextbar[hidden] { display: none !important; }
.uc-nextbar > * { flex: none; }
.uc-nextbar .uc-nextbar__name { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.uc-nextbar .uc-nextbar__sep { opacity: 0.5; }
.uc-nextbar .uc-nextbar__j { font-weight: 700; letter-spacing: 0.1em; }
.uc-nextbar a.uc-nextbar__cal,
.uc-nextbar a.uc-nextbar__cal:visited {
	padding-bottom: 2px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.7);
	color: #fff;
	text-decoration: none;
}
.uc-nextbar a.uc-nextbar__cal:hover,
.uc-nextbar a.uc-nextbar__cal:focus { border-bottom-color: #fff; color: #fff; }
.uc-nextbar a.uc-nextbar__cal:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.uc-nextbar .uc-nextbar__short { display: none; }

@media (max-width: 640px) {
	.uc-nextbar { gap: 10px; padding: 0 12px; font-size: 11px; letter-spacing: 0.08em; }
	.uc-nextbar .uc-nextbar__lbl,
	.uc-nextbar .uc-nextbar__sep,
	.uc-nextbar .uc-nextbar__long { display: none; }
	.uc-nextbar .uc-nextbar__short { display: inline; }
	.uc-nextbar--msg .uc-nextbar__name { white-space: normal; text-align: center; line-height: 1.15; }
}

/* --- Barre du bas (offre) -------------------------------------------------- */
.uc-bar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9990;
	box-sizing: border-box;
	padding: 12px 56px calc(12px + env(safe-area-inset-bottom, 0px)) 20px;
	background: var(--uc-kaki-nuit, #21261C);
	border-top: 3px solid var(--uc-strava);
	color: var(--uc-sable-clair, #f5f5f7);
	font-family: var(--uc-font-corps, "Work Sans", Arial, sans-serif);
}
.uc-bar[hidden] { display: none !important; }
.uc-bar--laka { border-top-color: var(--uc-argile, #A65E38); }
.uc-bar .uc-bar__in {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	max-width: 1000px;
	margin: 0 auto;
}
.uc-bar .uc-bar__off {
	font-family: var(--uc-font-titre, "Oswald", Arial, sans-serif);
	font-size: 26px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.02em;
	white-space: nowrap;
	color: #fff;
}
.uc-bar .uc-bar__txt { font-size: 15px; line-height: 1.35; color: #e4e4dc; }
.uc-bar .uc-bar__txt b { font-weight: 600; color: #fff; }
.uc-bar a.uc-bar__btn,
.uc-bar a.uc-bar__btn:visited {
	display: inline-flex;
	align-items: center;
	flex: none;
	padding: 10px 18px;
	border-radius: 2px;
	background: var(--uc-strava);
	color: var(--uc-kaki-nuit, #21261C);
	font-family: var(--uc-font-titre, "Oswald", Arial, sans-serif);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
}
.uc-bar--laka a.uc-bar__btn,
.uc-bar--laka a.uc-bar__btn:visited { background: var(--uc-sable-clair, #f5f5f7); }
.uc-btn-short { display: none; }
.uc-bar a.uc-bar__btn:hover,
.uc-bar a.uc-bar__btn:focus { background: #fff; color: var(--uc-kaki-nuit, #21261C); }
.uc-bar a.uc-bar__btn:focus-visible,
.uc-bar .uc-bar__x:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

.uc-bar .uc-bar__x {
	position: absolute;
	right: 14px;
	top: 50%;
	width: 32px;
	height: 32px;
	margin: -16px 0 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	color: #b9b9ad;
	cursor: pointer;
}
.uc-bar .uc-bar__x::before,
.uc-bar .uc-bar__x::after {
	content: "";
	position: absolute;
	left: 7px;
	right: 7px;
	top: 15px;
	border-top: 2px solid currentColor;
	transform: rotate(45deg);
}
.uc-bar .uc-bar__x::after { transform: rotate(-45deg); }
.uc-bar .uc-bar__x:hover { color: #fff; background: none; }

@media (max-width: 640px) {
	.uc-bar { padding: 10px 44px calc(10px + env(safe-area-inset-bottom, 0px)) 14px; }
	.uc-bar .uc-bar__in { justify-content: space-between; gap: 12px; }
	.uc-bar .uc-bar__off { font-size: 22px; }
	.uc-bar .uc-bar__txt { flex: 1 1 auto; min-width: 0; font-size: 12.5px; line-height: 1.25; }
	.uc-bar a.uc-bar__btn { padding: 9px 12px; font-size: 13px; }
	.uc-bar .uc-bar__pre { display: none; }
	.uc-bar .uc-btn-full { display: none; }
	.uc-bar .uc-btn-short { display: inline; }
	.uc-bar .uc-bar__x { right: 6px; }
}

@media (prefers-reduced-motion: reduce) {
	.uc-bar { transition: none !important; }
}
