/* WooCommerce — helles Shop-Design (Next-Look) */

.woocommerce .woocommerce-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 20px;
	font-size: 14px;
	font-weight: 500;
	color: var(--ss-muted);
}

.woocommerce .woocommerce-breadcrumb a {
	color: var(--ss-muted);
}

.woocommerce .woocommerce-breadcrumb a:hover {
	color: var(--ss-accent-dark);
}

.woocommerce .woocommerce-products-header__title,
.woocommerce-products-header__title.page-title,
.woocommerce h1.page-title {
	font-family: var(--ss-display);
	font-size: clamp(32px, 4vw, 44px);
	font-weight: 700;
	margin: 0 0 8px;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
	color: var(--ss-muted);
	margin-bottom: 18px;
}

.woocommerce .woocommerce-ordering select {
	min-height: 44px;
	border: 1px solid var(--ss-border);
	border-radius: 999px;
	padding: 0 16px;
	background: #fff;
}

.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 20px;
	margin: 0 0 28px !important;
	padding: 0;
	list-style: none;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none !important;
}

.woocommerce ul.products li.product {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent;
	border: 0;
	text-align: left;
	position: relative;
}

.woocommerce ul.products li.product .woocommerce-loop-product__link {
	display: block;
}

.woocommerce ul.products li.product img {
	width: 100%;
	aspect-ratio: 11 / 14;
	object-fit: contain;
	background: var(--ss-surface);
	border: 1px solid var(--ss-border);
	border-radius: var(--ss-radius);
	box-shadow: var(--ss-shadow);
	margin: 0 0 12px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
	padding: 0;
	margin: 0 0 6px;
	color: var(--ss-text);
}

.woocommerce ul.products li.product .price {
	color: var(--ss-text) !important;
	font-weight: 700;
	font-size: 15px;
	padding: 0;
	margin: 0;
}

.woocommerce ul.products li.product .price del {
	color: var(--ss-muted);
	opacity: 0.8;
}

.woocommerce ul.products li.product .price ins {
	text-decoration: none;
	color: var(--ss-accent-dark);
}

.woocommerce ul.products li.product .button {
	margin-top: 10px;
	width: 100%;
}

.woocommerce span.onsale {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	min-height: 28px;
	line-height: 28px;
	padding: 0 10px;
	background: var(--ss-accent-bright);
	color: var(--ss-accent-dark);
	font-weight: 700;
	font-size: 12px;
	border-radius: 999px;
}

@media (hover: hover) {
	.woocommerce ul.products li.product {
		transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
	}

	.woocommerce ul.products li.product:hover {
		transform: translateY(-6px);
	}

	.woocommerce ul.products li.product:hover img {
		box-shadow: 0 20px 48px rgba(20, 36, 20, 0.14);
	}
}

/* Single product — Next-Look (ss-product-page) */
.ss-product-page {
	padding-top: 40px;
	padding-bottom: 60px;
}

.woocommerce div.product {
	color: var(--ss-text);
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	gap: 48px;
	align-items: start;
}

.woocommerce div.product .woocommerce-product-gallery {
	margin: 0;
	width: 100% !important;
	float: none !important;
}

.woocommerce div.product .summary {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

.woocommerce div.product .woocommerce-product-gallery__image img,
.woocommerce div.product .woocommerce-product-gallery__wrapper img {
	border-radius: var(--ss-radius);
	border: 1px solid var(--ss-border);
	background: #fff;
	aspect-ratio: 11 / 14;
	object-fit: contain;
	width: 100%;
	box-shadow: var(--ss-shadow);
}

.woocommerce div.product .flex-control-thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}

.woocommerce div.product .flex-control-thumbs li {
	width: 72px;
	float: none;
	margin: 0;
}

.woocommerce div.product .flex-control-thumbs img {
	border: 2px solid var(--ss-border);
	border-radius: 10px;
	aspect-ratio: 3 / 4;
	object-fit: contain;
	background: #fff;
	opacity: 1;
}

.woocommerce div.product .flex-control-thumbs .flex-active {
	border-color: var(--ss-accent-dark);
	box-shadow: 0 0 0 2px rgba(172, 226, 4, 0.35);
}

.woocommerce div.product .product_title {
	font-family: var(--ss-display);
	font-size: clamp(28px, 4vw, 40px);
	font-weight: 600;
	line-height: 1.2;
	margin: 0 0 12px;
}

.woocommerce div.product p.price {
	color: var(--ss-text);
	font-size: 24px;
	font-weight: 700;
	margin: 0 0 24px;
}

.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .ss-product-page__desc {
	color: var(--ss-muted);
	font-size: 16px;
	line-height: 1.65;
	margin: 0 0 24px;
}

.woocommerce div.product .ss-product-page__desc p {
	margin: 0;
}

.woocommerce div.product .stock {
	margin: -8px 0 20px;
	font-size: 14px;
	font-weight: 600;
}

.woocommerce div.product .stock.in-stock {
	color: var(--ss-accent-dark);
}

