/* ====================================================================
   MDLR · Single Product Page Styles v2.2
   ====================================================================
   Cargado solo en /producto/* (is_product())
   ==================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Anton+SC&family=JetBrains+Mono:wght@400;500;700&display=swap');
@import url('https://api.fontshare.com/v2/css?f[]=pp-neue-montreal@400,500,600,700&display=swap');


/* ====================================================================
   1. OVERRIDE ASTRA — full-width
   ==================================================================== */

.mdlr-product-active .entry-title,
.mdlr-product-active .ast-archive-title,
body.single-product .entry-title,
body.single-product .ast-single-post-title{
	display:none !important;
}

.mdlr-product-active .site-content > .ast-container,
.mdlr-product-active .site-content .ast-container,
body.single-product .site-content > .ast-container,
body.single-product .site-content .ast-container{
	max-width:none !important;
	width:100% !important;
	padding-left:0 !important;
	padding-right:0 !important;
}

.mdlr-product-active #primary,
.mdlr-product-active .content-area,
body.single-product #primary{
	width:100% !important;
	max-width:100% !important;
	margin:0 !important;
	padding:0 !important;
}

.mdlr-product-active .entry-content,
body.single-product .entry-content{
	margin:0 !important;
	padding:0 !important;
	max-width:none !important;
}

.mdlr-product-active main#main,
body.single-product main#main{
	padding:0 !important;
	margin:0 !important;
}

.mdlr-product-active .ast-article-single,
body.single-product .ast-article-single{
	padding:0 !important;
	margin:0 !important;
}

/* Ocultar elementos default de WooCommerce */
.mdlr-product-active .woocommerce-product-gallery,
.mdlr-product-active .product_meta,
.mdlr-product-active .woocommerce-tabs,
.mdlr-product-active .related.products,
.mdlr-product-active .upsells.products,
.mdlr-product-active .woocommerce-breadcrumb{
	display:none !important;
}


/* ====================================================================
   2. CONTENEDOR PRINCIPAL
   ==================================================================== */

.mdlr-product-page{
	--c-noir:#0A0A0A;
	--c-rouge:#FF2A2A;
	--c-blanc:#FFFFFF;
	--c-creme:#F5EFE0;
	--c-creme-dirty:#EBE3D0;
	--c-papier:#E8DEC8;
	--c-gray:#777;
	--c-gray-light:#aaa;
	--c-line:#E5E5E5;
	--ff-anton:'Anton SC','Anton',Impact,sans-serif;
	--ff-body:'PP Neue Montreal','Inter',system-ui,sans-serif;
	--ff-mono:'JetBrains Mono','Courier New',monospace;
	--ease:cubic-bezier(0.22,1,0.36,1);
	font-family:var(--ff-body);
	color:var(--c-noir);
	background:var(--c-blanc);
	font-size:16px;
	line-height:1.5;
	-webkit-font-smoothing:antialiased;
	padding:0 0 80px;
	width:100%;
	max-width:100vw;
	overflow-x:hidden;
}

.mdlr-product-page *,
.mdlr-product-page *::before,
.mdlr-product-page *::after{box-sizing:border-box}
.mdlr-product-page h1,
.mdlr-product-page h2,
.mdlr-product-page h3,
.mdlr-product-page h4,
.mdlr-product-page p{margin:0}
.mdlr-product-page button{font:inherit;cursor:pointer;border:none;background:none;color:inherit;padding:0}
.mdlr-product-page a{color:inherit;text-decoration:none}
.mdlr-product-page ::selection{background:var(--c-rouge);color:var(--c-blanc)}

.mdlr-product-wrap{
	width:100%;
	max-width:1380px;
	margin:0 auto;
	padding:0 clamp(20px,4vw,56px);
}


/* ====================================================================
   3. BREADCRUMB
   ==================================================================== */

.mdlr-product-bread{
	padding:24px 0 16px;
	background:var(--c-blanc);
	font-family:var(--ff-mono);
	font-size:11px;
	font-weight:700;
	letter-spacing:0.16em;
	text-transform:uppercase;
}

.mdlr-product-bread .mdlr-product-wrap{
	display:flex;
	align-items:center;
	gap:8px;
	flex-wrap:wrap;
}

.mdlr-product-bread a{
	color:var(--c-gray);
	transition:color 0.15s var(--ease);
}
.mdlr-product-bread a:hover{color:var(--c-rouge)}

.mdlr-product-bread span[aria-hidden]{color:var(--c-gray-light)}

.mdlr-product-bread__current{
	color:var(--c-noir);
	max-width:280px;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}

@media (max-width:560px){
	.mdlr-product-bread{padding:16px 0 10px;font-size:10px}
	.mdlr-product-bread__current{max-width:160px}
}


/* ====================================================================
   4. LAYOUT GRID (galería 60% / info sticky 40%)
   ==================================================================== */

.mdlr-product-layout{
	display:grid;
	grid-template-columns:1fr 480px;
	gap:48px;
	align-items:start;
	padding-bottom:48px;
}

