/* ==========================================================================
   JI Shop Redesign 2026
   Umsetzung von "ReDesign-Shop 1.pdf"
   ========================================================================== */

:root {
	--ji-red: #d20a11;
	--ji-red-dark: #9d383d;
	--ji-gradient: linear-gradient(90deg, #d20b11 0%, #9d383d 100%);
	--ji-text: #4d4d4d;
	--ji-border: #dcdcdc;
	--ji-border-light: #e8e8e8;
	--ji-bg-soft: #fafafa;
	--ji-radius-box: 12px;
	--ji-radius-pill: 17px;
	--ji-container: 1100px;
	--ji-gutter: 20px;
	--ji-font: "Open Sans", Helvetica, Arial, sans-serif;
	--ji-semibold: 600;
}

.ji-shop-design .ji-shop-top,
.ji-shop-design .ji-usps,
.ji-shop-design .ji-shop-layout,
.ji-shop-design .ji-newsletter {
	font-family: var(--ji-font);
	color: var(--ji-text);
	box-sizing: border-box;
}

.ji-shop-design .ji-shop-top *,
.ji-shop-design .ji-usps *,
.ji-shop-design .ji-shop-layout *,
.ji-shop-design .ji-newsletter * {
	box-sizing: border-box;
}

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */
.ji-btn-outline {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 150px;
	height: 33px;
	padding: 0 24px;
	border: 1px solid currentColor;
	border-radius: var(--ji-radius-pill);
	background: transparent;
	color: var(--ji-text);
	font-size: 14px;
	font-weight: var(--ji-semibold);
	line-height: 1;
	text-decoration: none !important;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.ji-btn-outline:hover,
.ji-btn-outline:focus-visible {
	background: var(--ji-red);
	border-color: var(--ji-red);
	color: #fff;
}

.ji-btn-outline--light {
	color: #fff;
}

.ji-btn-outline--light:hover,
.ji-btn-outline--light:focus-visible {
	background: #fff;
	border-color: #fff;
	color: var(--ji-red);
}

.ji-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 235px;
	max-width: 100%;
	height: 33px;
	padding: 0 16px;
	border: 1px solid var(--ji-border);
	border-radius: var(--ji-radius-pill);
	background: #fff;
	color: var(--ji-text) !important;
	font-size: 14px;
	line-height: 1;
	text-align: center;
	text-decoration: none !important;
	transition: border-color .2s ease, color .2s ease;
}

.ji-pill:hover,
.ji-pill:focus-visible,
.ji-pill.is-active {
	border-color: var(--ji-red);
	color: var(--ji-red) !important;
}

.ji-btn-cart,
body.ji-shop-page .single_add_to_cart_button,
body.ji-shop-page .wc-proceed-to-checkout .checkout-button,
body.ji-shop-page #place_order {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 235px;
	height: 33px;
	min-height: 33px;
	padding: 0 24px !important;
	border: 0 !important;
	border-radius: var(--ji-radius-pill) !important;
	background: var(--ji-gradient) !important;
	color: #fff !important;
	font-family: var(--ji-font);
	font-size: 14px !important;
	font-weight: var(--ji-semibold) !important;
	line-height: 1 !important;
	text-transform: none !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: filter .2s ease;
}

.ji-btn-cart:hover,
body.ji-shop-page .single_add_to_cart_button:hover,
body.ji-shop-page .wc-proceed-to-checkout .checkout-button:hover,
body.ji-shop-page #place_order:hover {
	filter: brightness(1.12);
}

body.ji-shop-page .single_add_to_cart_button.disabled {
	opacity: .5;
	cursor: not-allowed;
}

body.ji-shop-page .wc-proceed-to-checkout .checkout-button,
body.ji-shop-page #place_order {
	height: 44px;
	border-radius: 22px !important;
}

/* --------------------------------------------------------------------------
   Kopfbereich: rote Linie + Subnavigation
   -------------------------------------------------------------------------- */
.ji-shop-top {
	position: relative;
}

.ji-shop-header-line .ji-shop-top::before {
	content: "";
	display: block;
	height: 8px;
	background: var(--ji-gradient);
}

.ji-shop-subnav {
	position: relative;
	z-index: 5;
	width: calc(100% - 2 * var(--ji-gutter));
	max-width: var(--ji-container);
	margin: 0 auto 30px;
	background: #fff;
	border-radius: 0 0 10px 10px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .18);
}

.ji-shop-top.has-hero .ji-shop-subnav {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	margin: 0;
}

.ji-shop-header-line .ji-shop-top.has-hero .ji-shop-subnav {
	top: 8px;
}

.ji-shop-top:not(.has-hero) .ji-shop-subnav {
	top: 0;
}

.ji-shop-subnav__inner {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	min-height: 45px;
	padding: 0 20px 0 34px;
}

.ji-shop-subnav__title {
	justify-self: start;
	color: var(--ji-text) !important;
	font-size: 18px;
	font-weight: var(--ji-semibold);
	text-decoration: none !important;
}

.ji-shop-subnav__menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 4px 21px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.ji-shop-subnav__menu li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.ji-shop-subnav__menu li::before {
	display: none !important;
}

.ji-shop-subnav__menu a {
	color: var(--ji-text) !important;
	font-size: 14px;
	font-weight: var(--ji-semibold);
	text-decoration: none !important;
	transition: color .2s ease;
}

.ji-shop-subnav__menu a:hover,
.ji-shop-subnav__menu .current-menu-item > a,
.ji-shop-subnav__menu .current-menu-parent > a,
.ji-shop-subnav__menu .current-product_cat-ancestor > a {
	color: var(--ji-red) !important;
}

.ji-shop-subnav__cart {
	position: relative;
	justify-self: end;
	display: inline-flex;
	padding: 4px;
	text-decoration: none !important;
}

.ji-shop-cart-count {
	position: absolute;
	top: -2px;
	right: -6px;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	border-radius: 9px;
	background: var(--ji-red);
	color: #fff;
	font-size: 10px;
	font-weight: var(--ji-semibold);
	line-height: 17px;
	text-align: center;
}

.ji-shop-cart-count.is-empty {
	display: none;
}

/* --------------------------------------------------------------------------
   Hero-Slider
   -------------------------------------------------------------------------- */
.ji-hero {
	position: relative;
	overflow: hidden;
	background: #d7d7d7;
}

.ji-hero__track {
	display: grid;
}

.ji-hero__slide {
	grid-area: 1 / 1;
	min-height: 470px;
	background-color: #d7d7d7;
	background-position: right center;
	background-repeat: no-repeat;
	background-size: cover;
	opacity: 0;
	visibility: hidden;
	transition: opacity .6s ease, visibility 0s linear .6s;
}

.ji-hero__slide.is-active {
	opacity: 1;
	visibility: visible;
	transition: opacity .6s ease, visibility 0s;
}

.ji-hero__inner {
	width: calc(100% - 2 * var(--ji-gutter));
	max-width: var(--ji-container);
	margin: 0 auto;
	padding: 71px 0 70px;
}

.ji-hero__box {
	width: 572px;
	max-width: 100%;
	padding: 18px 20px 20px;
	background: var(--ji-gradient);
	color: #fff;
}

.ji-hero__kicker {
	margin: 0 0 14px !important;
	padding: 0 0 6px;
	position: relative;
	color: #fff !important;
	font-size: 23px;
	font-weight: 400;
	line-height: 1.3;
}

.ji-hero__kicker::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 75px;
	height: 1px;
	background: #fff;
}

.ji-hero__title {
	margin: 0 !important;
	padding: 0 !important;
	color: #fff !important;
	font-family: var(--ji-font) !important;
	font-size: 26px !important;
	letter-spacing: -.01em !important;
	font-weight: var(--ji-semibold) !important;
	line-height: 1.22 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

.ji-hero__experts {
	display: flex;
	align-items: center;
	gap: 22px;
	margin-top: 36px;
	max-width: 572px;
}

.ji-hero__avatars {
	display: inline-flex;
	flex-shrink: 0;
	padding-left: 12px;
}

.ji-hero__avatars img {
	width: 40px;
	height: 40px;
	margin-left: -12px;
	border: 2px solid #fff;
	border-radius: 50%;
	object-fit: cover;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .15);
}

.ji-hero__text {
	margin: 0 !important;
	font-size: 16px;
	line-height: 1.3;
	color: var(--ji-text);
}

.ji-hero__btn {
	margin-top: 30px;
}

.ji-hero__slide--light .ji-hero__text,
.ji-hero__slide--light .ji-hero__btn {
	color: #fff;
}

.ji-hero__slide--light .ji-hero__text {
	text-shadow: 0 1px 6px rgba(0, 0, 0, .45);
}

.ji-hero__slide--light .ji-hero__btn:hover {
	border-color: var(--ji-red);
}

.ji-hero__nav {
	position: absolute;
	left: 50%;
	bottom: 13px;
	z-index: 3;
	display: flex;
	align-items: center;
	gap: 9px;
	transform: translateX(-50%);
}

/* Punkte: 12 px sichtbar, 32 px Tippfläche */
.ji-hero__dot {
	position: relative;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
}

.ji-hero__dot::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 12px;
	height: 12px;
	margin: -6px 0 0 -6px;
	border: 1px solid #777;
	border-radius: 50%;
	background: rgba(255, 255, 255, .75);
	transition: transform .2s ease, background-color .2s ease;
}

.ji-hero__dot:hover::before {
	transform: scale(1.2);
}

.ji-hero__dot.is-active::before {
	border-color: #fff;
	background: var(--ji-red);
	box-shadow: 0 0 0 1px #777;
}

.ji-hero__dot:focus-visible,
.ji-hero__prev:focus-visible,
.ji-hero__next:focus-visible {
	outline: 2px solid var(--ji-red);
	outline-offset: -4px;
	border-radius: 50%;
}

.ji-hero__next,
.ji-hero__prev {
	position: relative;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .75);
	cursor: pointer;
	transition: background-color .2s ease;
}

.ji-hero__next:hover,
.ji-hero__prev:hover {
	background: #fff;
}

.ji-hero__next::before,
.ji-hero__prev::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 8px;
	height: 8px;
	margin: -4px 0 0 -6px;
	border-top: 1.5px solid #333;
	border-right: 1.5px solid #333;
	transform: rotate(45deg);
}

.ji-hero__prev::before {
	margin-left: -2px;
	transform: rotate(-135deg);
}

.ji-hero__nav {
	gap: 2px !important;
	bottom: 6px !important;
}

/* --------------------------------------------------------------------------
   USP-Leiste
   -------------------------------------------------------------------------- */
.ji-usps {
	width: calc(100% - 2 * var(--ji-gutter));
	max-width: var(--ji-container);
	margin: 35px auto 0;
}

.ji-usps__inner {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	min-height: 115px;
	padding: 10px 38px;
	border: 1px solid var(--ji-border-light);
	border-radius: var(--ji-radius-box);
	background: var(--ji-bg-soft);
}

.ji-usp {
	display: flex;
	align-items: center;
	gap: 16px;
}

.ji-usp:nth-child(2) {
	justify-content: center;
}

.ji-usp:nth-child(3) {
	justify-content: flex-end;
}

