/* ====================================================================
   Kick Prime · Warenkorb (Struktur/Layout + Kick-Prime-Stil)
   ====================================================================
   Nur im Warenkorb (is_cart()) über functions.php geladen
   ==================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Anton&family=Bebas+Neue&family=Barlow:wght@400;500;600;700;800&display=swap');


/* ====================================================================
   1. ASTRA-OVERRIDE — volle Breite + Seitentitel "Warenkorb" ausblenden
   ==================================================================== */

/* Seitentitel ausblenden (WordPress page title) */
.kp-cart-active .entry-title,
.kp-cart-active .ast-archive-title,
body.woocommerce-cart .entry-title,
body.woocommerce-cart .page-title,
body.woocommerce-cart .ast-archive-title,
body.woocommerce-cart .entry-header{
	display:none !important;
}

/* Volle Breite erzwingen: Inhalt aus dem Boxed-Container von Astra holen (nur innerhalb site-content, NICHT im Header) */
.kp-cart-active .site-content > .ast-container,
.kp-cart-active .site-content .ast-container,
body.woocommerce-cart .site-content > .ast-container,
body.woocommerce-cart .site-content .ast-container{
	max-width:none !important;
	width:100% !important;
	padding-left:0 !important;
	padding-right:0 !important;
}

.kp-cart-active #primary,
.kp-cart-active .content-area,
body.woocommerce-cart #primary,
body.woocommerce-cart .content-area{
	width:100% !important;
	max-width:100% !important;
	margin:0 !important;
	padding:0 !important;
}

.kp-cart-active .entry-content,
body.woocommerce-cart .entry-content{
	margin:0 !important;
	padding:0 !important;
	max-width:none !important;
}

.kp-cart-active main#main,
body.woocommerce-cart main#main{
	padding:0 !important;
	margin:0 !important;
}

/* Seitliche Standard-Abstände des Seiten-Containers entfernen */
.kp-cart-active .single-page,
.kp-cart-active .page,
body.woocommerce-cart .single-page,
body.woocommerce-cart .page{
	padding:0 !important;
	margin:0 !important;
}

/* Padding des Article-Wrappers entfernen */
.kp-cart-active .ast-article-single,
body.woocommerce-cart .ast-article-single{
	padding:0 !important;
	margin:0 !important;
}


/* ====================================================================
   2. CONTENEDOR PRINCIPAL MDLR
   ==================================================================== */

.kp-cart-page{
	--c-noir:#141210;
	--c-rouge:#e10600;
	--c-rouge-dark:#b00500;
	--c-yellow:#ffcb05;
	--c-granate:#4A1010;
	--c-granate-dark:#3A0808;
	--c-blanc:#FFFFFF;
	--c-creme:#f3f1ec;
	--c-creme-dirty:#e9e6df;
	--c-papier:#efece6;
	--c-gray:#7c7a73;
	--c-gray-light:#aba89f;
	--c-line:#dedbd4;
	--c-line-dark:#1A1A1A;
	--ff-anton:'Anton',Impact,sans-serif;
	--ff-body:'Barlow','Inter',system-ui,sans-serif;
	--ff-mono:'Barlow',system-ui,sans-serif;
	--ease:cubic-bezier(0.22,1,0.36,1);
	font-family:var(--ff-body);
	color:var(--c-noir);
	background:var(--c-blanc);
	font-size:16px;
	line-height:1.5;
	-webkit-font-smoothing:antialiased;
	padding:0 0 80px;
	position:relative;
	width:100%;
	max-width:100vw;
	overflow-x:hidden;
}

.kp-cart-page *,
.kp-cart-page *::before,
.kp-cart-page *::after{box-sizing:border-box}
.kp-cart-page h1,
.kp-cart-page h2,
.kp-cart-page h3,
.kp-cart-page h4,
.kp-cart-page p{margin:0}
.kp-cart-page button{font:inherit;cursor:pointer;border:none;background:none;color:inherit;padding:0}
.kp-cart-page input{font:inherit}
.kp-cart-page a{color:inherit;text-decoration:none}
.kp-cart-page ::selection{background:var(--c-rouge);color:var(--c-blanc)}

.kp-cart-wrap{
	width:100%;
	max-width:1380px;
	margin:0 auto;
	padding:0 clamp(20px,4vw,56px);
}


/* ====================================================================
   3. COUNTDOWN TOOLTIP (am Ende der Produktliste)
   ==================================================================== */

.kp-cart-countdown{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:14px;
	padding:14px 20px;
	background:var(--c-noir);
	color:var(--c-blanc);
	border:2.5px solid var(--c-noir);
	margin:18px 24px 24px;
	font-family:var(--ff-anton);
	font-size:14px;
	letter-spacing:0.04em;
	text-transform:uppercase;
	flex-wrap:wrap;
	position:relative;
	box-shadow:4px 4px 0 var(--c-rouge);
}
.kp-cart-countdown::before{
	content:'';
	position:absolute;
	top:-9px;
	left:50%;
	transform:translateX(-50%) rotate(45deg);
	width:14px;
	height:14px;
	background:var(--c-noir);
	border-top:2.5px solid var(--c-noir);
	border-left:2.5px solid var(--c-noir);
}

.kp-cart-countdown__pulse{
	display:inline-block;
	width:9px;
	height:9px;
	background:var(--c-rouge);
	border-radius:50%;
	animation:kp-pulse 1.5s ease-in-out infinite;
	flex-shrink:0;
}

@keyframes kp-pulse{
	0%,100%{opacity:1;transform:scale(1)}
	50%{opacity:0.4;transform:scale(1.4)}
}