.woocommerce div.product .stock.out-of-stock {
	color: #b42318;
}

.woocommerce div.product form.cart {
	margin-top: 8px;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 16px;
}

/* Varianten + Zusatzdruck brauchen volle Breite im Flex-Formular */
.woocommerce div.product form.cart .ss-pv,
.woocommerce div.product form.cart .wczd {
	flex: 1 1 100%;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.woocommerce div.product form.cart .quantity {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
}

.woocommerce div.product .ss-product-page__qty-label {
	font-size: 12px;
	font-weight: 600;
	color: var(--ss-muted);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.woocommerce div.product form.cart .quantity .qty {
	min-height: 44px;
	width: 72px;
	border: 1px solid var(--ss-border);
	border-radius: 10px;
	text-align: center;
	background: var(--ss-bg);
}

.woocommerce div.product form.cart .single_add_to_cart_button {
	min-height: 48px;
	padding-left: 28px;
	padding-right: 28px;
	border-radius: 999px !important;
	background: var(--ss-accent-bright) !important;
	color: var(--ss-accent-dark) !important;
	font-weight: 700;
	border: 2px solid var(--ss-accent-dark) !important;
}

.woocommerce div.product .product_meta {
	display: none;
}

.woocommerce div.product .ss-product-page__long-desc,
.woocommerce div.product .related.products,
.woocommerce div.product .upsells.products {
	grid-column: 1 / -1;
}

.ss-product-page__long-desc {
	margin-top: 56px;
	padding-top: 40px;
	border-top: 1px solid var(--ss-border);
}

.ss-product-page__long-desc h2 {
	font-family: var(--ss-display);
	font-size: clamp(22px, 3vw, 28px);
	margin: 0 0 20px;
	font-weight: 600;
	color: var(--ss-text);
}

.ss-product-page__long-desc-body {
	color: var(--ss-text);
	font-size: 16px;
	line-height: 1.7;
	max-width: 72ch;
}

.ss-product-page__long-desc-body p {
	margin: 0 0 1em;
}

.ss-product-page__long-desc-body ul,
.ss-product-page__long-desc-body ol {
	margin: 0 0 1em;
	padding-left: 1.4em;
	color: var(--ss-muted);
}

.ss-product-page__long-desc-body li {
	margin-bottom: 0.35em;
}

.ss-product-page__long-desc-body img {
	max-width: 100%;
	height: auto;
	border-radius: var(--ss-radius);
}

.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2 {
	font-family: var(--ss-display);
	font-size: clamp(22px, 3vw, 28px);
	font-weight: 600;
	margin: 0 0 24px;
}

.woocommerce .related.products {
	margin-top: 56px;
	padding-top: 40px;
	border-top: 1px solid var(--ss-border);
}

/* Related / Upsells: gleiche Karten wie Shop (Plus auf dem Bild, nicht darunter) */
.woocommerce .related.products ul.products,
.woocommerce .upsells.products ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 20px;
	margin: 0 !important;
	padding: 0;
	list-style: none;
}

.woocommerce .related.products ul.products::before,
.woocommerce .related.products ul.products::after,
.woocommerce .upsells.products ul.products::before,
.woocommerce .upsells.products ul.products::after {
	display: none !important;
}

.woocommerce .related.products .ss-product,
.woocommerce .upsells.products .ss-product {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
	background: transparent;
	border: 0;
	position: relative;
}

.woocommerce .related.products .ss-product__img,
.woocommerce .upsells.products .ss-product__img {
	position: relative;
	aspect-ratio: 11 / 14;
	margin-bottom: 12px;
}

.woocommerce .related.products .ss-product__img-link,
.woocommerce .upsells.products .ss-product__img-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: var(--ss-surface);
	border: 1px solid var(--ss-border);
	border-radius: var(--ss-radius);
	overflow: hidden;
	box-shadow: var(--ss-shadow);
}

.woocommerce .related.products .ss-product__img img,
.woocommerce .upsells.products .ss-product__img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	aspect-ratio: auto !important;
}

.woocommerce .related.products .ss-product__add,
.woocommerce .upsells.products .ss-product__add {
	position: absolute;
	bottom: 10px;
	right: 10px;
	z-index: 2;
	width: 32px;
	height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--ss-accent-dark);
	color: #fff !important;
	border: none;
	border-radius: 50%;
	font-size: 20px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.woocommerce .related.products .ss-product h4,
.woocommerce .upsells.products .ss-product h4 {
	margin: 0 0 6px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
	padding: 0;
}

.woocommerce .related.products .ss-product__price,
.woocommerce .upsells.products .ss-product__price {
	margin: 0;
	font-weight: 700;
	font-size: 15px;
}

@media (max-width: 900px) {
	.woocommerce .related.products ul.products,
	.woocommerce .upsells.products ul.products {
		grid-template-columns: repeat(2, 1fr);
		gap: 14px;
	}
}

@media (max-width: 900px) {
	.ss-product-page__long-desc {
		margin-top: 40px;
		padding-top: 28px;
	}
}