@media (max-width:1180px){
	.mdlr-product-layout{grid-template-columns:1fr 420px;gap:32px}
}
@media (max-width:980px){
	.mdlr-product-layout{grid-template-columns:1fr;gap:24px}
}


/* ====================================================================
   5. GALERÍA (scroll vertical, imágenes apiladas)
   ==================================================================== */

.mdlr-product-gallery{
	display:flex;
	flex-direction:column;
	gap:16px;
	position:relative;
	min-width:0;
}

.mdlr-product-gallery__item{
	background:var(--c-creme);
	border:3px solid var(--c-noir);
	box-shadow:6px 6px 0 var(--c-noir);
	overflow:hidden;
	aspect-ratio:1/1;
	position:relative;
	cursor:zoom-in;
	transition:transform 0.25s var(--ease),box-shadow 0.25s var(--ease);
}

.mdlr-product-gallery__item:hover{
	transform:translate(-3px,-3px);
	box-shadow:9px 9px 0 var(--c-rouge);
}

.mdlr-product-gallery__img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
	transition:transform 0.6s var(--ease);
}

.mdlr-product-gallery__item:hover .mdlr-product-gallery__img{
	transform:scale(1.04);
}

/* Badge sobre la primera imagen */
.mdlr-product-badge{
	position:absolute;
	top:18px;
	left:18px;
	z-index:10;
	font-family:var(--ff-anton);
	font-size:22px;
	letter-spacing:0;
	background:var(--c-rouge);
	color:var(--c-noir);
	padding:6px 14px;
	border:3px solid var(--c-noir);
	transform:rotate(-4deg);
	box-shadow:3px 3px 0 var(--c-noir);
	line-height:1;
	text-transform:uppercase;
}
.mdlr-product-badge--new{background:var(--c-noir);color:var(--c-rouge)}
.mdlr-product-badge--sale{background:var(--c-rouge);color:var(--c-noir)}


/* ====================================================================
   6. INFO STICKY (derecha)
   ==================================================================== */

.mdlr-product-info{
	position:sticky;
	top:24px;
	display:flex;
	flex-direction:column;
	gap:18px;
	min-width:0;
}

@media (max-width:980px){
	.mdlr-product-info{position:static}
}

/* Eyebrow artista */
.mdlr-product-info__eyebrow{
	display:inline-flex;
	align-items:center;
	gap:8px;
	font-family:var(--ff-mono) !important;
	font-size:11px;
	font-weight:700;
	letter-spacing:0.22em;
	text-transform:uppercase;
	color:var(--c-rouge) !important;
	border:2px solid var(--c-rouge);
	padding:6px 12px;
	background:var(--c-blanc);
	transition:transform 0.15s var(--ease),box-shadow 0.15s var(--ease);
	width:fit-content;
}
.mdlr-product-info__eyebrow:hover{
	transform:translate(-2px,-2px);
	box-shadow:3px 3px 0 var(--c-noir);
}

/* Título */
.mdlr-product-info__title{
	font-family:var(--ff-anton) !important;
	font-size:clamp(2rem,4vw,3.2rem) !important;
	line-height:0.95 !important;
	letter-spacing:-0.01em !important;
	text-transform:uppercase;
	color:var(--c-noir) !important;
	margin:0 !important;
	font-weight:normal !important;
}

/* Reviews */
.mdlr-product-info__reviews{
	display:flex;
	align-items:center;
	gap:10px;
	flex-wrap:wrap;
}

.mdlr-product-info__stars{
	display:inline-flex;
	gap:2px;
	color:var(--c-rouge);
}
.mdlr-product-info__stars svg{width:16px;height:16px}

.mdlr-product-info__rating-num{
	font-family:var(--ff-anton);
	font-size:18px;
	color:var(--c-noir);
	letter-spacing:0;
	line-height:1;
}

.mdlr-product-info__rating-count{
	font-family:var(--ff-mono);
	font-size:10px;
	font-weight:700;
	letter-spacing:0.16em;
	text-transform:uppercase;
	color:var(--c-gray);
}

/* Precio */
.mdlr-product-info__price{
	font-family:var(--ff-anton) !important;
	font-weight:normal !important;
	font-size:clamp(28px,3.5vw,42px) !important;
	color:var(--c-rouge) !important;
	letter-spacing:-0.01em !important;
	line-height:1 !important;
	display:flex;
	align-items:baseline;
	gap:12px;
	flex-wrap:wrap;
}
.mdlr-product-info__price *,
.mdlr-product-info__price bdi,
.mdlr-product-info__price span,
.mdlr-product-info__price .woocommerce-Price-amount,
.mdlr-product-info__price .price{
	font-family:var(--ff-anton) !important;
	font-weight:normal !important;
	font-style:normal;
	color:inherit;
}
.mdlr-product-info__price del,
.mdlr-product-info__price del *{
	font-family:var(--ff-mono) !important;
	color:var(--c-gray) !important;
	font-size:18px !important;
	font-weight:600 !important;
	text-decoration:line-through;
	letter-spacing:0;
}
.mdlr-product-info__price ins,
.mdlr-product-info__price ins *{
	text-decoration:none !important;
	color:var(--c-rouge) !important;
	font-family:var(--ff-anton) !important;
}