.kp-cart-countdown__text{
	display:flex;
	align-items:center;
	gap:6px;
	color:var(--c-blanc);
	font-family:var(--ff-anton);
	font-size:14px;
	letter-spacing:0.02em;
}
.kp-cart-countdown__text strong{color:var(--c-rouge);font-weight:normal}

.kp-cart-countdown__timer{
	display:inline-flex;
	align-items:center;
	gap:4px;
	font-family:var(--ff-anton);
	font-size:26px;
	letter-spacing:0.03em;
	background:var(--c-rouge);
	color:var(--c-noir);
	padding:9px 18px;
	min-width:140px;
	border-radius:10px;
	line-height:1;
	justify-content:center;
}

@media (max-width:560px){
	.kp-cart-countdown{
		flex-direction:column;
		gap:10px;
		padding:14px 16px;
		text-align:center;
		margin:16px 18px 20px;
	}
	.kp-cart-countdown__text{font-size:13px}
}


/* ====================================================================
   4. HEADER (full-width fondo blanco)
   ==================================================================== */

.kp-cart-page .kp-cart-head{
	padding:48px 0 32px;
	border-bottom:3px solid var(--c-noir);
	margin-bottom:24px;
	background:var(--c-blanc);
	text-align:center;
}

.kp-cart-head__title{
	font-family:var(--ff-anton);
	font-size:clamp(2.5rem,7vw,5.5rem);
	line-height:0.9;
	letter-spacing:-0.015em;
	text-transform:uppercase;
	color:var(--c-noir);
	margin:0 auto;
	text-align:center;
	white-space:nowrap;
	display:inline-flex;
	align-items:center;
	gap:0.3em;
}
.kp-cart-head__title em{font-style:normal;color:var(--c-rouge)}

/* Stern-Icon im Titel — Größe begrenzen (sonst rendert das SVG riesig) */
.kp-cart-head__icon{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	flex-shrink:0;
	width:0.82em;
	height:0.82em;
	color:var(--c-rouge);
}
.kp-cart-head__icon svg{
	width:100%;
	height:100%;
	display:block;
	fill:currentColor;
}

/* Alert banner standalone (entre header y security banner) */
.kp-cart-alert{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:14px;
	padding:12px 18px;
	background:var(--c-noir);
	color:var(--c-creme);
	border:3px solid var(--c-noir);
	box-shadow:4px 4px 0 var(--c-rouge);
	font-family:var(--ff-body);
	font-size:13px;
	font-weight:600;
	letter-spacing:0.02em;
	line-height:1.4;
	margin-bottom:24px;
	flex-wrap:wrap;
}
.kp-cart-alert strong{color:var(--c-rouge);font-weight:700}
.kp-cart-alert a{color:var(--c-rouge);font-weight:700}
.kp-cart-alert a:hover{text-decoration:underline}

.kp-cart-alert__icon{
	font-size:18px;
	line-height:1;
	display:inline-block;
	animation:kp-siren 1.2s ease-in-out infinite;
	flex-shrink:0;
}
.kp-cart-alert__icon:last-child{animation-delay:0.6s}

@keyframes kp-siren{
	0%,100%{transform:scale(1);filter:brightness(1)}
	50%{transform:scale(1.2);filter:brightness(1.2) drop-shadow(0 0 6px rgba(225,6,0,0.6))}
}

.kp-cart-alert__text{
	flex:1;
	min-width:0;
	text-align:center;
}

@media (max-width:760px){
	/* Header mobil: kompaktere Abstände */
	.kp-cart-page .kp-cart-head{
		padding:24px 0 20px;
		margin-bottom:16px;
	}
	.kp-cart-alert{
		font-size:12px;
		padding:11px 14px;
		gap:10px;
		margin-bottom:18px;
	}
	.kp-cart-alert__icon{font-size:15px}
}


/* ====================================================================
   4.5 SECURITY BANNER (über den Produkten)
   ==================================================================== */

.kp-cart-secure{
	margin-bottom:32px;
}

.kp-cart-secure__inner{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
	padding:18px 24px;
	background:var(--c-noir);
	border:2.5px solid var(--c-noir);
	box-shadow:5px 5px 0 var(--c-rouge);
	flex-wrap:wrap;
}

.kp-cart-secure__copy{
	display:flex;
	align-items:center;
	gap:14px;
	flex:1;
	min-width:0;
}

.kp-cart-secure__icon{
	flex-shrink:0;
	width:44px;
	height:44px;
	display:grid;
	place-items:center;
	background:var(--c-rouge);
	color:var(--c-noir);
	border:2px solid var(--c-rouge);
}
.kp-cart-secure__icon svg{width:22px;height:22px}

.kp-cart-secure__text{
	display:flex;
	flex-direction:column;
	gap:3px;
	min-width:0;
}

.kp-cart-secure__label{
	font-family:var(--ff-anton);
	font-size:18px;
	line-height:1;
	letter-spacing:0;
	text-transform:uppercase;
	color:var(--c-blanc);
	background:transparent;
	padding:0;
	display:inline-block;
	width:auto;
}

.kp-cart-secure__sub{
	font-family:var(--ff-mono);
	font-size:10px;
	font-weight:700;
	letter-spacing:0.14em;
	text-transform:uppercase;
	color:rgba(255,255,255,0.6);
	line-height:1.5;
}

