/* =========================================================================
   WAKA Shop Vorlage – Farbschema & Typografie von waka-verpackungen.de
   Primaer:   #a0bf38 (WAKA-Gruen)   Sekundaer: #005c43 (Dunkelgruen)
   Headings:  Archivo Narrow / Text: Open Sans (aus dem Divi-Theme)
   Container: 1080px (wie Divi-Sektionen)
   ========================================================================= */

:root {
	--waka-green: #a0bf38;
	--waka-green-dark: #8aa72c;
	--waka-dark: #005c43;
	--waka-text: #3e3e3e;
	--waka-border: #e2e2e2;
	--waka-bg-soft: #f7f7f7;
	--waka-bg-green-soft: #f4f8e6;
}

.waka-shop-main {
	background: #fff;
	color: var(--waka-text);
}

.waka-shop-container {
	max-width: 1080px;
	margin: 0 auto;
	padding: 30px 5% 64px;
}

/* ---- Gruenes Titelband (Divi-Look der WAKA-Seiten) --------------------- */

.waka-band {
	background: var(--waka-green);
	padding: 18px 0 15px;
}

.waka-band__inner {
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 5%;
}

.waka-band__title {
	margin: 0;
	color: #fff;
	font-size: 26px;
	line-height: 1.15;
}

.waka-band__breadcrumb {
	font-size: 12px;
	color: rgba(255, 255, 255, .85);
	margin-bottom: 4px;
}

.waka-band__breadcrumb a {
	color: #fff;
	text-decoration: none;
}

.waka-band__breadcrumb a:hover {
	text-decoration: underline;
}

.waka-band__breadcrumb span {
	margin: 0 6px;
}

.waka-band__current {
	color: #fff;
	font-weight: 600;
}

/* ---- Buttons ------------------------------------------------------------ */

.waka-btn,
.waka-btn:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: var(--waka-green);
	color: #fff !important;
	border: 2px solid var(--waka-green);
	border-radius: 4px;
	padding: 10px 18px;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: background .15s ease, border-color .15s ease;
	white-space: nowrap;
}

.waka-btn:hover {
	background: var(--waka-dark);
	border-color: var(--waka-dark);
	color: #fff !important;
}

.waka-btn--outline,
.waka-btn--outline:visited {
	background: transparent;
	color: var(--waka-dark) !important;
	border-color: var(--waka-dark);
	padding: 7px 14px;
}

.waka-btn--outline:hover {
	background: var(--waka-dark);
	color: #fff !important;
}

/* ---- Kleinteile ---------------------------------------------------------- */

.waka-dot {
	display: inline-block;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--waka-green);
	margin-right: 6px;
}

.waka-poa {
	font-weight: 700;
	color: var(--waka-dark);
}

/* =========================================================================
   Uebersichtsseite (Shop-Archiv)
   ========================================================================= */

.waka-archive__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 14px;
	font-size: 14px;
	margin-bottom: 24px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--waka-border);
}

.waka-archive__sort label {
	margin-right: 8px;
	font-weight: 600;
}

.waka-archive__sort select {
	border: 1px solid var(--waka-border);
	border-radius: 4px;
	padding: 6px 10px;
	background: #fff;
	color: var(--waka-text);
}

.waka-archive__layout {
	display: grid;
	grid-template-columns: 250px 1fr;
	gap: 28px;
	align-items: start;
}

/* ---- Filter-Seitenleiste -------------------------------------------------- */

.waka-filter {
	background: #fff;
	border: 1px solid var(--waka-border);
	border-radius: 6px;
	padding: 18px 18px 14px;
	margin-bottom: 18px;
}

.waka-filter__title {
	margin: 0 0 12px;
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--waka-dark);
}

.waka-filter__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.waka-filter__list li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 5px 0;
	font-size: 14px;
}

.waka-filter__list a {
	color: var(--waka-text);
	text-decoration: none;
}

.waka-filter__list a:hover {
	color: var(--waka-dark);
	text-decoration: underline;
}

.waka-filter__list li.is-active > a {
	color: var(--waka-dark);
	font-weight: 700;
}

.waka-filter__count {
	background: var(--waka-bg-soft);
	border-radius: 10px;
	font-size: 12px;
	padding: 1px 8px;
	color: #777;
}

.waka-filter__list--check label {
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: default;
}

.waka-filter--contact {
	background: var(--waka-bg-green-soft);
	border-color: var(--waka-green);
}

.waka-filter--contact p {
	font-size: 14px;
	margin: 0 0 10px;
}

.waka-filter__phone a {
	color: var(--waka-dark);
	font-weight: 700;
	font-size: 16px;
	text-decoration: none;
}

/* ---- Produktkarten -------------------------------------------------------- */

.waka-archive__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 20px;
}

.waka-card {
	background: #fff;
	border: 1px solid var(--waka-border);
	border-radius: 6px;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	transition: box-shadow .15s ease, transform .15s ease;
}

.waka-card:hover {
	box-shadow: 0 6px 22px rgba(0, 0, 0, .12);
	transform: translateY(-2px);
}

.waka-card__media {
	display: block;
	background: #fff;
	border-bottom: 1px solid var(--waka-bg-soft);
}

.waka-card__media img {
	display: block;
	width: 100%;
	height: 210px;
	object-fit: cover;
}

.waka-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 16px 18px 18px;
}

.waka-card__badge {
	font-size: 12px;
	color: #587a1f;
	font-weight: 600;
	margin-bottom: 6px;
}

.waka-card__title {
	margin: 0 0 2px;
	font-size: 19px;
	line-height: 1.25;
}

.waka-card__title a {
	color: var(--waka-dark);
	text-decoration: none;
}

.waka-card__title a:hover {
	color: var(--waka-green-dark);
}

.waka-card__variants {
	margin: 0 0 8px;
	font-size: 13px;
	color: #777;
}

.waka-card__excerpt {
	font-size: 14px;
	line-height: 1.5;
	color: #555;
	margin-bottom: 14px;
}

