/* =========================================================
   JV Fitness – Angebotskorb Schnellwahl + Header v1.7.2
   ========================================================= */

/* ---------- Katalog: Plus / Häkchen ---------- */

.woocommerce ul.products li.product {
	position: relative !important;
}

.woocommerce ul.products li.product .jv-quote-loop-button {
	position: absolute !important;
	top: 4px !important;
	right: 4px !important;
	z-index: 20 !important;

	width: 30px !important;
	height: 30px !important;
	min-width: 30px !important;
	min-height: 30px !important;
	margin: 0 !important;
	padding: 0 !important;

	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	background: transparent !important;
	color: #1e1e1e !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	outline: 0 !important;

	font-family: Arial, Helvetica, sans-serif !important;
	font-size: 29px !important;
	font-weight: 300 !important;
	line-height: 1 !important;

	cursor: pointer !important;
	opacity: .95 !important;
	transition: opacity .15s ease, transform .15s ease !important;
}

.woocommerce ul.products li.product .jv-quote-loop-button:hover,
.woocommerce ul.products li.product .jv-quote-loop-button:focus-visible {
	background: transparent !important;
	color: #1e1e1e !important;
	opacity: .55 !important;
	transform: scale(1.08) !important;
}

.woocommerce ul.products li.product .jv-quote-loop-button.is-added {
	background: transparent !important;
	color: #1e1e1e !important;
	font-size: 22px !important;
	font-weight: 700 !important;
}

.woocommerce ul.products li.product .jv-quote-loop-button.is-loading {
	background: transparent !important;
	color: #1e1e1e !important;
	font-size: 25px !important;
	cursor: wait !important;
	opacity: .4 !important;
}

/* ---------- Header: Angebotskorb ---------- */

.jv-header-quote-cart {
	position: relative !important;

	width: 38px !important;
	height: 38px !important;
	min-width: 38px !important;

	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;

	color: currentColor !important;
	text-decoration: none !important;
	line-height: 1 !important;
}

.jv-header-quote-cart__icon {
	width: 25px !important;
	height: 25px !important;
	display: block !important;
}

.jv-header-quote-cart__icon svg {
	width: 100% !important;
	height: 100% !important;
	display: block !important;
	stroke: currentColor !important;
}

.jv-header-quote-cart:hover,
.jv-header-quote-cart:focus-visible {
	color: inherit !important;
	opacity: .65 !important;
	text-decoration: none !important;
	outline: none !important;
}

.jv-header-quote-cart__count {
	position: absolute !important;
	top: -2px !important;
	right: -4px !important;

	min-width: 17px !important;
	height: 17px !important;
	padding: 0 4px !important;
	box-sizing: border-box !important;

	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	background: #ffffff !important;
	color: #111111 !important;
	border: 1px solid #111111 !important;
	border-radius: 999px !important;

	font-family: Arial, Helvetica, sans-serif !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
}

.jv-header-quote-cart__count[hidden] {
	display: none !important;
}

@media (max-width: 767px) {
	.woocommerce ul.products li.product .jv-quote-loop-button {
		top: 4px !important;
		right: 4px !important;
		width: 30px !important;
		height: 30px !important;
		min-width: 30px !important;
		min-height: 30px !important;
	}

	.jv-header-quote-cart {
		width: 36px !important;
		height: 36px !important;
		min-width: 36px !important;
	}

	.jv-header-quote-cart__icon {
		width: 23px !important;
		height: 23px !important;
	}
}


/* ---------- Header-Positionierung responsive v1.4 ---------- */

/* Desktop-Navbar braucht einen echten rechten Slot für den Angebotskorb. */
header.tm-header nav.uk-navbar {
	position: relative !important;
}

header.tm-header .jv-header-quote-cart-slot {
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	height: 100% !important;

	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;

	margin: 0 !important;
	padding: 0 8px 0 24px !important;
	box-sizing: border-box !important;
}

