/**
 * Bara de sus a campaniei (T22) — pe toate paginile site-ului și în previzualizarea din admin (T16).
 * Independent de tema campaniei: culorile vin DOAR din --dlp-b1 / --dlp-b2 / --dlp-b3 (inline pe .dlp-banner),
 * durata din clasa de viteză. Clasele: .dlp-banner--flow | --fade | --photo, .dlp-banner--slow | --med | --fast.
 */

/*
 * Contrast (pe :root, reglabil dintr-un singur loc). Banda își păstrează culorile; textul stă pe
 * „pastile” locale (--dlp-banner-text-bg): .55 negru → alb ≈ 4,8:1 chiar pe fundal alb (cel mai rău caz,
 * culoare albă aleasă de admin), ≥ 7:1 pe culorile implicite (inclusiv portocaliul #F0A22E).
 * Pe photo cu imagine, imaginea e umbrită în plus (--dlp-banner-scrim) ca banda să nu iasă pastel.
 */
:root {
	--dlp-banner-text-bg: rgba(0, 0, 0, .55);
	--dlp-banner-text-bg-hover: rgba(0, 0, 0, .7);
	--dlp-banner-scrim: rgba(0, 0, 0, .5);
	--dlp-banner-shadow: 0 0 2px rgba(0, 0, 0, .45), 0 1px 3px rgba(0, 0, 0, .45);
}

