/* ============================================================
   Schönhalde — Custom Single Product Layout
   Mirrors product-page-mockup.html. Font family inherits from
   theme everywhere in the hero panel. Sizes / colors / spacing
   are explicit. Thumb strip sits below the main image.
   ============================================================ */

/* Hide Betheme Subheader on product pages */
#Subheader { display: none !important; }

/* ------------------------------------------------------------
   Design tokens
   ------------------------------------------------------------ */
.schoen-product-main {
	--accent:       #faaf40;
	--accent-dark:  #e89a1f;
	--accent-soft:  #fff6e6;
	--ink:          #1a1a1a;
	--ink-2:        #4a4a4a;
	--ink-3:        #7a7a7a;
	--link:         #e89a1f;
	--line:         #ececec;
	--line-2:       #f4f1ec;
	--bg:           #ffffff;
	--bg-soft:      #faf8f4;
	--radius:       14px;
	--radius-sm:    10px;
	--radius-pill:  999px;
	--shadow-sm:    0 1px 2px rgba(0,0,0,.04), 0 1px 1px rgba(0,0,0,.03);
	--serif:        "Cormorant Garamond", "Playfair Display", "Times New Roman", Georgia, serif;

	font-size: 16px;
	line-height: 1.65;
	color: var(--ink);
}
/* No global link override — color is opted in per-section (breadcrumb,
   short description, urnenheader, urnenfooter, meta-card). Other links
   (product cards in related, theme-styled buttons, etc.) inherit defaults. */

/* ------------------------------------------------------------
   Container
   ------------------------------------------------------------ */
.schoen-container {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 24px;
}

/* ------------------------------------------------------------
   Breadcrumb
   ------------------------------------------------------------ */
.schoen-breadcrumb {
	padding: 22px 0 8px;
	font-size: 13px;
	line-height: 1.5;
	color: var(--ink-3);
}
.schoen-breadcrumb .woocommerce-breadcrumb,
.schoen-breadcrumb .woocommerce-breadcrumb a {
	font-size: 13px;
	color: var(--ink-3);
	margin: 0;
	padding: 0;
}
.schoen-breadcrumb .woocommerce-breadcrumb a:hover { color: var(--ink); }
.schoen-breadcrumb .sep { margin: 0 8px; opacity: .5; }

/* ------------------------------------------------------------
   Hero
   ------------------------------------------------------------ */
.schoen-product-container {
	display: grid;
	gap: 56px;
	grid-template-columns: 1fr;
	padding: 8px 0 64px;
}
@media (min-width: 981px) {
	.schoen-product-container {
		grid-template-columns: minmax(0, 1.4fr) minmax(360px, .9fr);
		align-items: start;
	}
}

/* ------------------------------------------------------------
   Gallery — main image on top, horizontal thumbnail row below
   ------------------------------------------------------------ */
.schoen-product-gallery { min-width: 0; }

.schoen-desktop-gallery { display: none; }
.schoen-mobile-gallery  { display: block; }
@media (min-width: 769px) {
	.schoen-desktop-gallery {
		display: flex;
		flex-direction: column;
		gap: 14px;
	}
	.schoen-mobile-gallery { display: none; }
}

/* Thumbnail carousel (under main image) — single row, arrow-paged */
.schoen-thumb-carousel {
	position: relative;
	display: flex;
	align-items: center;
	gap: 8px;
}
.schoen-thumb-rail {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 10px;
	flex: 1 1 auto;
	min-width: 0;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-ms-overflow-style: none;
	padding: 2px 0;
}
.schoen-thumb-rail::-webkit-scrollbar { display: none; }
.schoen-thumb {
	all: unset;
	width: 88px;
	height: 88px;
	border-radius: var(--radius-sm);
	border: 1.5px solid var(--line);
	overflow: hidden;
	cursor: pointer;
	background: var(--bg-soft);
	box-sizing: border-box;
	flex: 0 0 88px;
	scroll-snap-align: start;
	transition: border-color .15s, transform .15s;
}
.schoen-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.schoen-thumb:hover { border-color: #d4d4d4; }
.schoen-thumb.is-active { border-color: var(--accent); }

.schoen-thumb-nav {
	all: unset;
	flex: 0 0 auto;
	width: 32px;
	height: 88px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--radius-sm);
	border: 1.5px solid var(--line);
	background: var(--bg);
	color: var(--ink);
	cursor: pointer;
	box-sizing: border-box;
	transition: border-color .15s, background .15s, color .15s, opacity .15s;
}
.schoen-thumb-nav:hover:not(:disabled) {
	border-color: var(--accent);
	color: var(--accent);
}
.schoen-thumb-nav:disabled {
	opacity: .35;
	cursor: default;
}
.schoen-thumb-nav svg { display: block; }