.ji-usp__icon {
	display: inline-flex;
	flex: 0 0 74px;
	align-items: center;
	justify-content: center;
	width: 74px;
	height: 74px;
	border-radius: 50%;
	background: #fff;
	box-shadow:
		0 0 0 4px #fff,
		0 0 0 5px rgba(210, 10, 17, .12),
		0 6px 14px 3px rgba(210, 10, 17, .32);
}

.ji-usp__icon img {
	width: 46px;
	height: 46px;
}

.ji-usp__title {
	margin: 0 0 6px !important;
	color: var(--ji-text);
	font-size: 18px;
	font-weight: var(--ji-semibold);
	line-height: 1.2;
}

.ji-usp__text {
	margin: 0 !important;
	color: var(--ji-text);
	font-size: 14px;
	line-height: 1.35;
	max-width: 240px;
}

/* USP-Leiste innerhalb des Inhaltsbereichs (Produktdetailseite) */
.ji-single .ji-usps {
	width: 100%;
	margin-top: 50px;
}

/* --------------------------------------------------------------------------
   The7-Container auf Shop-Listen: volle Breite, kein Sidebar-Grid
   -------------------------------------------------------------------------- */
body.ji-shop-listing .page-title {
	display: none;
}

body.ji-shop-listing #main {
	padding-top: 0 !important;
}

body.ji-shop-listing #main .wf-container-main {
	display: block !important;
}

body.ji-shop-listing #content {
	width: 100% !important;
	max-width: none !important;
	float: none !important;
	margin: 0 !important;
}

body.ji-shop-listing #sidebar {
	display: none !important;
}

/* --------------------------------------------------------------------------
   Layout: Produktliste + Kategorien-Box
   -------------------------------------------------------------------------- */
.ji-shop-layout {
	display: grid;
	grid-template-columns: minmax(0, 790px) 257px;
	justify-content: space-between;
	column-gap: 40px;
	max-width: var(--ji-container);
	margin: 0 auto;
	padding-top: 44px;
	scroll-margin-top: 120px;
}

.ji-section-title {
	position: relative;
	margin: 0 0 22px !important;
	padding: 0 0 20px !important;
	color: var(--ji-red) !important;
	font-family: var(--ji-font) !important;
	font-size: 25px !important;
	font-weight: var(--ji-semibold) !important;
	line-height: 1.3 !important;
	text-transform: none !important;
}

.ji-section-title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 75px;
	height: 1px;
	background: var(--ji-text);
}

.ji-shop-main .woocommerce-notices-wrapper:not(:empty) {
	margin-bottom: 24px;
}

/* Produkt */
.ji-product-list {
	display: flex;
	flex-direction: column;
	gap: 56px;
	margin: 0;
	padding: 0;
}

.ji-product {
	display: grid;
	grid-template-columns: 344px minmax(0, 1fr);
	column-gap: 34px;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	float: none !important;
	list-style: none;
}

/* 2.8.3: Clearfix-Pseudoelemente von WooCommerce/The7 (.product::before/::after)
   würden sonst als eigene Rasterzellen zählen und das Layout verschieben. */
.ji-product::before,
.ji-product::after,
.ji-shop-layout::before,
.ji-shop-layout::after,
.variations_button::before,
.variations_button::after,
.ji-shop-design form.cart::before,
.ji-shop-design form.cart::after {
	content: none !important;
	display: none !important;
}

.ji-product__media {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 300px;
	padding: 30px;
	border: 1px solid var(--ji-border);
	background: var(--ji-bg-soft);
}

.ji-product__media a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.ji-product__media img {
	display: block;
	width: auto !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: 360px;
	object-fit: contain;
	margin: 0 !important;
	box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
}

.ji-product__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
}

.ji-product__title {
	margin: -6px 0 4px !important;
	padding: 0 !important;
	font-family: var(--ji-font) !important;
	font-size: 25px !important;
	font-weight: var(--ji-semibold) !important;
	line-height: 1.2 !important;
	text-transform: none !important;
}

.ji-product__title a {
	color: var(--ji-text) !important;
	text-decoration: none !important;
}

.ji-product__title a:hover {
	color: var(--ji-red) !important;
}

.ji-product__excerpt {
	color: var(--ji-text);
	font-size: 16px;
	line-height: 1.25;
	hyphens: auto;
}

.ji-product__excerpt p {
	margin: 0 0 4px !important;
}

.ji-product__meta {
	margin: 4px 0 0 !important;
	font-size: 12px;
	line-height: 1.5;
}

.ji-product__meta div {
	display: flex;
	gap: 10px;
}

.ji-product__meta dt,
.ji-product__meta dd {
	margin: 0 !important;
	padding: 0 !important;
	font-weight: 400;
}

.ji-product__details {
	width: 195px;
	margin-top: 14px;
}

/* Kaufbox */
.ji-buybox {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	margin-top: 18px;
	padding: 18px;
	border: 1px solid var(--ji-border);
	background: #fff;
	font-size: 12px;
	line-height: 1.25;
}

.ji-product__details + .ji-buybox {
	margin-top: 38px;
}

.ji-buybox > *,
.ji-buybox :where(.ji-buybox__cart > *) {
	order: 10;
}

.ji-buybox__toc {
	order: 1;
	margin-bottom: 12px;
}

/* Variantenformular in die Kaufbox "auflösen", damit Auswahl vor Preis steht */
.ji-buybox--variable .ji-buybox__cart,
.ji-buybox--variable form.variations_form {
	display: contents;
}

.ji-buybox--variable table.variations {
	order: 2;
}

.ji-buybox .ji-price {
	order: 3;
}

.ji-buybox .ji-stock {
	order: 4;
}

.ji-buybox--variable .single_variation_wrap {
	order: 5;
	width: 100%;
}

/* Preis + German Market */
.ji-price {
	margin: 0 0 8px;
	color: var(--ji-text);
	font-size: 12px;
	line-height: 1.2;
}

.ji-price .price,
.ji-price > .price {
	display: block;
	margin: 0 0 6px !important;
	color: var(--ji-red) !important;
	font-size: 16px !important;
	font-weight: var(--ji-semibold) !important;
	line-height: 1.3;
}

.ji-price .price .woocommerce-Price-amount,
.ji-price .price ins {
	color: var(--ji-red) !important;
	text-decoration: none;
}

.ji-price .price del {
	color: var(--ji-text);
	font-size: 13px;
	font-weight: 400;
	opacity: .7;
}

.ji-price p,
.ji-price small,
.ji-price div,
.ji-price span:not(.woocommerce-Price-amount):not(.woocommerce-Price-currencySymbol) {
	margin: 0 !important;
	font-size: 12px;
	line-height: 1.2;
}

.ji-price a {
	color: var(--ji-text);
	text-decoration: underline;
}

/* Lagerstatus */
.ji-stock,
.ji-buybox .woocommerce-variation-availability .stock {
	position: relative;
	margin: 4px 0 0 !important;
	padding-left: 24px;
	color: var(--ji-text) !important;
	font-size: 12px;
	font-weight: var(--ji-semibold);
	line-height: 16px;
}

.ji-stock.in-stock::before,
.ji-buybox .woocommerce-variation-availability .stock.in-stock::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 21px;
	height: 16px;
	background: url("icons/check.svg") no-repeat center / contain;
}

.ji-stock.out-of-stock,
.ji-buybox .woocommerce-variation-availability .stock.out-of-stock {
	padding-left: 0;
	color: var(--ji-red) !important;
}

/* Variantenauswahl ("Sprache") */
.ji-buybox table.variations {
	display: block;
	width: 100%;
	margin: 0 0 12px !important;
	border: 0 !important;
}

.ji-buybox table.variations tbody,
.ji-buybox table.variations tr {
	display: block;
}

.ji-buybox table.variations th,
.ji-buybox table.variations td {
	display: block;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	text-align: left;
}

.ji-buybox table.variations th label,
.ji-buybox table.variations .label label {
	display: block;
	margin: 0 0 8px;
	color: var(--ji-text);
	font-size: 16px;
	font-weight: var(--ji-semibold);
}

.ji-buybox table.variations tr + tr {
	margin-top: 10px;
}

body .ji-buybox.ji-buybox table.variations select {
	width: 235px;
	min-height: 0 !important;
	max-width: 100%;
	height: 33px;
	margin: 0 !important;
	padding: 0 40px 0 15px !important;
	border: 1px solid var(--ji-border) !important;
	border-radius: var(--ji-radius-pill) !important;
	background: #fff url("icons/chevron-down.svg") no-repeat right 18px center / 16px 9px !important;
	color: var(--ji-text);
	font-size: 14px;
	line-height: 31px;
	-webkit-appearance: none;
	appearance: none;
	box-shadow: none !important;
}

.ji-buybox .reset_variations {
	display: inline-block;
	margin: 6px 0 0 4px;
	font-size: 11px;
	color: var(--ji-text);
}

.ji-buybox .single_variation .woocommerce-variation-price,
.ji-buybox .single_variation .woocommerce-variation-description {
	display: none;
}

/* Menge +/- und Warenkorb */
.ji-buybox form.cart:not(.variations_form),
.ji-buybox .woocommerce-variation-add-to-cart {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 30px;
	margin: 22px 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.ji-buybox .quantity {
	display: inline-flex !important;
	align-items: center;
	gap: 4px;
	margin: 0 !important;
	float: none !important;
	width: auto !important;
}

.ji-buybox .quantity label,
.ji-buybox .quantity .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

.ji-buybox .quantity .qty {
	width: 60px !important;
	height: 33px !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 4px !important;
	border: 1px solid var(--ji-border) !important;
	border-radius: 0 !important;
	background: #fff !important;
	color: var(--ji-text) !important;
	font-size: 16px !important;
	text-align: center;
	-moz-appearance: textfield;
	box-shadow: none !important;
}

.ji-buybox .quantity .qty::-webkit-outer-spin-button,
.ji-buybox .quantity .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.ji-qty-btn {
	width: 14px;
	height: 33px;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	color: #000 !important;
	font-size: 18px !important;
	line-height: 1 !important;
	cursor: pointer;
	box-shadow: none !important;
	min-width: 0 !important;
}

.ji-qty-btn:hover {
	color: var(--ji-red) !important;
}

/* The7 liefert eigene Plus/Minus-Buttons (.is-form) – im gleichen Stil */
body .quantity .is-form,
body .quantity button.minus,
body .quantity button.plus {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 18px !important;
	min-width: 0 !important;
	height: 33px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	color: #000 !important;
	box-shadow: none !important;
	cursor: pointer;
}

body .quantity .is-form svg {
	width: 15px;
	height: 15px;
	fill: currentColor;
}

body .quantity .is-form:hover {
	color: var(--ji-red) !important;
}

.ji-buybox .added_to_cart {
	font-size: 12px;
	color: var(--ji-red);
}

/* Kategorien-Box */
.ji-shop-aside {
	padding-top: 0;
}

.ji-catbox {
	position: sticky;
	top: 120px;
	padding: 18px 10px 22px;
	border: 1px solid var(--ji-border);
	border-radius: var(--ji-radius-box);
	background: #fff;
}

.ji-catbox__title {
	margin: 0 0 12px !important;
	color: var(--ji-red);
	font-size: 20px;
	font-weight: var(--ji-semibold);
	line-height: 1.3;
	text-align: center;
}

.ji-catbox__list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.ji-catbox__list li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.ji-catbox__list li::before {
	display: none !important;
}

.ji-catbox .ji-pill {
	width: 100%;
}

/* Paginierung */
.ji-shop-main .woocommerce-pagination,
.ji-shop-main .paginator {
	margin-top: 50px;
}

/* --------------------------------------------------------------------------
   Newsletter-Banner
   -------------------------------------------------------------------------- */
.ji-newsletter {
	margin-top: 66px;
	background: var(--ji-gradient);
	color: #fff;
	overflow: hidden;
}

.ji-newsletter__inner {
	position: relative;
	display: flex;
	align-items: center;
	width: calc(100% - 2 * var(--ji-gutter));
	max-width: var(--ji-container);
	min-height: 230px;
	margin: 0 auto;
	padding: 40px 30px;
}

.ji-newsletter__content {
	position: relative;
	z-index: 2;
	max-width: 500px;
}

.ji-newsletter__title {
	margin: 0 0 4px !important;
	color: #fff !important;
	font-size: 25px;
	font-weight: var(--ji-semibold);
	line-height: 1.3;
}

.ji-newsletter__text {
	margin: 0 0 22px !important;
	color: #fff !important;
	font-size: 16px;
	line-height: 1.2;
}

.ji-newsletter__icon {
	position: absolute;
	left: 52%;
	top: 18px;
	width: 200px;
	height: auto;
	pointer-events: none;
}

/* Kein Abstand zwischen Banner und Footer */
body.ji-shop-design .ji-newsletter + #footer,
body.ji-shop-design .ji-newsletter ~ #footer {
	margin-top: 0;
}