.kp-cart-secure__media{
	flex-shrink:0;
	display:flex;
	align-items:center;
	max-width:50%;
	background:transparent;
	padding:0;
	border:none;
}
.kp-cart-secure__media img{
	display:block;
	max-width:100%;
	height:auto;
	max-height:42px;
	width:auto;
}

@media (max-width:760px){
	.kp-cart-secure__inner{
		flex-direction:column;
		gap:14px;
		padding:16px 18px;
		text-align:center;
	}
	.kp-cart-secure__copy{
		flex-direction:column;
		text-align:center;
		gap:10px;
		width:100%;
	}
	.kp-cart-secure__text{align-items:center}
	.kp-cart-secure__label{font-size:16px}
	.kp-cart-secure__sub{font-size:9px;letter-spacing:0.12em}
	.kp-cart-secure__media{
		max-width:100%;
		width:100%;
		justify-content:center;
	}
	.kp-cart-secure__media img{
		max-height:36px;
		max-width:100%;
	}
}

@media (max-width:420px){
	.kp-cart-secure__media img{max-height:28px}
}


/* ====================================================================
   5. LAYOUT GRID
   ==================================================================== */

.kp-cart-layout{
	display:grid;
	grid-template-columns:1fr 400px;
	gap:32px;
	align-items:start;
}
@media (max-width:1180px){
	.kp-cart-layout{grid-template-columns:1fr 360px;gap:24px}
}
@media (max-width:980px){
	.kp-cart-layout{grid-template-columns:1fr;gap:20px}
}

/* Columna izquierda · Lista + Trust + Contact */
.kp-cart-main{
	display:flex;
	flex-direction:column;
	gap:20px;
	min-width:0;
}


/* ====================================================================
   6. LINKS · Produktliste
   ==================================================================== */

.kp-cart-list{
	background:var(--c-blanc);
	border:3px solid var(--c-noir);
	box-shadow:6px 6px 0 var(--c-noir);
}

/* Kopf mit Badge "★ 3 Artikel" */
.kp-cart-list__head{
	display:flex;
	justify-content:flex-start;
	padding:18px 24px 0;
}

.kp-cart-list__count{
	display:inline-flex;
	align-items:center;
	gap:8px;
	font-family:var(--ff-mono);
	font-size:11px;
	font-weight:700;
	letter-spacing:0.18em;
	text-transform:uppercase;
	color:var(--c-rouge);
	border:2px solid var(--c-rouge);
	padding:6px 12px;
	background:var(--c-blanc);
}

@media (max-width:560px){
	.kp-cart-list__head{padding:14px 16px 0}
	.kp-cart-list__count{font-size:10px;padding:5px 10px}
}

.kp-cart-items{display:block}

.kp-cart-item{
	display:grid;
	grid-template-columns:140px minmax(0,1fr) auto;
	gap:20px;
	padding:24px;
	border-bottom:2px solid var(--c-line);
	position:relative;
	transition:background 0.2s var(--ease);
	align-items:start;
}
.kp-cart-item:last-child{border-bottom:none}
.kp-cart-item:hover{background:rgba(225,6,0,0.02)}

@media (max-width:640px){
	.kp-cart-item{
		grid-template-columns:90px minmax(0,1fr);
		gap:14px;
		padding:18px;
	}
	.kp-cart-item__price-col{
		grid-column:1 / -1;
		flex-direction:row;
		justify-content:space-between;
		align-items:center;
		padding-top:14px;
		border-top:1.5px solid var(--c-line);
	}
}

/* Produktfoto */
.kp-cart-item__media{
	width:140px;
	height:140px;
	background:var(--c-creme);
	border:2px solid var(--c-noir);
	overflow:hidden;
	flex-shrink:0;
	position:relative;
}
.kp-cart-item__media img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}
.kp-cart-item__media a{display:block;width:100%;height:100%}

@media (max-width:640px){
	.kp-cart-item__media{width:90px;height:90px}
}

/* Produktinfo */
.kp-cart-item__info{
	min-width:0;
	display:flex;
	flex-direction:column;
	gap:8px;
}

.kp-cart-item__name{
	font-family:var(--ff-anton);
	font-size:clamp(18px,2vw,24px);
	line-height:1.05;
	letter-spacing:-0.005em;
	text-transform:uppercase;
	color:var(--c-noir);
	word-break:break-word;
}
.kp-cart-item__name a{color:inherit;text-decoration:none}
.kp-cart-item__name a:hover{color:var(--c-rouge)}

.kp-cart-item__sku{
	font-family:var(--ff-mono);
	font-size:9px;
	font-weight:700;
	letter-spacing:0.2em;
	color:var(--c-gray);
	text-transform:uppercase;
}

.kp-cart-item__attrs{
	display:flex;
	gap:8px;
	flex-wrap:wrap;
	margin-top:4px;
}
.kp-cart-item__attr{
	font-family:var(--ff-mono);
	font-size:10px;
	font-weight:700;
	letter-spacing:0.14em;
	text-transform:uppercase;
	padding:4px 10px;
	background:var(--c-creme);
	border:1.5px solid var(--c-noir);
	color:var(--c-noir);
}
.kp-cart-item__attr b{color:var(--c-rouge);font-weight:700;margin-right:4px}

/* Stock alert */
.kp-cart-item__stock{
	display:inline-flex;
	align-items:center;
	gap:8px;
	font-family:var(--ff-mono);
	font-size:10px;
	font-weight:700;
	letter-spacing:0.14em;
	text-transform:uppercase;
	color:var(--c-rouge);
	margin-top:4px;
}
.kp-cart-item__stock::before{
	content:'';
	width:6px;
	height:6px;
	background:var(--c-rouge);
	border-radius:50%;
	animation:kp-pulse 1.8s ease-in-out infinite;
}