/* Stock alert */
.mdlr-product-info__stock{
	display:inline-flex;
	align-items:center;
	gap:8px;
	font-family:var(--ff-mono);
	font-size:12px;
	font-weight:700;
	letter-spacing:0.14em;
	text-transform:uppercase;
	color:var(--c-rouge);
	width:fit-content;
}
.mdlr-product-info__stock::before{
	content:'';
	width:8px;
	height:8px;
	background:var(--c-rouge);
	border-radius:50%;
	animation:mdlr-product-pulse 1.8s ease-in-out infinite;
}

@keyframes mdlr-product-pulse{
	0%,100%{opacity:1;transform:scale(1)}
	50%{opacity:0.4;transform:scale(1.4)}
}


/* ====================================================================
   7. FORM (variations native WC + add to cart)
   ==================================================================== */

.mdlr-product-cart-form{margin:0 !important}

/* Tabla nativa de variaciones de WC */
.mdlr-product-cart-form table.variations{
	width:100%;
	margin:0 0 18px;
	border-collapse:collapse;
	background:transparent;
}
.mdlr-product-cart-form table.variations tr{
	display:block;
	margin-bottom:14px;
	background:transparent;
	border:none;
}
.mdlr-product-cart-form table.variations th.label,
.mdlr-product-cart-form table.variations td.value{
	display:block;
	padding:0;
	border:none;
	background:transparent;
	width:auto;
}
.mdlr-product-cart-form table.variations th.label{
	margin-bottom:8px;
}
.mdlr-product-cart-form table.variations th.label label{
	font-family:var(--ff-mono) !important;
	font-size:11px !important;
	font-weight:700 !important;
	letter-spacing:0.22em !important;
	text-transform:uppercase !important;
	color:var(--c-noir) !important;
	margin:0 !important;
	padding:0 !important;
	display:inline-block;
}

/* Reset variations link nativo */
.mdlr-product-cart-form .reset_variations{
	display:none;
	font-family:var(--ff-mono);
	font-size:10px;
	font-weight:700;
	letter-spacing:0.18em;
	text-transform:uppercase;
	color:var(--c-gray);
	margin-left:10px;
	text-decoration:none;
}
.mdlr-product-cart-form .reset_variations:hover{
	color:var(--c-rouge);
}

/* Single variation info */
.mdlr-product-cart-form .single_variation{
	margin-bottom:14px;
	min-height:0;
}
.mdlr-product-cart-form .woocommerce-variation-price{
	display:none; /* el precio principal ya está arriba */
}
.mdlr-product-cart-form .woocommerce-variation-availability{
	font-family:var(--ff-mono);
	font-size:11px;
	font-weight:700;
	letter-spacing:0.14em;
	text-transform:uppercase;
	color:var(--c-rouge);
	margin-top:8px;
}
.mdlr-product-cart-form .woocommerce-variation-description{
	font-family:var(--ff-body);
	font-size:13px;
	color:var(--c-gray);
	margin-top:6px;
}
/* CTA row: qty + add to cart */
.mdlr-product-cta-row{
	display:grid !important;
	grid-template-columns:auto 1fr;
	gap:12px;
	margin-top:8px;
	width:100%;
}

.mdlr-product-qty{
	display:inline-flex;
	align-items:stretch;
	border:3px solid var(--c-noir);
	background:var(--c-blanc);
	overflow:hidden;
	height:60px;
}

.mdlr-product-qty .quantity{
	margin:0 !important;
	display:inline-flex !important;
	align-items:stretch !important;
	height:100% !important;
	border:none !important;
	background:transparent !important;
}

/* Estilo para los botones +/- nativos de WC/Astra (cualquier botón que aparezca en .quantity) */
.mdlr-product-qty .quantity button,
.mdlr-product-qty .quantity .plus,
.mdlr-product-qty .quantity .minus,
.mdlr-product-qty .quantity input[type="button"]{
	width:46px !important;
	height:auto !important;
	min-width:46px !important;
	border:none !important;
	border-radius:0 !important;
	background:var(--c-blanc) !important;
	color:var(--c-noir) !important;
	font-family:var(--ff-anton) !important;
	font-size:22px !important;
	font-weight:normal !important;
	cursor:pointer;
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	padding:0 !important;
	margin:0 !important;
	box-shadow:none !important;
	text-shadow:none !important;
	line-height:1 !important;
	transition:background 0.15s var(--ease),color 0.15s var(--ease);
}
.mdlr-product-qty .quantity button:hover,
.mdlr-product-qty .quantity .plus:hover,
.mdlr-product-qty .quantity .minus:hover{
	background:var(--c-rouge) !important;
}