/* --------------------------------------------------------------------------
   Footer: Social-Icons (Kreise) + zentrierte Links + Copyright
   -------------------------------------------------------------------------- */
body.ji-shop-design #social-bar {
	background: #fff;
	border-bottom: 1px solid var(--ji-border);
}

body.ji-shop-design #social-bar .wf-container-bottom,
body.ji-shop-design #social-bar .wf-float-right {
	justify-content: center !important;
	margin: 0 !important;
}

body.ji-shop-design #social-bar .wf-container-bottom {
	padding: 8px 0 !important;
	min-height: 0 !important;
}

body.ji-shop-design #social-bar .soc-ico {
	display: flex;
	justify-content: center;
	gap: 14px;
}

body.ji-shop-design #social-bar .soc-ico a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px !important;
	height: 32px !important;
	margin: 0 !important;
	border: 1px solid var(--ji-text) !important;
	border-radius: 50% !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.ji-shop-design #social-bar .soc-ico a::before,
body.ji-shop-design #social-bar .soc-ico a::after {
	display: none !important;
}

body.ji-shop-design #social-bar .soc-ico a .soc-font-icon,
body.ji-shop-design #social-bar .soc-ico a svg {
	color: var(--ji-text) !important;
	fill: var(--ji-text) !important;
	font-size: 15px;
}

body.ji-shop-design #social-bar .soc-ico a:hover {
	border-color: var(--ji-red) !important;
}

body.ji-shop-design #social-bar .soc-ico a:hover .soc-font-icon,
body.ji-shop-design #social-bar .soc-ico a:hover svg {
	color: var(--ji-red) !important;
	fill: var(--ji-red) !important;
}

body.ji-shop-design #bottom-bar .wf-container-bottom {
	justify-content: center !important;
	text-align: center;
	padding: 12px 0 !important;
}

body.ji-shop-design #bottom-bar .wf-float-right {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0 !important;
	float: none !important;
}

body.ji-shop-design #bottom-bar .mini-nav ul,
body.ji-shop-design #bottom-bar .mini-nav .menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

body.ji-shop-design #bottom-bar .mini-nav li {
	margin: 0 !important;
	padding: 0 !important;
}

body.ji-shop-design #bottom-bar .mini-nav li:not(:last-child)::after {
	content: "|";
	display: inline-block;
	margin: 0 6px;
	color: var(--ji-text);
}

body.ji-shop-design #bottom-bar .mini-nav li:not(:last-child) > a::after,
body.ji-shop-design #bottom-bar .mini-nav li:not(:first-child)::before {
	display: none !important;
}

body.ji-shop-design #bottom-bar .mini-nav a,
body.ji-shop-design #bottom-bar .ji-copyright {
	color: var(--ji-text) !important;
	font-size: 14px;
	line-height: 1.4;
}

body.ji-shop-design #bottom-bar .mini-nav a:hover {
	color: var(--ji-red) !important;
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 1140px) {
	.ji-shop-layout {
		padding-left: var(--ji-gutter);
		padding-right: var(--ji-gutter);
	}

	.ji-usps__inner {
		padding: 16px 20px;
	}

	.ji-usp,
	.ji-usp:nth-child(2),
	.ji-usp:nth-child(3) {
		justify-content: flex-start;
	}
}

@media (max-width: 991px) {
	.ji-shop-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	/* Kategorien über die Liste, als horizontale Pills */
	.ji-shop-aside {
		grid-row: 1;
		margin-bottom: 30px;
	}

	.ji-catbox {
		position: static;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 12px 20px;
		padding: 14px 16px;
	}

	.ji-catbox__title {
		margin: 0 !important;
		font-size: 18px;
	}

	.ji-catbox__list {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.ji-catbox .ji-pill {
		width: auto;
		min-width: 150px;
	}

	.ji-usps__inner {
		grid-template-columns: minmax(0, 1fr);
		gap: 22px;
		padding: 22px 24px;
	}

	.ji-usp__text {
		max-width: none;
	}

	.ji-product {
		grid-template-columns: 260px minmax(0, 1fr);
		column-gap: 24px;
	}
}

@media (max-width: 778px) {
	:root {
		--ji-gutter: 16px;
	}

	.ji-shop-subnav__inner {
		grid-template-columns: auto 1fr auto;
		gap: 12px;
		padding: 8px 14px;
	}

	.ji-shop-subnav__menu {
		justify-content: flex-start;
		gap: 4px 14px;
	}

	.ji-hero__slide {
		min-height: 0;
		background-position: 70% center;
	}

	.ji-hero__inner {
		padding: 80px 0 60px;
	}

	.ji-hero__box {
		width: 100%;
	}

	.ji-hero__kicker {
		font-size: 19px;
	}

	.ji-hero__title {
		font-size: 21px !important;
	}

	.ji-hero__experts {
		margin-top: 20px;
		padding: 10px 12px;
		border-radius: 8px;
		background: rgba(255, 255, 255, .85);
	}

	.ji-hero__slide--light .ji-hero__experts {
		background: rgba(0, 0, 0, .45);
	}

	.ji-hero__text {
		font-size: 14px;
	}

	.ji-hero__btn {
		margin-top: 20px;
		background: rgba(255, 255, 255, .7);
	}

	.ji-hero__slide--light .ji-hero__btn {
		background: rgba(0, 0, 0, .25);
	}

	.ji-product {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 20px;
	}

	.ji-product__media {
		min-height: 0;
		padding: 20px;
	}

	.ji-product__media img {
		max-height: 280px;
	}

	.ji-product__title {
		margin-top: 0 !important;
		font-size: 21px !important;
	}

	.ji-buybox form.cart:not(.variations_form),
	.ji-buybox .woocommerce-variation-add-to-cart {
		gap: 14px 24px;
	}

	.ji-section-title {
		font-size: 21px !important;
	}

	.ji-newsletter__inner {
		min-height: 0;
		padding: 36px 0;
	}

	.ji-newsletter__icon {
		left: auto;
		right: -40px;
		top: auto;
		bottom: -30px;
		width: 150px;
		opacity: .5;
	}
}

@media (max-width: 480px) {
	.ji-btn-cart,
	.ji-buybox .single_add_to_cart_button {
		width: 100%;
		min-width: 0;
	}

	.ji-buybox .ji-pill,
	.ji-buybox table.variations select {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ji-hero__slide,
	.ji-hero__slide.is-active {
		transition: none;
	}
}

/* --------------------------------------------------------------------------
   Veranstaltungen: Datums-Kachel, Termin/Ort-Zeile (ab 2.3.0)
   -------------------------------------------------------------------------- */
.ji-product__media,
.ji-card__media,
.ji-single__media {
	position: relative;
}

.ji-date-badge {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 4;
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 68px;
	overflow: hidden;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .18);
	font-family: var(--ji-font);
	color: var(--ji-text);
	line-height: 1;
	text-align: center;
	pointer-events: none;
}

.ji-date-badge__month {
	align-self: stretch;
	padding: 5px 8px 4px;
	background: var(--ji-gradient);
	color: #fff;
	font-size: 11px;
	font-weight: var(--ji-semibold);
	letter-spacing: .04em;
	text-transform: uppercase;
}

.ji-date-badge__day {
	padding: 6px 8px 2px;
	font-size: 28px;
	font-weight: var(--ji-semibold);
}

.ji-date-badge__until {
	padding: 0 8px 7px;
	font-size: 10px;
	color: #777;
}

.ji-date-badge:not(:has(.ji-date-badge__until)) .ji-date-badge__day {
	padding-bottom: 8px;
}

.ji-date-badge.is-past {
	filter: grayscale(1);
	opacity: .75;
}

.ji-event-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	margin: 2px 0 8px !important;
	padding: 0 !important;
	list-style: none !important;
	font-size: 14px;
	font-weight: var(--ji-semibold);
	color: var(--ji-text);
}

.ji-event-facts li {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.ji-event-facts li::before {
	display: none !important;
}

.ji-event-facts img {
	width: 18px;
	height: 18px;
}

.ji-event-facts .is-past {
	padding: 2px 10px !important;
	border-radius: 10px;
	background: #eee;
	font-size: 12px;
}

.ji-price .ji-event-when,
.ji-price .ji-download-hint {
	font-weight: var(--ji-semibold);
}

.ji-single__subtitle {
	margin: 0 0 8px !important;
	font-size: 18px;
	line-height: 1.35;
}

.ji-past-note {
	margin: 14px 0 0 !important;
	padding: 12px 16px;
	border-left: 4px solid #9d383d;
	border-radius: 8px;
	background: var(--ji-bg-soft);
	font-size: 14px;
}

/* --------------------------------------------------------------------------
   Suche in der Shop-Leiste (ab 2.3.0)
   -------------------------------------------------------------------------- */
.ji-shop-subnav__actions {
	justify-self: end;
	display: flex;
	align-items: center;
	gap: 6px;
}

.ji-shop-subnav__actions .ji-shop-subnav__cart {
	justify-self: auto;
}

.ji-search {
	position: relative;
	display: flex;
	align-items: center;
	margin: 0 !important;
}

.ji-search__input {
	width: 0 !important;
	min-width: 0 !important;
	height: 34px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid transparent !important;
	border-radius: 17px !important;
	background: #fff !important;
	color: var(--ji-text) !important;
	font-family: var(--ji-font);
	font-size: 14px !important;
	opacity: 0;
	box-shadow: none !important;
	transition: width .25s ease, padding .25s ease, opacity .2s ease, border-color .2s ease;
}

.ji-search.is-open .ji-search__input {
	width: 220px !important;
	padding: 0 38px 0 16px !important;
	border-color: var(--ji-border) !important;
	opacity: 1;
}

.ji-search.is-open .ji-search__input:focus {
	border-color: var(--ji-red) !important;
	outline: none;
}

.ji-search__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: none !important;
	box-shadow: none !important;
	cursor: pointer;
}