header.tm-header .jv-header-quote-cart-widget {
	min-height: 0 !important;
	height: auto !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	align-items: center !important;
}

/* Etwas kompakter, falls der Desktop schmaler wird. */
@media (min-width: 960px) and (max-width: 1199px) {
	header.tm-header .jv-header-quote-cart-slot {
		padding-left: 14px !important;
		padding-right: 2px !important;
	}

	header.tm-header .jv-header-quote-cart {
		width: 34px !important;
		height: 34px !important;
		min-width: 34px !important;
	}
}

/* Mobile: eigener Klon direkt links neben dem Hamburger-Menü. */
header.tm-header-mobile .jv-header-quote-cart--mobile {
	margin-right: 8px !important;
	flex: 0 0 auto !important;
}

header.tm-header-mobile .jv-header-quote-cart--mobile .jv-header-quote-cart__icon {
	width: 22px !important;
	height: 22px !important;
}

header.tm-header-mobile .jv-header-quote-cart--mobile .jv-header-quote-cart__count {
	top: -1px !important;
	right: -5px !important;
}

/* Desktop-Link nicht versehentlich im mobilen Header doppelt anzeigen. */
@media (max-width: 959px) {
	header.tm-header .jv-header-quote-cart {
		display: none !important;
	}
}


/* =========================================================
   JV Header v1.7 – Quelle im Widget-Bereich "Header"
   ========================================================= */

/* Das Original im Header-Widget dient nur als Quelle und bleibt unsichtbar. */
.jv-header-quote-cart--source {
	display: none !important;
}

/* Korb grundsätzlich nur anzeigen, wenn mindestens ein Gerät enthalten ist. */
.jv-header-quote-cart:not(.has-items) {
	display: none !important;
}

.jv-header-quote-cart.has-items {
	display: inline-flex !important;
}

/* Desktop: rechts neben der Menüzeile, ohne deren Breite zu verändern. */
@media (min-width: 960px) {
	header.tm-header .uk-navbar-center {
		position: relative !important;
	}

	header.tm-header .jv-header-quote-cart-slot {
		position: absolute !important;
		left: calc(100% + 28px) !important;
		top: 50% !important;
		transform: translateY(-50%) !important;

		width: 38px !important;
		height: 38px !important;
		margin: 0 !important;
		padding: 0 !important;

		display: flex !important;
		align-items: center !important;
		justify-content: center !important;

		z-index: 30 !important;
	}

	header.tm-header .jv-header-quote-cart--desktop.has-items {
		width: 38px !important;
		height: 38px !important;
		min-width: 38px !important;
		margin: 0 !important;
	}
}

/* Bei schmaleren Desktops etwas näher ans Menü. */
@media (min-width: 960px) and (max-width: 1199px) {
	header.tm-header .jv-header-quote-cart-slot {
		left: calc(100% + 14px) !important;
	}
}

/* Mobile: direkt links neben dem Hamburger. */
@media (max-width: 959px) {
	header.tm-header-mobile .jv-header-quote-cart--mobile.has-items {
		display: inline-flex !important;
		width: 36px !important;
		height: 36px !important;
		min-width: 36px !important;
		margin: 0 10px 0 0 !important;
		flex: 0 0 auto !important;
	}

	header.tm-header-mobile .jv-header-quote-cart--mobile .jv-header-quote-cart__icon {
		width: 22px !important;
		height: 22px !important;
	}
}


/* ---------- v1.7.1: Original-Widget sicher ausblenden ---------- */
/*
 * Der Korb im WordPress-Widgetbereich "Header" dient nur als Quelle
 * für Desktop- und Mobile-Klon. Er darf selbst niemals sichtbar sein.
 * Diese Regel steht bewusst ganz am Ende und ist spezifischer als
 * die allgemeine .has-items-Regel.
 */
.jv-header-quote-cart.jv-header-quote-cart--source,
.jv-header-quote-cart.jv-header-quote-cart--source.has-items {
	display: none !important;
}