.mdlr-product-qty input.qty,
.mdlr-product-qty input[type="number"]{
	width:54px !important;
	height:auto !important;
	border:none !important;
	border-left:2px solid var(--c-noir) !important;
	border-right:2px solid var(--c-noir) !important;
	border-radius:0 !important;
	background:var(--c-creme) !important;
	font-family:var(--ff-anton) !important;
	font-size:20px !important;
	font-weight:normal !important;
	text-align:center !important;
	padding:0 !important;
	margin:0 !important;
	color:var(--c-noir) !important;
	-moz-appearance:textfield;
	box-shadow:none !important;
	min-height:0 !important;
	line-height:54px !important;
}
.mdlr-product-qty input.qty::-webkit-outer-spin-button,
.mdlr-product-qty input.qty::-webkit-inner-spin-button{
	-webkit-appearance:none;
	margin:0;
}

/* Botón Ajouter au panier */
.mdlr-product-cta,
.mdlr-product-page button.single_add_to_cart_button.mdlr-product-cta{
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	gap:14px !important;
	width:100% !important;
	min-height:60px !important;
	padding:0 24px !important;
	background:var(--c-rouge) !important;
	color:var(--c-noir) !important;
	font-family:var(--ff-body) !important;
	font-weight:900 !important;
	font-size:16px !important;
	letter-spacing:0.04em !important;
	text-transform:uppercase !important;
	border:3px solid var(--c-noir) !important;
	border-radius:0 !important;
	box-shadow:5px 5px 0 var(--c-noir) !important;
	transition:transform 0.15s var(--ease),box-shadow 0.15s var(--ease),background 0.15s var(--ease),color 0.15s var(--ease) !important;
	cursor:pointer;
	text-shadow:none !important;
}
.mdlr-product-cta:hover{
	background:var(--c-noir) !important;
	color:var(--c-rouge) !important;
	transform:translate(-2px,-2px) !important;
	box-shadow:7px 7px 0 var(--c-rouge) !important;
}
.mdlr-product-cta:active{
	transform:translate(2px,2px) !important;
	box-shadow:2px 2px 0 var(--c-noir) !important;
}
.mdlr-product-cta:disabled,
.mdlr-product-cta.disabled,
.mdlr-product-cta.wc-variation-selection-needed{
	opacity:0.5 !important;
	cursor:not-allowed;
	pointer-events:none;
}

.mdlr-product-cta__arrow{
	font-family:var(--ff-anton);
	font-size:20px;
	display:inline-block;
	transition:transform 0.2s var(--ease);
}
.mdlr-product-cta:hover .mdlr-product-cta__arrow{transform:translateX(4px)}

/* Out of stock message */
.mdlr-product-cart-form__unavailable{
	font-family:var(--ff-anton) !important;
	font-size:18px !important;
	color:var(--c-noir) !important;
	background:var(--c-creme);
	border:3px solid var(--c-noir);
	padding:14px 18px;
	text-align:center;
	margin:0 !important;
}

@media (max-width:560px){
	.mdlr-product-cta-row{grid-template-columns:1fr}
	.mdlr-product-qty{justify-self:start}
}


/* ====================================================================
   8. WAPF FIELDS (StudioWombat Advanced Product Fields)
   ====================================================================
   Selectores cubren las variantes de clases que usa WAPF:
   - .wapf-field-container (legacy)
   - .wapf-wrapper (current)
   - .wapf--field, .wapf--label (newer BEM)
   - [class*="wapf"] (catch-all)
   ==================================================================== */

/* Wrapper general WAPF (puede estar dentro o fuera del form) */
.mdlr-product-page .wapf-wrapper,
.mdlr-product-page .wapf-field-container,
.mdlr-product-page .wapf--field,
.mdlr-product-page [class*="wapf-field"],
.mdlr-product-page [class*="wapf__field"],
.mdlr-product-info .wapf-wrapper,
.mdlr-product-info [class*="wapf-field"],
.mdlr-product-info [class*="wapf__field"]{
	margin-bottom:14px !important;
	padding:0 !important;
	background:transparent !important;
}

/* Labels WAPF (todas las variantes) */
.mdlr-product-page .wapf-field-label,
.mdlr-product-page .wapf-wrapper label,
.mdlr-product-page .wapf--label,
.mdlr-product-page [class*="wapf"] > label,
.mdlr-product-page [class*="wapf-wrapper"] label,
.mdlr-product-page [class*="wapf-field"] label,
.mdlr-product-info [class*="wapf"] label{
	font-family:var(--ff-mono) !important;
	font-size:11px !important;
	font-weight:700 !important;
	letter-spacing:0.22em !important;
	text-transform:uppercase !important;
	color:var(--c-noir) !important;
	margin:0 0 8px 0 !important;
	display:block !important;
	line-height:1.3 !important;
}

/* Asterisco antes del label (★) */
.mdlr-product-page [class*="wapf"] label::before{
	content:'★ ';
	color:var(--c-rouge);
}

/* Required indicator */
.mdlr-product-page .wapf-required,
.mdlr-product-page [class*="wapf"] .required,
.mdlr-product-page [class*="wapf"] [class*="required"]{
	color:var(--c-rouge) !important;
	margin-left:4px;
}