.waka-card__foot {
	margin-top: auto;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.waka-card__price {
	font-size: 20px;
	font-weight: 700;
	color: var(--waka-text);
}

.waka-card__ab {
	font-size: 13px;
	font-weight: 400;
	color: #777;
}

.waka-card__tax {
	display: block;
	font-size: 12px;
	font-weight: 400;
	color: #999;
}

.waka-card__btn {
	width: 100%;
}

/* =========================================================================
   Einzelprodukt
   ========================================================================= */

.waka-single .woocommerce-product-details__short-description h3 {
	color: var(--waka-dark);
	font-size: 20px;
	margin-top: 0;
}

/* ---- Bestell-Box (Konfigurator) ------------------------------------------ */

.waka-buy {
	background: #fff;
	border: 1px solid var(--waka-green);
	border-radius: 8px;
	padding: 20px;
	margin: 20px 0;
	box-shadow: 0 4px 18px rgba(0, 92, 67, .08);
}

.waka-buy__field label {
	display: block;
	font-weight: 700;
	font-size: 15px;
	color: var(--waka-dark);
	margin-bottom: 6px;
	text-align: left;
}

.waka-buy__field select {
	width: 100%;
	border: 1px solid var(--waka-border);
	border-radius: 4px;
	padding: 10px 12px;
	font-size: 16px;
	color: var(--waka-text);
	background: #fff;
}

.waka-buy__details {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 6px 18px;
	margin: 16px 0;
	padding: 14px 16px;
	background: var(--waka-bg-soft);
	border-radius: 6px;
	font-size: 15px;
	text-align: left;
}

.waka-buy__details > div {
	display: flex;
	justify-content: space-between;
	gap: 10px;
}

.waka-buy__details dt {
	color: #777;
	font-weight: 400;
}

.waka-buy__details dd {
	margin: 0;
	font-weight: 600;
	text-align: right;
	white-space: nowrap;
}

/* Staffelpreis-Anzeige */
table.waka-staffel {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 16px !important;
	border: 1px solid var(--waka-border) !important;
	border-radius: 6px;
	overflow: hidden;
	font-size: 15px;
	caption-side: bottom;
}

.waka-staffel thead th {
	background: var(--waka-dark);
	color: #fff;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .03em;
	padding: 8px 10px;
	text-align: center;
	border: 0;
	transition: background .15s ease;
}

.waka-staffel thead th.is-active {
	background: var(--waka-green);
}

.waka-staffel tbody td {
	padding: 10px;
	text-align: center;
	font-weight: 700;
	border: 0;
	border-right: 1px solid var(--waka-border);
}

.waka-staffel tbody td:last-child {
	border-right: 0;
}

.waka-staffel tbody td.is-active {
	background: var(--waka-bg-green-soft);
	color: var(--waka-dark);
}

.waka-staffel caption {
	font-size: 13px;
	color: #999;
	padding-top: 6px;
	text-align: left;
}

/* 4C-Digitaldruck-Option im Add-to-Cart-Formular */
label.waka-druck {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	text-align: left;
	background: #fff;
	border: 1px solid var(--waka-border);
	border-left: 4px solid var(--waka-green);
	border-radius: 6px;
	padding: 12px 14px;
	margin: 0 0 14px;
	font-size: 15px;
	line-height: 1.45;
	cursor: pointer;
}

label.waka-druck input[type="checkbox"] {
	width: 19px;
	height: 19px;
	margin-top: 2px;
	accent-color: var(--waka-green);
	flex: 0 0 auto;
}

label.waka-druck small {
	color: #777;
	font-size: 13px;
}

p.waka-druck--anfrage {
	display: block;
	background: #fff;
	border: 1px solid var(--waka-border);
	border-left: 4px solid var(--waka-green);
	border-radius: 6px;
	padding: 12px 14px;
	margin: 0 0 14px;
	font-size: 14.5px;
	line-height: 1.5;
	cursor: default;
}

p.waka-druck--anfrage a {
	color: var(--waka-dark);
	font-weight: 700;
	text-decoration: none;
}

/* Mengenfeld (einfache Produkte, Divi-Add-to-Cart-Modul): breiter fuer
   4-stellige Stueckzahlen inkl. Browser-Spinner */
.single-product .et_pb_wc_add_to_cart form.cart div.quantity {
	width: auto;
}

.single-product .et_pb_wc_add_to_cart form.cart .quantity input.qty {
	width: 120px !important;
	min-width: 120px;
	max-width: none;
	padding: 8px 6px 8px 14px;
	font-size: 16px;
	text-align: left;
}

.waka-staffel__per {
	display: block;
	font-size: 11px;
	color: #999;
	font-weight: 400;
}

/* Staffel-Info auf einfachen Produktseiten (z.B. Restposten) */
.waka-buy--simple {
	margin: 14px 0 18px;
}

/* Bei vielen Preisstufen (5-6 Spalten) kompakter */
.waka-staffel th,
.waka-staffel td {
	font-size: 13px;
}

/* Menge + Summe + Button */
.waka-buy__qty-row {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 12px;
}

.waka-qty {
	display: inline-flex;
	align-items: stretch;
	border: 1px solid var(--waka-border);
	border-radius: 4px;
	overflow: hidden;
	background: #fff;
}

.waka-qty__btn {
	width: 36px;
	border: 0;
	background: var(--waka-bg-soft);
	color: var(--waka-dark);
	font-size: 18px;
	font-weight: 700;
	cursor: pointer;
	line-height: 1;
	padding: 0;
}

.waka-qty__btn:hover {
	background: var(--waka-green);
	color: #fff;
}

.waka-qty__input {
	width: 84px;
	border: 0 !important;
	text-align: center;
	font-size: 16px;
	font-weight: 600;
	color: var(--waka-text);
	padding: 9px 2px;
	-moz-appearance: textfield;
	background: #fff !important;
}

.waka-qty__input::-webkit-outer-spin-button,
.waka-qty__input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.waka-qty__ve-hint {
	font-size: 14px;
	color: #777;
}

.waka-buy__sum-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	border-top: 1px solid var(--waka-border);
	padding-top: 12px;
	margin-bottom: 14px;
	font-size: 15px;
}