.dlp-banner {
	--dlp-b-dur: 8s;
	position: relative;
	z-index: 100;
	box-sizing: border-box;
	overflow: hidden;
	width: 100%;
	min-height: 44px; /* ținta de clic a linkului (44 px) nu e tăiată de overflow:hidden */
	margin: 0;
	padding: 10px 16px; /* GL-4: fără buton de închidere → fără spațiu rezervat în dreapta, conținutul rămâne centrat */
	color: #fff;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
	text-align: center;
	text-shadow: var(--dlp-banner-shadow);
	background: var(--dlp-b1, #0F8DB3);
	background-image: linear-gradient(110deg, var(--dlp-b1, #0F8DB3), var(--dlp-b2, #0B4F73), var(--dlp-b3, #F0A22E), var(--dlp-b1, #0F8DB3));
	background-size: 300% 300%;
}

.dlp-banner *,
.dlp-banner *::before,
.dlp-banner *::after {
	box-sizing: border-box;
}

.dlp-banner[hidden],
.dlp-banner.is-closed {
	display: none !important;
}

.dlp-banner--slow { --dlp-b-dur: 14s; }
.dlp-banner--med { --dlp-b-dur: 8s; }
.dlp-banner--fast { --dlp-b-dur: 4s; }

/* ---------- flow / photo: gradientul curge ---------- */
.dlp-banner--flow,
.dlp-banner--photo {
	animation: dlp-flow var(--dlp-b-dur) ease infinite;
}

@keyframes dlp-flow {
	0% { background-position: 0% 50%; }
	50% { background-position: 100% 50%; }
	100% { background-position: 0% 50%; }
}

/* ---------- fundal (fade: straturi; photo: imagine) ---------- */
.dlp-banner__bg {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 0;
	pointer-events: none;
}

.dlp-banner__layer {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	opacity: 0;
	animation: dlp-fade calc(var(--dlp-b-dur) * 1.5) linear infinite;
}

.dlp-banner__layer--1 {
	background: linear-gradient(110deg, var(--dlp-b1, #0F8DB3), var(--dlp-b2, #0B4F73));
}

.dlp-banner__layer--2 {
	background: linear-gradient(110deg, var(--dlp-b2, #0B4F73), var(--dlp-b3, #F0A22E));
	animation-delay: calc(var(--dlp-b-dur) * .5);
}

.dlp-banner__layer--3 {
	background: linear-gradient(110deg, var(--dlp-b3, #F0A22E), var(--dlp-b1, #0F8DB3));
	animation-delay: var(--dlp-b-dur);
}

@keyframes dlp-fade {
	0% { opacity: 0; }
	8% { opacity: 1; }
	33% { opacity: 1; }
	41% { opacity: 0; }
	100% { opacity: 0; }
}

.dlp-banner__picture,
.dlp-banner__img {
	display: block;
	width: 100%;
	height: 100%;
}

.dlp-banner__img {
	max-width: none;
	object-fit: cover;
	opacity: .5;
}

/* Umbrirea imaginii: doar când există imagine (photo fără imagine = gradient simplu, ca flow). */
.dlp-banner--photo .dlp-banner__bg::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	pointer-events: none;
	background: var(--dlp-banner-scrim);
}

/* ---------- conținut ---------- */
.dlp-banner__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 6px 16px;
	max-width: 1280px;
	margin: 0 auto;
}

/* Pastilele de contrast din spatele textului (același stil ca countdown-ul din machetă). */
.dlp-banner__title,
.dlp-banner__msg,
.dlp-banner__cd {
	padding: 2px 10px;
	border-radius: 3px;
	background: var(--dlp-banner-text-bg);
}

.dlp-banner__title {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.dlp-banner__msgs {
	display: inline-grid;
	align-items: center;
}

.dlp-banner__msg {
	grid-area: 1 / 1;
	opacity: 0;
	visibility: hidden;
	transition: opacity .45s ease, visibility 0s linear .45s;
}

.dlp-banner__msg.is-on {
	opacity: 1;
	visibility: visible;
	transition: opacity .45s ease, visibility 0s;
}

.dlp-banner__cd {
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.dlp-banner a.dlp-banner__link,
.dlp-banner a.dlp-banner__link:visited,
.dlp-banner a.dlp-banner__link:hover,
.dlp-banner a.dlp-banner__link:focus {
	color: #fff;
	text-decoration: underline;
	white-space: nowrap;
}

/*
 * Țintă de clic 44 px fără să crească bara: marginile negative anulează înălțimea în plus.
 * Pastila e un fundal de înălțimea rândului de text, centrat în cei 44 px (nu toată ținta).
 */
.dlp-banner a.dlp-banner__link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	margin: -12px 0;
	padding: 0 10px;
	background: linear-gradient(var(--dlp-banner-text-bg), var(--dlp-banner-text-bg)) center / 100% calc(1.35em + 4px) no-repeat;
}

/* Contur dublu (BF-E2a): alb + inel închis lipit de el — vizibil și pe o bandă deschisă aleasă de admin, și pe una închisă. */
.dlp-banner a.dlp-banner__link:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
	box-shadow: 0 0 0 2px #111;
}

/* Conturul în interiorul țintei de 44 px: în afara ei ar fi tăiat de overflow:hidden (inelul închis tot înăuntru). */
.dlp-banner a.dlp-banner__link:focus-visible {
	outline-offset: -2px;
	box-shadow: inset 0 0 0 4px #111;
}

@media (max-width: 600px) {
	.dlp-banner {
		padding: 12px; /* 12 px: ținta de 44 px a linkului de pe ultimul rând nu e tăiată de overflow:hidden */
		font-size: 14px;
	}

	.dlp-banner__title {
		font-size: 16px;
	}
}

/* ---------- plasa de expirare: mesajul de pe pagina campaniei ---------- */
/* Pe :root: mesajul stă în afara .dlp-banner (contrast text / fundal ≈ 7:1). */
:root {
	--dlp-notice-bg: #fcf9e8;
	--dlp-notice-text: #6b5300;
}

.dlp-expired-notice {
	margin: 0;
	padding: 12px 16px;
	background: var(--dlp-notice-bg);
	color: var(--dlp-notice-text);
	font-weight: 600;
	text-align: center;
}

@media (prefers-reduced-motion: reduce) {
	.dlp-banner,
	.dlp-banner__layer {
		animation: none !important;
	}

	.dlp-banner__layer--1 {
		opacity: 1;
	}

	.dlp-banner__msg,
	.dlp-banner__msg.is-on {
		transition: none;
	}
}