/* Viewers */
.kp-cart-item__viewers{
	display:inline-flex;
	align-items:center;
	gap:6px;
	font-family:var(--ff-mono);
	font-size:9px;
	font-weight:700;
	letter-spacing:0.14em;
	text-transform:uppercase;
	color:var(--c-gray);
}
.kp-cart-item__viewers svg{width:11px;height:11px}

/* Quantity selector */
.kp-cart-item__qty{
	display:inline-flex;
	align-items:center;
	border:2px solid var(--c-noir);
	margin-top:8px;
	background:var(--c-blanc);
	width:fit-content;
}
.kp-cart-item__qty button{
	width:32px;
	height:32px;
	display:grid;
	place-items:center;
	background:var(--c-blanc);
	color:var(--c-noir);
	font-family:var(--ff-anton);
	font-size:18px;
	transition:background 0.15s var(--ease),color 0.15s var(--ease);
	cursor:pointer;
}
.kp-cart-item__qty button:hover:not(:disabled){background:var(--c-rouge);color:var(--c-noir)}
.kp-cart-item__qty button:disabled{opacity:0.3;cursor:not-allowed}
.kp-cart-item__qty span[data-qty-display]{
	min-width:36px;
	text-align:center;
	font-family:var(--ff-anton);
	font-size:16px;
	border-left:1.5px solid var(--c-noir);
	border-right:1.5px solid var(--c-noir);
	padding:6px 0;
	background:var(--c-creme);
}

/* Natives WooCommerce-Input ausblenden */
.kp-cart-item__qty .quantity,
.kp-cart-item__qty .qty,
.kp-cart-item__qty-input,
.kp-cart-item__qty input.qty{
	display:none !important;
	position:absolute !important;
	left:-9999px !important;
}

/* Precio columna */
.kp-cart-item__price-col{
	display:flex;
	flex-direction:column;
	align-items:flex-end;
	justify-content:space-between;
	gap:14px;
	min-width:0;
	max-width:120px;
}

.kp-cart-item__price-wrap{
	text-align:right;
}

.kp-cart-item__price{
	font-family:var(--ff-anton);
	font-size:clamp(20px,2.2vw,28px);
	line-height:1;
	letter-spacing:-0.005em;
	color:var(--c-noir);
	text-align:right;
	white-space:nowrap;
}
.kp-cart-item__price bdi{font-style:normal}

.kp-cart-item__price-old{
	display:block;
	font-family:var(--ff-mono);
	font-size:11px;
	font-weight:600;
	color:var(--c-gray);
	letter-spacing:0.08em;
	text-decoration:line-through;
	margin-top:4px;
	text-align:right;
}

.kp-cart-item__remove{
	display:inline-flex;
	align-items:center;
	gap:6px;
	font-family:var(--ff-mono);
	font-size:10px;
	font-weight:700;
	letter-spacing:0.18em;
	text-transform:uppercase;
	color:var(--c-gray);
	transition:color 0.2s var(--ease);
	background:none;
	border:none;
	cursor:pointer;
	text-decoration:none;
}
.kp-cart-item__remove:hover{color:var(--c-rouge)}
.kp-cart-item__remove svg{width:14px;height:14px}


/* ====================================================================
   7. RIGHT · Resumen sticky
   ==================================================================== */

.kp-cart-summary{
	position:sticky;
	top:20px;
	display:flex;
	flex-direction:column;
	gap:16px;
}
@media (max-width:980px){
	.kp-cart-summary{position:static}
}

/* Trustbox-Wrapper (volle Breite, das 2-Spalten-Grid liegt innerhalb der Trustbox) */
.kp-cart-secondary{
	width:100%;
}

.kp-cart-summary__box{
	background:var(--c-blanc);
	color:var(--c-noir);
	border:3px solid var(--c-rouge);
	box-shadow:6px 6px 0 var(--c-noir);
	padding:28px 26px;
	display:flex;
	flex-direction:column;
	gap:16px;
}

/* Vertikaler Abstand der Kind-Elemente der Übersicht */
.kp-cart-summary__box > *{margin-top:0;margin-bottom:0}
.kp-cart-summary__title{margin-bottom:-10px}

.kp-cart-summary__title{
	font-family:var(--ff-anton);
	font-size:32px;
	line-height:0.95;
	text-transform:uppercase;
	letter-spacing:-0.005em;
	margin-bottom:6px;
	color:var(--c-noir);
}
.kp-cart-summary__title em{font-style:normal;color:var(--c-rouge)}

.kp-cart-summary__sub{
	font-family:var(--ff-mono);
	font-size:10px;
	font-weight:700;
	letter-spacing:0.18em;
	text-transform:uppercase;
	color:var(--c-rouge);
	margin-bottom:20px;
}

/* GRATIS-VERSAND-Banner mit animiertem Lkw */
.kp-cart-shipfree{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:14px;
	padding:14px 18px;
	background:var(--c-blanc);
	color:var(--c-noir);
	border:2.5px solid var(--c-noir);
	margin-bottom:0;
	font-family:var(--ff-anton);
	font-size:18px;
	letter-spacing:0;
	text-transform:uppercase;
	overflow:hidden;
	position:relative;
}

.kp-cart-shipfree__truck{
	position:relative;
	display:inline-flex;
	align-items:center;
	width:64px;
	height:32px;
	flex-shrink:0;
	color:var(--c-noir);
	animation:kp-truck-drive 3.6s ease-in-out infinite;
}
.kp-cart-shipfree__truck svg{
	width:64px;
	height:32px;
	display:block;
	position:relative;
	z-index:2;
}