.waka-buy__sum-row small {
	color: #999;
}

.waka-buy__sum {
	font-size: 24px;
	color: var(--waka-dark);
}

.waka-buy__cart-btn {
	width: 100%;
	font-size: 16px;
	padding: 13px 18px;
}

.waka-buy__usps {
	list-style: none;
	margin: 16px 0 0;
	padding: 0;
	text-align: left;
}

.waka-buy__usps li {
	position: relative;
	padding-left: 26px;
	margin-bottom: 6px;
	font-size: 15px;
	color: #555;
	text-align: left;
}

.waka-buy__usps li::before {
	content: "\2713";
	position: absolute;
	left: 0;
	color: var(--waka-green);
	font-weight: 700;
}

/* Produkttitel nicht in Grossbuchstaben (Divi-Template setzt uppercase + 50px) */
.single-product .et_pb_wc_title h1,
.single-product .et_pb_wc_title .product_title {
	text-transform: none !important;
	font-size: 30px !important;
	line-height: 1.25 !important;
}
@media (max-width: 980px) {
	.single-product .et_pb_wc_title h1,
	.single-product .et_pb_wc_title .product_title {
		font-size: 26px !important;
	}
}
@media (max-width: 600px) {
	.single-product .et_pb_wc_title h1,
	.single-product .et_pb_wc_title .product_title {
		font-size: 22px !important;
	}
}

/* Kurzbeschreibung unter dem Titel kompakter darstellen */
.single-product .et_pb_wc_description .et_pb_module_inner p {
	font-size: 15.5px !important;
	line-height: 1.6 !important;
}
.single-product .et_pb_wc_description .et_pb_module_inner h3 {
	font-size: 19px !important;
	line-height: 1.35 !important;
	padding-bottom: 6px;
}
.single-product .et_pb_wc_description {
	margin-top: 4px;
}

/* Produktgalerie: Vorschaubilder (Thumbnails) sauber darstellen */
.single-product .woocommerce-product-gallery .flex-control-thumbs {
	margin-top: 10px;
	padding: 0;
	list-style: none;
	display: flex;
	gap: 8px;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs li {
	width: calc(25% - 6px) !important;
	margin: 0 !important;
	cursor: pointer;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img {
	border: 2px solid var(--waka-border);
	border-radius: 4px;
	opacity: .7;
	transition: opacity .15s ease, border-color .15s ease;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover,
.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
	border-color: var(--waka-green);
	opacity: 1;
}

/* ---- Aufklappbare Groessentabelle (Divi-Toggle-Look) ----------------------- */

details.waka-toggle {
	border: 1px solid var(--waka-border);
	border-radius: 6px;
	background: #fff;
	margin: 0 0 20px;
}

.waka-toggle__title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	list-style: none;
	cursor: pointer;
	padding: 16px 20px;
	font-weight: 700;
	font-size: 18px;
	color: var(--waka-dark);
	font-family: 'Archivo Narrow', Helvetica, Arial, sans-serif;
	text-align: left;
}

.waka-toggle__title::-webkit-details-marker {
	display: none;
}

.waka-toggle__title:hover {
	color: var(--waka-green-dark);
}

.waka-toggle__icon {
	flex: none;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--waka-green);
	position: relative;
}

.waka-toggle__icon::before,
.waka-toggle__icon::after {
	content: "";
	position: absolute;
	background: #fff;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.waka-toggle__icon::before {
	width: 10px;
	height: 2px;
}

.waka-toggle__icon::after {
	width: 2px;
	height: 10px;
	transition: transform .15s ease;
}

details[open].waka-toggle .waka-toggle__icon::after {
	transform: translate(-50%, -50%) scaleY(0);
}

.waka-toggle__content {
	padding: 0 20px 18px;
	border-top: 1px solid var(--waka-bg-soft);
}

/* ---- Vergleichstabelle (kompakt) ------------------------------------------- */

.waka-ot__hint {
	font-size: 14px;
	color: #888;
	margin: 12px 0 14px;
	text-align: left;
}

.waka-ot__scroll {
	overflow-x: auto;
	border: 1px solid var(--waka-border);
	border-radius: 6px;
}

table.waka-ot__table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 !important;
	border: 0 !important;
	font-size: 14.5px;
	min-width: 560px;
}

.waka-ot__table thead th {
	background: var(--waka-dark);
	color: #fff;
	text-align: left;
	font-size: 12.5px;
	text-transform: uppercase;
	letter-spacing: .03em;
	padding: 9px 11px;
	border: 0;
	white-space: nowrap;
}

.waka-ot__th-sub {
	display: block;
	font-size: 11px;
	opacity: .75;
	text-transform: none;
}

.waka-ot__table tbody td {
	padding: 7px 10px;
	border: 0;
	border-top: 1px solid var(--waka-border);
	vertical-align: middle;
}

.waka-ot__table tbody tr:nth-child(even) td {
	background: var(--waka-bg-soft);
}

.waka-ot__table tbody tr:hover td {
	background: var(--waka-bg-green-soft);
}

.waka-ot__size {
	font-weight: 700;
	color: var(--waka-dark);
	white-space: nowrap;
}

.waka-ot__sku {
	white-space: nowrap;
	color: #777;
	font-size: 13px;
}

.waka-ot__ve {
	font-weight: 700;
}

.waka-ot__price {
	white-space: nowrap;
	font-weight: 700;
}

.waka-ot__price--ve {
	color: var(--waka-dark);
}

.waka-ot__pick {
	text-align: right;
}

button.waka-pick {
	background: none;
	border: 1px solid var(--waka-dark);
	border-radius: 3px;
	color: var(--waka-dark);
	font-size: 12px;
	font-weight: 700;
	padding: 4px 12px;
	cursor: pointer;
	transition: background .15s ease, color .15s ease;
}

button.waka-pick:hover {
	background: var(--waka-dark);
	color: #fff;
}

/* =========================================================================
   Warenkorb-Seite (Divi-Module et_pb_wc_cart_products / _totals)
   ========================================================================= */