.ji-search.is-open .ji-search__btn {
	position: absolute;
	right: 2px;
}

.ji-search__input::-webkit-search-cancel-button {
	-webkit-appearance: none;
}

@media (max-width: 778px) {
	.ji-shop-subnav__inner {
		position: relative;
	}

	.ji-search {
		position: static;
	}

	.ji-search.is-open .ji-search__input {
		position: absolute;
		top: calc(100% + 6px);
		left: 0;
		right: 0;
		width: 100% !important;
		height: 40px !important;
		border-radius: 20px !important;
		box-shadow: 0 6px 14px rgba(0, 0, 0, .12) !important;
	}

	.ji-search.is-open .ji-search__btn {
		position: static;
	}
}

.ji-event-facts .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

.ji-search .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

/* ---------------------------------------------------------------
 * 2.5.0 – Hero: Text unter dem roten Kasten immer auf heller Karte
 * (Feedback: weißer Text auf Foto schwer lesbar)
 * ------------------------------------------------------------- */
.ji-hero__experts,
.ji-hero__slide--light .ji-hero__experts {
	width: fit-content;
	max-width: 572px;
	padding: 12px 20px 12px 14px;
	border-radius: 12px;
	background: rgba(255, 255, 255, .95);
	box-shadow: 0 2px 12px rgba(0, 0, 0, .14);
}

.ji-hero__slide .ji-hero__text,
.ji-hero__slide--light .ji-hero__text {
	color: var(--ji-text) !important;
	text-shadow: none;
}

.ji-hero__btn,
.ji-hero__slide--light .ji-hero__btn {
	display: flex;
	width: fit-content;
	color: var(--ji-text);
	background: #fff;
	border-color: #fff;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .12);
}

.ji-hero__btn:hover,
.ji-hero__slide--light .ji-hero__btn:hover {
	color: #fff;
	background: var(--ji-red);
	border-color: var(--ji-red);
}

@media (max-width: 767px) {
	.ji-hero__experts,
	.ji-hero__slide--light .ji-hero__experts {
		width: auto;
		padding: 10px 12px;
	}
}

/* 2.5.0 – Pflicht-Links im Footer */
#bottom-bar .ji-legal ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 4px 18px;
	margin: 6px 0 0;
	padding: 0;
	list-style: none;
}

#bottom-bar .ji-legal li {
	margin: 0;
	padding: 0;
}

#bottom-bar .ji-legal a {
	color: var(--ji-text, #4d4d4d) !important;
	font-size: 13px;
	text-decoration: none;
}

#bottom-bar .ji-legal a:hover {
	color: var(--ji-red, #d20a11) !important;
	text-decoration: underline;
}

@media (max-width: 767px) {
	#bottom-bar .ji-legal ul {
		justify-content: center;
	}
}

/* ---------------------------------------------------------------
 * 2.6.0 – Feedback Daniel Mölle
 * ------------------------------------------------------------- */

/* Shop-Startseite: Einstieg nach Bereichen */
.ji-start {
	padding: 44px var(--ji-gutter) 10px;
}

.ji-start__inner {
	max-width: var(--ji-container);
	margin: 0 auto;
}

.ji-start .ji-section-title {
	margin-bottom: 22px !important;
}

.ji-start__cats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 24px;
}

.ji-start-cat {
	display: grid;
	grid-template-columns: 42% 1fr;
	min-height: 200px;
	overflow: hidden;
	border: 1px solid var(--ji-border);
	border-radius: var(--ji-radius-box);
	background: #fff;
	color: var(--ji-text) !important;
	text-decoration: none !important;
	transition: box-shadow .2s, transform .2s, border-color .2s;
}

.ji-start-cat:hover,
.ji-start-cat:focus-visible {
	border-color: var(--ji-red);
	box-shadow: 0 8px 24px rgba(0, 0, 0, .1);
	transform: translateY(-2px);
}

.ji-start-cat__media {
	background: var(--ji-bg-soft) center / cover no-repeat;
}

.ji-start-cat__body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 22px 24px;
}

.ji-start-cat__name {
	color: var(--ji-red);
	font-size: 22px;
	font-weight: var(--ji-semibold);
	line-height: 1.2;
}

.ji-start-cat__text {
	font-size: 15px;
	line-height: 1.45;
}

.ji-start-cat__cta {
	margin-top: auto;
	padding-top: 8px;
	font-size: 14px;
	font-weight: var(--ji-semibold);
	color: var(--ji-text);
}

.ji-start-cat:hover .ji-start-cat__cta {
	color: var(--ji-red);
}

/* Nächste Termine */
.ji-start__events {
	margin-top: 34px;
}

.ji-start__eventshead {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 12px;
}

.ji-start__eventshead h3 {
	margin: 0 !important;
	font-size: 20px !important;
	font-weight: var(--ji-semibold) !important;
	color: var(--ji-text) !important;
}

.ji-start__eventshead a {
	color: var(--ji-red) !important;
	font-weight: var(--ji-semibold);
	text-decoration: none !important;
}

.ji-start__eventlist {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	border: 1px solid var(--ji-border);
	border-radius: var(--ji-radius-box);
	background: #fff;
}

.ji-start-event {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 20px;
	margin: 0 !important;
	padding: 16px 20px;
}

.ji-start-event + .ji-start-event {
	border-top: 1px solid var(--ji-border-light);
}

.ji-start-event .ji-date-badge {
	position: static;
}

.ji-start-event__title {
	display: block;
	margin-bottom: 4px;
	color: var(--ji-text) !important;
	font-size: 16px;
	font-weight: var(--ji-semibold);
	text-decoration: none !important;
}

.ji-start-event__title:hover {
	color: var(--ji-red) !important;
}

.ji-start-event .ji-event-facts {
	margin: 0 !important;
}

.ji-start-event__buy {
	display: flex;
	align-items: center;
	gap: 16px;
	white-space: nowrap;
}

.ji-start-event__price {
	color: var(--ji-red);
	font-weight: var(--ji-semibold);
}

.ji-shop-subnav__title.is-active {
	color: var(--ji-red) !important;
}

/* Format-Kennzeichnung (Konferenz, Seminar, Online-Programm …) */
.ji-event-facts li.ji-event-format {
	padding: 2px 10px;
	border-radius: var(--ji-radius-pill);
	background: #f3e6e7;
	color: var(--ji-red-dark);
	font-size: 12px;
	font-weight: var(--ji-semibold);
	letter-spacing: .02em;
	text-transform: uppercase;
}

/* Einheit neben der Menge */
.ji-qty-unit {
	order: 99;
	margin-left: 6px;
	font-size: 14px;
	color: var(--ji-text);
	white-space: nowrap;
}

@media (max-width: 767px) {
	.ji-start {
		padding-top: 30px;
	}

	.ji-start-cat {
		grid-template-columns: 1fr;
	}

	.ji-start-cat__media {
		height: 140px;
	}

	.ji-start-event {
		grid-template-columns: auto 1fr;
	}

	.ji-start-event__buy {
		grid-column: 1 / -1;
		justify-content: space-between;
	}
}

/* ---------------------------------------------------------------
 * 2.7.0 – Feedback Fabian Hueber (Mediendesign)
 * ------------------------------------------------------------- */

/* Trennstriche unter Überschriften in Rot (2 px, damit das Rot erkennbar ist) */
.ji-section-title::after {
	height: 2px;
	background: var(--ji-red);
}

/* Datums-Kachel etwas kleiner */
.ji-date-badge {
	min-width: 56px;
	border-radius: 8px;
}

.ji-date-badge__month {
	padding: 4px 6px 3px;
	font-size: 11px; /* 2.29.0: 10px war mobil zu klein */
}

.ji-date-badge__day {
	padding: 4px 6px 1px;
	font-size: 22px;
}

.ji-date-badge__until {
	padding: 0 4px 5px;
	font-size: 11px; /* 2.29.0: 9px war mobil zu klein */
	letter-spacing: -.01em;
	white-space: nowrap;
}

.ji-date-badge:not(:has(.ji-date-badge__until)) .ji-date-badge__day {
	padding-bottom: 6px;
}

/* 2.8.3: Einheit ausblenden, wenn das Mengenfeld verborgen ist (max. 1 Stück, z. B. Zero to Hero) */
.quantity:has(input.qty[type="hidden"]) .ji-qty-unit {
	display: none;
}

/* ==========================================================================
   2.8.5 – Kompakte Produktliste: Bild | Text | Kaufbox in einer Zeile
   (vorher: großes Bildquadrat, Kaufbox unter dem Text → fast eine Bildschirmhöhe je Produkt)
   ========================================================================== */
.ji-product-list {
	gap: 0;
}

.ji-product {
	grid-template-columns: 140px minmax(0, 1fr) 268px;
	grid-template-areas:
		"media title   buy"
		"media excerpt buy"
		"media meta    buy"
		"media details buy";
	grid-template-rows: auto auto auto 1fr;
	column-gap: 28px;
	align-items: start;
	padding: 28px 0 !important;
	border-bottom: 1px solid var(--ji-border);
}

.ji-product:first-child {
	padding-top: 4px !important;
}

.ji-product:last-child {
	border-bottom: 0;
}

.ji-product-list .ji-product__body {
	display: contents;
}

.ji-product-list .ji-product__media {
	grid-area: media;
	min-height: 0;
	padding: 12px;
	align-self: start;
}

.ji-product-list .ji-product__media img {
	max-height: 190px;
}

.ji-product-list .ji-product__title {
	grid-area: title;
	margin: 0 0 6px !important;
	font-size: 21px !important;
}

.ji-product-list .ji-product__excerpt {
	grid-area: excerpt;
	font-size: 15px;
	line-height: 1.45;
	hyphens: manual;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}

.ji-product-list .ji-product__excerpt p {
	display: inline;
	margin: 0 !important;
}

.ji-product-list .ji-product__excerpt p + p::before {
	content: " ";
}

.ji-product-list .ji-product__excerpt ul,
.ji-product-list .ji-product__excerpt ol {
	display: none;
}

.ji-product-list .ji-product__meta {
	grid-area: meta;
	margin-top: 8px !important;
}

.ji-product-list .ji-product__details,
.ji-product-list .ji-pill.ji-product__details {
	grid-area: details;
	width: auto;
	margin-top: 10px;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	color: var(--ji-red) !important;
	font-size: 14px;
	font-weight: var(--ji-semibold);
	text-decoration: none;
	justify-self: start;
}

.ji-product-list .ji-product__details::after {
	content: "›";
	margin-left: 4px;
}