/* Auspuffrauch */
.kp-cart-shipfree__smoke{
	position:absolute;
	left:-2px;
	top:8px;
	width:8px;
	height:8px;
	border-radius:50%;
	background:var(--c-noir);
	opacity:0;
	z-index:1;
}
.kp-cart-shipfree__smoke--1{
	animation:kp-smoke 1.6s ease-out infinite;
	animation-delay:0s;
}
.kp-cart-shipfree__smoke--2{
	animation:kp-smoke 1.6s ease-out infinite;
	animation-delay:0.5s;
}
.kp-cart-shipfree__smoke--3{
	animation:kp-smoke 1.6s ease-out infinite;
	animation-delay:1s;
}

/* Geschwindigkeitslinien hinter dem Lkw */
.kp-cart-shipfree__speed{
	opacity:0;
	animation:kp-speed-lines 1.2s ease-out infinite;
}
.kp-cart-shipfree__speed--1{animation-delay:0s}
.kp-cart-shipfree__speed--2{animation-delay:0.2s}
.kp-cart-shipfree__speed--3{animation-delay:0.4s}

@keyframes kp-truck-drive{
	0%{transform:translateX(-12px)}
	10%{transform:translateX(-12px) translateY(-1px)}
	20%{transform:translateX(-10px) translateY(0)}
	60%{transform:translateX(0) translateY(-1px)}
	100%{transform:translateX(0) translateY(0)}
}

@keyframes kp-smoke{
	0%{opacity:0;transform:translate(0,0) scale(0.4)}
	30%{opacity:0.6}
	100%{opacity:0;transform:translate(-18px,-8px) scale(1.2)}
}

@keyframes kp-speed-lines{
	0%{opacity:0;transform:translateX(0)}
	30%{opacity:1}
	100%{opacity:0;transform:translateX(8px)}
}

.kp-cart-shipfree__text{
	font-family:var(--ff-anton);
	font-size:20px;
	letter-spacing:0;
	color:var(--c-noir);
	white-space:nowrap;
}
.kp-cart-shipfree__text strong{
	color:var(--c-rouge);
	font-weight:normal;
	font-family:var(--ff-anton);
}

@media (prefers-reduced-motion:reduce){
	.kp-cart-shipfree__truck,
	.kp-cart-shipfree__smoke,
	.kp-cart-shipfree__speed{
		animation:none !important;
		opacity:1;
	}
	.kp-cart-shipfree__smoke{display:none}
}

/* Gutscheincode · ASTRA-OVERRIDE (wichtig, damit es nicht blau wird) */
.kp-cart-promo{
	display:flex;
	margin-bottom:0;
	border:2px solid var(--c-noir);
	background:transparent;
}
.kp-cart-promo input[type="text"],
.kp-cart-promo input.input-text,
.kp-cart-promo .kp-cart-promo__input{
	flex:1;
	background:transparent !important;
	color:var(--c-noir) !important;
	border:none !important;
	outline:none !important;
	padding:11px 14px !important;
	font-family:var(--ff-mono) !important;
	font-size:12px !important;
	letter-spacing:0.1em !important;
	text-transform:uppercase !important;
	min-width:0;
	box-shadow:none !important;
	border-radius:0 !important;
}
.kp-cart-promo input::placeholder{color:rgba(17,17,16,0.4) !important}

.kp-cart-promo button,
.kp-cart-promo .kp-cart-promo__btn,
.kp-cart-promo button[name="apply_coupon"],
.kp-cart-page button.kp-cart-promo__btn{
	background:var(--c-rouge) !important;
	color:var(--c-noir) !important;
	padding:11px 18px !important;
	font-family:var(--ff-body) !important;
	font-weight:900 !important;
	font-size:11px !important;
	letter-spacing:0.08em !important;
	text-transform:uppercase !important;
	border:none !important;
	border-left:2px solid var(--c-noir) !important;
	transition:background 0.2s var(--ease),color 0.2s var(--ease) !important;
	flex-shrink:0;
	cursor:pointer;
	box-shadow:none !important;
	border-radius:0 !important;
	min-width:auto !important;
	width:auto !important;
	height:auto !important;
	line-height:1.3 !important;
	text-shadow:none !important;
}
.kp-cart-promo button:hover,
.kp-cart-promo .kp-cart-promo__btn:hover{
	background:var(--c-noir) !important;
	color:var(--c-rouge) !important;
}

/* Lines */
.kp-cart-summary__lines{
	display:flex;
	flex-direction:column;
	gap:10px;
	padding-bottom:0;
	border-bottom:none;
	margin-bottom:0;
}
.kp-cart-summary__line{
	display:flex;
	justify-content:space-between;
	align-items:center;
	font-family:var(--ff-mono);
	font-size:12px;
	font-weight:600;
	letter-spacing:0.1em;
	text-transform:uppercase;
	color:var(--c-gray);
}
.kp-cart-summary__line b{
	font-family:var(--ff-body);
	color:var(--c-noir);
	font-weight:700;
	letter-spacing:0;
	text-transform:none;
}
.kp-cart-summary__line--success b,
.kp-cart-summary__line--free b{color:var(--c-rouge);font-weight:700}

.kp-cart-summary__lines bdi{font-style:normal}
.kp-cart-summary__lines small{font-size:10px;opacity:0.6}

