/* StoreLocatore — Bannière marketing site-wide */

.tfmsl-banner {
	position: relative;
	width: 100%;
	padding: 14px 56px 14px 20px;
	box-sizing: border-box;
	z-index: 99;
	font-family: var(--tfmsl-font, 'Inter', sans-serif);
	box-shadow: 0 2px 8px rgba(0,0,0,.08);
	line-height: 1.45;
}
.tfmsl-banner.tfmsl-banner--dismissed { display: none; }

.tfmsl-banner__content {
	display: flex;
	align-items: center;
	gap: 16px;
	max-width: 1280px;
	margin: 0 auto;
	flex-wrap: wrap;
}
.tfmsl-banner__image {
	max-width: 56px;
	max-height: 56px;
	border-radius: 6px;
	object-fit: cover;
	flex-shrink: 0;
}
.tfmsl-banner__text { flex: 1 1 auto; min-width: 220px; }
.tfmsl-banner__label {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .8px;
	opacity: .85;
	margin-right: 8px;
}
.tfmsl-banner__title { font-weight: 700; font-size: 15px; display: inline; }
.tfmsl-banner__message { font-size: 14px; opacity: .95; margin-top: 2px; }
.tfmsl-banner__message a { color: inherit; text-decoration: underline; }

.tfmsl-banner__actions { display: flex; gap: 8px; flex-wrap: wrap; }
.tfmsl-banner__cta,
.tfmsl-banner__file {
	display: inline-block;
	padding: 8px 16px;
	border-radius: 6px;
	background: rgba(255,255,255,.18);
	color: inherit;
	text-decoration: none;
	font-weight: 600;
	font-size: 13px;
	border: 1px solid rgba(255,255,255,.35);
	transition: background .15s;
}
.tfmsl-banner__cta:hover,
.tfmsl-banner__file:hover { background: rgba(255,255,255,.28); }

.tfmsl-banner__close {
	position: absolute;
	top: 50%;
	right: 14px;
	transform: translateY(-50%);
	background: transparent;
	border: 0;
	color: inherit;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	opacity: .7;
	padding: 6px 10px;
}
.tfmsl-banner__close:hover { opacity: 1; }

.tfmsl-banner__elementor { width: 100%; }

/* Badge "Promo" sur les fiches boutique */
.tfmsl-promo-badge {
	display: inline-block;
	background: #e94560;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .6px;
	padding: 3px 10px;
	border-radius: 12px;
	margin-left: 6px;
	vertical-align: middle;
}

@media (max-width: 600px) {
	.tfmsl-banner { padding: 12px 48px 12px 14px; }
	.tfmsl-banner__title { font-size: 14px; }
	.tfmsl-banner__message { font-size: 13px; }
	.tfmsl-banner__cta, .tfmsl-banner__file { font-size: 12px; padding: 6px 12px; }
}