/* Inputs WAPF (text, number, email, textarea) */
.mdlr-product-page [class*="wapf"] input[type="text"],
.mdlr-product-page [class*="wapf"] input[type="number"],
.mdlr-product-page [class*="wapf"] input[type="email"],
.mdlr-product-page [class*="wapf"] input[type="tel"],
.mdlr-product-page [class*="wapf"] input[type="url"],
.mdlr-product-page [class*="wapf"] input[type="search"],
.mdlr-product-page [class*="wapf"] textarea,
.mdlr-product-page [class*="wapf"] select,
.mdlr-product-info [class*="wapf"] input[type="text"],
.mdlr-product-info [class*="wapf"] input[type="number"],
.mdlr-product-info [class*="wapf"] textarea,
.mdlr-product-info [class*="wapf"] select{
	width:100% !important;
	padding:11px 14px !important;
	font-family:var(--ff-mono) !important;
	font-size:13px !important;
	font-weight:500 !important;
	letter-spacing:0.04em !important;
	color:var(--c-noir) !important;
	background:var(--c-blanc) !important;
	border:2.5px solid var(--c-noir) !important;
	border-radius:0 !important;
	box-shadow:none !important;
	transition:box-shadow 0.15s var(--ease) !important;
	outline:none !important;
	min-height:0 !important;
	line-height:1.4 !important;
	max-width:100% !important;
}

.mdlr-product-page [class*="wapf"] input:focus,
.mdlr-product-page [class*="wapf"] textarea:focus,
.mdlr-product-page [class*="wapf"] select:focus{
	box-shadow:3px 3px 0 var(--c-rouge) !important;
	border-color:var(--c-noir) !important;
	outline:none !important;
}

/* Placeholder */
.mdlr-product-page [class*="wapf"] input::placeholder,
.mdlr-product-page [class*="wapf"] textarea::placeholder{
	color:var(--c-gray-light) !important;
	font-family:var(--ff-mono) !important;
	font-style:normal !important;
}

/* Radios y checkboxes - con custom style brutalist */
.mdlr-product-page [class*="wapf"] input[type="radio"],
.mdlr-product-page [class*="wapf"] input[type="checkbox"]{
	accent-color:var(--c-rouge) !important;
	width:18px !important;
	height:18px !important;
	margin-right:8px !important;
	cursor:pointer;
	flex-shrink:0;
}

/* Wrapper de cada radio/checkbox */
.mdlr-product-page [class*="wapf"] [class*="option"],
.mdlr-product-page [class*="wapf"] .wapf-input-radio-wrapper,
.mdlr-product-page [class*="wapf"] .wapf-input-checkbox-wrapper,
.mdlr-product-page [class*="wapf"] label > input[type="radio"] + *,
.mdlr-product-page [class*="wapf"] label > input[type="checkbox"] + *{
	display:flex !important;
	align-items:center !important;
	gap:8px !important;
	padding:8px 10px !important;
	border:2px solid var(--c-noir) !important;
	background:var(--c-blanc) !important;
	margin-bottom:6px !important;
	cursor:pointer;
	transition:background 0.15s var(--ease),box-shadow 0.15s var(--ease) !important;
	font-family:var(--ff-body) !important;
	font-size:13px !important;
	color:var(--c-noir) !important;
}
.mdlr-product-page [class*="wapf"] [class*="option"]:hover{
	box-shadow:3px 3px 0 var(--c-rouge) !important;
}

/* Color swatches WAPF */
.mdlr-product-page [class*="wapf"] [class*="color"] [class*="option"],
.mdlr-product-page [class*="wapf"] .wapf-color-swatch{
	border:2.5px solid var(--c-noir) !important;
	cursor:pointer;
	min-width:36px !important;
	min-height:36px !important;
}

/* Image swatches WAPF */
.mdlr-product-page [class*="wapf"] [class*="image"] img,
.mdlr-product-page [class*="wapf"] .wapf-image-swatch img{
	border:2.5px solid var(--c-noir) !important;
	max-width:60px !important;
	height:auto !important;
}

/* Descripción del campo */
.mdlr-product-page [class*="wapf"] [class*="description"],
.mdlr-product-page .wapf-field-description,
.mdlr-product-page [class*="wapf"] [class*="help"]{
	font-family:var(--ff-body) !important;
	font-size:12px !important;
	color:var(--c-gray) !important;
	margin:6px 0 0 !important;
	font-style:italic !important;
	line-height:1.4 !important;
}

/* Total / precio adicional WAPF (cuando un campo añade coste) */
.mdlr-product-page .wapf-totals,
.mdlr-product-page [class*="wapf-totals"],
.mdlr-product-page [class*="wapf-extra-price"],
.mdlr-product-page [class*="wapf"] [class*="total"],
.mdlr-product-page [class*="wapf"] [class*="addon-price"]{
	font-family:var(--ff-anton) !important;
	font-size:15px !important;
	font-weight:normal !important;
	color:var(--c-noir) !important;
	background:var(--c-creme) !important;
	padding:10px 14px !important;
	border:2.5px solid var(--c-noir) !important;
	margin:10px 0 0 !important;
	display:flex !important;
	justify-content:space-between !important;
	align-items:center !important;
	letter-spacing:-0.005em !important;
	line-height:1 !important;
}