/* Total */
.kp-cart-summary__total{
	display:flex;
	justify-content:space-between;
	align-items:baseline;
	margin-bottom:0;
	gap:14px;
	padding-top:14px;
	border-top:2px solid var(--c-line);
}
.kp-cart-summary__total-label{
	font-family:var(--ff-anton);
	font-size:22px;
	letter-spacing:0;
	text-transform:uppercase;
	color:var(--c-noir);
}
.kp-cart-summary__total-value{
	font-family:var(--ff-anton);
	font-size:42px;
	letter-spacing:-0.02em;
	color:var(--c-rouge);
	line-height:0.9;
}
.kp-cart-summary__total-value bdi{font-style:normal}

/* Checkout */
.kp-cart-checkout{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:14px;
	width:100%;
	min-height:60px;
	padding:0 20px;
	background:var(--c-rouge);
	color:var(--c-noir);
	font-family:var(--ff-body);
	font-weight:900;
	font-size:16px;
	letter-spacing:0.04em;
	text-transform:uppercase;
	border:3px solid var(--c-noir);
	transition:transform 0.15s var(--ease),background 0.15s var(--ease),color 0.15s var(--ease);
	text-decoration:none;
	margin-bottom:14px;
}
.kp-cart-checkout::after{content:'→'}
.kp-cart-checkout:hover{
	background:var(--c-noir);
	color:var(--c-rouge);
	transform:translate(-2px,-2px);
}
.kp-cart-checkout:active{transform:translate(2px,2px)}

.kp-cart-continue{
	display:block;
	text-align:center;
	font-family:var(--ff-mono);
	font-size:11px;
	font-weight:700;
	letter-spacing:0.18em;
	text-transform:uppercase;
	color:var(--c-gray);
	text-decoration:none;
	transition:color 0.2s var(--ease);
}
.kp-cart-continue:hover{color:var(--c-rouge)}
.kp-cart-continue::before{content:'← '}


/* ====================================================================
   8. TRUST BADGES
   ==================================================================== */

/* ====================================================================
   8. TRUSTBOX UNIFICADO (Trust + Contact en una sola caja)
   ==================================================================== */

.kp-cart-trustbox{
	background:var(--c-blanc);
	border:3px solid var(--c-noir);
	box-shadow:6px 6px 0 var(--c-noir);
	display:grid;
	grid-template-columns:1fr auto 1fr;
	gap:0;
	align-items:stretch;
	overflow:hidden;
}

.kp-cart-trustbox__section{
	padding:18px 22px;
	display:flex;
	flex-direction:column;
	min-width:0;
}

.kp-cart-trustbox__divider{
	width:2px;
	background:var(--c-line);
	min-height:100%;
}

.kp-cart-trustbox__title{
	font-family:var(--ff-mono);
	font-size:10px;
	font-weight:700;
	letter-spacing:0.22em;
	text-transform:uppercase;
	color:var(--c-rouge);
	margin-bottom:14px;
	display:flex;
	align-items:center;
	gap:10px;
}
.kp-cart-trustbox__title::before{
	content:'';
	width:18px;
	height:2px;
	background:var(--c-rouge);
	flex-shrink:0;
}

@media (max-width:760px){
	.kp-cart-trustbox{
		grid-template-columns:1fr;
	}
	.kp-cart-trustbox__divider{
		width:auto;
		height:2px;
		min-height:auto;
	}
}


.kp-cart-trust__list{
	display:flex;
	flex-direction:column;
	gap:10px;
}
.kp-cart-trust__item{
	display:flex;
	align-items:center;
	gap:12px;
	font-family:var(--ff-body);
	font-size:13px;
	font-weight:600;
	color:var(--c-noir);
	line-height:1.3;
}
.kp-cart-trust__item svg{
	width:18px;
	height:18px;
	flex-shrink:0;
	color:var(--c-rouge);
}
.kp-cart-trust__item b{color:var(--c-rouge);font-weight:700}

/* Pagos aceptados — imagen */
.kp-cart-payments{
	display:flex;
	align-items:center;
	justify-content:center;
	margin-top:14px;
	padding-top:14px;
	border-top:1.5px solid var(--c-line);
}
.kp-cart-payments img{
	max-width:100%;
	height:auto;
	display:block;
	max-height:32px;
	width:auto;
}


/* ====================================================================
   9. CROSS-SELL
   ==================================================================== */

.kp-cart-cross{
	margin-top:60px;
	padding-top:48px;
	border-top:3px solid var(--c-noir);
}

.kp-cart-cross__head{
	margin-bottom:32px;
}
.kp-cart-cross__top{
	display:flex;
	align-items:center;
	gap:14px;
	margin-bottom:14px;
}
.kp-cart-cross__num{
	font-family:var(--ff-mono);
	font-size:11px;
	font-weight:700;
	letter-spacing:0.22em;
	text-transform:uppercase;
}
.kp-cart-cross__num::before{
	content:'';
	display:inline-block;
	width:24px;
	height:2px;
	background:currentColor;
	margin-right:10px;
	vertical-align:middle;
}
.kp-cart-cross__title{
	font-family:var(--ff-anton);
	font-size:clamp(2rem,4.5vw,3.5rem);
	line-height:0.9;
	letter-spacing:-0.01em;
	text-transform:uppercase;
}
.kp-cart-cross__title em{font-style:normal;color:var(--c-rouge)}

.kp-cart-cross__grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:18px;
}
@media (max-width:980px){
	.kp-cart-cross__grid{grid-template-columns:repeat(2,1fr);gap:12px}
}

