/* ==========================================================
   FICHA DE PRODUCTO 2.9.1 — productos normales
   ==========================================================
   Solo en fichas sin configurador (body.ms-pdp, inc/product-page.php).
   Mismo lenguaje que la portada: tinta, papel, mostaza, bordes de 2px
   y sombras duras. Se carga después de phase3.css y la sobrescribe. */

body.ms-pdp{
	--pdp-ink:var(--ink,#111);
	--pdp-y:var(--mustard,#F5D51D);
	--pdp-soft:var(--paper-soft,#F5F4F0);
	--pdp-b:2px solid var(--pdp-ink);
	--pdp-top:calc(var(--header-h,76px) + 28px);
}

/* --- Rejilla ----------------------------------------------- */
body.ms-pdp.single-product div.product{
	display:grid;
	grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
	gap:clamp(32px,4.5vw,72px);
	align-items:start;
	padding-top:clamp(20px,3vw,40px);
}
body.ms-pdp div.product > .ms-pdp-sobre,
body.ms-pdp div.product > .ms-pdp-mas,
body.ms-pdp div.product > .woocommerce-tabs,
body.ms-pdp div.product > .related,
body.ms-pdp div.product > .maderia-ficha-info{grid-column:1/-1;}

/* --- Galería ----------------------------------------------- */
body.ms-pdp .woocommerce-product-gallery{
	position:relative !important;
	width:auto !important;float:none !important;margin:0 !important;
	opacity:1 !important;
}
body.ms-pdp .woocommerce-product-gallery .flex-viewport{
	border:var(--pdp-b);
	background:var(--pdp-soft);
	box-shadow:10px 10px 0 var(--pdp-ink);
}
body.ms-pdp .woocommerce-product-gallery__wrapper{display:block !important;margin:0;}
body.ms-pdp .woocommerce-product-gallery__image a{display:block;}
body.ms-pdp .woocommerce-product-gallery__image img,
body.ms-pdp .woocommerce-product-gallery img.wp-post-image{
	display:block;
	width:100% !important;
	height:auto !important;
	aspect-ratio:3/2;
	max-height:none !important;
	object-fit:cover !important;
	border:0 !important;border-radius:0 !important;
	background:var(--pdp-soft);
}
/* Sin flexslider (una sola foto) la imagen va sola: el marco va en ella. */
body.ms-pdp .woocommerce-product-gallery:not(:has(.flex-viewport)) .woocommerce-product-gallery__wrapper{
	border:var(--pdp-b);box-shadow:10px 10px 0 var(--pdp-ink);
}

/* Miniaturas en fila, debajo de la foto. WooCommerce las pone como
   hermanas del visor (.flex-control-thumbs), no dentro del envoltorio. */
body.ms-pdp .woocommerce-product-gallery .flex-control-thumbs{
	display:grid !important;
	grid-template-columns:repeat(auto-fill,minmax(84px,1fr));
	gap:12px;
	width:auto !important;max-height:none !important;
	margin:24px 0 0 !important;padding:0 !important;
	list-style:none;
	overflow:visible;
}
body.ms-pdp .woocommerce-product-gallery .flex-control-thumbs li{
	width:auto !important;float:none !important;margin:0 !important;padding:0;
	border:var(--pdp-b);
	background:var(--pdp-soft);
	cursor:pointer;
	transition:transform .15s,box-shadow .15s;
}
body.ms-pdp .woocommerce-product-gallery .flex-control-thumbs li:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--pdp-ink);}
body.ms-pdp .woocommerce-product-gallery .flex-control-thumbs img{
	display:block;width:100%;aspect-ratio:1/1;object-fit:cover;
	opacity:.55;outline:0 !important;
	transition:opacity .2s;
}
body.ms-pdp .woocommerce-product-gallery .flex-control-thumbs img.flex-active,
body.ms-pdp .woocommerce-product-gallery .flex-control-thumbs li:hover img{opacity:1;}
body.ms-pdp .woocommerce-product-gallery .flex-control-thumbs li:has(img.flex-active){box-shadow:4px 4px 0 var(--pdp-y);}

/* Botón de zoom: cuadrado, en la esquina. */
body.ms-pdp .woocommerce-product-gallery__trigger{
	position:absolute;top:14px;right:14px;z-index:9;
	display:grid;place-items:center;
	width:44px;height:44px;
	background:#fff;border:var(--pdp-b);
	font-size:0 !important;text-indent:0;
	color:var(--pdp-ink);
}
body.ms-pdp .woocommerce-product-gallery__trigger::before{
	content:"";width:18px;height:18px;
	background:currentColor;
	-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4'%3E%3Ccircle cx='10' cy='10' r='7'/%3E%3Cpath d='M15 15l7 7M10 7v6M7 10h6'/%3E%3C/svg%3E") center/contain no-repeat;
	mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4'%3E%3Ccircle cx='10' cy='10' r='7'/%3E%3Cpath d='M15 15l7 7M10 7v6M7 10h6'/%3E%3C/svg%3E") center/contain no-repeat;
}
body.ms-pdp .woocommerce-product-gallery__trigger img{display:none !important;}
body.ms-pdp .woocommerce-product-gallery__trigger:hover{background:var(--pdp-y);}

/* --- Columna de compra ------------------------------------- */
body.ms-pdp .summary.entry-summary{
	width:auto !important;float:none !important;margin:0 !important;
	position:sticky;top:var(--pdp-top);
}
.ms-pdp-eyebrow{
	display:flex;flex-wrap:wrap;align-items:center;gap:10px;
	margin:0 0 18px !important;
	font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
}
.ms-pdp-eyebrow a{
	display:inline-flex;align-items:center;gap:8px;
	color:var(--pdp-ink);text-decoration:none;
}
.ms-pdp-eyebrow a::before{content:"";width:9px;height:9px;background:var(--pdp-y);outline:2px solid var(--pdp-ink);}
.ms-pdp-eyebrow a:hover{text-decoration:underline;text-underline-offset:4px;}
.ms-pdp-unica{padding:5px 8px;background:var(--pdp-ink);color:var(--pdp-y);}

body.ms-pdp .summary .product_title{
	font-family:var(--font-display) !important;
	font-size:clamp(2rem,3.4vw,3.3rem) !important;
	font-weight:800 !important;
	line-height:.94 !important;
	letter-spacing:-.045em !important;
	text-transform:uppercase;
	margin:0 0 22px !important;
	max-width:none !important;
}
body.ms-pdp .summary .price,
body.ms-pdp .woocommerce-variation-price .price{
	display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;
	margin:0 0 24px !important;
	padding:10px 16px;
	background:var(--pdp-y);
	border:var(--pdp-b);
	box-shadow:5px 5px 0 var(--pdp-ink);
	font-family:var(--font-display) !important;
	font-size:clamp(1.4rem,2.2vw,1.9rem) !important;
	font-weight:800 !important;
	letter-spacing:-.02em;
	color:var(--pdp-ink) !important;
	line-height:1.1;
}
body.ms-pdp .summary .price del{font-size:.6em;font-weight:600;opacity:.6;}
body.ms-pdp .summary .price ins{text-decoration:none;}
body.ms-pdp .woocommerce-variation-price .price{margin:0 0 16px !important;}

/* Datos (referencia, medidas, grosor) como fila de celdas. */
body.ms-pdp .pw-facts{
	display:flex;flex-wrap:wrap;
	margin:0 0 24px !important;
	border:var(--pdp-b);
	border-top:var(--pdp-b) !important;border-bottom:var(--pdp-b) !important;
}
body.ms-pdp .pw-fact{flex:1 1 auto;min-width:0;padding:12px 14px;border-right:var(--pdp-b);border-top:0 !important;margin:0 !important;}
body.ms-pdp .pw-fact:last-child{border-right:0;}
body.ms-pdp .pw-fact dt{font-size:.62rem !important;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-ink,#6A6A66);margin:0 0 4px;}
body.ms-pdp .pw-fact dd{margin:0;font-weight:800;font-size:.95rem;font-family:var(--font-display) !important;}

/* Descripción corta: intro + lista con casillas. */
body.ms-pdp .woocommerce-product-details__short-description{
	margin:0 0 26px !important;padding:0 !important;border:0 !important;
	font-size:1.02rem;line-height:1.55;
}
body.ms-pdp .woocommerce-product-details__short-description p{margin:0 0 16px;color:var(--pdp-ink);}
body.ms-pdp .woocommerce-product-details__short-description ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
body.ms-pdp .woocommerce-product-details__short-description li{
	position:relative;padding-left:30px;
	font-weight:700;font-size:.95rem;line-height:1.4;
}
body.ms-pdp .woocommerce-product-details__short-description li::before{
	content:"";position:absolute;left:0;top:2px;
	width:18px;height:18px;
	background:var(--pdp-y) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='3.4'%3E%3Cpath d='M5 12l5 5L19 7'/%3E%3C/svg%3E") center/12px no-repeat;
	border:2px solid var(--pdp-ink);
}

/* --- Selector de tamaño (variaciones) ---------------------- */
body.ms-pdp table.variations{width:100%;margin:0 0 16px !important;border:0;border-collapse:collapse;}
body.ms-pdp table.variations tr{display:block;}
body.ms-pdp table.variations th,
body.ms-pdp table.variations td{display:block;padding:0 !important;border:0 !important;text-align:left;background:none;}
body.ms-pdp table.variations th.label label{
	display:block;margin:0 0 10px;
	font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
}
body.ms-pdp table.variations select{
	width:100%;min-height:52px;padding:0 14px;
	border:var(--pdp-b);border-radius:0;background:#fff;
	font:inherit;font-weight:700;
}
/* Con JavaScript el <select> queda detrás de los botones. */
body.ms-pdp .ms-opts-ready select{position:absolute !important;width:1px !important;height:1px !important;min-height:0 !important;opacity:0;pointer-events:none;}
.ms-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;}
.ms-opt{
	position:relative;
	display:flex;flex-direction:column;align-items:flex-start;gap:4px;
	padding:14px 16px;
	background:#fff;color:var(--pdp-ink);
	border:var(--pdp-b);
	font:inherit;text-align:left;
	cursor:pointer;
	transition:transform .15s,box-shadow .15s,background .15s;
}
.ms-opt b{font-size:.95rem;font-weight:800;letter-spacing:-.01em;text-transform:uppercase;line-height:1.1;}
.ms-opt small{font-size:.78rem;font-weight:700;color:var(--muted-ink,#6A6A66);}
.ms-opt em{font-style:normal;font-size:.9rem;font-weight:800;margin-top:4px;}
.ms-opt:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--pdp-ink);}
.ms-opt[aria-checked="true"]{background:var(--pdp-ink);color:#fff;box-shadow:4px 4px 0 var(--pdp-y);}
.ms-opt[aria-checked="true"] small{color:rgba(255,255,255,.7);}
.ms-opt[aria-checked="true"] em{color:var(--pdp-y);}
.ms-opt:disabled{opacity:.35;cursor:not-allowed;transform:none;box-shadow:none;}
.ms-opt:focus-visible{outline:3px solid var(--pdp-y);outline-offset:3px;}
body.ms-pdp .reset_variations{
	display:inline-block;margin-top:10px;
	font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
	color:var(--muted-ink,#6A6A66);text-decoration:underline;text-underline-offset:3px;
}
body.ms-pdp .summary .stock,
body.ms-pdp .woocommerce-variation-availability p{margin:0 0 12px;font-weight:700;font-size:.85rem;}

/* --- Cantidad + botón -------------------------------------- */
body.ms-pdp form.cart:not(.variations_form),
body.ms-pdp .woocommerce-variation-add-to-cart{
	display:flex !important;flex-wrap:wrap;align-items:stretch;gap:12px;
	margin:0 0 22px !important;
}
body.ms-pdp form.variations_form{margin:0 0 22px !important;}
body.ms-pdp form.cart .quantity{margin:0 !important;float:none !important;}
body.ms-pdp form.cart .quantity .qty{
	width:76px !important;height:60px !important;
	border:var(--pdp-b) !important;border-radius:0 !important;
	font:inherit;font-weight:800;font-size:1.05rem;text-align:center;
	background:#fff;
}
body.ms-pdp form.cart .single_add_to_cart_button{
	flex:1 1 220px;
	display:inline-flex;align-items:center;justify-content:center;gap:12px;
	min-height:60px;margin:0 !important;padding:0 28px !important;
	background:var(--pdp-ink) !important;color:#fff !important;
	border:var(--pdp-b) !important;border-radius:0 !important;
	box-shadow:6px 6px 0 var(--pdp-y);
	font-family:var(--font-display) !important;
	font-size:.9rem !important;font-weight:800 !important;letter-spacing:.1em;text-transform:uppercase;
	cursor:pointer;
	transition:transform .18s,box-shadow .18s;
}
body.ms-pdp form.cart .single_add_to_cart_button::after{
	content:"";width:16px;height:12px;
	background:currentColor;
	-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 12'%3E%3Cpath d='M0 6h14M9 1l5 5-5 5' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat;
	mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 12'%3E%3Cpath d='M0 6h14M9 1l5 5-5 5' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat;
	transition:transform .25s;
}
body.ms-pdp form.cart .single_add_to_cart_button:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--pdp-y);}
body.ms-pdp form.cart .single_add_to_cart_button:hover::after{transform:translateX(5px);}
body.ms-pdp form.cart .single_add_to_cart_button:active{transform:translate(5px,5px);box-shadow:0 0 0 var(--pdp-y);}
body.ms-pdp form.cart .single_add_to_cart_button.disabled{opacity:.45;cursor:not-allowed;}
body.ms-pdp form.cart .single_add_to_cart_button.loading{opacity:.8;}

/* --- Confianza + WhatsApp ---------------------------------- */
.ms-pdp-trust{list-style:none;margin:0 0 16px !important;padding:0;display:grid;gap:8px;}
.ms-pdp-trust li{
	display:flex;align-items:center;gap:10px;
	font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
}
.ms-pdp-trust li::before{content:"";width:8px;height:8px;background:var(--pdp-ink);flex-shrink:0;}
.ms-pdp-wa{
	display:inline-flex;align-items:center;gap:10px;
	padding:12px 16px;
	border:var(--pdp-b);background:#fff;color:var(--pdp-ink) !important;
	font-size:.8rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;text-decoration:none !important;
	transition:transform .15s,box-shadow .15s,background .15s;
}
.ms-pdp-wa svg{color:#1a8f4a;}
.ms-pdp-wa:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--pdp-ink);background:var(--pdp-soft);}

