/* Aktionsleiste : une ligne fine au-dessus du menu, messages qui alternent. */

.kadef-aktion {
	position: relative;
	overflow: hidden;
	height: 2rem;
	background: var(--kadef-ink);
	color: var(--kadef-cream-soft);
	font-size: 0.8125rem;
	letter-spacing: 0.04em;
}

.kadef-aktion__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.kadef-aktion__item {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 1rem;
	opacity: 0;
	transform: translateY(0.6rem);
	transition: opacity 0.5s var(--kadef-ease), transform 0.5s var(--kadef-ease);
	pointer-events: none;
}

.kadef-aktion__item.is-active {
	opacity: 1;
	transform: none;
	pointer-events: auto;
}

.kadef-aktion__item a {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-width: 0;
	min-height: 2rem;
	color: inherit;
	text-decoration: none;
}

.kadef-aktion__text {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

/* « Neu » et le code : petites capitales or, sans cadre, séparés par un point. */
.kadef-aktion__label,
.kadef-aktion__code {
	flex: none;
	color: var(--kadef-gold);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.kadef-aktion__label::after {
	content: "\00B7";
	margin-left: 0.5rem;
	color: var(--kadef-cream-soft);
}

.kadef-aktion__code::before {
	content: "\00B7";
	margin-right: 0.5rem;
	color: var(--kadef-cream-soft);
}

.kadef-aktion__item a:hover .kadef-aktion__text,
.kadef-aktion__item a:focus-visible .kadef-aktion__text {
	text-decoration: underline;
	text-decoration-color: var(--kadef-gold);
	text-underline-offset: 0.3em;
}

/* Envoi gratuit fixe à gauche, annonces (action, nouveautés) qui alternent à
   droite. Téléphone : une seule ligne, tous les messages alternent (aktion.js). */
@media (min-width: 900px) {
	.kadef-aktion--split .kadef-aktion__item--fix {
		inset: 0 auto 0 0;
		justify-content: flex-start;
		max-width: 45%;
		opacity: 1;
		transform: none;
		pointer-events: auto;
	}

	.kadef-aktion--split .kadef-aktion__item:not(.kadef-aktion__item--fix) {
		inset: 0 0 0 auto;
		justify-content: flex-end;
		max-width: 52%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.kadef-aktion__item {
		transition: none;
		transform: none;
	}
}

/* ---------- Bannière de campagne (accueil, boutique) ----------
   Design du site : fond beige clair, filets « couture » or en pointillés
   (comme le pied de page), titre et bouton noir Kadef. Une bande basse sur
   une ou deux lignes : les produits restent visibles. Le style « Sale » ne
   change que l'accroche, en rouge de charte (prix soldés). */

.kadef-kampagne {
	margin: 0 0 1.5rem;
	background: var(--kadef-cream-soft);
	color: var(--kadef-ink);
	text-align: center;
}

.kadef-kampagne__inner {
	max-width: 72rem;
	margin: 0 auto;
	padding: 0.85rem 1rem;
	border-top: 1px dashed var(--kadef-gold);
	border-bottom: 1px dashed var(--kadef-gold);
}

.kadef-kampagne__copy {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.35rem 1.25rem;
}

.kadef-kampagne__when {
	margin: 0;
	color: var(--kadef-gold-dark);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.kadef-kampagne--sale .kadef-kampagne__when {
	color: var(--kadef-danger);
}

.kadef-kampagne .kadef-kampagne__title {
	margin: 0;
	color: var(--kadef-ink);
	font-size: 1.25rem;
	line-height: 1.3;
}

.kadef-kampagne__text {
	margin: 0;
	color: var(--kadef-ink-soft);
	font-size: 0.9375rem;
}

.kadef-kampagne__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.5rem 1rem;
	margin: 0;
}

.kadef-kampagne__button {
	display: inline-block;
	min-height: 40px;
	padding: 0.6em 1.4em;
	background: var(--kadef-ink);
	color: var(--kadef-white);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

.kadef-kampagne__button:hover,
.kadef-kampagne__button:focus-visible {
	background: var(--kadef-gold-dark);
	color: var(--kadef-white);
}

.kadef-kampagne__note {
	color: var(--kadef-ink-soft);
	font-size: 0.875rem;
}

.kadef-kampagne__code {
	margin-left: 0.25em;
	color: var(--kadef-ink);
	font-weight: 700;
	letter-spacing: 0.12em;
}

.kadef-kampagne__terms {
	flex-basis: 100%;
	margin: 0;
	color: var(--kadef-ink-soft);
	font-size: 0.75rem;
}

/* ---------- Accueil : bannière plus grande, défilé des articles ---------- */

.kadef-kampagne--home {
	margin: 0;
	padding: clamp(1.5rem, 4vw, 3rem) 1rem;
	overflow: hidden;
}

.kadef-kampagne--home .kadef-kampagne__inner {
	display: grid;
	gap: 1.5rem;
	align-items: center;
	padding: clamp(1.25rem, 3vw, 2rem) 0;
}

.kadef-kampagne--home .kadef-kampagne__copy {
	display: block;
	text-align: center;
}

.kadef-kampagne--home .kadef-kampagne__when {
	margin-bottom: 0.75rem;
}

.kadef-kampagne--home .kadef-kampagne__title {
	margin-bottom: 0.75rem;
	font-size: clamp(1.75rem, 3.2vw, 2.5rem);
	line-height: 1.15;
}

.kadef-kampagne--home .kadef-kampagne__text {
	margin-bottom: 1.25rem;
}

.kadef-kampagne--home .kadef-kampagne__terms {
	margin-top: 1rem;
}

@media (min-width: 922px) {
	.kadef-kampagne--home .kadef-kampagne__inner {
		grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
		gap: 2.5rem;
	}

	.kadef-kampagne--home .kadef-kampagne__copy {
		text-align: left;
	}

	.kadef-kampagne--home .kadef-kampagne__actions {
		justify-content: flex-start;
	}
}

/* Conteneur Elementor inséré par le thème : sans marge ni espacement propres. */
.elementor-element.elementor-element-kadefaktion {
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
	--gap: 0px;
	--widgets-spacing: 0px;
}

.elementor-element-kadefaktion .elementor-widget-container,
.elementor-element-kadefaktion .elementor-widget {
	margin: 0;
}

/* Défilé : deux copies de la liste glissent sans fin ; fondu sur les bords. */
.kadef-laufband {
	display: flex;
	overflow: hidden;
	mask-image: linear-gradient(to right, transparent, var(--kadef-ink) 8%, var(--kadef-ink) 92%, transparent);
}

.kadef-laufband:not(.kadef-laufband--loop) {
	justify-content: center;
}

.kadef-laufband__track {
	display: flex;
	flex: none;
	gap: 1.25rem;
	margin: 0;
	padding: 1.5rem 0.625rem 0.5rem;
	list-style: none;
}

.kadef-laufband--loop .kadef-laufband__track {
	animation: kadef-laufband var(--kadef-laufband-dauer, 30s) linear infinite;
}

.kadef-laufband:hover .kadef-laufband__track,
.kadef-laufband:focus-within .kadef-laufband__track {
	animation-play-state: paused;
}

@keyframes kadef-laufband {
	to {
		transform: translateX(-100%);
	}
}

.kadef-laufband__item a {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	width: 11rem;
	color: var(--kadef-ink);
	text-decoration: none;
}

.kadef-laufband__item img {
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	background: var(--kadef-white);
	transition: transform 0.5s var(--kadef-ease);
}

.kadef-laufband__item a:hover img,
.kadef-laufband__item a:focus-visible img {
	transform: scale(1.03);
}

.kadef-laufband__name {
	overflow: hidden;
	font-size: 0.8125rem;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.kadef-laufband__price {
	font-size: 0.875rem;
	font-weight: 600;
}

.kadef-laufband__price del {
	margin-right: 0.35em;
	color: var(--kadef-ink-soft);
	font-weight: 400;
}

.kadef-laufband__price ins {
	color: var(--kadef-danger);
	text-decoration: none;
}

/* Étiquette de couturier suspendue à un fil or ; elle oscille au survol. */
.kadef-laufband__tag {
	position: absolute;
	top: -0.75rem;
	left: 0.75rem;
	z-index: 2;
	padding: 0.3em 0.6em;
	border: 1px solid var(--kadef-gold);
	background: var(--kadef-cream-soft);
	color: var(--kadef-danger);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	transform: rotate(-4deg);
	transform-origin: 50% -0.75rem;
}

.kadef-laufband__tag::before {
	content: "";
	position: absolute;
	bottom: 100%;
	left: 50%;
	height: 0.75rem;
	border-left: 1px dashed var(--kadef-gold);
}

.kadef-laufband__item a:hover .kadef-laufband__tag {
	animation: kadef-tag-swing 0.9s var(--kadef-ease);
}

@keyframes kadef-tag-swing {
	30% {
		transform: rotate(5deg);
	}

	65% {
		transform: rotate(-7deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.kadef-laufband {
		overflow-x: auto;
		mask-image: none;
	}

	.kadef-laufband--loop .kadef-laufband__track {
		animation: none;
	}

	.kadef-laufband__track[aria-hidden="true"] {
		display: none;
	}

	.kadef-laufband__item a:hover .kadef-laufband__tag {
		animation: none;
	}
}

/* Mobile : sans la phrase d'accompagnement, la bannière reste basse. */
@media (max-width: 600px) {
	.kadef-kampagne:not(.kadef-kampagne--home) .kadef-kampagne__text {
		display: none;
	}

	.kadef-laufband__item a {
		width: 7.5rem;
	}

	.kadef-kampagne--home .kadef-kampagne__text,
	.kadef-laufband__name {
		display: none;
	}
}

/* ---------- Entrée de menu de l'action (« Sale % ») ----------
   Même typographie que le menu ; le fil or, qui n'apparaît qu'au survol sur
   les autres entrées, reste tendu sous celle-ci (rouge pour « Sale »). */

.main-header-menu .kadef-menu-aktion > .menu-link {
	font-weight: 700;
}

@media (min-width: 922px) {
	.main-header-menu > .kadef-menu-aktion > .menu-link {
		background-size: calc(100% - 2em) 2px;
	}

	.main-header-menu > .kadef-menu-aktion--sale > .menu-link {
		background-image: linear-gradient(var(--kadef-danger), var(--kadef-danger));
	}
}

.ast-mobile-header-content .kadef-menu-aktion > .menu-link {
	text-decoration: underline dashed var(--kadef-gold);
	text-underline-offset: 0.35em;
}

.ast-mobile-header-content .kadef-menu-aktion--sale > .menu-link {
	text-decoration-color: var(--kadef-danger);
}
/* ---------- Prix avec le code de l'action (fiches et vignettes) ---------- */

.kadef-preis-aktion {
	display: block;
	width: fit-content;
	margin-top: 0.35em;
	padding: 0.1em 0.5em;
	border: 1px dashed var(--kadef-gold-dark);
	color: var(--kadef-gold-dark);
	font-size: 0.8125rem;
	font-weight: 600;
}

.kadef-preis-aktion--sale {
	border-color: var(--kadef-danger);
	color: var(--kadef-danger);
}

.kadef-preis-aktion .amount {
	color: inherit;
}