.ji-product .ji-buybox table.variations,
.ji-product .ji-buybox table.variations select,
.ji-product .ji-buybox .single_add_to_cart_button,
.ji-product .ji-buybox .ji-buybox__toc {
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

.ji-product-list .ji-product__details:hover {
	text-decoration: underline;
}

.ji-product .ji-buybox,
.ji-product-list .ji-product__details + .ji-buybox {
	grid-area: buy;
	margin-top: 0;
	padding: 16px;
}

@media (max-width: 1100px) {
	.ji-product {
		grid-template-columns: 120px minmax(0, 1fr);
		grid-template-areas:
			"media title"
			"media excerpt"
			"media meta"
			"media details"
			"media buy";
		grid-template-rows: auto auto auto auto 1fr;
	}

	.ji-product .ji-buybox {
		margin-top: 14px;
		max-width: 420px;
	}
}

@media (max-width: 778px) {
	.ji-product {
		grid-template-columns: 88px minmax(0, 1fr);
		grid-template-areas:
			"media   title"
			"media   excerpt"
			"meta    meta"
			"details details"
			"buy     buy";
		grid-template-rows: auto 1fr auto auto auto;
		column-gap: 16px;
		row-gap: 0;
		padding: 22px 0 !important;
	}

	.ji-product-list .ji-product__media {
		padding: 6px;
	}

	.ji-product-list .ji-product__media img {
		max-height: 120px;
	}

	.ji-product-list .ji-product__title {
		font-size: 18px !important;
	}

	.ji-product-list .ji-product__excerpt {
		font-size: 14px;
	}

	.ji-product .ji-buybox {
		max-width: none;
	}
}

/* ==========================================================================
   2.8.5 – Seitenaufbau: The7 legt #page als Raster mit festen Bereichen an.
   Kopfbereich und Newsletter hatten keinen Bereich und rutschten deshalb in
   freie Zeilen VOR den Inhalt. Jetzt: Kopf oben, Newsletter direkt vor dem Footer.
   ========================================================================== */
body.ji-shop-design #page,
#page:has(> .ji-newsletter) {
	grid-template-areas: "header" "slider" "title" "fancyheader" "elementor-header" "checkout" "main" "ji-newsletter" "footer";
}

#page > .ji-shop-top {
	grid-area: slider;
}

#page > .ji-newsletter {
	grid-area: ji-newsletter;
}

/* 2.8.5 – Newsletter hell: Rot bleibt für Handlungen (Kauf-Buttons) reserviert */
.ji-newsletter--light {
	margin-top: 56px;
	background: #f3f3f3;
	border-top: 1px solid var(--ji-border);
	color: var(--ji-text);
}

.ji-newsletter--light .ji-newsletter__inner {
	min-height: 0;
	padding-top: 34px;
	padding-bottom: 34px;
}

.ji-newsletter--light .ji-newsletter__title {
	color: var(--ji-text) !important;
}

.ji-newsletter--light .ji-newsletter__text {
	color: var(--ji-text) !important;
}

.ji-newsletter--light .ji-btn-outline--light {
	color: var(--ji-red);
}

.ji-newsletter--light .ji-btn-outline--light:hover,
.ji-newsletter--light .ji-btn-outline--light:focus-visible {
	background: var(--ji-red);
	border-color: var(--ji-red);
	color: #fff;
}

.ji-newsletter--light .ji-newsletter__icon {
	top: 50%;
	width: 140px;
	transform: translateY(-50%);
	opacity: .35;
	filter: invert(15%) sepia(90%) saturate(5000%) hue-rotate(350deg);
}

@media (max-width: 778px) {
	.ji-newsletter--light .ji-newsletter__icon {
		display: none;
	}
}

/* 2.8.5 – Keine doppelten Symbole: Suche und Warenkorb bringt die Shop-Leiste mit,
   die The7-Kopfzeile zeigt sie auf Shop-Seiten nicht noch einmal. */
body.ji-shop-design .masthead .mini-search,
body.ji-shop-design .masthead .wc-shopping-cart,
body.ji-shop-design .dt-mobile-header .mini-search,
body.ji-shop-design .dt-mobile-header .wc-shopping-cart,
body.ji-shop-design .mobile-header-bar .mini-search,
body.ji-shop-design .mobile-header-bar .wc-shopping-cart {
	display: none !important;
}

/* 2.8.5 – Shop-Leiste auf dem Handy einzeilig (wischbar) statt Umbruch bei 3+ Bereichen */
@media (max-width: 778px) {
	.ji-shop-subnav__menu {
		flex-wrap: nowrap !important;
		overflow-x: auto;
		white-space: nowrap;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
		/* weicher Rand rechts zeigt: hier geht es weiter */
		-webkit-mask-image: linear-gradient(90deg, #000 85%, transparent);
		mask-image: linear-gradient(90deg, #000 85%, transparent);
		padding-right: 24px;
	}

	.ji-shop-subnav__menu::-webkit-scrollbar {
		display: none;
	}

	.ji-shop-subnav__menu > * {
		flex: 0 0 auto;
	}
}

/* 2.8.5 – Handy: Kategorien-Box wiederholt nur die Shop-Leiste und schob die Produkte nach unten */
@media (max-width: 778px) {
	.ji-shop-aside .ji-catbox {
		display: none;
	}
}

/* 2.8.5 – Kategorieseite: der Button „Jetzt stöbern“ würde auf dieselbe Seite führen */
.ji-hero--category .ji-hero__btn {
	display: none;
}

/* 2.8.6 – The7-Option „Produkttitel ausblenden“ darf den Titel im Shop-Design nicht verstecken */
body.ji-shop-design .summary > .ji-single__title {
	display: block !important;
}

/* 2.8.6 – German Market blendet den Hauptpreis bei vorausgewählter Variante per Inline-Style aus.
   Im Shop-Design steht der (per JS aktualisierte) Preis immer oben in der Kaufbox. */
.ji-buybox .ji-price .legacy-itemprop-offers {
	display: block !important;
}

/* 2.8.8 – Feste Menge (max. 1, z. B. Pakete): verborgenes Mengenfeld nimmt keinen Platz ein */
.ji-buybox .quantity.hidden,
.woocommerce-cart-form .quantity.hidden {
	display: none !important;
}

/* 2.8.8 – The7 setzt #page { overflow: hidden }. Das macht #page zum Scroll-Container
   und schaltet position: sticky (Kapitel-Leiste auf Programmseiten) ab.
   overflow: clip schneidet genauso ab, ohne Scroll-Container zu sein. */
body.ji-shop-design #page {
	overflow: clip;
}

/* ==========================================================================
   2.9.2 – Suche sichtbar: am Desktop immer offenes Feld „Im Shop suchen …“
   in der Shop-Leiste, auf der Shop-Startseite zusätzlich ein großes Suchfeld.
   ========================================================================== */
@media (min-width: 993px) {
	.ji-shop-subnav .ji-search .ji-search__input {
		width: 230px !important;
		padding: 0 38px 0 16px !important;
		border-color: var(--ji-border) !important;
		opacity: 1;
	}

	.ji-shop-subnav .ji-search .ji-search__input:focus {
		border-color: var(--ji-red) !important;
		outline: none;
	}

	.ji-shop-subnav .ji-search .ji-search__btn {
		position: absolute;
		right: 2px;
	}
}

.ji-start__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px 30px;
	margin-bottom: 24px;
}

.ji-start__head .ji-section-title {
	margin-bottom: 0 !important;
}

.ji-start-search {
	display: flex;
	flex: 0 1 520px;
	margin: 0 !important;
}

.ji-start-search input[type="search"] {
	flex: 1 1 auto;
	min-width: 0;
	height: 46px !important;
	margin: 0 !important;
	padding: 0 18px !important;
	border: 1px solid var(--ji-border) !important;
	border-right: 0 !important;
	border-radius: 23px 0 0 23px !important;
	background: #fff !important;
	color: var(--ji-text) !important;
	font-family: var(--ji-font);
	font-size: 15px !important;
	box-shadow: none !important;
}

.ji-start-search input[type="search"]:focus {
	border-color: var(--ji-red) !important;
	outline: none;
}

.ji-start-search button {
	flex: 0 0 auto;
	height: 46px !important;
	margin: 0 !important;
	padding: 0 24px !important;
	border: 0 !important;
	border-radius: 0 23px 23px 0 !important;
	background: var(--ji-gradient, #d20a11) !important;
	color: #fff !important;
	font-family: var(--ji-font);
	font-size: 15px !important;
	font-weight: var(--ji-semibold);
	cursor: pointer;
}

@media (max-width: 778px) {
	.ji-start-search {
		flex-basis: 100%;
	}
}

/* ==========================================================================
   2.10.0 – Zweite Kategorie-Ebene
   ========================================================================== */
/* Filter-Leiste unter der Überschrift */
.ji-subcats {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin: -6px 0 26px;
}

.ji-subcats__label {
	color: var(--ji-text);
	font-size: 13px;
	font-weight: var(--ji-semibold);
}

.ji-subcats ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.ji-subcats li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.ji-subcats li::before {
	display: none !important;
}

.ji-subcats__item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 32px;
	padding: 0 14px;
	border: 1px solid var(--ji-border);
	border-radius: 16px;
	background: #fff;
	color: var(--ji-text) !important;
	font-size: 13px;
	font-weight: var(--ji-semibold);
	text-decoration: none !important;
	white-space: nowrap;
	transition: border-color .2s ease, color .2s ease;
}

.ji-subcats__item:hover,
.ji-subcats__item.is-active {
	border-color: var(--ji-red);
	color: var(--ji-red) !important;
}

.ji-subcats__item.is-active {
	background: #fdf1f1;
}

.ji-subcats__count {
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	border-radius: 10px;
	background: #f0f0f0;
	color: var(--ji-text);
	font-size: 11px;
	line-height: 20px;
	text-align: center;
}

.ji-subcats__item.is-active .ji-subcats__count {
	background: var(--ji-red);
	color: #fff;
}