/* Precio adicional inline */
.mdlr-product-page [class*="wapf"] [class*="price"],
.mdlr-product-page [class*="wapf"] .amount{
	font-family:var(--ff-anton) !important;
	color:var(--c-rouge) !important;
	font-weight:normal !important;
}

/* Mensaje de error */
.mdlr-product-page [class*="wapf"] [class*="error"],
.mdlr-product-page .wapf-error{
	color:var(--c-rouge) !important;
	font-family:var(--ff-mono) !important;
	font-size:11px !important;
	font-weight:700 !important;
	letter-spacing:0.1em !important;
	text-transform:uppercase !important;
	margin-top:6px !important;
}


/* ====================================================================
   9. DELIVERY + GUARANTEE (debajo del CTA)
   ==================================================================== */

.mdlr-product-delivery{
	display:flex;
	align-items:center;
	gap:12px;
	padding:14px 16px;
	background:var(--c-creme);
	border:2px solid var(--c-noir);
}
.mdlr-product-delivery svg{
	width:24px;
	height:24px;
	flex-shrink:0;
	color:var(--c-rouge);
}
.mdlr-product-delivery__copy{
	display:flex;
	flex-direction:column;
	gap:3px;
	min-width:0;
}
.mdlr-product-delivery__label{
	font-family:var(--ff-mono);
	font-size:9px;
	font-weight:700;
	letter-spacing:0.2em;
	text-transform:uppercase;
	color:var(--c-rouge);
}
.mdlr-product-delivery__date{
	font-family:var(--ff-body);
	font-size:13px;
	font-weight:600;
	color:var(--c-noir);
	line-height:1.3;
}
.mdlr-product-delivery__date strong{
	font-family:var(--ff-anton);
	font-size:15px;
	color:var(--c-rouge);
	letter-spacing:0;
	font-weight:normal;
}

/* Garantía sticker rojo */
.mdlr-product-guarantee{
	display:flex;
	align-items:center;
	gap:12px;
	padding:12px 14px;
	background:var(--c-rouge);
	color:var(--c-noir);
	border:2px solid var(--c-noir);
	transform:rotate(-1deg);
	box-shadow:3px 3px 0 var(--c-noir);
}
.mdlr-product-guarantee svg{width:22px;height:22px;flex-shrink:0}
.mdlr-product-guarantee__copy{display:flex;flex-direction:column;gap:2px}
.mdlr-product-guarantee__title{
	font-family:var(--ff-anton);
	font-size:18px;
	line-height:1;
	text-transform:uppercase;
	color:var(--c-noir);
}
.mdlr-product-guarantee__sub{
	font-family:var(--ff-mono);
	font-size:9px;
	font-weight:700;
	letter-spacing:0.16em;
	text-transform:uppercase;
}
.mdlr-product-guarantee__sub strong{
	font-family:var(--ff-anton);
	font-size:11px;
	letter-spacing:0;
	font-weight:normal;
}


/* ====================================================================
   10. TRUST + PAYMENTS
   ==================================================================== */

.mdlr-product-trust{
	background:var(--c-blanc);
	border:2px solid var(--c-noir);
	padding:18px 20px;
	box-shadow:4px 4px 0 var(--c-noir);
}
.mdlr-product-trust__title{
	font-family:var(--ff-mono);
	font-size:10px;
	font-weight:700;
	letter-spacing:0.22em;
	text-transform:uppercase;
	color:var(--c-rouge);
	margin-bottom:14px;
	display:flex;
	align-items:center;
	gap:10px;
}
.mdlr-product-trust__title::before{
	content:'';
	width:18px;
	height:2px;
	background:var(--c-rouge);
}

.mdlr-product-trust__list{
	display:flex;
	flex-direction:column;
	gap:10px;
}
.mdlr-product-trust__item{
	display:flex;
	align-items:center;
	gap:12px;
	font-family:var(--ff-body);
	font-size:13px;
	font-weight:600;
	color:var(--c-noir);
	line-height:1.3;
}
.mdlr-product-trust__item svg{
	width:18px;
	height:18px;
	flex-shrink:0;
	color:var(--c-rouge);
}
.mdlr-product-trust__item b{color:var(--c-rouge);font-weight:700}

.mdlr-product-payments{
	display:flex;
	align-items:center;
	justify-content:center;
	margin-top:14px;
	padding-top:14px;
	border-top:1.5px solid var(--c-line);
}
.mdlr-product-payments img{
	max-width:100%;
	height:auto;
	max-height:32px;
	width:auto;
	display:block;
}


/* ====================================================================
   11. SECCIONES EXPANDIDAS (description, matos, livraison)
   ==================================================================== */

.mdlr-product-section{
	padding:32px 0;
	border-top:3px solid var(--c-noir);
}

.mdlr-product-section__title{
	font-family:var(--ff-anton) !important;
	font-size:clamp(1.6rem,3vw,2.4rem) !important;
	line-height:0.95 !important;
	letter-spacing:-0.005em !important;
	text-transform:uppercase;
	color:var(--c-noir) !important;
	margin-bottom:18px !important;
	font-weight:normal !important;
}