/* Artikel-Tabelle im Stil der Groessentabelle */
.woocommerce-cart table.shop_table {
	border: 1px solid var(--waka-border) !important;
	border-radius: 6px;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	font-size: 15px;
}

.woocommerce-cart table.shop_table thead th {
	background: var(--waka-dark);
	color: #fff;
	font-size: 12.5px;
	text-transform: uppercase;
	letter-spacing: .03em;
	padding: 11px 12px;
	border: 0 !important;
}

.woocommerce-cart table.shop_table td {
	border: 0 !important;
	border-top: 1px solid var(--waka-border) !important;
	padding: 12px;
	vertical-align: middle;
}

.woocommerce-cart table.shop_table .product-name a {
	color: var(--waka-dark);
	font-weight: 700;
	text-decoration: none;
}

.woocommerce-cart table.shop_table .product-remove a {
	color: #b33;
	font-weight: 700;
	text-decoration: none;
	font-size: 20px;
}

.woocommerce-cart table.shop_table dl.variation {
	font-size: 12.5px;
	color: #777;
	margin: 4px 0 0;
}

.woocommerce-cart table.shop_table dl.variation dt,
.woocommerce-cart table.shop_table dl.variation dd {
	margin: 0;
	display: inline;
}

/* Mengenfeld (VE-Schritte) */
.woocommerce-cart .quantity .qty {
	border: 1px solid var(--waka-border);
	border-radius: 4px;
	padding: 8px 6px;
	width: 90px;
	text-align: center;
	font-size: 15px;
	font-weight: 600;
}

/* Buttons: Gutschein, Aktualisieren, Kasse */
.woocommerce-cart .button,
.woocommerce-cart button.button,
.woocommerce-cart .checkout-button {
	background: var(--waka-green) !important;
	color: #fff !important;
	border: 2px solid var(--waka-green) !important;
	border-radius: 4px !important;
	font-weight: 700 !important;
	padding: 10px 18px !important;
	transition: background .15s ease, border-color .15s ease;
}

.woocommerce-cart .button:hover,
.woocommerce-cart button.button:hover,
.woocommerce-cart .checkout-button:hover {
	background: var(--waka-dark) !important;
	border-color: var(--waka-dark) !important;
}

.woocommerce-cart .checkout-button {
	display: block;
	text-align: center;
	font-size: 16px !important;
	padding: 14px 18px !important;
}

.woocommerce-cart #coupon_code {
	border: 1px solid var(--waka-border);
	border-radius: 4px;
	padding: 9px 10px;
	min-width: 140px;
}

/* Summen-Box */
.woocommerce-cart .et_pb_wc_cart_totals .cart_totals {
	background: var(--waka-bg-soft);
	border: 1px solid var(--waka-border);
	border-radius: 6px;
	padding: 18px 20px;
}

.woocommerce-cart .cart_totals h2 {
	color: var(--waka-dark);
	font-size: 22px;
	margin: 0 0 12px;
}

.woocommerce-cart .cart_totals table.shop_table {
	border: 0 !important;
	background: transparent;
	font-size: 15px;
}

.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
	background: transparent !important;
	color: var(--waka-text);
	text-transform: none;
	letter-spacing: 0;
	font-size: 15px;
	padding: 9px 4px;
	border: 0 !important;
	border-top: 1px solid var(--waka-border) !important;
}

.woocommerce-cart .cart_totals .order-total td,
.woocommerce-cart .cart_totals .order-total th {
	font-size: 17px;
	font-weight: 700;
	color: var(--waka-dark);
}

/* Weiter-einkaufen-Link */
.waka-cart__continue {
	margin-top: 14px;
	font-size: 15px;
}

.waka-cart__continue a {
	color: var(--waka-dark);
	font-weight: 700;
	text-decoration: none;
}

.waka-cart__continue a:hover {
	color: var(--waka-green-dark);
	text-decoration: underline;
}

/* Leerer Warenkorb: Hinweis einblenden, Summen-Box ausblenden */
.woocommerce-cart .cart-empty,
.woocommerce-cart .wc-empty-cart-message {
	font-size: 17px;
	padding: 24px 0 4px;
}

.woocommerce-cart .return-to-shop .button {
	background: var(--waka-green) !important;
}

/* =========================================================================
   Warenkorb-Anzeige in der Seitenleiste der Produktseite (Divi-Module)
   ========================================================================= */

.single-product .et_pb_wc_cart_products,
.single-product .et_pb_wc_cart_totals {
	background: #fff;
	border: 1px solid var(--waka-border);
	border-radius: 6px;
	padding: 16px !important;
	margin-bottom: 18px;
}

.single-product .et_pb_wc_cart_products::before {
	content: "Ihr Warenkorb";
	display: block;
	font-family: 'Archivo Narrow', Helvetica, Arial, sans-serif;
	font-weight: 700;
	font-size: 18px;
	color: var(--waka-dark);
	margin-bottom: 10px;
}

.single-product .et_pb_wc_cart_products table.shop_table {
	border: 0 !important;
	font-size: 13.5px;
	margin: 0 !important;
}

.single-product .et_pb_wc_cart_products table.shop_table thead th {
	background: var(--waka-dark);
	color: #fff;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .03em;
	padding: 8px;
	border: 0 !important;
}

.single-product .et_pb_wc_cart_products table.shop_table td {
	padding: 8px;
	border: 0 !important;
	border-top: 1px solid var(--waka-border) !important;
	vertical-align: middle;
	background: #fff;
}

.single-product .et_pb_wc_cart_products .product-thumbnail img {
	width: 42px;
	height: auto;
}

.single-product .et_pb_wc_cart_products .product-name a {
	color: var(--waka-dark);
	font-weight: 600;
	text-decoration: none;
}

.single-product .et_pb_wc_cart_products dl.variation {
	font-size: 11.5px;
	color: #777;
	margin: 3px 0 0;
}

.single-product .et_pb_wc_cart_products .quantity .qty {
	width: 70px;
	padding: 6px 4px;
	border: 1px solid var(--waka-border);
	border-radius: 4px;
	text-align: center;
	background: #fff;
}

.single-product .et_pb_wc_cart_products .product-remove a {
	color: #b33;
	font-size: 18px;
	font-weight: 700;
	text-decoration: none;
}