@media (max-width: 778px) {
	.ji-subcats ul {
		flex-wrap: nowrap;
		overflow-x: auto;
		width: 100%;
		scrollbar-width: none;
		-webkit-mask-image: linear-gradient(90deg, #000 85%, transparent);
		mask-image: linear-gradient(90deg, #000 85%, transparent);
		padding-right: 24px !important;
	}

	.ji-subcats ul::-webkit-scrollbar {
		display: none;
	}
}

/* Shop-Leiste: Unterkategorien als Ausklapp-Liste (Desktop) */
.ji-shop-subnav__sub {
	display: none;
}

@media (min-width: 993px) {
	.ji-shop-subnav__menu > li.has-sub {
		position: relative;
	}

	.ji-shop-subnav__menu > li.has-sub > a::after {
		content: "";
		display: inline-block;
		width: 6px;
		height: 6px;
		margin: 0 0 3px 7px;
		border-right: 1.5px solid currentColor;
		border-bottom: 1.5px solid currentColor;
		transform: rotate(45deg);
	}

	.ji-shop-subnav__menu > li.has-sub:hover > .ji-shop-subnav__sub,
	.ji-shop-subnav__menu > li.has-sub:focus-within > .ji-shop-subnav__sub {
		display: block;
	}

	.ji-shop-subnav__sub {
		position: absolute;
		top: 100%;
		left: -16px;
		z-index: 30;
		min-width: 220px;
		margin: 0 !important;
		padding: 14px 0 8px !important;
		background: #fff;
		border-radius: 0 0 8px 8px;
		box-shadow: 0 10px 22px rgba(0, 0, 0, .15);
		list-style: none !important;
	}

	.ji-shop-subnav__sub a {
		display: block;
		padding: 7px 16px;
		font-weight: 400 !important;
		white-space: nowrap;
	}

	.ji-shop-subnav__sub a:hover {
		background: #f6f6f6;
	}
}

/* Startseite: Themen-Zeile in der Kachel */
.ji-start-cat__subs {
	display: block;
	margin-top: 8px;
	color: var(--ji-red);
	font-size: 13px;
	font-weight: var(--ji-semibold);
	line-height: 1.4;
}

/* 2.11.4 – Bereichsseiten: flacheres Kopfbild, damit die Reiter auch auf kleinen Bildschirmen sichtbar sind.
   Startseiten-Slider bleibt unverändert. */
.ji-hero--category .ji-hero__slide {
	min-height: 300px;
	display: flex;
	align-items: center;
}
.ji-hero--category .ji-hero__inner,
body.ji-site-header-on .ji-shop-top.has-hero .ji-hero--category .ji-hero__inner {
	padding: 40px 0;
}
.ji-hero--category .ji-hero__experts,
.ji-hero--category .ji-hero__text {
	display: none !important;
}
@media (max-width: 778px) {
	.ji-hero--category .ji-hero__slide {
		min-height: 240px;
	}
	.ji-hero--category .ji-hero__inner,
	body.ji-site-header-on .ji-shop-top.has-hero .ji-hero--category .ji-hero__inner {
		padding: 28px 0;
	}
	.ji-hero--category .ji-hero__box {
		padding: 14px 16px 16px;
	}
	.ji-hero--category .ji-hero__kicker {
		font-size: 16px;
		margin-bottom: 10px !important;
	}
	.ji-hero--category .ji-hero__title {
		font-size: 18px !important;
	}
}

/* 2.11.5 – Startseite „Was suchen Sie?“: Kachel-Text bekam neben dem Bild (42 %) nur ~190 px Breite
   und brach Wort für Wort um. Bild jetzt schmaler; ist die Kachel schmal, steht das Bild als Streifen oben. */
.ji-start-cat {
	container-type: inline-size;
	display: block;
}
.ji-start-cat__inner {
	display: grid;
	grid-template-columns: minmax(140px, 30%) 1fr;
	height: 100%;
}
.ji-start-cat__media {
	min-height: 100%;
}
.ji-start-cat__body {
	padding: 22px 24px 20px;
}
.ji-start-cat__text {
	font-size: 16px;
	line-height: 1.5;
	color: #333;
}
@container (max-width: 520px) {
	.ji-start-cat__inner {
		grid-template-columns: 1fr;
		grid-template-rows: 130px auto;
	}
	.ji-start-cat__media {
		min-height: 0;
	}
	.ji-start-cat__body {
		padding: 18px 20px 18px;
	}
}
/* 2.11.5 – immer zwei Kacheln nebeneinander (vorher 3 + 1 verwaiste), Handy eine */
.ji-start__cats {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 767px) {
	.ji-start__cats {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* 2.12.0 – Highlights: Aufkleber + Startseiten-Bereich */
.ji-flag {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	width: fit-content;
	padding: 4px 10px 4px 8px;
	border-radius: 999px;
	background: var(--ji-red);
	color: #fff !important;
	font-family: var(--ji-font);
	font-size: 12px;
	font-weight: var(--ji-semibold);
	line-height: 1.2;
	letter-spacing: .02em;
	text-transform: none;
	white-space: nowrap;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .15);
}
.ji-flag svg { flex-shrink: 0; }
.ji-flag--list {
	display: flex;
	margin: 0 0 8px;
	font-size: 12px !important;
}
.ji-flag--single {
	margin: 0 0 10px;
}
.ji-flag--card,
.ji-flag--start {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 5;
}
.ji-card__media { position: relative; }

.ji-highlights {
	padding: 44px var(--ji-gutter) 0;
}
.ji-highlights__inner {
	max-width: var(--ji-container);
	margin: 0 auto;
}
.ji-highlights__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}
.ji-highlights--n2 .ji-highlights__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ji-hl {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--ji-border);
	border-top: 3px solid var(--ji-red);
	border-radius: var(--ji-radius-box);
	background: #fff;
	transition: box-shadow .2s, transform .2s;
}
.ji-hl:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, .1);
	transform: translateY(-2px);
}
.ji-hl__media {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 220px;
	padding: 24px;
	background: var(--ji-bg-soft);
}
.ji-hl__media img {
	max-width: 100%;
	max-height: 100%;
	width: auto !important;
	height: auto !important;
	object-fit: contain;
}
.ji-hl__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 8px;
	padding: 20px 22px 22px;
}
.ji-hl__kicker {
	margin: 0 !important;
	color: var(--ji-red);
	font-size: 13px;
	font-weight: var(--ji-semibold);
}
.ji-hl__title {
	margin: 0 !important;
	padding: 0 !important;
	font-family: var(--ji-font) !important;
	font-size: 20px !important;
	font-weight: var(--ji-semibold) !important;
	line-height: 1.3 !important;
	text-transform: none !important;
}
.ji-hl__title a { color: var(--ji-text) !important; text-decoration: none !important; }
.ji-hl__title a:hover { color: var(--ji-red) !important; }
.ji-hl__text {
	margin: 0 !important;
	color: #333;
	font-size: 15px;
	line-height: 1.5;
}
.ji-hl__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 16px;
	margin-top: auto;
	padding-top: 12px;
}
.ji-hl__price {
	color: var(--ji-red);
	font-size: 18px;
	font-weight: var(--ji-semibold);
}
.ji-hl__price small, .ji-hl__price .woocommerce-price-suffix { font-size: 12px; color: var(--ji-text); font-weight: 400; }
/* Ein einzelnes Highlight: breite Karte, Bild links */
.ji-highlights--n1 .ji-highlights__grid { grid-template-columns: minmax(0, 1fr); }
.ji-highlights--n1 .ji-hl { display: grid; grid-template-columns: minmax(220px, 38%) 1fr; }
.ji-highlights--n1 .ji-hl__media { height: auto; min-height: 260px; }
@media (max-width: 1024px) {
	.ji-highlights__grid,
	.ji-highlights--n2 .ji-highlights__grid { grid-template-columns: minmax(0, 1fr); }
	.ji-hl { display: grid; grid-template-columns: minmax(160px, 34%) 1fr; }
	.ji-hl__media { height: auto; min-height: 200px; }
}
@media (max-width: 600px) {
	.ji-highlights { padding-top: 30px; }
	.ji-hl,
	.ji-highlights--n1 .ji-hl { display: flex; }
	.ji-hl__media { height: 190px; min-height: 0; }
}
@media (max-width: 600px) {
	.ji-hl__media { height: 150px; padding: 16px; }
	.ji-hl__text { display: none; }
	.ji-hl__body { padding: 16px 18px 18px; gap: 6px; }
	.ji-hl__title { font-size: 18px !important; }
	.ji-hl__foot { padding-top: 6px; }
}

/* 2.12.1 – Termin/Ort (Veranstaltungen) in der kompakten Liste hatten keinen Rasterplatz und
   rutschten als eigene Zeile unter das Produkt. Jetzt direkt unter dem Titel. */
.ji-product-list .ji-product__body > .ji-event-facts {
	grid-area: facts;
	margin: 0 0 6px;
}
.ji-product {
	grid-template-areas:
		"media title   buy"
		"media facts   buy"
		"media excerpt buy"
		"media meta    buy"
		"media details buy";
	grid-template-rows: auto auto auto auto 1fr;
}
@media (max-width: 1100px) {
	.ji-product {
		grid-template-areas:
			"media title"
			"media facts"
			"media excerpt"
			"media meta"
			"media details"
			"media buy";
		grid-template-rows: auto auto auto auto auto 1fr;
	}
}
@media (max-width: 778px) {
	.ji-product {
		grid-template-areas:
			"media   title"
			"media   facts"
			"media   excerpt"
			"meta    meta"
			"details details"
			"buy     buy";
		grid-template-rows: auto auto 1fr auto auto auto;
	}
}

/* 2.12.2 – Fußmenü: The7 setzt die Links auf display:block, dadurch rutschten die Trennstriche
   unter die Wörter und die Menüpunkte klebten zusammen. */
body.ji-shop-design #bottom-bar .mini-nav li {
	display: inline-flex !important;
	align-items: center;
}
body.ji-shop-design #bottom-bar .mini-nav li > a {
	display: inline-block !important;
}
body.ji-shop-design #bottom-bar .mini-nav ul {
	row-gap: 4px;
}
body.ji-shop-design #bottom-bar .mini-nav li:not(:last-child)::after {
	margin: 0 10px;
	color: #b3b3b3;
}
/* The7 zeigt auf dem Handy zusätzlich ein Auswahlfeld „Bottom Bar“ – die Links stehen ja schon da */
body.ji-shop-design #bottom-bar .mini-nav .menu-select {
	display: none !important;
}

/* 2.13.0 – Vergangene Veranstaltung: nächster Termin */
.ji-past-note__text { margin: 0 !important; }
.ji-past-next {
	display: flex;
	gap: 14px;
	align-items: center;
	margin-top: 12px;
	padding: 12px 14px;
	border: 1px solid var(--ji-border);
	border-radius: 10px;
	background: #fff;
	color: var(--ji-text) !important;
	text-decoration: none !important;
	transition: border-color .2s, box-shadow .2s;
}
.ji-past-next:hover { border-color: var(--ji-red); box-shadow: 0 4px 14px rgba(0,0,0,.08); }
.ji-past-next .ji-date-badge { position: static; flex-shrink: 0; }
.ji-past-next__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ji-past-next__kicker { color: var(--ji-red); font-size: 12px; font-weight: var(--ji-semibold); text-transform: uppercase; letter-spacing: .04em; }
.ji-past-next__title { font-size: 15px; line-height: 1.3; }
.ji-past-next__meta { font-size: 13px; color: #555; }
.ji-past-next__cta { margin-top: 4px; color: var(--ji-red); font-size: 13px; font-weight: var(--ji-semibold); }
.ji-past-note__links { display: flex; flex-direction: column; gap: 4px; margin: 10px 0 0 !important; }
.ji-past-note__links a { color: var(--ji-red) !important; font-weight: var(--ji-semibold); text-decoration: none !important; }
.ji-past-note__links a:hover { text-decoration: underline !important; }

/* 2.14.0 – „Unsere Empfehlung“ kompakt unter Kaufbox/Vorteilen */
.ji-upsells {
	margin: 28px 0 8px;
}
.ji-upsells__title {
	margin: 0 0 14px !important;
	padding: 0 !important;
	color: var(--ji-red) !important;
	font-family: var(--ji-font) !important;
	font-size: 20px !important;
	font-weight: var(--ji-semibold) !important;
	line-height: 1.3 !important;
	text-transform: none !important;
}
.ji-upsells__list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 14px;
}
.ji-upsell {
	display: flex;
	gap: 14px;
	align-items: center;
	padding: 12px;
	border: 1px solid var(--ji-border);
	border-radius: var(--ji-radius-box);
	background: #fff;
	color: var(--ji-text) !important;
	text-decoration: none !important;
	transition: border-color .2s, box-shadow .2s, transform .2s;
}
.ji-upsell:hover {
	border-color: var(--ji-red);
	box-shadow: 0 6px 18px rgba(0, 0, 0, .08);
	transform: translateY(-1px);
}
.ji-upsell__media {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 76px;
	height: 76px;
	padding: 6px;
	border-radius: 8px;
	background: var(--ji-bg-soft);
}
.ji-upsell__media img {
	max-width: 100%;
	max-height: 100%;
	width: auto !important;
	height: auto !important;
	object-fit: contain;
}
.ji-upsell__body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.ji-upsell__kicker {
	color: var(--ji-red);
	font-size: 12px;
	font-weight: var(--ji-semibold);
}
.ji-upsell__name {
	font-size: 15px;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}