.kp-cross-card{
	background:var(--c-blanc);
	border:2.5px solid var(--c-noir);
	box-shadow:5px 5px 0 var(--c-noir);
	display:block;
	color:inherit;
	transition:transform 0.25s var(--ease),box-shadow 0.25s var(--ease);
	text-decoration:none;
}
.kp-cross-card:hover{
	transform:translate(-3px,-3px);
	box-shadow:8px 8px 0 var(--c-rouge);
}

.kp-cross-card__media{
	aspect-ratio:1/1;
	background:var(--c-creme);
	border-bottom:2.5px solid var(--c-noir);
	overflow:hidden;
	display:grid;
	place-items:center;
	position:relative;
}
.kp-cross-card__media img{
	width:100%;
	height:100%;
	object-fit:cover;
}

.kp-cross-card__tag{
	position:absolute;
	top:10px;
	left:10px;
	font-family:var(--ff-anton);
	font-size:13px;
	letter-spacing:0;
	background:var(--c-rouge);
	color:var(--c-noir);
	padding:4px 9px;
	border:2px solid var(--c-noir);
	transform:rotate(-3deg);
	box-shadow:2px 2px 0 var(--c-noir);
	line-height:1;
	z-index:2;
}

.kp-cross-card__body{
	padding:14px 16px;
}

.kp-cross-card__name{
	font-family:var(--ff-anton);
	font-size:18px;
	line-height:1;
	letter-spacing:-0.005em;
	text-transform:uppercase;
	color:var(--c-noir);
	margin-bottom:6px;
}

.kp-cross-card__price{
	font-family:var(--ff-body);
	font-weight:900;
	font-size:16px;
	color:var(--c-rouge);
}
.kp-cross-card__price bdi,
.kp-cross-card__price del,
.kp-cross-card__price ins{font-style:normal}
.kp-cross-card__price del{color:var(--c-gray);font-weight:600;text-decoration:line-through;margin-right:6px}
.kp-cross-card__price ins{text-decoration:none}


/* ====================================================================
   10. EMPTY CART
   ==================================================================== */

.kp-cart-empty{
	text-align:center;
	padding:60px 20px;
}
.kp-cart-empty__cta{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:60px;
	padding:0 32px;
	background:var(--c-rouge);
	color:var(--c-noir);
	font-family:var(--ff-body);
	font-weight:900;
	font-size:16px;
	letter-spacing:0.04em;
	text-transform:uppercase;
	border:3px solid var(--c-noir);
	box-shadow:5px 5px 0 var(--c-noir);
	transition:transform 0.15s var(--ease),box-shadow 0.15s var(--ease);
	text-decoration:none;
}
.kp-cart-empty__cta:hover{
	transform:translate(-2px,-2px);
	box-shadow:7px 7px 0 var(--c-noir);
}


/* ====================================================================
   12. DYNAMISCHES LIEFERDATUM (in der Übersicht)
   ==================================================================== */

.kp-cart-delivery{
	display:flex;
	align-items:center;
	gap:12px;
	padding:14px 16px;
	background:var(--c-creme);
	border:2px solid var(--c-noir);
	margin-bottom:0;
}
.kp-cart-delivery svg{
	width:24px;
	height:24px;
	flex-shrink:0;
	color:var(--c-rouge);
}
.kp-cart-delivery__copy{
	display:flex;
	flex-direction:column;
	gap:3px;
	min-width:0;
}
.kp-cart-delivery__label{
	font-family:var(--ff-mono);
	font-size:9px;
	font-weight:700;
	letter-spacing:0.2em;
	text-transform:uppercase;
	color:var(--c-rouge);
}
.kp-cart-delivery__date{
	font-family:var(--ff-body);
	font-size:13px;
	font-weight:600;
	color:var(--c-noir);
	line-height:1.3;
}
.kp-cart-delivery__date strong{
	font-family:var(--ff-anton);
	font-size:15px;
	color:var(--c-rouge);
	letter-spacing:0;
	font-weight:normal;
}


/* ====================================================================
   13. BEWERTUNGEN / SOCIAL PROOF (in der Übersicht)
   ==================================================================== */

.kp-cart-reviews{
	padding:14px 16px;
	background:var(--c-creme);
	color:var(--c-noir);
	border:2px solid var(--c-noir);
	margin-bottom:0;
}
.kp-cart-reviews__top{
	display:flex;
	align-items:center;
	gap:10px;
	margin-bottom:10px;
	flex-wrap:wrap;
}
.kp-cart-reviews__score{
	font-family:var(--ff-anton);
	font-size:24px;
	line-height:1;
	color:var(--c-rouge);
	letter-spacing:-0.01em;
}
.kp-cart-reviews__stars{
	display:inline-flex;
	gap:1px;
	color:var(--c-rouge);
}
.kp-cart-reviews__stars svg{
	width:14px;
	height:14px;
}
.kp-cart-reviews__count{
	margin-left:auto;
	font-family:var(--ff-mono);
	font-size:9px;
	font-weight:700;
	letter-spacing:0.16em;
	text-transform:uppercase;
	color:var(--c-gray);
}
.kp-cart-reviews__quote{
	font-family:var(--ff-body);
	font-size:13px;
	line-height:1.5;
	color:var(--c-noir);
	margin:0;
	font-style:italic;
	padding-left:10px;
	border-left:3px solid var(--c-rouge);
}
.kp-cart-reviews__quote cite{
	display:block;
	margin-top:6px;
	font-family:var(--ff-mono);
	font-size:9px;
	font-weight:700;
	letter-spacing:0.16em;
	text-transform:uppercase;
	color:var(--c-gray);
	font-style:normal;
}