.single-product .et_pb_wc_cart_products .button {
	background: var(--waka-green) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 4px !important;
	font-weight: 700 !important;
	padding: 8px 14px !important;
	font-size: 13px !important;
	transition: background .15s ease;
}

.single-product .et_pb_wc_cart_products .button:hover {
	background: var(--waka-dark) !important;
	color: #fff !important;
}

.single-product .et_pb_wc_cart_products #coupon_code {
	border: 1px solid var(--waka-border);
	border-radius: 4px;
	padding: 8px;
	width: 120px;
	background: #fff;
}

/* Summen-Box */
.single-product .et_pb_wc_cart_totals h2 {
	font-size: 18px;
	color: var(--waka-dark);
	margin: 0 0 8px;
	font-family: 'Archivo Narrow', Helvetica, Arial, sans-serif;
}

.single-product .et_pb_wc_cart_totals table.shop_table {
	border: 0 !important;
	font-size: 13.5px;
	background: transparent;
	margin: 0 !important;
}

.single-product .et_pb_wc_cart_totals th,
.single-product .et_pb_wc_cart_totals td {
	padding: 7px 4px;
	border: 0 !important;
	border-top: 1px solid var(--waka-border) !important;
	background: transparent !important;
	text-transform: none;
	letter-spacing: 0;
	color: var(--waka-text);
}

.single-product .et_pb_wc_cart_totals .order-total th,
.single-product .et_pb_wc_cart_totals .order-total td {
	color: var(--waka-dark);
	font-weight: 700;
	font-size: 15px;
}

.single-product .et_pb_wc_cart_totals .checkout-button {
	display: block;
	text-align: center;
	background: var(--waka-green) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 4px !important;
	font-weight: 700 !important;
	padding: 12px !important;
	font-size: 15px !important;
	transition: background .15s ease;
}

.single-product .et_pb_wc_cart_totals .checkout-button:hover {
	background: var(--waka-dark) !important;
	color: #fff !important;
}

/* Leerer Warenkorb auf der Produktseite: schlanker Hinweis in der Box */
.single-product.waka-cart-empty .et_pb_wc_cart_products::before {
	content: "Ihr Warenkorb ist noch leer.";
	background: none;
	border: 0;
	padding: 0;
	font-size: 14.5px;
	font-weight: 400;
	font-family: inherit;
	color: var(--waka-text);
	margin: 0;
}

.waka-cart-empty .et_pb_wc_cart_products::before {
	content: "Ihr Warenkorb ist zurzeit leer.";
	display: block;
	font-size: 18px;
	font-weight: 600;
	color: var(--waka-text);
	background: var(--waka-bg-soft);
	border: 1px solid var(--waka-border);
	border-radius: 6px;
	padding: 26px 24px;
}

.waka-cart-empty .et_pb_wc_cart_totals {
	display: none;
}

/* =========================================================================
   Kasse-Seite (bestehendes Divi-5-Layout mit Checkout-Modulen, WAKA-Look)
   ========================================================================= */

/* Seitentitel "Kasse" als gruenes Titelband (Full-Bleed) */
.woocommerce-checkout h1.entry-title {
	background: var(--waka-green);
	color: #fff;
	font-size: 26px;
	line-height: 1.15;
	width: 100vw;
	position: relative;
	left: 50%;
	margin: 0 0 24px -50vw;
	padding: 18px max(calc((100vw - 1326px) / 2), 5vw) 15px;
	box-sizing: border-box;
}

/* Modul-Ueberschriften (Rechnungsdaten, Deine Bestellung, ...) */
.woocommerce-checkout .et_pb_module h2,
.woocommerce-checkout .et_pb_module h3,
.woocommerce-checkout #ship-to-different-address {
	color: var(--waka-dark);
}

/* Formularfelder */
.woocommerce-checkout .input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
	border: 1px solid var(--waka-border) !important;
	border-radius: 4px;
	padding: 10px 12px !important;
	background: #fff !important;
	font-size: 15px;
	color: var(--waka-text);
}

.woocommerce-checkout .input-text:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
	border-color: var(--waka-green) !important;
	outline: none;
	box-shadow: 0 0 0 2px rgba(160, 191, 56, .25);
}

.woocommerce-checkout .form-row label {
	font-weight: 600;
	font-size: 14px;
	color: var(--waka-text);
}

.woocommerce-checkout .form-row .required {
	color: var(--waka-green-dark);
}

/* Bestelluebersicht ("Deine Bestellung"): graue Box wie "Rechnungsdaten"
   (Billing-Modul nutzt #dddddd mit 20px Innenabstand und gruener H3) */
.woocommerce-checkout .et_pb_wc_checkout_order_details {
	background-color: #dddddd !important;
	padding: 20px !important;
}

.woocommerce-checkout #order_review_heading {
	font-weight: 600;
	color: var(--waka-dark);
	letter-spacing: 1px;
	font-size: 22px;
	margin: 0 0 14px;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table td,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th {
	background: #fff !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table {
	border: 1px solid var(--waka-border) !important;
	border-radius: 6px;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	font-size: 15px;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
	background: var(--waka-dark);
	color: #fff;
	font-size: 12.5px;
	text-transform: uppercase;
	letter-spacing: .03em;
	padding: 11px 12px;
	border: 0 !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table td,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th {
	border: 0 !important;
	border-top: 1px solid var(--waka-border) !important;
	padding: 10px 12px;
	vertical-align: middle;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td,
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th {
	font-size: 17px;
	font-weight: 700;
	color: var(--waka-dark);
}

.woocommerce-checkout .woocommerce-checkout-review-order-table dl.variation {
	font-size: 12.5px;
	color: #777;
	margin: 4px 0 0;
}

/* Zahlungsbereich: graue Box wie "Rechnungsdaten", Zahlarten als
   dunkelgruene Balken mit weisser Beschriftung */
.woocommerce-checkout .et_pb_wc_checkout_payment_info {
	background-color: #dddddd !important;
	padding: 20px !important;
}

.woocommerce-checkout #payment {
	background: transparent !important;
	border: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods {
	padding: 0 !important;
	border: 0 !important;
}

.woocommerce-checkout #payment .wc_payment_method {
	border: 0 !important;
	margin: 0 0 8px;
	list-style: none;
}

.woocommerce-checkout #payment .wc_payment_method > input.input-radio {
	position: absolute;
	opacity: 0;
}