.ji-upsell__meta {
	font-size: 13px;
	color: #555;
}
.ji-upsell__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 12px;
	margin-top: 4px;
}
.ji-upsell__price {
	color: var(--ji-red);
	font-size: 14px;
	font-weight: var(--ji-semibold);
}
.ji-upsell__price .woocommerce-price-suffix,
.ji-upsell__price small {
	color: var(--ji-text);
	font-size: 11px;
	font-weight: 400;
}
.ji-upsell__cta {
	font-size: 13px;
	font-weight: var(--ji-semibold);
}
.ji-upsell:hover .ji-upsell__cta {
	color: var(--ji-red);
}
.ji-upsells__list { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.ji-upsells__list--n1 { grid-template-columns: minmax(0, 520px); }
.ji-upsells__list--n2 { grid-template-columns: repeat(auto-fit, minmax(260px, 520px)); }
/* 2.17.0 – ungerade Anzahl Bereiche: letzte Kachel über beide Spalten */
@media (min-width: 768px) {
	.ji-start__cats > .ji-start-cat:last-child:nth-child(odd) { grid-column: 1 / -1; }
}

/* ==========================================================================
   2.23.0 – Warenkorb-Panel nach „In den Warenkorb“
   ========================================================================== */
html.ji-cart-panel-open { overflow: hidden; }

.ji-cart-panel[hidden] { display: none !important; }

.ji-cart-panel {
	position: fixed;
	inset: 0;
	z-index: 100000;
	font-family: var(--ji-font);
	color: var(--ji-text);
}

.ji-cart-panel__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(20, 20, 20, .45);
	opacity: 0;
	transition: opacity .25s ease;
}

.ji-cart-panel__dialog {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	width: min(420px, 100%);
	padding: 22px 24px 20px;
	overflow-y: auto;
	background: #fff;
	box-shadow: -10px 0 40px rgba(0, 0, 0, .18);
	transform: translateX(100%);
	transition: transform .25s ease;
	outline: none;
}

.ji-cart-panel.is-open .ji-cart-panel__backdrop { opacity: 1; }
.ji-cart-panel.is-open .ji-cart-panel__dialog { transform: none; }

body.admin-bar .ji-cart-panel__dialog { top: 32px; }

@media (max-width: 782px) {
	body.admin-bar .ji-cart-panel__dialog { top: 46px; }
}

@media (prefers-reduced-motion: reduce) {
	.ji-cart-panel__backdrop,
	.ji-cart-panel__dialog { transition: none; }
}

.ji-cart-panel__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--ji-border-light);
}

.ji-cart-panel__title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 !important;
	color: #222;
	font-size: 17px;
	font-weight: var(--ji-semibold);
	line-height: 1.3;
}

.ji-cart-panel__check {
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #2e7d32 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.3l2.6 2.5L12 5.4' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px no-repeat;
}

.ji-cart-panel__close {
	flex: 0 0 36px;
	width: 36px;
	height: 36px;
	margin: 0 -8px 0 0;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50%;
	background: transparent !important;
	color: #555 !important;
	font-size: 28px !important;
	line-height: 1 !important;
	cursor: pointer;
	box-shadow: none !important;
}

.ji-cart-panel__close:hover,
.ji-cart-panel__close:focus-visible { background: var(--ji-bg-soft) !important; color: var(--ji-red) !important; }

.ji-cart-panel__content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
}

.ji-cart-panel__count {
	margin: 14px 0 4px !important;
	color: #777;
	font-size: 13px;
}

.ji-cart-panel__empty { margin: 20px 0 !important; }

