/* Pandaleo – Streetwear-Standard. Tokens kommen aus theme.json (--wp--preset--*). */

:root {
	--pl-ink: var(--wp--preset--color--contrast);
	--pl-paper: var(--wp--preset--color--base);
	--pl-well: var(--wp--preset--color--well);
	--pl-line: var(--wp--preset--color--line);
	--pl-muted: var(--wp--preset--color--muted);
	--pl-signal: var(--wp--preset--color--signal);
	--pl-ease: var(--wp--custom--ease);
	--pl-control: var(--wp--custom--control--height);
	--pl-gutter: 1rem;
	--pl-header-h: 3.75rem;
}
@media (min-width: 782px) {
	:root { --pl-gutter: 2rem; --pl-header-h: 4.5rem; }
}

/* ---------- Browser surfaces ---------- */
html { scroll-padding-top: calc(var(--pl-header-h) + 1rem); -webkit-text-size-adjust: 100%; }
body { font-stretch: 100%; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; }
::selection { background: var(--pl-ink); color: var(--pl-paper); }
* { caret-color: var(--pl-ink); }
:where(a) { text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--pl-ink);
	outline-offset: 3px;
	border-radius: 0;
}
.has-contrast-background-color :where(a, button):focus-visible { outline-color: var(--pl-paper); }
html { scrollbar-color: #8a8a8a var(--pl-paper); }
.price, .woocommerce-Price-amount, .wc-block-components-formatted-money-amount, .wc-block-components-product-price { font-variant-numeric: tabular-nums; }

h1, h2, h3, .wp-block-heading { text-wrap: balance; font-stretch: 112%; }
p { text-wrap: pretty; }
.pl-main { padding-bottom: var(--wp--preset--spacing--50); }
.pl-main > * + * { margin-block-start: var(--wp--preset--spacing--30); }

/* ---------- Header ---------- */
.pl-announce p { margin: 0; letter-spacing: 0.04em; font-weight: 600; }
.pl-site-header, header:has(.pl-header) { position: sticky; top: 0; z-index: 50; }
.admin-bar header:has(.pl-header) { top: var(--wp-admin--admin-bar--height, 0px); }
.pl-header { border-bottom: 1px solid var(--pl-line); }
.pl-header__row {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	min-height: var(--pl-header-h);
	gap: 1rem;
}
.pl-header__row > * { margin: 0 !important; }
.pl-header__logo { justify-self: center; display: block; line-height: 0; }
.pl-header__logo img { height: 2.25rem; width: auto; }
@media (min-width: 782px) { .pl-header__logo img { height: 2.75rem; } }
.pl-header__tools { justify-self: end; gap: 0.25rem; }
.pl-header__nav .wp-block-navigation__container { gap: 1.75rem; }
.pl-header__nav .wp-block-navigation-item__content { padding-block: 0.5rem; }
.pl-header__nav .wp-block-navigation-item__content:hover { text-decoration: underline; text-underline-offset: 0.35em; }
@media (max-width: 599px) {
	.pl-header__nav .wp-block-navigation__responsive-container-open:not(.always-shown),
	.pl-header__nav .wp-block-navigation__responsive-container-close { width: 2.75rem; height: 2.75rem; display: grid; place-items: center; margin-left: -0.6rem; }
}
.pl-header__nav .wp-block-navigation__responsive-container-open svg { width: 28px; height: 28px; }
.pl-header__nav .wp-block-navigation__responsive-container.is-menu-open { padding: 1rem var(--pl-gutter); }
.pl-header__nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 4rem; }
.pl-header__nav .is-menu-open .wp-block-navigation__container { gap: 0; width: 100%; }
.pl-header__nav .is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid var(--pl-line); }
.pl-header__nav .is-menu-open .wp-block-navigation-item__content {
	display: block; width: 100%; padding: 1.1rem 0;
	font-size: var(--wp--preset--font-size--x-large); font-weight: 800; font-stretch: 112%; letter-spacing: -0.01em;
}
.pl-header__tools .wc-block-customer-account a,
.pl-header__tools .wc-block-mini-cart__button { width: 2.75rem; height: 2.75rem; display: grid; place-items: center; padding: 0; }
.pl-header__tools svg { width: 24px; height: 24px; }
.wc-block-mini-cart__badge { background: var(--pl-ink) !important; color: var(--pl-paper) !important; font-weight: 700; font-size: 0.6875rem; border: 2px solid var(--pl-paper); }