.woocommerce-checkout #payment .wc_payment_method > label {
	display: block;
	background: var(--waka-dark);
	color: #fff !important;
	padding: 11px 14px;
	border-radius: 4px;
	font-weight: 600;
	cursor: pointer;
	transition: background .15s ease;
}

.woocommerce-checkout #payment .wc_payment_method > label:hover {
	background: var(--waka-green-dark);
}

.woocommerce-checkout #payment .wc_payment_method > label::before {
	content: "";
	display: inline-block;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	border: 2px solid #fff;
	margin-right: 10px;
	vertical-align: -1px;
}

.woocommerce-checkout #payment .wc_payment_method > input.input-radio:checked + label {
	background: var(--waka-green);
}

.woocommerce-checkout #payment .wc_payment_method > input.input-radio:checked + label::before {
	background: #fff;
}

/* Beschreibungs-Box unter der gewaehlten Zahlart als weisse Karte */
.woocommerce-checkout #payment div.payment_box {
	background: #fff !important;
	color: var(--waka-text) !important;
	border-radius: 4px;
	margin: 6px 0 0 !important;
	padding: 12px 14px !important;
}

.woocommerce-checkout #payment div.payment_box::before {
	display: none !important;
}

/* "Jetzt kaufen"-Button */
.woocommerce-checkout #place_order {
	background: var(--waka-green) !important;
	color: #fff !important;
	border: 2px solid var(--waka-green) !important;
	border-radius: 4px !important;
	font-weight: 700 !important;
	font-size: 17px !important;
	width: 100%;
	padding: 15px 18px !important;
	transition: background .15s ease, border-color .15s ease;
}

.woocommerce-checkout #place_order:hover,
.woocommerce-checkout #place_order:focus,
.woocommerce-checkout #place_order:active {
	background: var(--waka-dark) !important;
	border-color: var(--waka-dark) !important;
	color: #fff !important;
}

/* Hinweis: Rechnung fuer Firmen-/Bestandskunden */
.waka-invoice-hint {
	background: var(--waka-bg-green-soft);
	border: 1px solid var(--waka-green);
	border-radius: 6px;
	padding: 12px 14px;
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--waka-text);
	margin: 0 0 14px;
}

/* Rechtliche Zustimmungen (AGB, SEPA-Mandat): deutliche weisse Box
   oberhalb des "Jetzt kaufen"-Buttons, groessere Checkbox und Schrift */
.woocommerce-checkout p.legal.form-row {
	background: #fff;
	border: 1px solid var(--waka-border);
	border-left: 4px solid var(--waka-green);
	border-radius: 4px;
	padding: 14px 16px !important;
	margin: 0 0 12px !important;
	display: block;
}

.woocommerce-checkout p.legal.form-row label {
	font-size: 15px !important;
	line-height: 1.6 !important;
	color: var(--waka-text) !important;
	font-weight: 400;
	display: block;
	padding-left: 30px;
	position: relative;
}

.woocommerce-checkout p.legal.form-row label a {
	color: var(--waka-dark);
	font-weight: 600;
	text-decoration: underline;
}

.woocommerce-checkout p.legal.form-row input[type="checkbox"] {
	width: 19px !important;
	height: 19px !important;
	accent-color: var(--waka-green);
	position: absolute;
	left: 0;
	top: 3px;
	margin: 0 !important;
}

/* WooCommerce-Hinweise im WAKA-Look */
.waka-shop-main .woocommerce-message,
.waka-shop-main .woocommerce-info {
	border-top-color: var(--waka-green);
}

.waka-shop-main .woocommerce-message::before,
.waka-shop-main .woocommerce-info::before {
	color: var(--waka-green);
}

.waka-shop-main .woocommerce-message .button,
.waka-shop-main .woocommerce-info .button {
	background: var(--waka-green);
	color: #fff;
}

/* =========================================================================
   Hauptnavigation: Untermenue-Pfeile vertikal zum Text zentrieren
   (Divi positioniert sie absolut bei top:0 und sie schweben ueber dem Text)
   ========================================================================= */

.et-menu .menu-item-has-children > a:first-child::after {
	top: 50% !important;
	transform: translateY(-50%);
	font-size: 14px !important;
	font-weight: 400 !important;
}

/* In Dropdown-Ebenen ebenfalls mittig (Divi setzt dort eigene top-Werte) */
.et-menu li li.menu-item-has-children > a:first-child::after {
	top: 50% !important;
	transform: translateY(-50%);
}

/* =========================================================================
   Menue-Icons (Warenkorb + Mein Konto im Hauptmenue)
   ========================================================================= */

li.waka-menu-icon > a {
	font-size: 0 !important;
	letter-spacing: 0 !important;
}

li.waka-menu-icon > a::before {
	content: "";
	display: inline-block;
	width: 21px;
	height: 21px;
	background-color: #005c43;
	vertical-align: middle;
	transition: background-color .15s ease;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

li.waka-menu-icon > a:hover::before {
	background-color: #a0bf38;
}

li.waka-menu-cart > a::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1.5'/%3E%3Ccircle cx='19' cy='21' r='1.5'/%3E%3Cpath d='M2 3h3l2.7 12.4a1 1 0 0 0 1 .8h9.9a1 1 0 0 0 1-.8L22 7H6'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1.5'/%3E%3Ccircle cx='19' cy='21' r='1.5'/%3E%3Cpath d='M2 3h3l2.7 12.4a1 1 0 0 0 1 .8h9.9a1 1 0 0 0 1-.8L22 7H6'/%3E%3C/svg%3E");
}

li.waka-menu-account > a::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4.4 3.6-8 8-8s8 3.6 8 8'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4.4 3.6-8 8-8s8 3.6 8 8'/%3E%3C/svg%3E");
}