/* Shop / Kategorie */
.ss-shop {
	padding-top: 40px;
	padding-bottom: 60px;
}

.ss-shop .woocommerce-products-header {
	margin-bottom: 28px;
}

.ss-shop .woocommerce-products-header__title,
.ss-shop .woocommerce-products-header .page-title {
	font-family: var(--ss-display);
	font-size: clamp(32px, 4vw, 44px);
	font-weight: 600;
	margin: 0 0 8px;
}

.ss-shop .term-description,
.ss-shop .woocommerce-products-header .term-description {
	color: var(--ss-muted);
	font-size: 16px;
	margin: 0;
	max-width: 60ch;
}

.ss-shop .woocommerce-result-count,
.ss-shop .woocommerce-ordering {
	margin-bottom: 18px;
}

@media (max-width: 900px) {
	.woocommerce div.product {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.ss-product-page {
		padding-top: 24px;
	}
}

/* Cart / Checkout / Account */
.woocommerce table.shop_table {
	background: #fff;
	border: 1px solid var(--ss-border);
	border-radius: var(--ss-radius);
	border-collapse: separate;
	overflow: hidden;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	border-color: var(--ss-border);
	padding: 14px;
}

.woocommerce-cart-form,
.cart-collaterals,
.woocommerce-checkout,
.woocommerce-MyAccount-content,
.woocommerce-MyAccount-navigation {
	color: var(--ss-text);
}

.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
	display: grid;
	gap: 8px;
}

.woocommerce-MyAccount-navigation a {
	display: block;
	padding: 12px 16px;
	border: 1px solid var(--ss-border);
	border-radius: 12px;
	background: #fff;
	font-weight: 600;
}

.woocommerce-MyAccount-navigation .is-active a {
	border-color: var(--ss-accent);
	box-shadow: 0 0 0 1px var(--ss-accent);
}

.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
	border-top-color: var(--ss-accent);
	background: #fff;
	color: var(--ss-text);
	border-radius: 12px;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	background: #fff;
	border: 1px solid var(--ss-border);
	border-radius: 12px;
	min-height: 46px;
	color: var(--ss-text);
}

.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	border-radius: 999px !important;
}

.cart_totals,
.woocommerce-checkout-review-order {
	background: #fff;
	border: 1px solid var(--ss-border);
	border-radius: var(--ss-radius);
	padding: 20px;
}

/* —— Mein Konto (Login / Registrierung) —— */
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
	background: var(--ss-surface);
	border: 1px solid var(--ss-border);
	border-radius: var(--ss-radius-lg);
	padding: 24px !important;
	box-shadow: var(--ss-shadow);
	margin: 0 0 20px !important;
}

.woocommerce-account .woocommerce-form-login h2,
.woocommerce-account .woocommerce-form-register h2 {
	font-family: var(--ss-display);
	font-size: 18px !important;
	font-weight: 700 !important;
	margin: 0 0 16px !important;
	color: var(--ss-text);
}

.woocommerce-account .woocommerce-Input,
.woocommerce-account .woocommerce-Input--text {
	width: 100% !important;
	background: var(--ss-surface) !important;
	border: 1.5px solid var(--ss-border) !important;
	border-radius: 12px !important;
	min-height: 52px !important;
	padding: 12px 16px !important;
	color: var(--ss-text) !important;
	font-family: var(--ss-font) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	box-shadow: none !important;
}

.woocommerce-account .woocommerce-Input:focus,
.woocommerce-account .woocommerce-Input--text:focus {
	border-color: var(--ss-accent) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--ss-accent-bright) 45%, transparent) !important;
	outline: none !important;
}

.woocommerce-account .woocommerce-button,
.woocommerce-account .woocommerce-Button {
	background: var(--ss-accent-bright) !important;
	color: var(--ss-accent-dark) !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-family: var(--ss-display) !important;
	font-weight: 700 !important;
	min-height: 52px !important;
	padding: 14px 28px !important;
	box-shadow: none !important;
	text-decoration: none !important;
}

.woocommerce-account .woocommerce-button:hover,
.woocommerce-account .woocommerce-Button:hover {
	background: #c4f204 !important;
}

.woocommerce-account .woocommerce-LostPassword a,
.woocommerce-account a {
	color: inherit;
}

.woocommerce-account .woocommerce-LostPassword a:hover,
.woocommerce-account a:hover {
	color: var(--ss-accent-dark) !important;
}

.woocommerce-account {
	max-width: var(--ss-container);
	margin: 0 auto;
	padding-left: max(var(--ss-gutter), env(safe-area-inset-left, 0px));
	padding-right: max(var(--ss-gutter), env(safe-area-inset-right, 0px));
}

@media (max-width: 768px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
	}

	/* Mein Konto: Login/Registrieren untereinander, damit nichts zu breit wird */
	.woocommerce-account .u-column1.col-1,
	.woocommerce-account .u-column2.col-2 {
		float: none !important;
		width: 100% !important;
		display: block !important;
	}
}