.pl-header--checkout .pl-header__back { justify-self: start; font-size: var(--wp--preset--font-size--small); font-weight: 600; }
.pl-header--checkout .pl-header__step { justify-self: end; font-size: var(--wp--preset--font-size--xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--pl-muted); }
@media (max-width: 480px) { .pl-header--checkout .pl-header__back { font-size: var(--wp--preset--font-size--xs); } }

/* ---------- Buttons & controls ---------- */
.wp-element-button, .wp-block-button__link,
.wc-block-components-button:not(.is-link),
.single_add_to_cart_button, .woocommerce button.button, .woocommerce a.button {
	min-height: var(--pl-control);
	border-radius: 0 !important;
	transition: background-color 0.2s var(--pl-ease), color 0.2s var(--pl-ease);
}
.wc-block-components-button:not(.is-link) {
	background: var(--pl-ink) !important; color: var(--pl-paper) !important;
	font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; font-size: var(--wp--preset--font-size--small);
}
.wc-block-components-button:not(.is-link):hover { background: #2b2b2b !important; }
.wc-block-components-button:disabled, .wp-element-button:disabled { background: var(--pl-line) !important; color: var(--pl-muted) !important; cursor: not-allowed; }
.is-style-outline > .wp-block-button__link { background: transparent; color: var(--pl-ink); border: 1.5px solid var(--pl-ink); }
.pl-btn-wide, .pl-btn-wide .wp-block-button__link { width: 100%; }
@media (min-width: 600px) { .pl-btn-wide, .pl-btn-wide .wp-block-button__link { width: auto; min-width: 16rem; } }

input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="search"], input[type="number"], select, textarea,
.wc-block-components-text-input input, .wc-blocks-components-select__select, .wc-block-components-textarea {
	border-radius: 0 !important;
	border: 1px solid #8f8f8f !important;
	background: var(--pl-paper);
	font: inherit;
}
.wc-block-components-text-input input:focus, select:focus, textarea:focus, input:focus { border-color: var(--pl-ink) !important; box-shadow: 0 0 0 1px var(--pl-ink) !important; outline: none; }
.wc-block-components-validation-error, .wc-block-components-text-input.has-error label { color: var(--pl-signal) !important; }
.wc-block-components-text-input.has-error input { border-color: var(--pl-signal) !important; }

/* ---------- Hero ---------- */
.pl-hero { position: relative; padding-top: var(--wp--preset--spacing--40); }
.pl-hero__copy { display: grid; gap: 1.25rem; }
.pl-hero__title {
	margin: 0;
	font-stretch: 118%;
	font-weight: 850;
	line-height: 0.98;
	letter-spacing: -0.025em;
	max-width: 11ch;
	font-size: clamp(3.25rem, 13.5vw, 9.5rem) !important;
}
.pl-hero__lede { margin: 0; max-width: 34ch; line-height: 1.35; font-weight: 500; }
.pl-hero__actions { margin-top: 0.75rem; }
.pl-hero__feature { display: none; }
@media (min-width: 782px) {
	.pl-hero { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); column-gap: var(--wp--preset--spacing--40); align-items: end; padding-top: var(--wp--preset--spacing--40); }
	.pl-hero > * { margin: 0 !important; max-width: none !important; }
	.pl-hero__title { font-size: clamp(3.25rem, 9.5vw, 9rem) !important; }
	.pl-hero__copy { grid-column: 1; }
	.pl-hero__feature { display: block; grid-column: 2; padding-bottom: calc(var(--pl-panda-h) + 1.5rem); }
	.pl-hero__feature .wc-block-product-template { grid-template-columns: 1fr !important; }
	.pl-hero__feature .pl-card__image { max-height: 62svh; }
	.pl-hero__feature .pl-card__image img { max-height: 62svh; object-fit: cover; }
	.pl-horizon { grid-column: 1 / -1; }
}