/* Las piezas con descripción en la columna (sin descripción corta)
   siguen usando el bloque del tema; solo se ajusta al estilo. */
body.ms-pdp .maderia-ficha-info{border-top:var(--pdp-b);padding-top:22px;}

/* ==========================================================
   SOBRE ESTA PIEZA
   ========================================================== */
.ms-pdp-sobre{
	display:grid;
	grid-template-columns:minmax(0,4fr) minmax(0,8fr);
	gap:clamp(28px,5vw,80px);
	margin-top:clamp(56px,8vw,120px);
	padding-top:clamp(32px,4vw,48px);
	border-top:var(--pdp-b);
}
.ms-pdp-sobre-head{position:sticky;top:var(--pdp-top);align-self:start;}
.ms-pdp-kicker{
	display:flex;align-items:center;gap:10px;margin:0 0 16px !important;
	font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
}
.ms-pdp-kicker span{display:inline-grid;place-items:center;min-width:34px;height:22px;background:var(--pdp-ink);color:var(--pdp-y);font-size:.68rem;}
.ms-pdp-sobre-head h2{
	margin:0 !important;
	font-family:var(--font-display) !important;
	font-size:clamp(2rem,4.4vw,3.8rem) !important;font-weight:800 !important;
	line-height:.9 !important;letter-spacing:-.045em !important;text-transform:uppercase;
}
.ms-pdp-sobre-body{max-width:760px;font-size:1.05rem;line-height:1.65;}
.ms-pdp-sobre-body > p,
.ms-pdp-sobre-body .ms-ficha > p{margin:0 0 18px;color:var(--pdp-ink);}