.mdlr-product-section__content{
	font-family:var(--ff-body);
	font-size:15px;
	line-height:1.6;
	color:var(--c-noir);
	max-width:780px;
}
.mdlr-product-section__content p{margin-bottom:14px}
.mdlr-product-section__content p:last-child{margin-bottom:0}
.mdlr-product-section__content strong{color:var(--c-rouge);font-weight:700}
.mdlr-product-section__content a{
	color:var(--c-rouge);
	font-weight:700;
	text-decoration:underline;
}

/* Atributos producto (Le matos) */
.mdlr-product-attrs{
	display:grid;
	grid-template-columns:160px 1fr;
	gap:8px 24px;
	margin:0;
	padding:0;
	max-width:580px;
}
.mdlr-product-attrs dt{
	font-family:var(--ff-mono);
	font-size:11px;
	font-weight:700;
	letter-spacing:0.18em;
	text-transform:uppercase;
	color:var(--c-rouge);
	padding:6px 0;
	margin:0;
}
.mdlr-product-attrs dd{
	font-family:var(--ff-body);
	font-size:14px;
	color:var(--c-noir);
	padding:6px 0;
	margin:0;
}

@media (max-width:560px){
	.mdlr-product-attrs{grid-template-columns:1fr;gap:0}
	.mdlr-product-attrs dt{padding-bottom:2px}
	.mdlr-product-attrs dd{padding-top:0;padding-bottom:14px;border-bottom:1px solid var(--c-line)}
}

/* Shipping grid (3 cards Livraison & retours) */
.mdlr-product-shipping-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:18px;
}

@media (max-width:760px){
	.mdlr-product-shipping-grid{grid-template-columns:1fr;gap:14px}
}

.mdlr-product-shipping-item{
	background:var(--c-blanc);
	border:2.5px solid var(--c-noir);
	padding:22px 20px;
	box-shadow:4px 4px 0 var(--c-noir);
	transition:transform 0.2s var(--ease),box-shadow 0.2s var(--ease);
}
.mdlr-product-shipping-item:hover{
	transform:translate(-3px,-3px);
	box-shadow:7px 7px 0 var(--c-rouge);
}
.mdlr-product-shipping-item svg{
	width:28px;
	height:28px;
	color:var(--c-rouge);
	margin-bottom:14px;
}
.mdlr-product-shipping-item h3{
	font-family:var(--ff-anton);
	font-size:22px;
	letter-spacing:0;
	text-transform:uppercase;
	color:var(--c-noir);
	margin-bottom:8px !important;
}
.mdlr-product-shipping-item p{
	font-family:var(--ff-body);
	font-size:13px;
	line-height:1.5;
	color:var(--c-gray);
	margin:0;
}
.mdlr-product-shipping-item p strong{color:var(--c-rouge);font-weight:700}


/* ====================================================================
   12. PRODUCTOS RELACIONADOS
   ==================================================================== */

.mdlr-product-related{
	padding:48px 0;
	border-top:3px solid var(--c-noir);
}

.mdlr-product-related__head{
	margin-bottom:28px;
}

.mdlr-product-related__num{
	font-family:var(--ff-mono);
	font-size:11px;
	font-weight:700;
	letter-spacing:0.22em;
	text-transform:uppercase;
	color:var(--c-noir);
}
.mdlr-product-related__num::before{
	content:'';
	display:inline-block;
	width:24px;
	height:2px;
	background:currentColor;
	margin-right:10px;
	vertical-align:middle;
}

.mdlr-product-related__title{
	font-family:var(--ff-anton) !important;
	font-size:clamp(2rem,4vw,3.2rem) !important;
	line-height:0.95 !important;
	letter-spacing:-0.01em !important;
	text-transform:uppercase;
	color:var(--c-noir) !important;
	margin:14px 0 0 !important;
	font-weight:normal !important;
}
.mdlr-product-related__title em{
	font-style:normal !important;
	color:var(--c-rouge) !important;
}

.mdlr-product-related__grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:18px;
}

@media (max-width:1180px){
	.mdlr-product-related__grid{grid-template-columns:repeat(3,1fr);gap:14px}
}
@media (max-width:760px){
	.mdlr-product-related__grid{grid-template-columns:repeat(2,1fr);gap:12px}
}

/* La card del producto se reusa (.mdlr-shop-card de mdlr-shop.css) */

/* === RESET ESPECÍFICO para cards dentro del single product page === */
/* Evita que los estilos de .mdlr-product-section__content y otros del single product
   pisen los estilos de las cards de productos relacionados */

.mdlr-product-related__grid .mdlr-shop-card,
.mdlr-product-related__grid article.mdlr-shop-card{
	background:#FFFFFF !important;
	border:3px solid #0A0A0A !important;
	box-shadow:6px 6px 0 #0A0A0A !important;
	display:flex !important;
	flex-direction:column !important;
	min-width:0 !important;
	position:relative !important;
	max-width:none !important;
	padding:0 !important;
	margin:0 !important;
	color:#0A0A0A !important;
	font-family:'PP Neue Montreal','Inter',system-ui,sans-serif !important;
}

