/* Mediterrane Casa · WooCommerce y Germanized (solo en tienda, fichas, carrito, caja y cuenta).
   Se carga después del CSS de WooCommerce y solo cambia lo visual: blanco y negro, sin esquinas ni sombras. */

.woo-main { padding-top: 8px; }
.woocommerce .woocommerce-breadcrumb, .woocommerce-breadcrumb { font-size: 13px; color: #6e6e6e; margin: 20px 0 8px; }
.woocommerce .woocommerce-breadcrumb a { color: #6e6e6e; }
.woocommerce-products-header { padding: 16px 0 8px; }
.woocommerce-products-header__title { margin: 0 0 8px; }
.term-description { color: #6e6e6e; max-width: 720px; }
/* Descripción de la categoría debajo de la rejilla (06/10) */
.woocommerce-products-footer { border-top: 1px solid #d9d9d9; margin-top: 48px; padding-top: 32px; }
.woocommerce-products-footer .term-description { color: #262320; font-size: 17px; line-height: 1.7; }
.woocommerce-products-footer .term-description > :first-child { margin-top: 0; }

/* Categorías con textos propios (06/10, inc/categoria-textos.php): cabecera centrada al estilo Flamingo Estate */
.cat-hero { text-align: center; max-width: 820px; margin-inline: auto; padding: clamp(20px, 3vw, 40px) 0 clamp(16px, 2vw, 28px); }
.cat-crumbs ol { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 .5em; list-style: none; margin: 0; padding: 0; font: 400 13px/1.4 var(--sans); color: var(--muted); }
.cat-crumbs li + li::before { content: "/"; margin-right: .5em; color: var(--line); }
.cat-crumbs a, .cat-crumbs [aria-current] { color: var(--muted); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; display: inline-block; padding-block: 12px; margin-block: -12px; }
.cat-crumbs a:hover { color: var(--ink); }
.cat-crumbs [aria-current] { text-decoration: none; color: var(--ink); }
.cat-hero .cat-hero__title { font-family: var(--serif); font-weight: 300; font-size: clamp(2.25rem, 1.45rem + 3.4vw, 4.25rem); line-height: 1.05; letter-spacing: -0.02em; margin: clamp(14px, 1.6vw, 22px) 0 clamp(16px, 1.8vw, 24px); }
.cat-hero__text { max-width: 62ch; margin-inline: auto; font-size: 17px; line-height: 1.65; color: var(--ink); }
.cat-hero__text p { margin: 0 0 .9em; }
.cat-hero__text a, .cat-faq__a a { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.cat-hero__more { margin-top: .9em; }
.cat-hero__intro > :last-child { margin-bottom: 0; }
@media (max-width: 599px) {
	.cat-hero { padding-top: 12px; padding-bottom: 8px; }
	.cat-hero__text { font-size: 16px; line-height: 1.6; }
	.cat-hero .cat-hero__title { margin-bottom: 14px; }
}
.cat-hero__text > :last-child, .cat-hero__more > :last-child, .cat-faq__a > :last-child { margin-bottom: 0; }
/* Botón de texto «Weiterlesen / Weniger anzeigen»: solo con JS (sin JS el texto se ve entero). */
.mfc-toggle { display: none; align-items: center; min-height: 44px; margin-top: 4px; padding: 0 2px; border: 0; background: none; color: var(--ink); cursor: pointer; font: 500 14px/1 var(--sans); letter-spacing: .02em; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.mfc-toggle:hover { text-decoration-thickness: 2px; }
.mfc-js .mfc-toggle { display: inline-flex; }
.mfc-js [data-collapsible]:not(.is-open) { display: none; }
/* Preguntas frecuentes bajo la rejilla */
.cat-faq { background: var(--soft, #f5f5f3); border-radius: 14px; max-width: 880px; margin: clamp(40px, 5vw, 72px) auto 0; padding: clamp(28px, 5vw, 56px) clamp(20px, 5vw, 64px); }
.cat-faq__title { font-family: var(--serif); font-weight: 300; font-size: clamp(1.75rem, 1.4rem + 1.4vw, 2.5rem); text-align: center; margin: 0 0 clamp(16px, 2vw, 28px); }
.cat-faq__item { border-top: 1px solid var(--line); padding: 22px 0 20px; }
.cat-faq__q { font-family: var(--serif); font-weight: 400; font-size: clamp(1.1875rem, 1.1rem + .4vw, 1.375rem); line-height: 1.3; margin: 0 0 8px; text-wrap: pretty; }
.cat-faq__a { font-size: 16px; line-height: 1.65; color: #333; }
.cat-faq__a p { margin: 0 0 .8em; }
.cat-faq > .mfc-toggle { margin: 8px auto 0; display: none; }
.mfc-js .cat-faq > .mfc-toggle { display: flex; width: fit-content; }
@media (max-width: 599px) { .cat-faq { margin-inline: calc(-1 * var(--gutter) + 8px); } }

/* Categorías como botones */
.cat-nav { margin: 8px calc(-1 * var(--gutter)) 28px; padding: 0 var(--gutter); overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.cat-nav::-webkit-scrollbar { display: none; }
.cat-nav ul { display: flex; gap: 28px; list-style: none; margin: 0; padding: 0; border-bottom: 1px solid #d9d9d9; width: max-content; min-width: 100%; }
.cat-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 0; border: 0; white-space: nowrap; text-decoration: none; font: 500 12px/1 "Hanken Grotesk", Arial, sans-serif; letter-spacing: .16em; text-transform: uppercase; color: #6e6e6e; transition: color .2s, box-shadow .2s; }
.cat-nav a:hover, .cat-nav a[aria-current="page"] { color: #111; box-shadow: inset 0 -1px 0 #111; }

.woocommerce .woocommerce-result-count { color: #6e6e6e; font-size: 14px; margin: 10px 0 20px; }
.woocommerce .woocommerce-ordering select { min-height: 44px; width: auto; border: 0; border-bottom: 1px solid #111; padding: 0 28px 0 0; font-size: 13px; background-color: transparent; }

/* Rejilla de productos: CSS grid en lugar de floats */
.woocommerce ul.products, .woocommerce-page ul.products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 16px; margin: 0 0 32px; }
.woocommerce ul.products::before, .woocommerce ul.products::after { content: none; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; display: flex; flex-direction: column; }
@media (min-width: 800px) {
	.woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 28px; }
}
@media (min-width: 1100px) {
	.woocommerce ul.products.columns-4, .woocommerce-page ul.products.columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.woocommerce ul.products li.product a img { aspect-ratio: 4 / 5; object-fit: contain; margin: 0 0 14px; border: 0; background: var(--soft); padding: 4% 8%; mix-blend-mode: multiply; transition: opacity .3s; }
.woocommerce ul.products li.product a:hover img { opacity: .92; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font: 500 14px/1.4 "Hanken Grotesk", Arial, sans-serif; padding: 0; margin: 0 0 6px; min-height: calc(1.4em * 3); hyphens: auto; }
.woocommerce ul.products li.product .price { color: #111; font-size: 15px; margin-bottom: 6px; }
.woocommerce ul.products li.product .button { margin-top: auto; align-self: flex-start; }
.woocommerce ul.products li.product .wc-gzd-additional-info, .woocommerce ul.products li.product .price-unit, .woocommerce ul.products li.product .delivery-time-info { font-size: 12px; color: #6e6e6e; }

/* Botones de Woo */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt, .woocommerce .button.checkout-button,
.woocommerce #place_order {
	display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 24px;
	border: 1px solid #111; border-radius: 0; background: #111; color: #fff;
	font: 500 13px/1.2 "Hanken Grotesk", Arial, sans-serif; letter-spacing: .14em; text-transform: uppercase; text-decoration: none;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce #place_order:hover { background: #fff; color: #111; }
.woocommerce a.button.btn--ghost, .woocommerce a.button.product_type_external, .woocommerce .single_add_to_cart_button[href*="amazon."], .woocommerce form.cart a.single_add_to_cart_button { background: transparent; color: #111; }
.woocommerce a.button.btn--ghost:hover, .woocommerce a.button.product_type_external:hover { background: #111; color: #fff; }
.woocommerce ul.products li.product .button { min-height: 44px; padding: 10px 12px; font-size: 11px; letter-spacing: .06em; white-space: nowrap; max-width: 100%; }
@media (max-width: 399px) { .woocommerce ul.products li.product .button { font-size: 10px; letter-spacing: .04em; padding-inline: 8px; } }
.woocommerce #place_order { width: 100%; min-height: 56px; }

/* Ficha */
.woocommerce div.product { margin-top: 12px; }
.woocommerce div.product div.images { background: var(--soft); }
.woocommerce div.product div.images img { mix-blend-mode: multiply; aspect-ratio: 4 / 5; object-fit: contain; padding: 6%; }
/* Móvil: la foto no se come la pantalla (precio y botón antes) */
@media (max-width: 899px) {
	/* Alto fijo y reservado antes de que llegue la foto (06/10): con aspect-ratio:auto el navegador no usaba
	   width/height del <img> y la galería empujaba el resumen al cargar (CLS 0,27). */
	.woocommerce div.product div.images img { aspect-ratio: auto; width: 100%; height: min(56vh, calc(100vw - 2 * var(--gutter, 16px))); max-height: none; }
	.woocommerce .woocommerce-breadcrumb { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}
@media (min-width: 900px) {
	.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 0 72px; align-items: start; }
	.woocommerce div.product div.images, .woocommerce div.product div.summary { width: auto !important; float: none !important; margin: 0; }
	/* Sin sticky (05/10): el bloque de la foto se quedaba fijo encima de la descripción al hacer scroll (el contenedor del sticky es toda la ficha, no su fila). */
	.woocommerce div.product > :not(.images):not(.summary):not(.onsale) { grid-column: 1 / -1; }
	.woocommerce div.product div.summary { padding-top: 8px; }
}
.woocommerce div.product .stock, .woocommerce div.product .stock.in-stock { color: #6e6e6e; font-size: 13px; letter-spacing: .04em; }
.woocommerce div.product .woocommerce-product-gallery__image--placeholder img { mix-blend-mode: normal; }
.woocommerce div.product div.images .flex-control-thumbs, .woocommerce div.product div.images .woocommerce-product-gallery__wrapper { margin: 0; }
.woocommerce div.product .product_title { font: 300 clamp(2rem, 1.5rem + 2vw, 3rem)/1.1 "Newsreader", Georgia, serif; margin: 0 0 14px; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: #111; font: 400 22px/1.2 "Hanken Grotesk", Arial, sans-serif; font-variant-numeric: tabular-nums; }
.woocommerce div.product p.price.price-unit, .woocommerce div.product .price-unit { font: 400 14px/1.4 "Hanken Grotesk", Arial, sans-serif; color: #6e6e6e; margin: 4px 0 0; }
.woocommerce div.product .woocommerce-product-details__short-description { font-size: 17px; line-height: 1.65; margin: 16px 0 24px; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; margin: 24px 0; }
.woocommerce div.product form.cart div.quantity { margin: 0; }
.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1; min-height: 56px; }
.woocommerce div.product form.cart .quantity .qty { min-height: 56px; }
.woocommerce .quantity .qty { width: 80px; min-height: 48px; border: 1px solid #8a8a8a; }
.woocommerce div.product .product_meta { font-size: 14px; color: #6e6e6e; border-top: 1px solid #d9d9d9; padding-top: 16px; }
.woocommerce div.product .product_meta > span { display: block; margin-bottom: 4px; }
.woocommerce div.product .woocommerce-tabs { clear: both; padding-top: 48px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 24px; border-bottom: 1px solid #d9d9d9; display: flex; gap: 24px; overflow-x: auto; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: none; border: 0; border-radius: 0; margin: 0; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: flex; align-items: center; min-height: 44px; white-space: nowrap; padding: 12px 0; font: 500 13px/1.2 "Hanken Grotesk", Arial, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #6e6e6e; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #111; box-shadow: inset 0 -1px 0 #111; }
.woocommerce div.product .woocommerce-tabs ul.tabs { scrollbar-width: none; }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 760px; font-size: 17px; line-height: 1.7; }
.woocommerce div.product .woocommerce-tabs .panel h2:first-child { font-size: 1.6rem; }
.woocommerce table.shop_attributes { border: 0; }
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td { border: 0; border-bottom: 1px solid #d9d9d9; background: none !important; padding: 10px 0; font-style: normal; text-align: left; }
.related.products, .upsells.products { padding-top: 56px; clear: both; }
.related.products > h2, .upsells.products > h2 { font-size: clamp(1.6rem, 1.3rem + 1.4vw, 2.25rem); margin-bottom: 24px; }

/* Germanized: IVA, Grundpreis y plazo de entrega en gris y pequeño */
.wc-gzd-additional-info, .woocommerce-gzd-legal, .legal-price-info, .price-unit, .delivery-time-info, .shipping-costs-info, .product-units { font-size: 13px; color: #6e6e6e; }
.wc-gzd-additional-info a, .legal-price-info a { color: #6e6e6e; }

/* Avisos */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice { border: 1px solid #111; border-top-width: 1px; background: #fff; color: #111; border-radius: 0; padding: 16px 20px 16px 52px; }
.woocommerce-message::before, .woocommerce-info::before { color: #111; }
.woocommerce-error { border-color: #b00020; }
.woocommerce-message .button, .woocommerce-info .button { float: right; }

/* Carrito y caja */
.woocommerce table.shop_table { border: 0; border-top: 1px solid #111; border-radius: 0; border-collapse: collapse; }
.woocommerce table.shop_table th { font: 500 12px/1.4 "Hanken Grotesk", Arial, sans-serif; letter-spacing: .16em; text-transform: uppercase; color: #6e6e6e; }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-top: 0; border-bottom: 1px solid #d9d9d9; padding: 14px 10px; }
.woocommerce table.shop_table img { width: 88px; aspect-ratio: 4 / 5; object-fit: contain; padding: 6px; background: var(--soft); mix-blend-mode: multiply; }
@media (min-width: 1000px) {
	.woocommerce-cart .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 0 64px; align-items: start; }
	.woocommerce-cart .woocommerce > :not(.woocommerce-cart-form):not(.cart-collaterals) { grid-column: 1 / -1; }
	.woocommerce-cart .cart-collaterals { position: sticky; top: calc(var(--header-h) + 24px); width: auto; }
	.woocommerce-cart .cart-collaterals .cart_totals { width: 100%; float: none; }
	.woocommerce-cart .cart-collaterals .cross-sells { display: none; }
}
.woocommerce-cart .cart_totals .wc-proceed-to-checkout .checkout-button { width: 100%; min-height: 56px; }
.woocommerce button.button[name="update_cart"], .woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled] { background: #fff; color: #111; border-color: #111; }
.woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled] { color: #6e6e6e; border-color: #d9d9d9; opacity: 1; padding: 12px 24px; cursor: default; }
.woocommerce button.button[name="update_cart"]:not(:disabled):hover { background: #111; color: #fff; }
.woocommerce a.remove { color: #111 !important; border: 1px solid #d9d9d9; border-radius: 0; width: 28px; height: 28px; line-height: 26px; }
.woocommerce a.remove:hover { background: #111; color: #fff !important; }
.woocommerce .cart-collaterals .cart_totals h2, .woocommerce-checkout h3, #order_review_heading { font-size: 1.6rem; }
.woocommerce .coupon .input-text { min-height: 48px; width: 180px !important; border: 1px solid #8a8a8a; border-radius: 0; padding: 10px 14px; }
.woocommerce form .form-row { margin-bottom: 14px; }
.woocommerce form .form-row label { font-size: 14px; margin-bottom: 4px; }
.woocommerce form .form-row .input-text, .woocommerce form .form-row select { min-height: 48px; border: 1px solid #8a8a8a; border-radius: 0; padding: 10px 14px; }
.woocommerce form .form-row textarea { min-height: 120px; }
.woocommerce-checkout #payment { background: var(--soft); border-radius: 0; }
.woocommerce-checkout #payment div.payment_box { background: #fff; color: #111; border-radius: 0; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff; }
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid #d9d9d9; }
.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register { border: 1px solid #d9d9d9; border-radius: 0; }
.select2-container .select2-selection--single { height: 48px; border: 1px solid #8a8a8a; border-radius: 0; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 46px; padding-left: 14px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; }
.wc-gzd-checkbox-placeholder, .woocommerce-gzd-checkout .form-row.checkbox-legal { font-size: 14px; }

/* Mi cuenta */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0 0 32px; border-top: 1px solid #d9d9d9; }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid #d9d9d9; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 12px 0; text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { font-weight: 600; }

/* Estrellas y precios tachados */
.woocommerce .star-rating span::before, .woocommerce p.stars a { color: #111; }
.woocommerce span.onsale { background: #111; border-radius: 0; min-height: 0; min-width: 0; padding: 6px 10px; line-height: 1; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.woocommerce del { color: #6e6e6e; }
.woocommerce ins { text-decoration: none; }

/* Barra de compra fija en el móvil (ficha propia; la crea theme.js) */
.mfc-sticky-buy { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; padding: 10px var(--gutter) calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid #d9d9d9; transform: translateY(110%); transition: transform .25s cubic-bezier(.2,.6,.2,1); }
.mfc-sticky-buy.is-visible { transform: none; }
.mfc-sticky-buy .button { width: 100%; min-height: 52px; }
.has-sticky-buy .cky-btn-revisit-wrapper { bottom: 84px !important; }
@media (min-width: 960px) { .mfc-sticky-buy { display: none; } }

/* ---- Lista B (30/09) ---- */
/* Carrito: cuánto falta para el envío gratis */
.free-ship { margin: 0 0 24px; font-size: 14px; }
.free-ship p { margin: 0 0 10px; }
.free-ship-bar { height: 2px; background: #d9d9d9; }
.free-ship-bar span { display: block; height: 100%; background: #111; }
/* Ficha: caja de confianza bajo el botón */
.trust-list { list-style: none; margin: 0 0 24px; padding: 16px 0 0; border-top: 1px solid #d9d9d9; font-size: 14px; line-height: 1.5; }
.trust-list li { position: relative; padding: 4px 0 4px 20px; }
.trust-list li::before { content: ""; position: absolute; left: 2px; top: .95em; width: 8px; height: 1px; background: #111; }
/* Ficha: secciones en lugar de pestañas */
.product-sections { clear: both; max-width: 760px; padding-top: 48px; font-size: 17px; }
.product-section, .product-section--fold { border-top: 1px solid #d9d9d9; padding: 8px 0 16px; }
.product-section > h2:first-child, .product-section--fold summary h2 { font-size: clamp(1.4rem, 1.2rem + .8vw, 1.75rem); margin: 20px 0 12px; }
.product-section--fold summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 56px; }
.product-section--fold summary::-webkit-details-marker { display: none; }
.product-section--fold summary h2 { margin: 12px 0; }
.product-section--fold summary::after { content: "+"; font: 300 28px/1 "Newsreader", Georgia, serif; }
.product-section--fold[open] summary::after { content: "–"; }
.product-section-body { padding-bottom: 8px; }
.product-sections table td { padding: 8px 16px 8px 0; border-bottom: 1px solid #d9d9d9; }
/* "Neue Ernte" (Brevo) */
.neue-ernte { clear: both; max-width: 760px; margin: 48px 0 0; padding: 32px 0; border-top: 1px solid #111; }
.neue-ernte iframe { width: 100%; border: 0; min-height: 380px; }
/* Mi cuenta */
.account-note { font-size: 15px; color: #6e6e6e; margin: 0 0 24px; }
/* "Vertrag widerrufen" también con borde en la tienda (body.woocommerce pisaba el estilo del pie) */
.woocommerce .eu-owb-order-withdraw-from-contract-button a.button { background: #fff; color: #111; min-height: 44px; padding: 10px 18px; font-size: 12px; }
.woocommerce .eu-owb-order-withdraw-from-contract-button a.button:hover { background: #111; color: #fff; }

/* 06/10: como en la home. El fondo arena va detrás de la foto (no en la propia imagen) para que el
   multiply funda el blanco de las fotos de Amazon con el arena. */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { position: relative; display: block; isolation: isolate; }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link::before { content: ""; position: absolute; left: 0; right: 0; top: 0; aspect-ratio: 4 / 5; background: var(--soft); z-index: -1; }
.woocommerce ul.products li.product a img { background: transparent; width: 100%; }

/* ---- Fichas de pieza y productor (08/10) ---- */
/* Galería sin slider: móvil = fotos que se deslizan (scroll-snap, se ve el borde de la siguiente); ordenador = rejilla
   (la primera a todo el ancho, el resto de dos en dos). Las etiquetas siguen ancladas a .images, no se desplazan. */
.woocommerce div.product div.images { position: relative; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { position: static; }
.woocommerce div.product div.images .woocommerce-product-gallery__image:nth-child(n+2) { width: auto; display: block; margin: 0; padding: 0; }
.woocommerce div.product div.images .woocommerce-product-gallery__image a { display: block; cursor: default; }
/* Fotos de ambiente (no recortes sobre blanco): a sangre, sin margen ni fusión, sin el color dominante de fondo. */
.woocommerce div.product div.images.mf-gallery--multi img { padding: 0; object-fit: cover; mix-blend-mode: normal; background: none !important; aspect-ratio: 4 / 5; width: 100%; }
@media (max-width: 899px) {
	.woocommerce div.product div.images.mf-gallery--multi { background: transparent; }
	.woocommerce div.product div.images.mf-gallery--multi img { height: auto; }
	.mf-gallery--multi .woocommerce-product-gallery__wrapper { display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
	.mf-gallery--multi .woocommerce-product-gallery__wrapper::-webkit-scrollbar { display: none; }
	.mf-gallery--multi .woocommerce-product-gallery__image { flex: 0 0 88%; scroll-snap-align: start; background: var(--soft); }
}
@media (min-width: 900px) {
	.woocommerce div.product div.images.mf-gallery--multi { background: transparent; }
	.mf-gallery--multi .woocommerce-product-gallery__wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
	.mf-gallery--multi .woocommerce-product-gallery__image { background: var(--soft); }
	.mf-gallery--multi .woocommerce-product-gallery__image:first-child { grid-column: 1 / -1; }
}

/* Producto variable: la tabla de opciones encima, el botón debajo (el form.cart es flex en las simples). */
.woocommerce div.product form.variations_form { display: block; }
.woocommerce div.product form.cart table.variations { margin: 0 0 16px; border: 0; }
.woocommerce div.product form.cart table.variations th, .woocommerce div.product form.cart table.variations td { display: block; padding: 0; border: 0; text-align: left; line-height: 1.4; }
.woocommerce div.product form.cart table.variations th label { font: 500 12px/1.4 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.woocommerce div.product form.cart table.variations td select { width: 100%; min-height: 52px; margin: 8px 0 0; padding: 0 14px; border: 1px solid #8a8a8a; border-radius: 0; background-color: #fff; font-size: 16px; }
.woocommerce div.product form.cart .reset_variations { display: inline-block; margin-top: 8px; font-size: 13px; color: var(--muted); }
.woocommerce div.product .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; }
.woocommerce div.product .woocommerce-variation-price .price { font-size: 22px; }
.woocommerce div.product .single_variation { margin-bottom: 12px; }
.mf-gewicht-note { font-size: 14px; line-height: 1.5; color: var(--muted); margin: 10px 0 0; max-width: 46ch; }

/* Complemento («Dazu: Ibérico-Paket») */
.mf-addon { flex: 1 1 100%; margin: 0 0 4px; padding: 14px 16px; border: 1px solid var(--line); background: #fff; }
.mf-addon__label { display: flex; align-items: flex-start; gap: 12px; cursor: pointer; font-size: 15px; line-height: 1.45; }
.mf-addon__label input { flex: 0 0 auto; width: 20px; height: 20px; margin: 1px 0 0; accent-color: #47513F; }
.mf-addon__price { white-space: nowrap; font-variant-numeric: tabular-nums; }
.mf-addon__note { margin: 6px 0 0 32px; font-size: 13px; color: var(--muted); }
.mf-addon__note a { color: var(--muted); }
.mf-addon-only { padding: 12px 16px; border-left: 2px solid #47513F; background: var(--soft); font-size: 15px; }

/* «Der Erzeuger»: banda arena a todo el ancho de la ficha, foto + texto; en el móvil, apilado. */
.erzeuger { clear: both; margin: 56px calc(-1 * var(--gutter)) 0; padding: clamp(36px, 5vw, 72px) var(--gutter); background: var(--soft); }
.erzeuger__inner { display: grid; gap: 28px; max-width: 1120px; margin-inline: auto; }
.erzeuger__media { display: grid; gap: 8px; align-content: start; }
.erzeuger__foto { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; background: none !important; }
.erzeuger__fotos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.erzeuger__fotos img { width: 100%; aspect-ratio: 1; object-fit: cover; background: none !important; }
.erzeuger__eyebrow { color: #47513F; margin-bottom: 10px; }
.erzeuger .erzeuger__name { font-size: clamp(2rem, 1.5rem + 2vw, 3rem); font-weight: 300; margin: 0 0 6px; }
.erzeuger__ort { font-size: 15px; color: var(--muted); margin: 0 0 24px; }
.erzeuger__fakten { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; margin: 0 0 28px; padding: 0; }
.erzeuger__fakten > div { border-top: 1px solid #47513F; padding: 10px 0 14px; }
.erzeuger__fakten dt { font: 500 11px/1.4 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: #47513F; margin: 0 0 4px; }
.erzeuger__fakten dd { margin: 0; font: 400 1.125rem/1.35 var(--serif); }
.erzeuger__text { font-size: 17px; line-height: 1.7; max-width: 62ch; }
.erzeuger__text p { margin: 0 0 1em; }
.erzeuger__zitat { margin: 28px 0 0; padding: 4px 0 4px 22px; border-left: 2px solid #47513F; max-width: 52ch; }
.erzeuger__zitat p { margin: 0 0 8px; font: italic 300 clamp(1.3rem, 1.15rem + .6vw, 1.6rem)/1.35 var(--serif); }
.erzeuger__zitat cite { font: 400 13px/1.4 var(--sans); font-style: normal; color: var(--muted); }
@media (min-width: 600px) {
	.erzeuger__fakten { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
	.erzeuger { margin-inline: 0; padding-inline: clamp(32px, 5vw, 72px); }
	.erzeuger__inner { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(40px, 5vw, 80px); align-items: start; }
	.erzeuger__fakten { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
	.erzeuger__fakten { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* ---- Portadas recortadas (08/10, inc/ficha.php): producto sin fondo sobre arena con sombra suave, como en la ficha ---- */
.woocommerce ul.products li.product a img.mf-cutout, body.look-faire.woocommerce ul.products li.product a img.mf-cutout { mix-blend-mode: normal; object-fit: contain; padding: 5% 9%; filter: drop-shadow(8px 12px 10px rgba(64, 48, 30, .2)) drop-shadow(2px 3px 2px rgba(64, 48, 30, .12)); }
.woocommerce table.shop_table img.mf-cutout { mix-blend-mode: normal; filter: drop-shadow(2px 3px 2px rgba(64, 48, 30, .2)); }