/* Contenido de la descripción (clases ms-ficha-*). */
.ms-ficha h3{
	display:flex;align-items:center;gap:12px;
	margin:44px 0 16px !important;
	font-family:var(--font-display) !important;
	font-size:clamp(1.25rem,2vw,1.6rem) !important;font-weight:800 !important;
	line-height:1.05 !important;letter-spacing:-.025em !important;text-transform:uppercase;
}
.ms-ficha h3::before{content:"";width:14px;height:14px;background:var(--pdp-y,#F5D51D);outline:2px solid var(--pdp-ink,#111);flex-shrink:0;}
.ms-ficha .ms-ficha-lead{
	font-size:clamp(1.15rem,1.7vw,1.4rem) !important;font-weight:600;line-height:1.45 !important;letter-spacing:-.01em;
	margin:0 0 8px !important;
}
.ms-ficha-maderas,.ms-ficha-ventajas{list-style:none;margin:0 0 8px !important;padding:0 !important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.ms-ficha-maderas li,.ms-ficha-ventajas li{
	display:grid;grid-template-columns:auto 1fr;align-items:start;gap:4px 14px;
	padding:16px;margin:0 !important;
	border:2px solid var(--pdp-ink,#111);background:#fff;
	transition:transform .15s,box-shadow .15s;
}
.ms-ficha-maderas li:hover,.ms-ficha-ventajas li:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--pdp-ink,#111);}
.ms-ficha-swatch{grid-row:1/3;width:44px;height:44px;border:2px solid var(--pdp-ink,#111);}
.ms-ficha-maderas strong,.ms-ficha-ventajas strong{font-weight:800;text-transform:uppercase;font-size:.92rem;letter-spacing:.02em;}
.ms-ficha-maderas span:not(.ms-ficha-swatch),.ms-ficha-ventajas span{grid-column:2;font-size:.9rem;line-height:1.45;color:var(--muted-ink,#6A6A66);}
.ms-ficha-ventajas li{grid-template-columns:1fr;}
.ms-ficha-ventajas li span{grid-column:1;}
.ms-ficha-ventajas li::before{content:"";width:22px;height:4px;background:var(--pdp-y,#F5D51D);outline:2px solid var(--pdp-ink,#111);margin-bottom:8px;}

.ms-ficha-specs{width:100%;margin:0 0 8px !important;border-collapse:collapse;border:2px solid var(--pdp-ink,#111);font-size:.95rem;}
.ms-ficha-specs th,.ms-ficha-specs td{padding:14px 16px !important;border-bottom:2px solid var(--pdp-ink,#111) !important;text-align:left;vertical-align:top;}
.ms-ficha-specs tr:last-child th,.ms-ficha-specs tr:last-child td{border-bottom:0 !important;}
.ms-ficha-specs th{
	width:34%;
	background:var(--pdp-ink,#111);color:#fff;
	font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
}
.ms-ficha-specs td{font-weight:700;background:#fff;}
.ms-ficha-specs tr:hover td{background:var(--pdp-y,#F5D51D);}

.ms-ficha-nota{
	margin:28px 0 8px;padding:20px 22px;
	background:var(--pdp-y,#F5D51D);
	border:2px solid var(--pdp-ink,#111);
	box-shadow:6px 6px 0 var(--pdp-ink,#111);
}
.ms-ficha-nota p{margin:0 !important;font-size:.98rem;line-height:1.5;}
.ms-ficha-nota p + p{margin-top:6px !important;}
.ms-ficha-nota strong{font-weight:800;text-transform:uppercase;letter-spacing:.04em;}
.ms-ficha-cuidado{margin:32px 0 0 !important;}
.ms-ficha-cuidado a{
	font-size:.8rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
	color:var(--pdp-ink,#111);text-decoration:none;
	padding-bottom:4px;border-bottom:2px solid currentColor;
}
.ms-ficha-cuidado a:hover{border-bottom-color:var(--pdp-y,#F5D51D);}

/* ==========================================================
   MÁS PIEZAS
   ========================================================== */
.ms-pdp-mas{
	margin-top:clamp(64px,9vw,128px);
	padding:clamp(40px,5vw,64px) 0 0;
	border-top:var(--pdp-b);
	background:transparent !important;
	overflow:visible !important;
}
.ms-pdp-mas .mh-grid{--cols:1;}
@media (min-width:560px){.ms-pdp-mas .mh-grid{--cols:2;}}
@media (min-width:1100px){.ms-pdp-mas .mh-grid{--cols:4;}}

/* ==========================================================
   RESPONSIVO
   ========================================================== */
@media (max-width:980px){
	body.ms-pdp.single-product div.product{grid-template-columns:1fr;}
	body.ms-pdp .summary.entry-summary{position:static;}
	.ms-pdp-sobre{grid-template-columns:1fr;}
	.ms-pdp-sobre-head{position:static;}
}
@media (max-width:600px){
	body.ms-pdp .woocommerce-product-gallery .flex-viewport{box-shadow:6px 6px 0 var(--pdp-ink);}
	body.ms-pdp .woocommerce-product-gallery .flex-control-thumbs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:18px !important;}
	.ms-ficha-maderas,.ms-ficha-ventajas{grid-template-columns:1fr;}
	.ms-ficha-specs th{width:40%;}
	body.ms-pdp .pw-fact{padding:10px 12px;}
	body.ms-pdp .pw-fact dd{font-size:.86rem;overflow-wrap:anywhere;}
}
@media (prefers-reduced-motion:reduce){
	body.ms-pdp *{transition-duration:.01s !important;}
}

/* Las dos secciones viven fuera de div.product (ver product-page.php),
   así que llevan su propio contenedor con el mismo ancho que la ficha. */
.ms-pdp-sobre,
.ms-pdp-mas{
	max-width:var(--maxw,1280px);
	margin-left:auto !important;margin-right:auto !important;
	padding-left:clamp(16px,2.2vw,28px);padding-right:clamp(16px,2.2vw,28px);
	box-sizing:border-box;
}
.ms-pdp-sobre{border-top:0;position:relative;}
.ms-pdp-sobre::before,
.ms-pdp-mas::before{
	content:"";position:absolute;top:0;
	left:clamp(16px,2.2vw,28px);right:clamp(16px,2.2vw,28px);
	border-top:var(--pdp-b);
}
.ms-pdp-mas{border-top:0;position:relative;padding-bottom:clamp(56px,7vw,96px);}