/* Main image stage */
.schoen-gallery-main {
	position: relative;
	aspect-ratio: 1 / 1;
	background: var(--bg-soft);
	border-radius: var(--radius);
	overflow: hidden;
	cursor: zoom-in;
	width: 100%;
}
.schoen-gallery-main .schoen-main-img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	transition: opacity .15s ease;
}
.schoen-gallery-main.is-swapping .schoen-main-img { opacity: .55; }

/* Desktop-only prev/next arrows overlaid on the main image */
.schoen-main-nav {
	all: unset;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(255, 255, 255, .92);
	color: var(--ink);
	box-shadow: var(--shadow-sm);
	cursor: pointer;
	z-index: 3;
	opacity: 0;
	transition: opacity .2s ease, background .2s ease, color .2s ease, transform .2s ease;
}
.schoen-gallery-main:hover .schoen-main-nav,
.schoen-main-nav:focus-visible { opacity: 1; }
.schoen-main-nav:hover {
	background: var(--accent);
	color: #fff;
}
.schoen-main-nav.schoen-main-prev { left: 14px; }
.schoen-main-nav.schoen-main-next { right: 14px; }
.schoen-main-nav svg { display: block; }
@media (max-width: 980px) {
	.schoen-main-nav { display: none; }
}

/* Top-left badge ("HANDARBEIT · KERAMIK") */
.schoen-badge {
	position: absolute;
	top: 14px;
	left: 14px;
	background: var(--bg);
	color: var(--ink);
	border-radius: var(--radius-pill);
	padding: 6px 14px;
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	box-shadow: var(--shadow-sm);
	z-index: 2;
}

/* Top-right zoom hint */
.schoen-zoom-trigger {
	all: unset;
	position: absolute;
	top: 14px;
	right: 14px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 12px;
	border-radius: var(--radius-pill);
	background: rgba(255, 255, 255, .92);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	font-size: 12px;
	line-height: 1;
	color: var(--ink-2);
	cursor: pointer;
	box-sizing: border-box;
	z-index: 2;
}

/* Mobile gallery — CSS scroll-snap */
.schoen-mobile-gallery { margin: 0 -24px; }
.schoen-mobile-track {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.schoen-mobile-track::-webkit-scrollbar { display: none; }
.schoen-mobile-slide {
	flex: 0 0 100%;
	scroll-snap-align: center;
	aspect-ratio: 1 / 1;
	background: var(--bg-soft);
}
.schoen-mobile-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.schoen-mobile-dots {
	display: flex;
	justify-content: center;
	gap: 6px;
	padding: 14px 0 4px;
}
.schoen-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #d4d4d4;
	transition: background .15s, transform .15s;
}
.schoen-dot.is-active { background: var(--ink); transform: scale(1.3); }

.schoen-gallery-placeholder {
	aspect-ratio: 1 / 1;
	border-radius: var(--radius);
	overflow: hidden;
	background: var(--bg-soft);
}
.schoen-gallery-placeholder img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* ------------------------------------------------------------
   Lightbox
   ------------------------------------------------------------ */
.schoen-lightbox {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: none;
	align-items: center;
	justify-content: center;
}
.schoen-lightbox.is-open { display: flex; }
.schoen-lightbox-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .92);
}
.schoen-lightbox-content {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 60px;
	box-sizing: border-box;
}
.schoen-lightbox-stage {
	position: relative;
	width: 100%;
	height: 100%;
	max-width: 1200px;
	max-height: 900px;
}
.schoen-lightbox-slide {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity .25s ease;
	pointer-events: none;
}
.schoen-lightbox-slide.is-active { opacity: 1; pointer-events: auto; }
.schoen-lightbox-slide img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	user-select: none;
}
.schoen-lightbox-close,
.schoen-lightbox-prev,
.schoen-lightbox-next {
	all: unset;
	position: absolute;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .12);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background .15s;
	box-sizing: border-box;
}
.schoen-lightbox-close:hover,
.schoen-lightbox-prev:hover,
.schoen-lightbox-next:hover {
	background: rgba(255, 255, 255, .22);
}
.schoen-lightbox-close { top: 20px; right: 20px; }
.schoen-lightbox-prev  { left:  20px; top: 50%; transform: translateY(-50%); }
.schoen-lightbox-next  { right: 20px; top: 50%; transform: translateY(-50%); }
.schoen-lightbox-counter {
	position: absolute;
	top: 28px;
	left: 50%;
	transform: translateX(-50%);
	color: rgba(255, 255, 255, .8);
	font-size: 13px;
	letter-spacing: .04em;
}
@media (max-width: 600px) {
	.schoen-lightbox-content { padding: 40px 12px; }
	.schoen-lightbox-prev,
	.schoen-lightbox-next { width: 40px; height: 40px; }
}