.ji-cart-panel__items {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.ji-cart-panel__item {
	display: flex;
	gap: 14px;
	margin: 0 !important;
	padding: 14px 0 !important;
	border-bottom: 1px solid var(--ji-border-light);
	list-style: none !important;
}

.ji-cart-panel__item::before { display: none !important; }

.ji-cart-panel__item.is-new {
	margin: 0 -12px !important;
	padding: 14px 12px !important;
	border-radius: 10px;
	background: #f3f8f3;
}

.ji-cart-panel__thumb {
	flex: 0 0 60px;
	width: 60px;
	height: 60px;
	overflow: hidden;
	border: 1px solid var(--ji-border-light);
	border-radius: 8px;
	background: var(--ji-bg-soft);
}

.ji-cart-panel__thumb img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.ji-cart-panel__info {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.ji-cart-panel__name,
.ji-cart-panel__name a {
	color: #222 !important;
	font-size: 14px;
	font-weight: var(--ji-semibold);
	line-height: 1.35;
	text-decoration: none !important;
}

.ji-cart-panel__name a:hover { color: var(--ji-red) !important; }

.ji-cart-panel__meta { color: #777; font-size: 13px; }

.ji-cart-panel__line {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	margin-top: 4px;
	font-size: 13px;
}

.ji-cart-panel__qty { color: #777; }
.ji-cart-panel__price { color: #222; font-weight: var(--ji-semibold); white-space: nowrap; }
.ji-cart-panel__price .wgm-tax,
.ji-cart-panel__price small { display: none; }

.ji-cart-panel__sum {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-top: 16px;
	font-size: 15px;
}

.ji-cart-panel__sum strong { color: var(--ji-red); font-size: 20px; }

.ji-cart-panel__tax {
	margin: 4px 0 18px !important;
	color: #777;
	font-size: 12px;
	line-height: 1.45;
}

.ji-cart-panel__actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 4px; /* 2.27.0: direkt unter der Summe, keine Lücke */
	padding-top: 8px;
}

.ji-cart-panel__primary,
.ji-cart-panel__secondary {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0 20px;
	border-radius: 23px;
	font-size: 15px;
	font-weight: var(--ji-semibold);
	text-decoration: none !important;
	transition: filter .2s ease, border-color .2s ease;
}

.ji-cart-panel__primary {
	background: var(--ji-gradient);
	color: #fff !important;
}

.ji-cart-panel__primary:hover { filter: brightness(1.08); }

.ji-cart-panel__secondary {
	border: 1px solid var(--ji-border);
	color: #222 !important;
}

.ji-cart-panel__secondary:hover { border-color: var(--ji-red); color: var(--ji-red) !important; }

.ji-cart-panel__continue {
	margin: 12px auto 0 !important;
	padding: 6px 10px !important;
	border: 0 !important;
	background: none !important;
	color: var(--ji-text) !important;
	font-size: 14px !important;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
	box-shadow: none !important;
}

.ji-cart-panel__continue:hover { color: var(--ji-red) !important; }

/* Ladezustand des Buttons */


@media (max-width: 480px) {
	.ji-cart-panel__dialog { padding: 18px 16px 16px; }
}

/* Viele Positionen: Buttons bleiben unten sichtbar */
.ji-cart-panel__actions {
	position: sticky;
	bottom: -20px;
	margin-bottom: -20px;
	padding: 12px 0 20px;
	background: #fff;
	box-shadow: 0 -12px 16px -12px rgba(0, 0, 0, .12);
}

.ji-cart-panel__continue { position: relative; z-index: 1; margin-top: 4px !important; }

@media (max-width: 480px) {
	.ji-cart-panel__actions { bottom: -16px; margin-bottom: -16px; padding-bottom: 16px; }
}

/* 2.24.0: Bruttopreis unter „Zzgl. MwSt.“ */
.ji-price-gross {
	display: inline-block;
	margin-top: 2px;
	color: var(--ji-text);
	font-size: 12px;
	font-weight: var(--ji-semibold);
}

.ji-price-gross .amount,
.ji-price-gross .woocommerce-Price-amount {
	color: inherit !important;
	font-size: inherit !important;
}

/* ==========================================================================
   2.25.0 – Handy: Kaufleiste auf Produktseiten
   ========================================================================== */
.ji-buybar[hidden] { display: none !important; }

.ji-buybar { display: none; }

@media (max-width: 778px) {
	.ji-buybar {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 9990;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
		border-top: 1px solid var(--ji-border);
		background: #fff;
		box-shadow: 0 -8px 24px rgba(0, 0, 0, .1);
		transform: translateY(110%);
		transition: transform .2s ease;
	}

	.ji-buybar.is-visible { transform: none; }

	.ji-buybar__price {
		display: flex;
		flex-direction: column;
		min-width: 0;
		line-height: 1.2;
	}

	.ji-buybar__amount,
	.ji-buybar__amount .amount {
		color: var(--ji-red) !important;
		font-size: 18px !important;
		font-weight: var(--ji-semibold);
		white-space: nowrap;
	}

	.ji-buybar__gross,
	.ji-buybar__gross .ji-price-gross {
		display: inline;
		margin: 0;
		color: #777;
		font-size: 12px;
		font-weight: 400;
	}

	.ji-buybar__btn {
		flex: 0 0 auto;
		min-height: 44px;
		margin: 0 !important;
		padding: 0 20px !important;
		border: 0 !important;
		border-radius: 22px !important;
		background: var(--ji-gradient) !important;
		color: #fff !important;
		font-size: 15px !important;
		font-weight: var(--ji-semibold) !important;
		cursor: pointer;
	}

	.ji-buybar__btn.loading { opacity: .7; }

	/* Platz unten, damit die Leiste nichts verdeckt; Cookie-Symbol darüber */
	body.single-product.ji-has-buybar { padding-bottom: 72px; }
	body.ji-has-buybar #BorlabsCookieWidget .brlbs-cmpnt-widget { bottom: 76px !important; }
}


/* 2.26.0 – Ladeanzeige am Button „In den Warenkorb“ */
@keyframes ji-spin { to { transform: rotate(360deg); } }

form.cart button.loading,
.ji-buybar__btn.loading {
	position: relative;
	color: transparent !important;
	opacity: 1 !important;
	pointer-events: none;
}

form.cart button.loading::after,
.ji-buybar__btn.loading::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 18px;
	height: 18px;
	margin: -9px 0 0 -9px;
	border: 2px solid rgba(255, 255, 255, .45);
	border-top-color: #fff;
	border-radius: 50%;
	animation: ji-spin .7s linear infinite;
}


/* ==========================================================================
   2.26.0 – Formular „Angebot anfordern“
   ========================================================================== */
.ji-quote-dialog {
	position: fixed;
	inset: 0;
	height: fit-content;
	margin: auto !important;
	overflow: auto;
	width: min(640px, calc(100vw - 32px));
	max-height: calc(100vh - 32px);
	padding: 0;
	border: 0;
	border-radius: var(--ji-radius-box);
	box-shadow: 0 20px 60px rgba(0, 0, 0, .25);
	color: var(--ji-text);
	font-family: var(--ji-font);
}

.ji-quote-dialog::backdrop { background: rgba(20, 20, 20, .5); }

.ji-quote-form { margin: 0 !important; padding: 22px 24px 20px; }

.ji-quote-form__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.ji-quote-form__head h2 {
	margin: 0 !important;
	color: var(--ji-red) !important;
	font-size: 22px !important;
	line-height: 1.3 !important;
}

.ji-quote-form__close {
	width: 36px;
	height: 36px;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50%;
	background: transparent !important;
	color: #555 !important;
	font-size: 28px !important;
	line-height: 1 !important;
	cursor: pointer;
}

.ji-quote-form__product { margin: 6px 0 4px !important; font-weight: var(--ji-semibold); color: #222; }
.ji-quote-form__intro { margin: 0 0 16px !important; font-size: 14px; color: #666; }

.ji-quote-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 14px;
}

.ji-quote-form__grid p { margin: 0 0 12px !important; }
.ji-quote-form__wide { grid-column: 1 / -1; }

.ji-quote-form label { display: block; margin-bottom: 4px; font-size: 13px; font-weight: var(--ji-semibold); }
.ji-quote-form .optional { color: #999; font-weight: 400; }
.ji-quote-form .required { color: var(--ji-red); border: 0; text-decoration: none; }

.ji-quote-form input[type=text],
.ji-quote-form input[type=email],
.ji-quote-form input[type=tel],
.ji-quote-form input[type=number],
.ji-quote-form textarea {
	width: 100% !important;
	min-height: 40px;
	margin: 0 !important;
	padding: 8px 14px !important;
	border: 1px solid var(--ji-border) !important;
	border-radius: 20px !important;
	background: #fff !important;
	font-size: 15px !important;
	box-shadow: none !important;
}

.ji-quote-form textarea { min-height: 80px; border-radius: 14px !important; resize: vertical; }

.ji-quote-form input:focus,
.ji-quote-form textarea:focus { border-color: var(--ji-red) !important; outline: none; }

.ji-quote-form__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.ji-quote-form__privacy label { display: flex; gap: 8px; align-items: flex-start; font-weight: 400; font-size: 13px; line-height: 1.45; }
.ji-quote-form__privacy input { margin-top: 3px; }
.ji-quote-form__privacy a { color: var(--ji-red) !important; text-decoration: underline !important; }

.ji-quote-form__msg { margin: 6px 0 0 !important; font-size: 14px; }
.ji-quote-form__msg:empty { display: none; }
.ji-quote-form__msg.is-ok { padding: 12px 14px; border-radius: 10px; background: #f3f8f3; color: #2e7d32; font-weight: var(--ji-semibold); }
.ji-quote-form__msg.is-error { padding: 12px 14px; border-radius: 10px; background: #fff5f5; color: var(--ji-red); }

.ji-quote-form.is-sent .ji-quote-form__grid,
.ji-quote-form.is-sent .ji-quote-form__privacy,
.ji-quote-form.is-sent .ji-quote-form__intro { display: none; }

.ji-quote-form__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 14px; }

.ji-quote-form__submit {
	position: relative;
	min-height: 44px;
	padding: 0 26px !important;
	border: 0 !important;
	border-radius: 22px !important;
	background: var(--ji-gradient) !important;
	color: #fff !important;
	font-weight: var(--ji-semibold) !important;
	cursor: pointer;
}

.ji-quote-form__submit.loading { color: transparent !important; }
.ji-quote-form__submit.loading::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 18px;
	height: 18px;
	margin: -9px 0 0 -9px;
	border: 2px solid rgba(255, 255, 255, .45);
	border-top-color: #fff;
	border-radius: 50%;
	animation: ji-spin .7s linear infinite;
}

.ji-quote-form__cancel {
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	color: var(--ji-text) !important;
	text-decoration: underline;
	cursor: pointer;
}

@media (max-width: 560px) {
	.ji-quote-form { padding: 18px 16px 16px; }
	.ji-quote-form__grid { grid-template-columns: minmax(0, 1fr); }
}

/* 2.27.0: „Weiter einkaufen“ direkt unter den Buttons statt ganz unten */
.ji-cart-panel__content { flex: 0 0 auto; }

/* -------------------------------------------------------------------------
 * 2.29.0 – German-Market-Widerrufsformular (/vertrag-widerrufen/)
 * Floats + verstecktes Schutzfeld ließen „Vorname“ in die Mitte rutschen → Raster
 * ---------------------------------------------------------------------- */
.german-market-withdrawal-form-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 24px;
	max-width: 820px;
}
.german-market-withdrawal-form-fields > .form-row {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}
.german-market-withdrawal-form-fields > .form-row-full,
.german-market-withdrawal-form-fields > .form-row-wide,
.german-market-withdrawal-form-fields > .form-row-submit {
	grid-column: 1 / -1;
}
.german-market-withdrawal-form-fields > .withdrawal-form-cc-site-url-wrapper {
	position: absolute !important;
	left: -9999px !important;
}
.german-market-withdrawal-form-fields label {
	display: block;
	margin-bottom: 6px;
	font-weight: 600;
}
.german-market-withdrawal-form-fields input.input-text,
.german-market-withdrawal-form-fields textarea,
.german-market-withdrawal-form-fields select {
	width: 100% !important;
	box-sizing: border-box;
}
@media (max-width: 600px) {
	.german-market-withdrawal-form-fields { grid-template-columns: minmax(0, 1fr); }
}

/* 2.29.0: „Keine Produkte gefunden“ auf Listen im Seitenfluss statt The7-Popup */
.ji-shop-main .woocommerce-no-products-found > .woocommerce-info,
body.ji-shop-listing .woocommerce-notices-wrapper > * {
	position: static !important;
	top: auto !important; right: auto !important; bottom: auto !important; left: auto !important;
	transform: none !important;
	width: auto !important;
	max-width: none !important;
	opacity: 1 !important;
	visibility: visible !important;
}

/* 2.34.0 – Widerrufsfunktion (§ 356a BGB): „Vertrag widerrufen“ hervorgehoben */
#bottom-bar .ji-legal li.ji-legal__revoke a {
	color: var(--ji-red, #d20a11) !important;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* 2.36.0 – Kaufbox: Preisblock luftiger (Preis, „Zzgl. MwSt.“, Bruttopreis, Termin waren eng gestapelt) */
.ji-buybox .ji-price .price {
	margin-bottom: 6px !important;
	line-height: 1.15 !important;
}

.ji-buybox .ji-price .wgm-info {
	font-size: 13px !important;
	line-height: 1.55 !important;
}

.ji-buybox .ji-price .ji-price-gross {
	display: block;
	margin-top: 2px;
	font-size: 14px !important;
	line-height: 1.45 !important;
}

.ji-buybox .ji-price .ji-event-when {
	margin-top: 10px !important;
	font-size: 13px !important;
	font-weight: var(--ji-semibold);
}

.ji-buybox .ji-price + .ji-buybox__cart,
.ji-buybox .ji-price ~ .stock,
.ji-buybox .stock {
	margin-top: 10px !important;
}

/* 2.36.0 – Warenkorb/Panel: Bruttobetrag je Zeile und unter der Zwischensumme */
.ji-price-gross--line {
	display: block;
	margin-top: 2px;
	font-weight: var(--ji-semibold);
	white-space: nowrap;
}

.ji-cart-panel__gross {
	margin: -4px 0 4px !important;
	text-align: right;
}

/* 2.38.1 – USP-Leiste: Icons aller drei Spalten auf derselben Höhe, mittig im Kasten;
   Text jeweils mittig neben dem Icon (2.38.0 hatte oben bündig ausgerichtet) */
@media (min-width: 992px) {
	.ji-usps__inner {
		align-items: stretch;
	}
	.ji-usp {
		align-items: center;
	}
}


/* 2.38.2 – Liste: externer Button („Vertrieb kontaktieren“) mit Abstand wie „In den Warenkorb“ */
.ji-buybox__external {
	margin-top: 22px;
}

/* 2.38.4 – Format-Kennzeichen („Online-Programm“ usw.): Innenabstand wurde von .ji-event-facts li (padding 0 !important)
   überschrieben, der Text stieß an den Rand des Kastens */
.ji-event-facts li.ji-event-format {
	padding: 2px 10px !important;
	line-height: 18px;
	white-space: nowrap;
}

/* 2.39.0 – Verfügbarkeit: grüner Haken / oranges Ausrufezeichen (wenige Plätze) / rotes X (ausgebucht) */
.ji-stock.in-stock::before,
.ji-buybox .woocommerce-variation-availability .stock.in-stock::before {
	background-image: url("icons/avail-check.svg") !important;
}
.ji-stock.in-stock.ji-avail-few::before,
.ji-buybox .woocommerce-variation-availability .stock.in-stock.ji-avail-few::before {
	left: 2px;
	top: 0;
	width: 16px;
	height: 16px;
	background-image: url("icons/avail-few.svg") !important;
	background-size: contain;
}
.ji-stock.in-stock.ji-avail-few,
.ji-buybox .woocommerce-variation-availability .stock.in-stock.ji-avail-few {
	color: #b35900 !important;
}
.ji-stock.out-of-stock,
.ji-buybox .woocommerce-variation-availability .stock.out-of-stock {
	position: relative;
	padding-left: 24px !important;
	color: var(--ji-red) !important;
}
.ji-stock.out-of-stock::before,
.ji-buybox .woocommerce-variation-availability .stock.out-of-stock::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 0;
	width: 16px;
	height: 16px;
	background: url("icons/avail-soldout.svg") no-repeat center / contain;
}

/* 2.39.1 – Ausgebucht: „Vertrieb kontaktieren“ mit Abstand zu „Ausgebucht“ */
.ji-buybox .ji-buybox__sales {
	order: 10;
	margin-top: 22px;
}

/* 2.40.3 – Highlights: „Ausgebucht“ / „Nur noch wenige Plätze“ über Preis und Button */
.ji-hl .ji-stock {
	margin: 10px 0 0 !important;
}

/* 2.41.4 – Karte „Alternative mit freien Plätzen“ / „Nächster Termin“ auffälliger: Grün = verfügbar */
.ji-past-note--soldout {
	padding: 14px 16px 16px;
	border-left-color: #2e7d32;
	background: #eef7ef;
}
.ji-past-next {
	border-color: #b9dcbc;
}
.ji-past-next:hover {
	border-color: #2e7d32;
	box-shadow: 0 4px 14px rgba(46, 125, 50, .15);
}
.ji-past-next__kicker {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #2e7d32;
}
.ji-past-next__kicker::before {
	content: "";
	flex: 0 0 14px;
	width: 14px;
	height: 11px;
	background: url("icons/avail-check.svg") no-repeat center / contain;
}
.ji-past-next__title {
	font-size: 16px;
}
.ji-past-next__cta {
	align-self: flex-start;
	margin-top: 8px;
	padding: 6px 14px;
	border-radius: var(--ji-radius-pill);
	background: #2e7d32;
	color: #fff !important;
}
.ji-past-next:hover .ji-past-next__cta {
	background: #256628;
}

/* 2.41.5 – Produktliste: keine Datums-Kachel auf dem kleinen Bild (verdeckte es fast ganz);
   das Datum steht in der Zeile unter dem Titel und in der Kaufbox. Detailseite/Highlights/Karten unverändert. */
.ji-product__media .ji-date-badge {
	display: none !important;
}