/* Im Mobilmenue Icon + Text nebeneinander anzeigen */
.et_mobile_menu li.waka-menu-icon > a {
	font-size: 14px !important;
}

.et_mobile_menu li.waka-menu-icon > a::before {
	width: 17px;
	height: 17px;
	margin-right: 8px;
}

/* =========================================================================
   Mein Konto (Login, Registrierung, Kundenbereich)
   ========================================================================= */

.waka-account__intro {
	font-size: 15px;
	color: #555;
	max-width: 760px;
	margin-bottom: 22px;
}

/* Login-/Registrieren-Karten nebeneinander */
.woocommerce-account .u-column1,
.woocommerce-account .u-column2 {
	background: #fff;
	border: 1px solid var(--waka-border);
	border-radius: 6px;
	padding: 22px 24px !important;
}

.woocommerce-account .u-column1 h2,
.woocommerce-account .u-column2 h2,
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
	color: var(--waka-dark);
	font-size: 22px;
	margin-bottom: 14px;
}

.woocommerce-account .woocommerce form .form-row input.input-text,
.woocommerce-account .woocommerce form .form-row input {
	border: 1px solid var(--waka-border) !important;
	border-radius: 4px;
	padding: 10px 12px !important;
	background: #fff !important;
	font-size: 15px;
}

.woocommerce-account form .form-row input.input-text:focus {
	border-color: var(--waka-green) !important;
	outline: none;
	box-shadow: 0 0 0 2px rgba(160, 191, 56, .25);
}

.woocommerce-account .woocommerce .button,
.woocommerce-account .woocommerce button.button {
	background: var(--waka-green) !important;
	color: #fff !important;
	border: 2px solid var(--waka-green) !important;
	border-radius: 4px !important;
	font-weight: 700 !important;
	padding: 10px 20px !important;
	transition: background .15s ease, border-color .15s ease;
}

.woocommerce-account .woocommerce .button:hover,
.woocommerce-account .woocommerce button.button:hover {
	background: var(--waka-dark) !important;
	border-color: var(--waka-dark) !important;
	color: #fff !important;
}

.woocommerce-account .lost_password a,
.woocommerce-account .woocommerce-privacy-policy-text {
	font-size: 13.5px;
	color: #777;
}

/* Eingeloggter Bereich: Navigation als Seitenleisten-Box */
.woocommerce-account .woocommerce-MyAccount-navigation {
	background: #fff;
	border: 1px solid var(--waka-border);
	border-radius: 6px;
	padding: 10px 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 10px 20px;
	color: var(--waka-text);
	text-decoration: none;
	font-size: 15px;
	border-left: 4px solid transparent;
	transition: background .15s ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
	background: var(--waka-bg-green-soft);
	color: var(--waka-dark);
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	border-left-color: var(--waka-green);
	background: var(--waka-bg-green-soft);
	color: var(--waka-dark);
	font-weight: 700;
}

.woocommerce-account .woocommerce-MyAccount-content {
	background: #fff;
	border: 1px solid var(--waka-border);
	border-radius: 6px;
	padding: 22px 24px;
	font-size: 15px;
}