/* ============================================================
   Summary panel — mockup parity
   ============================================================ */
.schoen-product-info { min-width: 0; }
@media (min-width: 981px) {
	.schoen-product-info-inner {
		position: sticky;
		top: 90px;
		padding: 28px;
		background: var(--bg);
		border: 1px solid var(--line);
		border-radius: var(--radius);
		box-shadow: var(--shadow-sm);
	}
}

/* Article-number pill at the top */
.schoen-article-pill {
	display: inline-block;
	border: 1px solid var(--line);
	padding: 6px 14px;
	border-radius: var(--radius-pill);
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--ink-2);
	font-weight: 600;
	margin-bottom: 18px;
}

/* Title — inherit family, mockup size */
.schoen-product-title,
.schoen-product-main h1.product_title {
	font-family: inherit;
	font-weight: 500;
	font-size: 32px;
	line-height: 1.15;
	letter-spacing: -.01em;
	color: var(--ink);
	margin: 0 0 12px !important;
}

/* Meta row: ● Lieferbar · blurb */
.schoen-product-meta-row {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	font-size: 13px;
	color: var(--ink-3);
	margin-bottom: 22px;
}
.schoen-availability {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #2e7d32;
	font-weight: 500;
}
.schoen-availability::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #2e7d32;
	box-shadow: 0 0 0 3px rgba(46, 125, 50, .15);
}
.schoen-availability--out { color: #b03a2e; }
.schoen-availability--out::before { background: #b03a2e; box-shadow: 0 0 0 3px rgba(176, 58, 46, .15); }
.schoen-meta-sep {
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: var(--line);
	display: inline-block;
}

/* Price — inherit family, accent color */
.schoen-product-price {
	font-family: inherit;
	font-weight: 600;
	font-size: 28px;
	line-height: 1.1;
	letter-spacing: -.01em;
	color: var(--accent-dark);
	margin: 0 0 4px;
}
.schoen-product-price .woocommerce-Price-amount {
	color: var(--accent-dark);
	font-weight: 600;
}
/* Hide WC's inline "incl. 19% USt" suffix — we render our own .schoen-tax-note below */
.schoen-product-price .woocommerce-price-suffix { display: none; }
.schoen-product-price del {
	color: var(--ink-3);
	font-size: .6em;
	margin-right: 8px;
	opacity: .8;
	font-family: inherit;
}
.schoen-product-price ins { text-decoration: none; }
.schoen-tax-note {
	font-size: 12.5px;
	color: var(--ink-3);
	margin-bottom: 0;
}

/* Divider */
.schoen-divider {
	border: 0;
	height: 1px;
	background: var(--line);
	margin: 24px 0;
}

/* Short description */
.schoen-product-short {
	font-size: 15px;
	line-height: 1.7;
	color: var(--ink-2);
	margin: 0 0 22px;
}
.schoen-product-short p:last-child { margin-bottom: 0; }
.schoen-product-short a { color: var(--link); }
.schoen-product-short a:hover { text-decoration: underline; }

/* ----- Variation table -----
   Force the WC variations <table> to render as stacked blocks
   (label on top, full-width select below) — Betheme's parent CSS
   keeps table-cell behavior, so we use !important + collapse spacing. */
.schoen-cart-wrap table.variations {
	margin: 0 0 18px !important;
	border: 0 !important;
	border-collapse: collapse !important;
	width: 100%;
	display: block !important;
}
.schoen-cart-wrap table.variations tbody { display: block !important; width: 100%; }
.schoen-cart-wrap table.variations tr {
	display: block !important;
	width: 100%;
	margin: 0 0 14px;
	border: 0 !important;
	background: transparent !important;
}
.schoen-cart-wrap table.variations tr:last-child { margin-bottom: 0; }
.schoen-cart-wrap table.variations th.label,
.schoen-cart-wrap table.variations td.label {
	display: block !important;
	width: 100% !important;
	padding: 0 0 8px !important;
	background: transparent !important;
	border: 0 !important;
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--ink);
	line-height: 1.4;
	text-align: left;
}
.schoen-cart-wrap table.variations th.label label,
.schoen-cart-wrap table.variations td.label label {
	margin: 0 !important;
	padding: 0 !important;
	font-size: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
	color: inherit;
	background: transparent !important;
}
.schoen-cart-wrap table.variations td.value {
	display: block !important;
	width: 100% !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	position: relative;
}
.schoen-cart-wrap table.variations select {
	width: 100% !important;
	height: auto !important;
	min-height: 48px;
	padding: 13px 44px 13px 16px !important;
	margin: 0 !important;
	border: 1.5px solid var(--line) !important;
	border-radius: var(--radius-sm) !important;
	background-color: var(--bg) !important;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 1.5L6 6.5L11 1.5' stroke='%234a4a4a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
	background-repeat: no-repeat !important;
	background-position: right 16px center !important;
	background-size: 12px 8px !important;
	font-size: 15px;
	line-height: 1.4;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	font-family: inherit;
	color: var(--ink);
	box-shadow: none !important;
	cursor: pointer;
}
.schoen-cart-wrap table.variations select:hover { border-color: #d4d4d4 !important; }
.schoen-cart-wrap table.variations select:focus {
	outline: none !important;
	border-color: var(--accent) !important;
	box-shadow: 0 0 0 3px rgba(250, 175, 64, .15) !important;
}
.schoen-cart-wrap table.variations select:disabled,
.schoen-cart-wrap table.variations select[disabled] {
	opacity: .55;
	cursor: not-allowed;
	background-color: var(--bg-soft) !important;
}
.schoen-cart-wrap table.variations select:disabled:hover {
	border-color: var(--line) !important;
}
.schoen-cart-wrap .reset_variations {
	display: inline-block;
	margin-top: 10px;
	font-size: 12px;
	color: var(--ink-3);
}
.schoen-cart-wrap .reset_variations:hover { color: var(--ink); }

/* ----- Variation result block (hidden until variation chosen) ----- */
.schoen-cart-wrap .single_variation_wrap { width: 100%; }
.schoen-cart-wrap .woocommerce-variation { width: 100%; margin-bottom: 14px; }
.schoen-cart-wrap .woocommerce-variation:empty,
.schoen-cart-wrap .single_variation:empty { display: none; }
/* Hide WC's variation price — we mirror it into the main .schoen-product-price via JS */
.schoen-cart-wrap .woocommerce-variation-price,
.schoen-cart-wrap .single_variation .price { display: none !important; }
.schoen-cart-wrap .woocommerce-variation-availability {
	font-size: 13px;
	color: var(--ink-2);
	line-height: 1.4;
}

/* ----- Qty + add-to-cart side by side ----- */
.schoen-cart-wrap form.cart:not(.variations_form) {
	display: grid;
	grid-template-columns: 130px 1fr;
	gap: 12px;
	align-items: center;
	margin: 0;
}
.schoen-cart-wrap .woocommerce-variation-add-to-cart {
	display: grid;
	grid-template-columns: 130px 1fr;
	gap: 12px;
	align-items: center;
}

/* Qty stepper — buttons live as SIBLINGS of WC's .quantity wrap (not children),
   so the input keeps its natural width inside .quantity. Group is the visible
   pill; .quantity is just a transparent flex slot inside it. */
.schoen-cart-wrap .schoen-qty-group {
	display: flex;
	align-items: stretch;
	border: 1.5px solid var(--line);
	border-radius: var(--radius-sm);
	overflow: hidden;
	width: 130px;
	background: var(--bg);
}
.schoen-cart-wrap .schoen-qty-group .quantity {
	flex: 1 1 auto;
	min-width: 0;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	display: flex !important;
	align-items: stretch;
}
/* Hide WC's screen-reader label and any Betheme +/- still trying to render */
.schoen-cart-wrap .schoen-qty-group .quantity > label,
.schoen-cart-wrap .schoen-qty-group .quantity > .minus,
.schoen-cart-wrap .schoen-qty-group .quantity > .plus,
.schoen-cart-wrap .schoen-qty-group .quantity > .qty-minus,
.schoen-cart-wrap .schoen-qty-group .quantity > .qty-plus,
.schoen-cart-wrap .schoen-qty-group .quantity > span.minus,
.schoen-cart-wrap .schoen-qty-group .quantity > span.plus,
.schoen-cart-wrap .schoen-qty-group .quantity > button:not(.schoen-qty-btn) {
	display: none !important;
}
.schoen-cart-wrap .schoen-qty-group .quantity input.qty {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	width: 100% !important;
	max-width: none !important;
	height: 48px !important;
	margin: 0 !important;
	padding: 0 4px !important;
	border: 0 !important;
	border-radius: 0 !important;
	text-align: center !important;
	font-family: inherit !important;
	font-size: 15px !important;
	line-height: 1 !important;
	background: transparent !important;
	color: var(--ink) !important;
	opacity: 1 !important;
	visibility: visible !important;
	display: block !important;
	box-shadow: none !important;
	-moz-appearance: textfield;
	appearance: textfield;
}
.schoen-cart-wrap .schoen-qty-group .quantity input.qty:focus { outline: none !important; }
.schoen-cart-wrap .schoen-qty-group .quantity input.qty::-webkit-outer-spin-button,
.schoen-cart-wrap .schoen-qty-group .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.schoen-qty-btn {
	all: unset;
	flex: 0 0 42px;
	width: 42px;
	height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	color: var(--ink-2);
	cursor: pointer;
	transition: background .15s, color .15s;
	user-select: none;
	box-sizing: border-box;
}
.schoen-qty-btn:hover {
	background: var(--bg-soft);
	color: var(--ink);
}

/* ----- Product meta card (Kategorien · Marke) under the Anfrage button ----- */
.schoen-product-info .schoen-meta-card {
	margin-top: 18px;
	padding: 14px 16px;
	border: 1px solid var(--line);
	border-radius: var(--radius-sm);
	background: var(--bg);
	font-size: 13px;
	line-height: 1.6;
	color: var(--ink-2);
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.schoen-product-info .schoen-meta-card strong {
	color: var(--ink);
	font-weight: 600;
	margin-right: 4px;
}
.schoen-product-info .schoen-meta-card a { color: var(--link); }
.schoen-product-info .schoen-meta-card a:hover { text-decoration: underline; }

/* Suppress the unstyled WC/Betheme meta + brand-plugin renders elsewhere on
   the page — we own meta now via .schoen-meta-card above. */
.schoen-product-main .product_meta,
.schoen-product-main .wc-pwb-brand-result,
.schoen-product-main .shortcode-wc-pwb-brand-block,
.schoen-product-main .wc_brand_description,
.schoen-product-main .wcpb-product-brand { display: none !important; }

/* ----- Secondary CTA (Persönliche Anfrage stellen) ----- */
.schoen-anfrage-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	height: 48px;
	margin-top: 12px;
	padding: 0 18px;
	border: 1.5px solid var(--line);
	border-radius: var(--radius-pill);
	font-size: 14px;
	font-weight: 500;
	color: var(--ink) !important;
	background: var(--bg);
	text-decoration: none;
	box-sizing: border-box;
	transition: border-color .15s, background .15s;
}
.schoen-anfrage-btn:hover {
	border-color: var(--ink);
	background: var(--bg-soft);
	text-decoration: none;
}

/* ============================================================
   Sections (urnenheader, tabs, urnenfooter, reviews, faq)
   ============================================================ */
.schoen-section {
	padding: 56px 0;
	border-top: 1px solid var(--line);
}
.schoen-section:last-child { padding-bottom: 72px; }

.schoen-section > h2,
.schoen-section h2:first-child {
	font-family: var(--serif);
	font-weight: 500;
	font-size: 34px;
	line-height: 1.15;
	letter-spacing: -.01em;
	color: var(--ink);
	margin: 0 0 28px;
}

.schoen-urnenheader,
.schoen-urnenfooter,
.schoen-product-description-inner {
	font-size: 15.5px;
	line-height: 1.85;
	color: var(--ink-2);
}
.schoen-urnenheader p,
.schoen-urnenfooter p,
.schoen-product-description-inner p { margin: 0 0 14px; }
.schoen-urnenheader a,
.schoen-urnenfooter a,
.schoen-product-description-inner a { color: var(--link); }
.schoen-urnenheader a:hover,
.schoen-urnenfooter a:hover,
.schoen-product-description-inner a:hover { text-decoration: underline; }
.schoen-product-description-inner h2,
.schoen-product-description-inner h3,
.schoen-product-description-inner h4 {
	color: var(--ink);
	margin: 24px 0 10px;
}
.schoen-product-description-inner ul,
.schoen-product-description-inner ol { margin: 0 0 14px 1.25em; }
.schoen-product-description-inner li { margin: 0 0 6px; }
.schoen-product-description-inner img { max-width: 100%; height: auto; }

/* ------------------------------------------------------------
   Related products — 4 desktop / 3 tablet / 2 mobile
   ------------------------------------------------------------ */
.schoen-related ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.schoen-related ul.products::before,
.schoen-related ul.products::after { display: none !important; }
.schoen-related ul.products > li.product {
	width: auto !important;
	max-width: none !important;
	float: none !important;
	margin: 0 !important;
	clear: none !important;
}
/* Card title — Betheme renders it as <h4 class="mfn-woo-product-title"> */
.schoen-related ul.products .mfn-woo-product-title,
.schoen-related ul.products h4.mfn-woo-product-title {
	font-size: 16px !important;
	line-height: 1.35;
	font-weight: 600;
	margin: 12px 0 6px;
	color: var(--ink);
}
.schoen-related ul.products .mfn-woo-product-title a {
	color: var(--ink);
	text-decoration: none;
}
.schoen-related ul.products .mfn-woo-product-title a:hover {
	color: var(--accent-dark);
}

/* Price */
.schoen-related ul.products .price {
	font-size: 14px !important;
	color: var(--ink-2);
	font-weight: 500;
	line-height: 1.4;
}
.schoen-related ul.products .price .woocommerce-Price-amount {
	color: var(--ink-2);
	font-weight: 500;
}
.schoen-related ul.products .price .woocommerce-price-suffix {
	color: var(--ink-3);
	font-size: 12px;
}
@media (max-width: 980px) {
	.schoen-related ul.products { grid-template-columns: repeat(3, 1fr); gap: 18px; }
}
@media (max-width: 600px) {
	.schoen-related ul.products { grid-template-columns: repeat(2, 1fr); gap: 14px; }
}

/* ------------------------------------------------------------
   Shop by category — 6 desktop / 4 tablet / 2 mobile, text pills
   ------------------------------------------------------------ */
.schoen-shop-by-category .schoen-cat-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.schoen-shop-by-category .schoen-cat-grid li {
	margin: 0;
	padding: 0;
	list-style: none;
}
.schoen-shop-by-category .schoen-cat-grid a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 56px;
	padding: 12px 14px;
	border: 1px solid var(--line);
	border-radius: var(--radius-sm);
	background: var(--bg);
	color: var(--ink);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
	transition: border-color .15s, background .15s, color .15s;
}
.schoen-shop-by-category .schoen-cat-grid a:hover {
	border-color: var(--accent);
	background: var(--accent-soft);
	color: var(--ink);
	text-decoration: none;
}
@media (max-width: 980px) {
	.schoen-shop-by-category .schoen-cat-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 600px) {
	.schoen-shop-by-category .schoen-cat-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
}

/* ------------------------------------------------------------
   Responsive
   ------------------------------------------------------------ */
@media (max-width: 980px) {
	.schoen-product-container { gap: 28px; }
	.schoen-product-info-inner {
		position: static;
		padding: 0;
		background: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}
	.schoen-product-title,
	.schoen-product-main h1.product_title { font-size: 26px; }
	.schoen-product-price { font-size: 24px; }
	.schoen-section > h2 { font-size: 28px; }
}
@media (max-width: 600px) {
	.schoen-container { padding: 0 16px; }
	.schoen-section { padding: 36px 0; }
	.schoen-thumb { width: 72px; height: 72px; flex: 0 0 72px; }
	.schoen-thumb-nav { height: 72px; width: 28px; }
	.schoen-cart-wrap form.cart:not(.variations_form),
	.schoen-cart-wrap .woocommerce-variation-add-to-cart {
		grid-template-columns: 1fr;
		gap: 10px;
	}
	.schoen-cart-wrap .quantity { margin: 0 auto; }
}