/* ====================================================================
   14. VERSAND-GARANTIE (unter dem CTA)
   ==================================================================== */

.kp-cart-guarantee{
	display:flex;
	align-items:center;
	gap:12px;
	padding:12px 14px;
	background:var(--c-rouge);
	color:var(--c-noir);
	border:2px solid var(--c-noir);
	margin-top:14px;
	transform:rotate(-1deg);
	box-shadow:3px 3px 0 var(--c-noir);
}
.kp-cart-guarantee svg{
	width:22px;
	height:22px;
	flex-shrink:0;
	color:var(--c-noir);
}
.kp-cart-guarantee__copy{
	display:flex;
	flex-direction:column;
	gap:2px;
	min-width:0;
}
.kp-cart-guarantee__title{
	font-family:var(--ff-anton);
	font-size:18px;
	line-height:1;
	letter-spacing:0;
	text-transform:uppercase;
	color:var(--c-noir);
}
.kp-cart-guarantee__sub{
	font-family:var(--ff-mono);
	font-size:9px;
	font-weight:700;
	letter-spacing:0.16em;
	text-transform:uppercase;
	color:var(--c-noir);
}
.kp-cart-guarantee__sub strong{
	color:var(--c-noir);
	font-family:var(--ff-anton);
	font-size:11px;
	letter-spacing:0;
	font-weight:normal;
}


/* ====================================================================
   15. SCHNELLKONTAKT (innerhalb der Trustbox)
   ==================================================================== */

.kp-cart-contact__sub{
	font-family:var(--ff-body);
	font-size:13px;
	font-weight:600;
	color:var(--c-noir);
	margin:0 0 14px 28px;
	line-height:1.4;
}

.kp-cart-contact__list{
	display:flex;
	flex-direction:column;
	gap:8px;
}

.kp-cart-contact__item{
	display:flex;
	align-items:center;
	gap:12px;
	padding:10px 12px;
	background:var(--c-creme);
	border:1.5px solid var(--c-noir);
	color:var(--c-noir);
	text-decoration:none;
	transition:transform 0.2s var(--ease),box-shadow 0.2s var(--ease),background 0.2s var(--ease);
}
.kp-cart-contact__item:hover{
	background:var(--c-noir);
	color:var(--c-blanc);
	transform:translate(-2px,-2px);
	box-shadow:3px 3px 0 var(--c-rouge);
}

.kp-cart-contact__icon{
	width:32px;
	height:32px;
	display:grid;
	place-items:center;
	background:var(--c-noir);
	color:var(--c-rouge);
	flex-shrink:0;
	transition:background 0.2s var(--ease),color 0.2s var(--ease);
}
.kp-cart-contact__icon svg{width:16px;height:16px}
.kp-cart-contact__item:hover .kp-cart-contact__icon{
	background:var(--c-rouge);
	color:var(--c-noir);
}

.kp-cart-contact__label{
	display:flex;
	flex-direction:column;
	gap:2px;
	min-width:0;
	flex:1;
}
.kp-cart-contact__type{
	font-family:var(--ff-mono);
	font-size:9px;
	font-weight:700;
	letter-spacing:0.18em;
	text-transform:uppercase;
	color:var(--c-gray);
}
.kp-cart-contact__item:hover .kp-cart-contact__type{color:rgba(255,255,255,0.6)}

.kp-cart-contact__value{
	font-family:var(--ff-body);
	font-size:13px;
	font-weight:700;
	color:inherit;
	word-break:break-all;
	line-height:1.3;
}


/* ====================================================================
   16.5 RESPONSIVE MOBILE OVERRIDES
   ==================================================================== */

@media (max-width:760px){
	/* Titel mobil: einzeilig + kompakte Größenanpassung */
	.kp-cart-head__title{
		font-size:clamp(2rem,11vw,3.5rem);
		white-space:nowrap;
	}

	/* Secondary (Trustbox) auf Mobil ans Ende verschieben */
	.kp-cart-main{display:contents}
	.kp-cart-secondary{order:99}
	.kp-cart-summary{order:50}
	.kp-cart-list{order:10}

	.kp-cart-layout{
		display:flex;
		flex-direction:column;
		gap:20px;
	}
}

@media (max-width:420px){
	.kp-cart-head__title{font-size:clamp(1.8rem,12vw,3rem)}
	.kp-cart-alert{font-size:11px;padding:9px 12px;gap:8px}
	.kp-cart-alert__icon{font-size:14px}
}


/* ====================================================================
   17. Reduced motion
   ==================================================================== */

@media (prefers-reduced-motion:reduce){
	.kp-cart-page *,
	.kp-cart-page *::before,
	.kp-cart-page *::after{
		animation:none !important;
		transition:none !important;
	}
}

/* ====================================================================
   Kick Prime · ZAHLEN in Bebas Neue
   ==================================================================== */
.kp-cart-item__price,
.kp-cart-summary__total-value,
.kp-cart-reviews__score,
.kp-cart-countdown__timer,
.kp-cart-item__qty span[data-qty-display]{font-family:'Bebas Neue',sans-serif !important;font-weight:400 !important}

/* ====================================================================
   Chips der Zahlungsarten
   ==================================================================== */
.kp-paychips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.kp-paychips span{
	font-family:var(--ff-body);font-size:11px;font-weight:700;letter-spacing:0.02em;
	color:var(--c-gray);background:var(--c-creme);
	border:1px solid var(--c-line);border-radius:6px;
	padding:5px 9px;line-height:1;white-space:nowrap;
}