/* Bestellungen-Tabelle im Shop-Look */
.woocommerce-account .woocommerce-MyAccount-content table.shop_table {
	border: 1px solid var(--waka-border) !important;
	border-radius: 6px;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	font-size: 14px;
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table thead th {
	background: var(--waka-dark);
	color: #fff;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .03em;
	padding: 10px 12px;
	border: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table td {
	border: 0 !important;
	border-top: 1px solid var(--waka-border) !important;
	padding: 10px 12px;
	vertical-align: middle;
}

/* =========================================================================
   Responsive
   ========================================================================= */

@media (max-width: 980px) {
	.waka-archive__layout {
		grid-template-columns: 1fr;
	}

	.waka-archive__filters {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
		gap: 14px;
	}

	.waka-filter {
		margin-bottom: 0;
	}

	.waka-band__title {
		font-size: 22px;
	}
}

/* ---- Produktseiten-Grid (Divi-5-Template, 4 Spalten ohne Mobile-Regel) ----
   Spalten: 0 = Bilder, 1 = Titel/Beschreibung, 2 = Warenkorb-Seitenleiste,
   3 = Bestell-Box + Groessentabelle. Das Template definiert fix 4 Spalten,
   daher hier eigene Tablet-/Phone-Staffelung inkl. sinnvoller Reihenfolge. */

.single-product .et_pb_column_2_tb_body {
	border-color: var(--waka-border) !important;
	background-color: transparent !important;
	border-radius: 6px;
}

/* Desktop: 4 Grid-Spuren erzwingen. Divis generische Grid-Regel
   (.et-db #et-boc ... et_grid_row {--column-count:3}) schlaegt sonst per
   ID-Spezifitaet die Template-Regel (4) — dadurch rutschte die
   Warenkorb-Spalte von rechts unter die Bilder. Original-Layout:
   Bilder(1) | Info(span 2) | Warenkorb(Spur 4, ueber 2 Zeilen),
   darunter Bestell-Box (span 3). */
@media (min-width: 981px) {
	.et-db #et-boc .et-l .et_pb_row_0_tb_body,
	.single-product .et_pb_row_0_tb_body {
		--column-count: 4 !important;
	}
}

/* Leerer Warenkorb: Das Divi-Cart-Modul rendert im Produkt-Template dann
   GAR KEIN Markup — Platzhalter-Box direkt in der Spalte anzeigen. */
.single-product.waka-cart-empty .et_pb_column_2_tb_body::before {
	content: "Ihr Warenkorb ist noch leer.";
	display: block;
	width: 100%;
	align-self: flex-start;
	background: #fff;
	border: 1px solid var(--waka-border);
	border-radius: 6px;
	padding: 16px;
	font-size: 14.5px;
	color: var(--waka-text);
}

/* Seitenleisten-Warenkorb: Gutschein-Zeile ausblenden (gibt es im Warenkorb
   und in der Kasse), Aktualisieren-Button in voller Breite mit klarem
   aktiv/inaktiv-Zustand */
.single-product .et_pb_wc_cart_products td.actions {
	padding: 12px 8px 4px;
}

.single-product .et_pb_wc_cart_products td.actions .coupon {
	display: none;
}

.single-product .et_pb_wc_cart_products button[name="update_cart"] {
	display: block;
	width: 100%;
}

.single-product .et_pb_wc_cart_products .button:disabled,
.single-product .et_pb_wc_cart_products .button[disabled],
.woocommerce-cart .button:disabled,
.woocommerce-cart button.button:disabled {
	background: #d6d6d6 !important;
	border-color: #d6d6d6 !important;
	color: #8a8a8a !important;
	cursor: default;
}

@media (max-width: 980px) {
	.single-product .et_pb_row_0_tb_body {
		--column-count: 2 !important;
		--horizontal-gap: 24px;
		--vertical-gap: 24px;
	}

	/* 2x2: oben Bilder + Info, darunter Bestell-Box + Warenkorb */
	.single-product .et_pb_column_0_tb_body { order: 1; }
	.single-product .et_pb_column_1_tb_body { order: 2; }
	.single-product .et_pb_column_3_tb_body { order: 3; }
	.single-product .et_pb_column_2_tb_body { order: 4; }
}

@media (max-width: 767px) {
	.single-product .et_pb_row_0_tb_body {
		--column-count: 1 !important;
		--horizontal-gap: 16px;
		--vertical-gap: 18px;
	}
	/* Gestapelt: Bilder → Info → Bestell-Box → Warenkorb zuletzt
	   (order-Werte aus der Tablet-Regel gelten weiter) */
}

/* ---- Smartphones & kleine Tablets ---------------------------------------- */

@media (max-width: 768px) {

	/* Titelbaender kompakt */
	.waka-band {
		padding: 14px 0 12px;
	}

	.waka-band__title {
		font-size: 22px;
	}

	.woocommerce-checkout h1.entry-title {
		font-size: 22px;
		padding-top: 14px;
		padding-bottom: 12px;
		margin-bottom: 18px;
	}

	/* Produktseite: Bestell-Box */
	.waka-buy {
		padding: 16px 14px;
	}

	.waka-buy__qty-row {
		flex-wrap: wrap;
		gap: 10px;
	}

	.waka-buy__sum {
		font-size: 21px;
	}

	table.waka-staffel {
		font-size: 13.5px;
	}

	.waka-staffel thead th {
		padding: 7px 6px;
		font-size: 11px;
	}

	/* Groessentabelle im Toggle: kompakter, horizontales Wischen */
	.waka-toggle__title {
		padding: 13px 14px;
		font-size: 16px;
	}

	.waka-toggle__content {
		padding: 0 12px 14px;
	}

	table.waka-ot__table {
		font-size: 12.5px;
	}

	.waka-ot__table thead th,
	.waka-ot__table tbody td {
		padding: 7px 8px;
	}

	/* Warenkorb: gestapelte Artikel als Karten (Woo blendet den Tabellenkopf
	   aus und stellt die Zellen mit data-title-Labels untereinander) */
	.woocommerce-cart table.shop_table_responsive tr {
		display: block;
		border-bottom: 2px solid var(--waka-border);
		padding: 6px 0;
	}

	.woocommerce-cart table.shop_table_responsive td {
		border-top: 0 !important;
		padding: 7px 12px;
	}

	.woocommerce-cart table.shop_table td.product-name a {
		font-size: 15px;
	}

	.woocommerce-cart .quantity .qty {
		width: 110px;
	}

	.woocommerce-cart #coupon_code {
		width: 100% !important;
		margin-bottom: 10px;
	}

	.woocommerce-cart table.cart td.actions .button {
		width: 100%;
		margin-bottom: 8px;
	}

	.woocommerce-cart .checkout-button {
		font-size: 15px !important;
	}

	/* Kasse: Boxen und Bestelluebersicht kompakt */
	.woocommerce-checkout .et_pb_wc_checkout_order_details,
	.woocommerce-checkout .et_pb_wc_checkout_payment_info {
		padding: 14px !important;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order-table {
		font-size: 14px;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order-table td,
	.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th {
		padding: 8px 9px;
	}

	.woocommerce-checkout #payment .wc_payment_method > label {
		padding: 12px;
		font-size: 15px;
	}

	.woocommerce-checkout p.legal.form-row label {
		font-size: 14px !important;
	}

	/* Mein Konto: Navigation und Inhalt untereinander, volle Breite */
	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content {
		width: 100% !important;
		float: none !important;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation {
		margin-bottom: 16px;
	}

	.woocommerce-account .woocommerce-MyAccount-content {
		padding: 16px 14px;
	}

	/* Login-/Registrieren-Karten untereinander */
	.woocommerce-account .col2-set .col-1,
	.woocommerce-account .col2-set .col-2,
	.woocommerce-account .u-column1,
	.woocommerce-account .u-column2 {
		width: 100% !important;
		float: none !important;
		max-width: 100%;
	}

	.woocommerce-account .u-column1 {
		margin-bottom: 18px;
	}

	/* Warenkorb-Seitenleiste der Produktseite: volle Breite, etwas groesser */
	.single-product .et_pb_wc_cart_products,
	.single-product .et_pb_wc_cart_totals {
		padding: 14px !important;
	}
}

@media (max-width: 600px) {
	.waka-archive__grid {
		grid-template-columns: 1fr;
	}

	.waka-buy__details {
		grid-template-columns: 1fr;
	}

	.waka-shop-container {
		padding-top: 18px;
	}

	/* Bestell-Box: Warenkorb-Button und Stepper volle Breite */
	.waka-buy__cart-btn {
		font-size: 15px;
	}

	.waka-qty__input {
		width: 72px;
	}

	/* Vergleichstabelle: Hinweis zum seitlichen Wischen */
	.waka-ot__scroll::after {
		content: "\2190 Zum Vergleichen seitlich wischen \2192";
		display: block;
		text-align: center;
		font-size: 11.5px;
		color: #999;
		padding: 6px 0;
		background: var(--waka-bg-soft);
	}
}