.mdlr-product-related__grid .mdlr-shop-card:hover{
	transform:translate(-3px,-3px) !important;
	box-shadow:9px 9px 0 #FF2A2A !important;
}

.mdlr-product-related__grid .mdlr-shop-card__link{
	display:flex !important;
	flex-direction:column !important;
	height:100% !important;
	color:inherit !important;
	text-decoration:none !important;
	padding:0 !important;
	margin:0 !important;
}

.mdlr-product-related__grid .mdlr-shop-card__media{
	position:relative !important;
	aspect-ratio:1/1 !important;
	background:#F5EFE0 !important;
	overflow:hidden !important;
	border-bottom:3px solid #0A0A0A !important;
	margin:0 !important;
	padding:0 !important;
	max-width:none !important;
}

.mdlr-product-related__grid .mdlr-shop-card__body{
	padding:14px 16px 16px !important;
	display:flex !important;
	flex-direction:column !important;
	gap:8px !important;
	flex:1 !important;
	max-width:none !important;
}

.mdlr-product-related__grid .mdlr-shop-card__body p{
	margin:0 !important;
}

.mdlr-product-related__grid .mdlr-shop-card__name{
	font-family:'Anton SC','Anton',Impact,sans-serif !important;
	font-weight:normal !important;
	font-size:clamp(15px,1.4vw,19px) !important;
	line-height:1.05 !important;
	letter-spacing:-0.005em !important;
	text-transform:uppercase !important;
	color:#0A0A0A !important;
	display:-webkit-box !important;
	-webkit-line-clamp:2 !important;
	-webkit-box-orient:vertical !important;
	overflow:hidden !important;
	min-height:2.1em !important;
	margin:0 !important;
	max-width:none !important;
}

.mdlr-product-related__grid .mdlr-shop-card__price,
.mdlr-product-related__grid .mdlr-shop-card__price *{
	font-family:'Anton SC','Anton',Impact,sans-serif !important;
	font-weight:normal !important;
	color:#FF2A2A !important;
	font-style:normal !important;
}
.mdlr-product-related__grid .mdlr-shop-card__price{
	display:flex !important;
	align-items:baseline !important;
	gap:8px !important;
	flex-wrap:wrap !important;
	font-size:clamp(20px,1.9vw,26px) !important;
	letter-spacing:-0.005em !important;
	line-height:1 !important;
	margin:0 !important;
	padding:0 !important;
}
.mdlr-product-related__grid .mdlr-shop-card__price del,
.mdlr-product-related__grid .mdlr-shop-card__price del *{
	font-family:'JetBrains Mono','Courier New',monospace !important;
	color:#777 !important;
	font-weight:600 !important;
	font-size:13px !important;
	text-decoration:line-through !important;
	letter-spacing:0 !important;
}
.mdlr-product-related__grid .mdlr-shop-card__price ins,
.mdlr-product-related__grid .mdlr-shop-card__price ins *{
	text-decoration:none !important;
	color:#FF2A2A !important;
	font-family:'Anton SC','Anton',Impact,sans-serif !important;
}

.mdlr-product-related__grid .mdlr-shop-card__sizes{
	display:flex !important;
	gap:4px !important;
	flex-wrap:wrap !important;
	margin-top:4px !important;
	padding:0 !important;
}
.mdlr-product-related__grid .mdlr-shop-card__size{
	font-family:'JetBrains Mono','Courier New',monospace !important;
	font-size:9px !important;
	font-weight:700 !important;
	letter-spacing:0.1em !important;
	color:#0A0A0A !important;
	background:#F5EFE0 !important;
	padding:3px 7px !important;
	border:1.5px solid #0A0A0A !important;
	line-height:1 !important;
	text-transform:none !important;
}

.mdlr-product-related__grid .mdlr-shop-card__badge{
	position:absolute !important;
	top:10px !important;
	left:10px !important;
	z-index:5 !important;
	font-family:'Anton SC','Anton',Impact,sans-serif !important;
	font-size:14px !important;
	letter-spacing:0 !important;
	background:#FF2A2A !important;
	color:#0A0A0A !important;
	padding:4px 10px !important;
	border:2px solid #0A0A0A !important;
	transform:rotate(-4deg) !important;
	box-shadow:2px 2px 0 #0A0A0A !important;
	line-height:1 !important;
	text-transform:uppercase !important;
}
.mdlr-product-related__grid .mdlr-shop-card__badge--new{
	background:#0A0A0A !important;
	color:#FF2A2A !important;
}

.mdlr-product-related__grid .mdlr-shop-card__img,
.mdlr-product-related__grid .mdlr-shop-card__media img{
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
	display:block !important;
	max-width:none !important;
	margin:0 !important;
	padding:0 !important;
}


/* ====================================================================
   13. Reduced motion
   ==================================================================== */

@media (prefers-reduced-motion:reduce){
	.mdlr-product-page *,
	.mdlr-product-page *::before,
	.mdlr-product-page *::after{
		animation:none !important;
		transition:none !important;
	}
}