/* Signature: die Horizontlinie des Logos; der Panda schaut darüber. */
.pl-hero { --pl-panda-w: clamp(7.5rem, 30vw, 15rem); --pl-panda-h: calc(var(--pl-panda-w) * 121 / 284); }
.pl-hero__copy { padding-bottom: calc(var(--pl-panda-h) + 1.5rem); }
.pl-horizon {
	position: relative;
	overflow: hidden;
	height: var(--pl-panda-h, 0px);
	margin-top: calc(-1 * var(--pl-panda-h, 0px)) !important;
	border-bottom: 2px solid var(--pl-ink);
	margin-inline: calc(-1 * var(--wp--style--root--padding-left, 1rem));
}
.pl-horizon__panda {
	position: absolute;
	bottom: 0;
	right: clamp(1rem, 12vw, 14rem);
	width: var(--pl-panda-w);
	height: auto;
	display: block;
	animation: pl-peek 1.1s var(--pl-ease) 0.25s both;
}
@keyframes pl-peek {
	from { transform: translateY(100%); }
	to { transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
	.pl-horizon__panda { animation: none; }
	*, *::before, *::after { transition-duration: 0.01ms !important; }
}
.pl-horizon--404 { height: 0; margin-top: var(--wp--preset--spacing--50) !important; }

/* ---------- Sections ---------- */
.pl-section { padding-top: var(--wp--preset--spacing--40); }
.pl-section__head { margin-bottom: 1.25rem; gap: 1rem; }
.pl-section__head h2 { margin: 0; }
.pl-link-arrow { margin: 0; white-space: nowrap; }
.pl-link-arrow a { font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; text-decoration: none; border-bottom: 1.5px solid currentColor; padding-bottom: 2px; }

/* ---------- Product grid ---------- */
.pl-products .wc-block-product-template {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.75rem 0.75rem;
	margin: 0; padding: 0;
}
@media (min-width: 782px) { .pl-products .wc-block-product-template { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem 1.25rem; } }
@media (min-width: 1200px) { .pl-products .wc-block-product-template { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.pl-products .wc-block-product { width: auto !important; margin: 0 !important; display: flex; flex-direction: column; gap: 0.3rem; text-align: left; }
.pl-products .wc-block-product > * { margin: 0 !important; text-align: left !important; }
.pl-card__image { background: var(--pl-well); margin-bottom: 0.5rem !important; overflow: hidden; }
.pl-card__image img { transition: transform 0.6s var(--pl-ease); }
.pl-products .wc-block-product:hover .pl-card__image img { transform: scale(1.03); }
.pl-card__title { font-size: var(--wp--preset--font-size--small) !important; font-weight: 700 !important; letter-spacing: 0.02em !important; line-height: 1.3 !important; font-stretch: 100% !important; }
.pl-card__title a { text-decoration: none; }
.pl-card__title a::after { content: ""; position: absolute; inset: 0; }
.pl-products .wc-block-product { position: relative; }
.pl-card__price { font-size: var(--wp--preset--font-size--small) !important; }
.pl-card__legal, .pl-card__legal * { font-size: 0.6875rem !important; color: var(--pl-muted); line-height: 1.35; }
.pl-card__legal a { position: relative; z-index: 1; }
.wc-block-components-product-sale-badge, .wc-block-components-product-sale-badge--align-left {
	background: var(--pl-ink) !important; color: var(--pl-paper) !important; border: 0 !important; border-radius: 0 !important;
	font-size: 0.6875rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; padding: 0.3rem 0.5rem !important; margin: 0.5rem !important;
}
.pl-empty { padding: var(--wp--preset--spacing--40) 0; border-top: 1px solid var(--pl-line); border-bottom: 1px solid var(--pl-line); max-width: 44rem; }
.pl-empty h2, .pl-empty h3 { margin: 0 0 0.75rem; }
.pl-empty p { margin: 0; color: var(--pl-muted); max-width: 52ch; }
.pl-pagination { margin-top: var(--wp--preset--spacing--40); gap: 0.25rem; font-weight: 700; }
.pl-pagination a, .pl-pagination .page-numbers { min-width: 2.75rem; height: 2.75rem; display: inline-grid; place-items: center; text-decoration: none; padding-inline: 0.5rem; }
.pl-pagination .current { background: var(--pl-ink); color: var(--pl-paper); }

/* ---------- Archive ---------- */
.pl-breadcrumbs { color: var(--pl-muted); margin-top: 1.25rem !important; }
.pl-breadcrumbs a { color: inherit; }
.pl-page-title { font-size: var(--wp--preset--font-size--xx-large) !important; margin-top: 0.75rem !important; font-stretch: 118%; letter-spacing: -0.02em; }
.pl-toolbar { border-top: 1px solid var(--pl-line); border-bottom: 1px solid var(--pl-line); padding-block: 0.5rem; gap: 1rem; }
.pl-toolbar > * { margin: 0 !important; }
.pl-toolbar .woocommerce-result-count { margin: 0; color: var(--pl-muted); }
.pl-toolbar .woocommerce-ordering { margin: 0; }
.pl-toolbar select { border: 0 !important; padding: 0.6rem 1.75rem 0.6rem 0.25rem; font-weight: 700; background-color: transparent; }

/* ---------- Facts ---------- */
.pl-facts { margin-top: var(--wp--preset--spacing--50) !important; border-top: 2px solid var(--pl-ink); }
.pl-facts__list { margin: 0; display: grid; grid-template-columns: 1fr; }
.pl-facts__list > div { padding: 1.25rem 0; border-bottom: 1px solid var(--pl-line); display: grid; gap: 0.25rem; }
.pl-facts dt { font-weight: 800; text-transform: uppercase; letter-spacing: 0.02em; font-stretch: 112%; font-size: var(--wp--preset--font-size--large); }
.pl-facts dd { margin: 0; color: var(--pl-muted); }
.pl-facts dd a { color: var(--pl-ink); font-weight: 600; }
@media (min-width: 782px) {
	.pl-facts__list { grid-template-columns: repeat(4, 1fr); }
	.pl-facts__list > div { padding: 1.75rem 1.5rem 1.75rem 0; border-bottom: 0; }
	.pl-facts__list > div + div { border-left: 1px solid var(--pl-line); padding-left: 1.5rem; }
}

/* ---------- Single product ---------- */
.pl-product__layout { display: grid; gap: 1.5rem; margin-top: 1rem !important; }
@media (min-width: 900px) {
	.pl-product__layout { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: var(--wp--preset--spacing--40); align-items: start; }
	.pl-product__buy { position: sticky; top: calc(var(--pl-header-h) + 1.5rem); }
}
.pl-product__media { margin-inline: calc(-1 * var(--wp--style--root--padding-left, 1rem)); }
@media (min-width: 900px) { .pl-product__media { margin-inline: 0; } }
.pl-product__media .woocommerce-product-gallery, .pl-product__media .wp-block-woocommerce-product-image-gallery { margin: 0 !important; width: 100% !important; max-width: none !important; float: none !important; }
.pl-product__media .woocommerce-product-gallery__image img { width: 100% !important; height: auto; }
.pl-product__media .woocommerce-product-gallery__image, .pl-product__media .flex-viewport { background: var(--pl-well); }
.pl-product__media .flex-control-thumbs { display: flex !important; gap: 0.5rem; margin: 0.5rem 0 0 !important; padding: 0 var(--wp--style--root--padding-left, 1rem) !important; overflow-x: auto; }
.pl-product__media .flex-control-thumbs li { width: 4.5rem !important; flex: none; float: none !important; }
.pl-product__media .flex-control-thumbs img { opacity: 0.55; transition: opacity 0.2s var(--pl-ease); }
.pl-product__media .flex-control-thumbs img.flex-active, .pl-product__media .flex-control-thumbs img:hover { opacity: 1; }
.pl-product__buy > * { margin: 0 !important; }
.pl-product__buy > * + * { margin-top: 1.25rem !important; }
.pl-product__title { font-size: var(--wp--preset--font-size--x-large) !important; font-stretch: 112%; letter-spacing: -0.01em; }
.pl-product__price > * { margin: 0 !important; }
.pl-product__price .wc-block-components-product-price, .pl-product__price .price { font-size: var(--wp--preset--font-size--large); font-weight: 600; }
.pl-legal, .pl-legal * { font-size: var(--wp--preset--font-size--xs); color: var(--pl-muted); }
.pl-delivery, .pl-delivery * { font-size: var(--wp--preset--font-size--small); font-weight: 600; }

/* Add to cart (classic form inside add-to-cart-form block) */
.pl-atc form.cart { display: grid; gap: 1rem; margin: 0; }
.pl-atc table.variations { border: 0; margin: 0; width: 100%; }
.pl-atc table.variations tr { display: grid; gap: 0.5rem; margin-bottom: 1rem; }
.pl-atc table.variations th, .pl-atc table.variations td { padding: 0; border: 0; text-align: left; }
.pl-atc table.variations label { font-size: var(--wp--preset--font-size--xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; }
.pl-atc table.variations select {
	width: 100%; height: var(--pl-control); padding: 0 2.75rem 0 1rem !important; line-height: 1.2 !important; font-size: 1rem !important; font-weight: 600;
	appearance: none; -webkit-appearance: none;
	background: var(--pl-paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%230e0e0e' stroke-width='1.75'/%3E%3C/svg%3E") no-repeat right 1rem center;
}
.pl-atc .single_variation_wrap .woocommerce-variation:empty, .pl-atc .woocommerce-variation-description:empty { display: none; }
.pl-atc .single_variation_wrap .woocommerce-variation { margin: 0 0 0.75rem; }
.pl-atc .reset_variations { font-size: var(--wp--preset--font-size--xs); display: inline-block; margin-top: 0.5rem; color: var(--pl-muted); }
.pl-atc .woocommerce-variation-add-to-cart, .pl-atc form.cart:not(.variations_form) { display: flex; gap: 0.5rem; align-items: stretch; flex-wrap: nowrap; }
.pl-atc .quantity input.qty { width: 4rem; height: var(--pl-control); text-align: center; font-weight: 700; }
.pl-atc .single_add_to_cart_button { flex: 1; background: var(--pl-ink) !important; color: var(--pl-paper) !important; border: 0 !important; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; font-size: var(--wp--preset--font-size--small); padding: 0 1.5rem; cursor: pointer; }
.pl-atc .single_add_to_cart_button:hover { background: #2b2b2b !important; }
.pl-atc .single_add_to_cart_button.disabled { background: var(--pl-line) !important; color: var(--pl-muted) !important; }
.pl-atc .stock { font-size: var(--wp--preset--font-size--small); font-weight: 600; margin: 0; }
.pl-atc .stock.out-of-stock { color: var(--pl-signal); }
.pl-product__summary { color: #2a2a2a; max-width: 60ch; }
.pl-product__facts { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--pl-line); }
.pl-product__facts li { padding: 0.8rem 0; border-bottom: 1px solid var(--pl-line); font-size: var(--wp--preset--font-size--small); font-weight: 600; }
.pl-product__meta, .pl-product__meta * { color: var(--pl-muted); }

.pl-product__details { margin-top: var(--wp--preset--spacing--50) !important; max-width: 60rem; min-width: 0; overflow: hidden; }
.pl-product__details .wc-tabs { display: flex; gap: 1.5rem; padding: 0 !important; margin: 0 0 1.5rem !important; border-bottom: 1px solid var(--pl-line); overflow-x: auto; }
.pl-product__details .wc-tabs li { list-style: none; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
.pl-product__details .wc-tabs li::before, .pl-product__details .wc-tabs li::after { display: none !important; }
.pl-product__details .wc-tabs li a { display: block; padding: 0.9rem 0 !important; text-decoration: none; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; font-size: var(--wp--preset--font-size--small); color: var(--pl-muted); white-space: nowrap; }
.pl-product__details .wc-tabs li.active a { color: var(--pl-ink); box-shadow: inset 0 -2px 0 var(--pl-ink); }
.pl-product__details .woocommerce-Tabs-panel h2 { font-size: var(--wp--preset--font-size--large); }
.pl-product__details table.shop_attributes { border: 0; width: 100%; border-collapse: collapse; }
.pl-product__details table.shop_attributes th, .pl-product__details table.shop_attributes td { border: 0; border-bottom: 1px solid var(--pl-line); padding: 0.75rem 0; text-align: left; font-style: normal; background: none; }

.pl-related { margin-top: var(--wp--preset--spacing--50) !important; padding-top: var(--wp--preset--spacing--40); border-top: 2px solid var(--pl-ink); }
.pl-related__title { margin: 0 0 1.25rem !important; }

/* ---------- Cart & checkout (Woo blocks) ---------- */
.pl-cart .pl-page-title { margin-top: var(--wp--preset--spacing--30) !important; }
.wc-block-cart, .wc-block-checkout { padding-top: 1rem; }
.wc-block-cart-items { border-bottom: 1px solid var(--pl-line) !important; }
.wc-block-cart-items th, .wc-block-cart-items__header { font-size: var(--wp--preset--font-size--xs); text-transform: uppercase; letter-spacing: 0.06em; color: var(--pl-muted); }
.wc-block-cart-item__image img, .wc-block-components-order-summary-item__image img { background: var(--pl-well); }
.wc-block-components-product-name { font-weight: 700; text-decoration: none; }
.wc-block-components-sidebar, .wc-block-components-totals-wrapper { border-color: var(--pl-line) !important; }
.wc-block-cart__sidebar .wc-block-components-panel, .wc-block-checkout__sidebar { background: transparent; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-weight: 800; font-size: var(--wp--preset--font-size--large); }
.wc-block-components-quantity-selector { border-radius: 0 !important; border-color: #8f8f8f !important; }
.wc-block-components-quantity-selector::after { border-radius: 0 !important; border: 0 !important; }
.wc-block-components-checkout-step__title { font-weight: 800 !important; text-transform: uppercase; font-stretch: 112%; letter-spacing: 0; }
.wc-block-components-checkout-step__container::after { background: var(--pl-line) !important; }
.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option { border-radius: 0 !important; }
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option-checked,
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted { box-shadow: inset 0 0 0 2px var(--pl-ink) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] { border-radius: 0 !important; border-color: #6f6f6f !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked { background: var(--pl-ink) !important; border-color: var(--pl-ink) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--pl-paper) !important; }
.wc-block-components-notice-banner { border-radius: 0 !important; }
.wc-block-cart .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { width: 100%; min-height: 3.5rem; }

/* Empty cart */
.wc-block-cart__empty-cart__title { font-size: var(--wp--preset--font-size--x-large) !important; font-weight: 800; text-transform: uppercase; font-stretch: 112%; }
.wc-block-cart__empty-cart__title::before { display: none !important; }
.wp-block-woocommerce-empty-cart-block .wp-block-separator { display: none; }

/* Mini cart drawer */
.wc-block-mini-cart__drawer .components-modal__content { border-radius: 0; }
.wc-block-mini-cart__title { font-weight: 800; text-transform: uppercase; font-stretch: 112%; font-size: var(--wp--preset--font-size--large) !important; }
.wc-block-mini-cart__footer-actions .wc-block-components-button.outlined { background: transparent !important; color: var(--pl-ink) !important; box-shadow: inset 0 0 0 1.5px var(--pl-ink); }

/* ---------- Classic Woo (Mein Konto, Notices) ---------- */
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0 0 2rem; display: flex; flex-wrap: wrap; gap: 0.25rem 1.25rem; border-bottom: 1px solid var(--pl-line); }
.woocommerce-MyAccount-navigation a { display: block; padding: 0.75rem 0; text-decoration: none; font-weight: 700; font-size: var(--wp--preset--font-size--small); text-transform: uppercase; letter-spacing: 0.06em; color: var(--pl-muted); }
.woocommerce-MyAccount-navigation .is-active a { color: var(--pl-ink); box-shadow: inset 0 -2px 0 var(--pl-ink); }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border: 1px solid var(--pl-ink) !important; border-left-width: 1px !important; background: var(--pl-paper) !important; border-radius: 0; padding: 1rem 1.25rem !important; list-style: none; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none !important; }
.woocommerce-error { border-color: var(--pl-signal) !important; color: var(--pl-signal); }
.woocommerce form .form-row label { font-size: var(--wp--preset--font-size--small); font-weight: 600; }
.woocommerce form .form-row input.input-text { height: var(--pl-control); padding: 0 0.875rem; }
.woocommerce table.shop_table { border-radius: 0; border-collapse: collapse; }

/* ---------- Prose pages (Rechtstexte) ---------- */
.pl-prose { max-width: 70ch; }
.pl-prose h2 { font-size: var(--wp--preset--font-size--large); margin-top: 2.5em; margin-bottom: 0.75em; }
.pl-prose h3 { font-size: var(--wp--preset--font-size--medium); margin-top: 2em; margin-bottom: 0.5em; }
.pl-page-title + .pl-prose { margin-top: var(--wp--preset--spacing--30) !important; }
.pl-page .pl-page-title { margin-top: var(--wp--preset--spacing--40) !important; overflow-wrap: anywhere; hyphens: auto; }

/* ---------- 404 ---------- */
.pl-404 { padding-top: var(--wp--preset--spacing--50); }
.pl-404 h1 { font-stretch: 118%; max-width: 10ch; margin: 0 !important; line-height: 0.98; }
.pl-404 > * { margin-inline: 0 !important; }

/* ---------- Footer ---------- */
.pl-footer { margin-top: 0; }
.pl-footer > * + * { margin-block-start: 0; }
.pl-footer__mark { width: min(100%, 26rem); height: auto; display: block; }
.pl-footer__cols > * { margin: 0 !important; }
.pl-footer__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1rem; margin-top: var(--wp--preset--spacing--40) !important; }
@media (min-width: 782px) { .pl-footer__cols { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.pl-footer__head { font-size: var(--wp--preset--font-size--xs) !important; letter-spacing: 0.08em !important; font-stretch: 100% !important; margin: 0 0 0.75rem; color: var(--wp--preset--color--muted-inverse); }
.pl-footer__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.15rem; font-size: var(--wp--preset--font-size--small); }
.pl-footer__list a { display: inline-block; padding: 0.4rem 0; text-decoration: none; }
.pl-footer__list a:hover { text-decoration: underline; }
.pl-footer__list--plain li { padding: 0.4rem 0; }
.pl-footer__revoke {
	display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0 1.25rem;
	margin-top: var(--wp--preset--spacing--40);
	border: 1.5px solid currentColor; text-decoration: none;
	font-size: var(--wp--preset--font-size--small); font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em;
}
.pl-footer__revoke:hover { background: var(--pl-paper); color: var(--pl-ink); }
.pl-footer__social { margin-top: var(--wp--preset--spacing--30) !important; }
.pl-footer__social:not(:has(li)) { display: none; }
.pl-footer__base { margin-top: var(--wp--preset--spacing--40) !important; padding-top: 1.25rem; border-top: 1px solid #3a3a3a; gap: 0.5rem 2rem; }
.pl-footer__base p { margin: 0; color: var(--wp--preset--color--muted-inverse); }

/* ---------- Complianz / Germanized small print ---------- */
.wc-gzd-additional-info, .wc-gzd-additional-wrapper { font-size: var(--wp--preset--font-size--xs); color: var(--pl-muted); }

/* Leerer Warenkorb: Produktvorschläge im gleichen Raster wie der Shop */
.wp-block-woocommerce-empty-cart-block { text-align: left; }
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title { text-align: left; margin-top: var(--wp--preset--spacing--30); }
.wp-block-woocommerce-empty-cart-block > .wp-block-heading, .wp-block-woocommerce-empty-cart-block > p { text-align: left !important; }
.wp-block-woocommerce-empty-cart-block .wc-block-grid__products,
.wp-block-woocommerce-empty-cart-block .wc-block-product-template { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75rem 0.75rem; margin: 0; padding: 0; }
@media (min-width: 782px) { .wp-block-woocommerce-empty-cart-block .wc-block-grid__products, .wp-block-woocommerce-empty-cart-block .wc-block-product-template { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.5rem 1.25rem; } }
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product, .wp-block-woocommerce-empty-cart-block .wc-block-product { max-width: none !important; width: auto !important; margin: 0 !important; text-align: left !important; border: 0 !important; padding: 0 !important; }
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image, .wp-block-woocommerce-empty-cart-block .wc-block-components-product-image { background: var(--pl-well); margin-bottom: 0.5rem; }
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title, .wp-block-woocommerce-empty-cart-block .wp-block-post-title { font-size: var(--wp--preset--font-size--small) !important; font-weight: 700; text-transform: uppercase; text-align: left !important; }
.wp-block-woocommerce-empty-cart-block .wp-block-button, .wp-block-woocommerce-empty-cart-block .wc-block-components-product-button { display: none; }

/* Germanized: Blöcke tragen die Pflichtangaben; die automatisch angehängte Kopie im Loop ausblenden, damit sie nicht doppelt steht. */
.pl-products .wc-block-product:has(.wp-block-woocommerce-gzd-product-tax-info) > .wc-gzd-additional-info-loop { display: none; }
.pl-products .wp-block-woocommerce-gzd-product-price-label, .pl-products .wp-block-woocommerce-gzd-product-price-label * { font-size: 0.6875rem !important; color: var(--pl-muted) !important; line-height: 1.35; }
.pl-products .wp-block-woocommerce-gzd-product-price-label a { position: relative; z-index: 1; color: var(--pl-muted); }
.pl-product__price .wp-block-woocommerce-gzd-product-price-label, .pl-product__price .wp-block-woocommerce-gzd-product-price-label * { font-size: var(--wp--preset--font-size--xs); color: var(--pl-muted); }

/* Warenkorb/Kasse: Titel und Inhalt auf einer Kante */
.pl-cart > *, .pl-checkout > * { max-width: 1200px !important; }

/* Raster: Bildformat erzwingen, damit abweichende Mockups keine versetzten Titel erzeugen */
.pl-card__image img, .pl-products .wc-block-components-product-image img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; height: auto; }

/* Kasse: Haarlinien statt Boxen */
.wc-block-components-sidebar-layout .wc-block-components-sidebar .wp-block-woocommerce-checkout-order-summary-block,
.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block,
.wc-block-components-order-summary, .wc-block-components-totals-wrapper, .wc-block-components-panel,
.wp-block-woocommerce-checkout-order-summary-block { border-radius: 0 !important; }
.wp-block-woocommerce-checkout-order-summary-block { border: 0 !important; border-top: 2px solid var(--pl-ink) !important; }
.wc-block-components-order-summary-item { border-radius: 0 !important; }
.woocommerce-product-gallery__trigger { border-radius: 0 !important; background: var(--pl-paper) !important; }
.woocommerce-product-gallery__trigger::before { border-radius: 0 !important; }

/* Produkt-Tabs mobil: untereinander statt abgeschnitten */
@media (max-width: 599px) {
	.pl-product__details .wc-tabs { flex-direction: column; gap: 0; overflow: visible; border-bottom: 0; }
	.pl-product__details .wc-tabs li { border-bottom: 1px solid var(--pl-line) !important; }
	.pl-product__details .wc-tabs li.active a { box-shadow: inset 3px 0 0 var(--pl-ink); padding-left: 0.75rem !important; }
}

/* Größen als Chips (add-to-cart-with-options) */
.pl-atc { display: grid; gap: 1rem; }
.pl-atc > * { margin: 0 !important; }
.pl-atc .wp-block-woocommerce-add-to-cart-with-options-variation-selector-attribute-name { font-size: var(--wp--preset--font-size--xs); font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; }
.pl-atc .wc-block-product-filter-chips__items, .pl-atc .wc-block-add-to-cart-with-options-variation-selector-attribute-options { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.pl-atc .wc-block-product-filter-chips__item, .pl-atc .wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill {
	min-width: 3.25rem; min-height: 2.75rem; padding: 0 0.9rem; border-radius: 0 !important;
	border: 1px solid #8f8f8f !important; background: var(--pl-paper) !important; color: var(--pl-ink) !important;
	font-weight: 700; font-size: var(--wp--preset--font-size--small); cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center;
}
.pl-atc .wc-block-product-filter-chips__item[aria-checked="true"], .pl-atc .wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill--selected,
.pl-atc [aria-checked="true"].wc-block-add-to-cart-with-options-variation-selector-attribute-options__pill { background: var(--pl-ink) !important; color: var(--pl-paper) !important; border-color: var(--pl-ink) !important; }
.pl-atc [aria-disabled="true"], .pl-atc .wc-block-product-filter-chips__item:disabled { color: #9a9a9a !important; text-decoration: line-through; cursor: not-allowed; }
.pl-atc .wp-block-woocommerce-product-button .wc-block-components-product-button__button,
.pl-atc .wp-block-button__link { width: 100%; min-height: var(--pl-control); }
.pl-atc .wp-block-woocommerce-product-button { flex: 1; }
.pl-atc .wc-block-components-quantity-selector { min-height: var(--pl-control); }
.pl-atc *, .pl-atc *::after { border-radius: 0 !important; }

/* Bildfläche selbst trägt das Format; nichts darin darf sie strecken */
.pl-products .pl-card__image { aspect-ratio: 4 / 5; line-height: 0; }
.pl-products .pl-card__image > *, .pl-products .pl-card__image a { margin: 0 !important; display: block; height: 100%; }
.pl-products .pl-card__image img { height: 100% !important; }

/* Mobile Tabs: aktiv per Tinte und Unterlinie statt Seitenbalken */
@media (max-width: 599px) {
	.pl-product__details .wc-tabs li.active a { box-shadow: none; padding-left: 0 !important; color: var(--pl-ink); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 0.4em; }
}

/* Startseite: Hero-Produkt ab Desktop nicht doppelt in „Neu im Shop“ */
.pl-new .wc-block-product-template > .wc-block-product:nth-child(5) { display: none; }
@media (min-width: 782px) {
	.pl-new .wc-block-product-template > .wc-block-product:first-child { display: none; }
	.pl-new .wc-block-product-template > .wc-block-product:nth-child(5) { display: flex; }
}
/* Woo hängt einen (meist leeren) Hinweis-Container in das erste Kartenbild; er darf das Bild nicht verdrängen. */
.pl-products .pl-card__image > :not(a) { height: auto; }
.pl-products .pl-card__image > .wc-block-components-notices:empty, .pl-products .pl-card__image > .wc-block-components-notices:not(:has(*)) { display: none; }
