/* ============================================================
   MIPIEL v2 — "Cuaderno de taller"
   Papel #F6F1E7 · Tinta #1A1613 · Vino #6E1B26 · Cognac #A2623A
   ============================================================ */

:root {
	--papel: #F6F1E7;
	--tinta: #1A1613;
	--humo: #7A6C5C;
	--vino: #6E1B26;
	--cognac: #A2623A;
	--hueso: #E7DCC8;
	--verde: #37503E;
	--nogal: #3A2B23;
	--filete: #DCD0BB;
	--display: Fraunces, Georgia, serif;
	--texto: Karla, "Helvetica Neue", Arial, sans-serif;
	--mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;
}

/* ---------- Base ---------- */
body {
	background-color: var(--papel);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
	color: var(--tinta);
	-webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4 { font-family: var(--display); }
a { color: inherit; }
::selection { background: var(--vino); color: #fff; }

/* ---------- Tipografía de marca ---------- */
.ojos {
	font-family: var(--mono) !important;
	font-size: 11px !important;
	letter-spacing: .22em !important;
	text-transform: uppercase;
	color: var(--humo);
	margin: 0 0 .9rem !important;
}
.ojos--vino { color: var(--vino) !important; }
.ojos--claro { color: #C9B79A !important; }
.titulo-grande {
	font-size: clamp(2.9rem, 7vw, 5.4rem) !important;
	font-weight: 600 !important;
	letter-spacing: -0.025em !important;
}
.titulo-medio {
	font-size: clamp(1.9rem, 3.6vw, 2.9rem) !important;
	font-weight: 600 !important;
}
.entradilla { font-size: 1.12rem; color: #4A423A; max-width: 46ch; }
.cifra { font-family: var(--mono); font-size: .95rem; letter-spacing: .06em; }

/* ---------- Puntada: el hilo de la costura como recurso gráfico ---------- */
.puntada {
	height: 1px;
	border: 0;
	background-image: repeating-linear-gradient(to right, var(--cognac) 0 7px, transparent 7px 14px);
	opacity: .75;
	margin: 0;
}
.puntada--clara { background-image: repeating-linear-gradient(to right, #C9B79A 0 7px, transparent 7px 14px); }
.puntada-top { border-top: 1px dashed var(--filete); padding-top: 1.2rem; }

/* ---------- Editorial: rejillas asimétricas ---------- */
.editorial {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: center;
}
.editorial--reversa { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); }
.editorial--reversa .editorial__texto { order: 2; }
.editorial__figura { position: relative; }
.editorial__figura img {
	display: block;
	width: 100%;
	border: 1px solid var(--filete);
	border-radius: 2px;
}
.fig {
	font-family: var(--mono);
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--humo);
	margin-top: .7rem;
	text-wrap: balance;
	line-height: 1.5;
}
@media (max-width: 860px) {
	.editorial, .editorial--reversa { grid-template-columns: 1fr; }
	.editorial--reversa .editorial__texto { order: 0; }
}

/* ---------- Contacto sheet (tira de fotos del taller) ---------- */
.contacto { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.contacto img { display: block; width: 100%; height: 100%; object-fit: cover; border: 1px solid var(--filete); border-radius: 2px; }
.contacto figure { margin: 0; }
@media (max-width: 700px) { .contacto { grid-template-columns: repeat(3, 1fr); gap: 8px; } }

/* ---------- Franja de confianza ---------- */
.franja {
	border-top: 1px solid var(--filete);
	border-bottom: 1px solid var(--filete);
	padding: 1.5rem 0;
}
.franja__items {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.2rem;
}
.franja__item {
	font-family: var(--mono);
	font-size: 11px;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: #4A423A;
	padding-left: .9rem;
	border-left: 2px solid var(--cognac);
}
.franja__item b { display: block; font-weight: 500; color: var(--tinta); }
@media (max-width: 780px) { .franja__items { grid-template-columns: repeat(2, 1fr); } }

/* ---------- Texturas: fondo tinta ---------- */
.texturas { background: var(--tinta); color: #EFE7D9; }
.texturas .ojos { color: #B6A288; }
.texturas .titulo-medio { color: #F6F1E7; }
/* ---------- Texturas: banda de materiales a sangre ---------- */
.texturas { background: var(--nogal); color: #EFE4D4; }
.texturas .ojos { color: #C9A882; }
.texturas .titulo-medio { color: #F6F1E7; }
.texturas p { color: #DACAB5; }

/* Texto editorial de la sección Materiales */
.texturas-texto {
	display: grid;
	grid-template-columns: minmax(0, 38%) minmax(0, 30%) minmax(0, 32%);
	gap: clamp(1.6rem, 4vw, 3.5rem);
	align-items: start;
}
.texturas-texto__titular .titulo-medio { margin: 0; }
.texto-elegante__lead {
	font-family: var(--display) !important;
	font-size: clamp(1.3rem, 1.6vw, 1.55rem) !important;
	font-weight: 500;
	line-height: 1.3;
	color: #F6F1E7 !important;
	margin: 0 !important;
}
.texto-elegante__lead::after {
	content: "";
	display: block;
	width: 46px;
	height: 1px;
	margin-top: 1rem;
	background-image: repeating-linear-gradient(to right, var(--cognac) 0 5px, transparent 5px 10px);
	opacity: .8;
}
.texto-elegante__cuerpo {
	font-family: var(--display) !important;
	font-size: clamp(1.02rem, 1.2vw, 1.14rem) !important;
	font-weight: 400;
	line-height: 1.85 !important;
	color: #E4D7C5 !important;
	margin: 0 !important;
}
.texto-elegante__cuerpo em {
	font-style: italic;
	color: #F3E7D6;
	letter-spacing: .01em;
}
@media (max-width: 960px) {
	.texturas-texto { grid-template-columns: 1fr; gap: 1.5rem; }
	.texto-elegante__lead::after { margin-top: .8rem; }
}
.texturas-banda {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	margin-top: clamp(1.8rem, 3.4vw, 2.6rem);
}
.texturas-banda figure { margin: 0; }
.texturas-banda img {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	border-left: 1px solid rgba(246,241,231,.14);
}
.texturas-banda figure:first-child img { border-left: 0; }
.texturas-banda figcaption {
	font-family: var(--mono);
	font-size: 10.5px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #C9A882;
	padding: .85rem 1.1rem 0;
}
@media (max-width: 780px) {
	.texturas-banda { grid-template-columns: repeat(2, 1fr); }
	.texturas-banda figure:nth-child(odd) img { border-left: 0; }
	.texturas-banda figure:nth-child(n+3) img { border-top: 1px solid rgba(246,241,231,.16); }
}

/* ---------- Colecciones: índice editorial + vitrina ---------- */
.colecciones { background: var(--papel); }
.colecciones.seccion { padding-block: 0; }
.colecciones-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr);
	align-items: stretch;
	gap: 0;
}
.colecciones-texto {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(2.6rem, 6vw, 5.5rem) clamp(1.4rem, 4vw, 4rem) clamp(2.6rem, 6vw, 5.5rem) max(1.4rem, calc((100vw - 1240px) / 2));
}
.colecciones-intro { color: var(--humo); font-size: 1rem; margin: .2rem 0 1.8rem; max-width: 40ch; }

.colecciones-lista { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--filete); }
.colecciones-lista li { border-bottom: 1px solid var(--filete); }
.colecciones-lista a {
	display: grid;
	grid-template-columns: 3.2rem minmax(0, 1fr) auto 1.6rem;
	align-items: baseline;
	gap: 1rem;
	padding: 1.25rem .1rem;
	text-decoration: none;
	color: var(--tinta);
	transition: padding-left .3s ease, color .3s ease;
}
.colecciones-lista .num { font-family: var(--mono); font-size: 10.5px; letter-spacing: .1em; color: var(--humo); }
.colecciones-lista .nom { font-family: var(--display); font-size: clamp(1.45rem, 1.9vw, 1.8rem); font-weight: 500; line-height: 1.1; }
.colecciones-lista .cuenta { font-family: var(--mono); font-size: 10.5px; letter-spacing: .08em; color: var(--humo); text-transform: uppercase; }
.colecciones-lista .flecha { font-family: var(--mono); font-size: 13px; color: var(--humo); justify-self: end; transition: transform .3s ease, color .3s ease; }
.colecciones-lista a:hover { padding-left: .9rem; color: var(--vino); }
.colecciones-lista a:hover .num { color: var(--vino); }
.colecciones-lista a:hover .flecha { transform: translateX(4px); color: var(--vino); }

.colecciones-foto { position: relative; min-height: 640px; overflow: hidden; }
.colecciones-foto,
.colecciones-foto .wp-block-image,
.colecciones-foto figure { margin: 0 !important; padding: 0; }
.colecciones-foto__img { position: absolute; inset: 0; margin: 0; }
.colecciones-foto__img img { display: block; width: 100%; height: 100%; object-fit: cover; }

@media (max-width: 960px) {
	.colecciones-grid { grid-template-columns: 1fr; }
	.colecciones-texto { padding: clamp(2rem, 6vw, 3rem) clamp(1.2rem, 5vw, 2rem); }
	.colecciones-foto { min-height: 0; height: 380px; }
	.colecciones-lista a { grid-template-columns: 2.4rem minmax(0, 1fr) auto 1.4rem; gap: .6rem; padding: 1.05rem .1rem; }
}

/* ---------- Sello (sello de guarantee / a medida) ---------- */
.sello {
	width: 132px;
	height: 132px;
	border: 1.5px solid currentColor;
	border-radius: 50%;
	display: grid;
	place-content: center;
	text-align: center;
	font-family: var(--mono);
	font-size: 10px;
	letter-spacing: .14em;
	text-transform: uppercase;
	line-height: 1.7;
	transform: rotate(-7deg);
	color: var(--vino);
}
.sello--claro { color: #EFE7D9; }

/* ---------- Pasos del proceso ---------- */
.proceso { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.4rem; }
.proceso__paso { border-top: 2px solid var(--tinta); padding-top: .9rem; }
.proceso__paso .n { font-family: var(--mono); font-size: 11px; color: var(--cognac); letter-spacing: .1em; }
.proceso__paso h3 { font-size: 1.25rem; margin: .35rem 0 .4rem; }
.proceso__paso p { font-size: .95rem; color: #4A423A; margin: 0; }
@media (max-width: 860px) { .proceso { grid-template-columns: repeat(2, 1fr); } }

/* ---------- Tradición y materia prima ---------- */
.tradicion .titulo-medio { margin: .3rem 0 1rem; }
.tradicion__intro {
	margin: 0 0 2rem;
	max-width: 62ch;
	color: #4A423A;
	font-size: 1rem;
	line-height: 1.8;
}
.tradicion__sellos { border-top: 1px solid var(--filete); }
.tradicion__fila {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	gap: 1.2rem;
	align-items: start;
	padding: 1.15rem 0;
	border-bottom: 1px solid var(--filete);
}
.tradicion__sello {
	box-sizing: border-box;
	width: 64px;
	height: 64px;
	margin: 0;
	border: 1px solid var(--cognac);
	border-radius: 50%;
	display: grid;
	place-content: center;
	transform: rotate(-6deg);
	font-family: var(--mono);
	font-size: 7.5px;
	letter-spacing: .12em;
	line-height: 1.4;
	text-align: center;
	text-transform: uppercase;
	color: var(--cognac);
}
.tradicion__texto h3 { font-size: 1.25rem; margin: 0 0 .25rem; }
.tradicion__texto p { margin: 0; font-size: .95rem; color: #4A423A; }
@media (max-width: 780px) {
	.tradicion__fila { grid-template-columns: 56px minmax(0, 1fr); gap: 1rem; }
	.tradicion__sello { width: 56px; height: 56px; font-size: 7px; }
}

/* ---------- Productos: fichas editoriales ---------- */
ul.products { row-gap: 2.2rem; }
ul.products li.product {
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	text-align: left;
	border-radius: 0;
}
ul.products li.product a img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border: 1px solid var(--filete);
	border-radius: 2px;
	transition: transform .6s cubic-bezier(.2,.7,.3,1);
}
ul.products li.product:hover a img { transform: scale(1.035); }
.woocommerce-loop-product__title {
	font-family: var(--display) !important;
	font-size: 1.28rem !important;
	font-weight: 500 !important;
	padding: .9rem 0 .15rem !important;
}
.woocommerce-loop-product__title a:hover { color: var(--vino); }
ul.products li.product .price {
	color: var(--tinta) !important;
	font-family: var(--mono) !important;
	font-size: .95rem !important;
	letter-spacing: .04em;
	padding-bottom: .5rem;
}
ul.products li.product .price del { color: var(--humo) !important; }
ul.products li.product .price ins { text-decoration: none; }
ul.products li.product .button {
	background: transparent !important;
	color: var(--tinta) !important;
	border: 1px solid var(--tinta) !important;
	border-radius: 0 !important;
	font-family: var(--mono) !important;
	font-size: 11px !important;
	letter-spacing: .14em;
	text-transform: uppercase;
	padding: .7rem 1.3rem !important;
	margin-top: .3rem !important;
}
ul.products li.product .button:hover { background: var(--tinta) !important; color: var(--papel) !important; }
ul.products li.product .onsale {
	background: var(--vino) !important;
	font-family: var(--mono);
	font-size: 10px;
	letter-spacing: .1em;
}

/* ---------- Ficha de producto ---------- */
.single-product div.product .product_title { font-size: clamp(2.1rem, 4.4vw, 3.1rem) !important; }
.single-product div.product .price {
	font-family: var(--mono) !important;
	font-size: 1.25rem !important;
	color: var(--tinta) !important;
	letter-spacing: .04em;
}
.single-product div.product .button {
	background: var(--tinta) !important;
	color: var(--papel) !important;
	border-radius: 0 !important;
	font-family: var(--mono) !important;
	font-size: 12px !important;
	letter-spacing: .14em;
	text-transform: uppercase;
	padding: 1rem 1.8rem !important;
}
.single-product div.product .button:hover { background: var(--vino) !important; }
.single-product .woocommerce-product-details__short-description { color: #4A423A; }
.single-product .product_meta { font-family: var(--mono); font-size: 11px; color: var(--humo); }

/* Tabla de ficha técnica (dentro de la descripción del producto) */
.ficha-tecnica {
	width: 100%;
	border-collapse: collapse;
	margin: 1.4rem 0 0;
	font-size: .93rem;
}
.ficha-tecnica th, .ficha-tecnica td {
	text-align: left;
	padding: .55rem 0;
	border-bottom: 1px solid var(--filete);
	vertical-align: top;
}
.ficha-tecnica th {
	font-family: var(--mono);
	font-weight: 500;
	font-size: 10.5px;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--humo);
	width: 34%;
	padding-right: 1rem;
}
.ficha-tecnica td { color: #2A241F; }
.nota-pieza { font-family: var(--mono); font-size: 11px; color: var(--humo); margin-top: 1rem; }

/* ---------- Botones ---------- */
.wp-block-button__link { text-decoration: none !important; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent !important;
	border: 1px solid currentColor;
	color: inherit !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--tinta) !important; color: var(--papel) !important; }
.boton-vino { background: var(--vino) !important; color: #fff !important; }
.boton-vino:hover { background: #57131d !important; color: #fff !important; }
.boton-claro { background: var(--papel) !important; color: var(--tinta) !important; }
.boton-claro:hover { background: #fff !important; color: var(--tinta) !important; }

/* ---------- Cabecera y pie ---------- */
.cabecera-mipiel { border-bottom: 1px solid var(--filete); background: rgba(246,241,231,.94); backdrop-filter: blur(6px); }
.barra-superior { border-bottom: 1px solid var(--filete); padding: .45rem 0; }
.barra-superior .ojos { margin: 0 !important; font-size: 10px !important; }
.marca { width: 44px; height: 44px; color: var(--tinta); }
.marca--mini { width: 34px; height: 34px; }
.menu-mipiel .wp-block-navigation__responsive-container-content,
.menu-mipiel .wp-block-navigation__container {
	gap: 1.9rem;
	align-items: center;
	justify-content: center;
}
.menu-mipiel .wp-block-navigation-item__content {
	font-family: var(--mono);
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--tinta);
}
.menu-mipiel .wp-block-navigation-item__content:hover { color: var(--vino); }
/* WooCommerce inyecta sus bloques de cuenta y mini-carrito en la navegación:
   aquí la marca tiene su propio "Carrito" y "Mi cuenta". */
.wp-block-woocommerce-customer-account,
.wp-block-woocommerce-mini-cart { display: none !important; }
.hero-foto img { aspect-ratio: 4/3; object-fit: cover; }
.pie-mipiel { background: var(--tinta); color: #E4DAC8; }
.pie-mipiel h3, .pie-mipiel h4 { color: #F6F1E7; }
.pie-mipiel a { color: #E4DAC8; text-decoration: none; }
.pie-mipiel a:hover { color: #fff; }
.pie-mipiel .ojos { color: #9C8C74 !important; }
.pie-mipiel ul { list-style: none; margin: 0; padding: 0; }
.pie-mipiel li { margin-bottom: .5rem; font-size: .95rem; }

/* ---------- WhatsApp flotante ---------- */
.wa-fab {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 9999;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #1A1613;
	color: var(--papel);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 10px 26px rgba(26,22,19,.32);
	transition: transform .25s ease, background .25s ease;
}
.wa-fab:hover { transform: scale(1.07); background: var(--vino); color: #fff; }

/* ---------- Grid "puestas en el cuerpo" ---------- */
.grid-modelo {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.6rem;
}
.grid-modelo__item { text-decoration: none; color: inherit; display: block; }
.grid-modelo__foto { display: block; overflow: hidden; border: 1px solid var(--filete); border-radius: 2px; }
.grid-modelo__foto img {
	display: block;
	width: 100%;
	aspect-ratio: 4/5;
	object-fit: cover;
	transition: transform .6s cubic-bezier(.2,.7,.3,1);
}
.grid-modelo__item:hover .grid-modelo__foto img { transform: scale(1.04); }
.grid-modelo__titulo {
	display: block;
	font-family: var(--display);
	font-size: 1.22rem;
	margin-top: .85rem;
}
.grid-modelo__item:hover .grid-modelo__titulo { color: var(--vino); }
.grid-modelo__precio {
	display: block;
	font-family: var(--mono);
	font-size: .92rem;
	color: var(--tinta);
	margin-top: .15rem;
}
.grid-modelo__link {
	display: block;
	font-family: var(--mono);
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--humo);
	margin-top: .5rem;
}
.grid-modelo__item:hover .grid-modelo__link { color: var(--vino); }
@media (max-width: 900px) { .grid-modelo { grid-template-columns: repeat(2, 1fr); } }

/* ---------- Hero con collage ---------- */
.hero-nuevo {
	display: grid;
	grid-template-columns: minmax(0, 46%) minmax(0, 54%);
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: center;
}
.hero-nuevo__texto .titulo-grande { margin: .3rem 0 .9rem; }
.hero-nuevo__botones { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.7rem; }
.hero-btn {
	display: inline-block;
	font-family: var(--mono);
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	padding: 1rem 1.7rem;
	border: 1px solid var(--tinta);
	text-decoration: none;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
	line-height: 1;
}
.hero-btn--lleno { background: var(--tinta); color: var(--papel); }
.hero-btn--lleno:hover { background: var(--vino); border-color: var(--vino); color: #fff; }
.hero-btn--linea { background: transparent; color: var(--tinta); }
.hero-btn--linea:hover { background: var(--tinta); color: var(--papel); }

.hero-firma { display: flex; align-items: center; gap: 1rem; margin-top: 1.9rem; color: #6B5B47; }
.hero-firma__dibujo { width: 96px; height: auto; flex: 0 0 auto; }
.manuscrita {
	font-family: "Caveat", "Segoe Script", cursive;
	font-size: 1.6rem;
	line-height: 1.1;
	color: #5C4B36;
}
.hero-firma .manuscrita { font-size: 1.4rem; margin: 0; }
.hero-nuevo__catalogo { margin-top: 1.8rem; }

/* Collage */
.hero-nuevo__collage { position: relative; padding: 0 3% 24% 0; }
.collage-principal { margin: 0; }
.collage-principal img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border: 1px solid var(--filete);
}
.collage-principal .fig { margin-top: .75rem; }
.collage-polaroid {
	position: absolute;
	right: -2%;
	bottom: 0;
	width: 33%;
	margin: 0;
	background: #fff;
	padding: .5rem .5rem 1.9rem;
	box-shadow: 0 14px 34px rgba(26, 22, 19, .20);
	transform: rotate(6.5deg);
	transition: transform .4s ease;
	z-index: 2;
}
.collage-polaroid img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.collage-polaroid:hover { transform: rotate(2deg) scale(1.02); }
.collage-swatch {
	position: absolute;
	top: -8%;
	right: -2%;
	width: 17%;
	margin: 0;
	transform: rotate(-7deg);
	box-shadow: 0 10px 22px rgba(26, 22, 19, .16);
	border: 1px solid var(--filete);
	background: #fff;
	padding: 3px;
	z-index: 3;
}
.collage-swatch img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.collage-clip {
	position: absolute;
	top: -20px;
	left: 44%;
	width: 22px;
	height: 58px;
	transform: rotate(8deg);
	filter: drop-shadow(0 2px 2px rgba(0,0,0,.12));
}
@media (max-width: 900px) {
	.hero-nuevo { grid-template-columns: 1fr; }
	.hero-nuevo__collage { padding: 0 2% 30% 0; margin-top: .6rem; }
	.collage-polaroid { width: 38%; right: -2%; bottom: 0; transform: rotate(6deg); }
	.hero-firma__dibujo { display: none; }
	.manuscrita { font-size: 1.45rem; }
}

/* ---------- Piezas que cuentan historias ---------- */
.historias-wrap { padding-top: clamp(1rem, 3vw, 2.2rem); }
.historias-intro { color: var(--humo); margin: -.4rem 0 2.4rem; max-width: 52ch; }
.historias {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1.4rem, 3vw, 2.8rem);
	align-items: start;
}
.historia { position: relative; }
.historia__foto { margin: 0; position: relative; }
.historia__foto > a { display: block; overflow: hidden; }
.historia__foto img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border: 1px solid var(--filete);
	transition: transform .6s cubic-bezier(.2,.7,.3,1);
}
.historia:hover .historia__foto img { transform: scale(1.02); }
.historia__meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: .3rem .8rem; margin-top: .9rem; }
.historia__nombre {
	font-family: var(--mono);
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
	margin: 0;
	display: flex;
	gap: .7rem;
	align-items: baseline;
}
.historia__precio { color: var(--humo); letter-spacing: .06em; }
.historia__link {
	font-family: var(--mono);
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--tinta);
	text-decoration: none;
	border-bottom: 1px solid var(--cognac);
	padding-bottom: .1rem;
	white-space: nowrap;
}
.historia__link:hover { color: var(--vino); border-color: var(--vino); }

/* Anotaciones manuscritas */
.historia__nota {
	position: absolute;
	display: inline-flex;
	flex-direction: column;
	gap: .2rem;
	font-size: 1.3rem;
	color: #5C4B36;
	pointer-events: none;
	z-index: 2;
	line-height: 1.05;
}
.historia__flecha { width: 40px; height: 30px; color: inherit; }
.historia__nota--arriba { right: 4%; top: -1.7rem; text-align: left; }
.historia__nota--corte { right: auto; left: 2%; top: -2.4rem; text-align: left; }
.historia__nota--corte .historia__flecha { margin-left: -14px; }
.historia__nota--derecha { right: 5%; top: 54%; text-align: left; }
.historia__nota--derecha .historia__flecha { margin-left: -10px; transform: scaleX(-1); }

/* Texto vertical (tarjeta del sello) */
.historia__vertical {
	position: absolute;
	left: -2.2rem;
	top: 10%;
	writing-mode: vertical-rl;
	transform: rotate(180deg);
	font-size: 1.08rem;
	color: #6B5B47;
	pointer-events: none;
}

/* Precio flotante (sobre la foto) */
.historia__precio-flotante {
	position: absolute;
	top: -2.2rem;
	right: 4%;
	font-family: var(--display);
	font-size: 2rem;
	color: var(--tinta);
	z-index: 2;
}

/* Sello circular + muestras de piel superpuestas */
.historia__sello {
	position: absolute;
	right: -3rem;
	bottom: 20%;
	width: 112px;
	height: 112px;
	border: 1.5px solid var(--vino);
	border-radius: 50%;
	display: grid;
	place-content: center;
	text-align: center;
	font-family: var(--mono);
	font-size: 9.5px;
	letter-spacing: .12em;
	line-height: 1.5;
	color: var(--vino);
	transform: rotate(-9deg);
	background: rgba(246, 241, 231, .5);
	backdrop-filter: blur(1px);
	z-index: 3;
}
.historia__sello span:nth-child(2) { font-size: 14px; letter-spacing: .06em; }

/* Swatches de piel (dos, apilados sobre el borde de la foto) */
.historia__swatches {
	position: absolute;
	right: -1.6rem;
	bottom: -1.4rem;
	display: flex;
	flex-direction: column;
	gap: 4px;
	transform: rotate(-3deg);
	z-index: 2;
}
.historia__swatch {
	width: 76px;
	height: 76px;
	object-fit: cover;
	border: 3px solid #fff;
	box-shadow: 0 6px 14px rgba(26, 22, 19, .18);
	display: block;
}

/* Adornos ilustrados: lapiz, agujas, muestra minima y flecha */
.historia__lapiz {
	position: absolute;
	left: -2.4rem;
	top: 8%;
	width: 22px;
	color: #4A423A;
	z-index: 2;
}
.historia__lapiz svg { display: block; width: 100%; height: auto; }
.historia__agujas {
	position: absolute;
	right: -2.2rem;
	top: 34%;
	width: 62px;
	color: #4A423A;
	z-index: 2;
}
.historia__agujas svg { display: block; width: 100%; height: auto; }
.historia__muestra-mini {
	position: absolute;
	right: -1.4rem;
	top: -1.4rem;
	width: 74px;
	border: 3px solid #fff;
	box-shadow: 0 8px 18px rgba(26, 22, 19, .18);
	transform: rotate(3deg);
	z-index: 3;
}
.historia__muestra-mini img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; }
.historia__flecha-grande {
	position: absolute;
	right: -1.6rem;
	bottom: 5%;
	width: 58px;
	color: #4A423A;
	z-index: 2;
}
.historia__flecha-grande svg { display: block; width: 100%; height: auto; }
@media (max-width: 900px) {
	.historias { grid-template-columns: 1fr; gap: 2.6rem; }
	.historia__nota { font-size: 1.15rem; }
	.historia--nota-derecha .historia__nota { right: 0; top: -1.4rem; }
	.historia--nota-izquierda .historia__nota { left: 0; top: -1.4rem; text-align: left; }
	.historia--nota-izquierda .historia__flecha { transform: scaleY(-1); margin-left: 0; }
	.historia__vertical { display: none; }
	.historia__sello { width: 88px; height: 88px; right: -1rem; font-size: 8.5px; }
	.historia__swatches { right: .6rem; bottom: .6rem; }
	.historia__swatch { width: 48px; height: 48px; }
}
.ficha-mitades { max-width: 1400px; margin-inline: auto; padding-inline: clamp(1rem, 3vw, 2.5rem); }
.ficha-columnas { align-items: flex-start; }
.ficha-columnas > .wp-block-column { margin: 0; }

/* Mitad izquierda: fotos apiladas */
.ficha-galeria { padding: 0; }
.mt-galeria { display: grid; gap: 1.2rem; }
.mt-galeria__foto {
	margin: 0;
	overflow: hidden;
	border: 1px solid var(--filete);
	border-radius: 2px;
	background: #fff;
}
.mt-galeria__foto img {
	display: block;
	width: 100%;
	aspect-ratio: 4/5;
	object-fit: cover;
	transition: transform .7s cubic-bezier(.2,.7,.3,1);
}
.mt-galeria__foto:hover img { transform: scale(1.025); }

/* Mitad derecha: panel sticky */
.ficha-panel { position: sticky; top: clamp(1.2rem, 3vw, 2.4rem); }
.ficha-crumbs { font-size: 0; }
.ficha-ojos { color: var(--cognac); }
.ficha-titulo { font-size: clamp(2.2rem, 4.2vw, 3.4rem) !important; margin: .2rem 0 .4rem !important; }
.ficha-precio { margin: 0 0 1rem; }
.ficha-precio .wc-block-components-product-price,
.ficha-precio .woocommerce-Price-amount { font-family: var(--mono) !important; font-size: 1.35rem !important; color: var(--tinta) !important; }
.ficha-resumen { color: #4A423A; font-size: 1rem; margin-bottom: 1.4rem; }
.ficha-resumen p { margin: 0 0 .4rem; }
.ficha-resumen .linea-ficha { margin-top: .9rem; }

.ficha-disena { font-family: var(--mono); font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--humo); margin: 1.1rem 0 2rem; }
.ficha-disena a { color: var(--humo); text-decoration: none; border-bottom: 1px solid var(--cognac); padding-bottom: .15rem; }
.ficha-disena a:hover { color: var(--vino); }
.ficha-disena strong { color: var(--tinta); font-weight: 500; }

/* Ficha: boton de carrito a ancho completo */
.ficha .woocommerce-AddToCart-form,
.ficha form.cart { display: flex; flex-wrap: wrap; gap: .8rem; align-items: stretch; }
.ficha form.cart .quantity { margin: 0 !important; }
.ficha form.cart .single_add_to_cart_button { flex: 1 1 auto; }

/* Acordeones */
.ficha-acordeones { border-top: 1px solid var(--filete); }
.ficha-acc { border-bottom: 1px solid var(--filete); }
.ficha-acc summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.15rem 0;
	font-family: var(--display);
	font-size: 1.28rem;
	font-weight: 500;
	color: var(--tinta);
}
.ficha-acc summary::-webkit-details-marker { display: none; }
.ficha-acc summary::after {
	content: "+";
	font-family: var(--mono);
	font-size: 1.3rem;
	color: var(--humo);
	line-height: 1;
	flex: 0 0 auto;
}
.ficha-acc[open] summary::after { content: "−"; }
.ficha-acc__contenido { padding: 0 0 1.3rem; color: #4A423A; font-size: .98rem; }
.ficha-acc__contenido p { margin: 0 0 .6rem; }
.ficha-acc__contenido a { color: var(--vino); }

@media (max-width: 900px) {
	.ficha-columnas { flex-direction: column; }
	.ficha-columnas > .wp-block-column { width: 100% !important; max-width: 100% !important; flex-basis: auto !important; }
	.ficha-panel { position: static; }
}
.seccion { padding-block: clamp(2.4rem, 5vw, 4rem); }
.seccion--pegada { padding-top: 0; }
.figura-marco img { border: 1px solid var(--filete); border-radius: 2px; display: block; width: 100%; }
.figura-marco img { aspect-ratio: 4/5; object-fit: cover; }
.figura-marco.hero-foto img { aspect-ratio: 4/3; }

/* ---------- WooCommerce: grid de bloques (tienda, categorías) ---------- */
.wc-block-grid { row-gap: 2.6rem !important; column-gap: 1.8rem !important; }
.wc-block-grid__product-image img {
	aspect-ratio: 4/5 !important;
	object-fit: cover;
	border: 1px solid var(--filete);
	border-radius: 2px;
	transition: transform .6s cubic-bezier(.2,.7,.3,1);
}
.wc-block-grid__product:hover .wc-block-grid__product-image img { transform: scale(1.03); }
.wc-block-grid__product-title {
	font-family: var(--display) !important;
	font-size: 1.22rem !important;
	font-weight: 500 !important;
	line-height: 1.25 !important;
	padding-top: .8rem !important;
}
.wc-block-grid__product-title a:hover { color: var(--vino); }
.wc-block-components-product-price {
	font-family: var(--mono) !important;
	font-size: .92rem !important;
	color: var(--tinta) !important;
}
.wc-block-grid__product .wc-block-components-button,
.wc-block-grid__product .wp-block-button__link {
	background: transparent !important;
	color: var(--tinta) !important;
	border: 1px solid var(--tinta) !important;
	border-radius: 0 !important;
	font-family: var(--mono) !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: .14em;
	text-transform: uppercase;
	padding: .75rem 1.3rem !important;
	width: auto !important;
	min-width: 0 !important;
}
.wc-block-grid__product .wc-block-components-button:hover,
.wc-block-grid__product .wp-block-button__link:hover {
	background: var(--tinta) !important;
	color: var(--papel) !important;
}
.woocommerce-products-header__title {
	font-family: var(--display) !important;
	font-weight: 600 !important;
	font-size: clamp(2rem, 4vw, 2.8rem) !important;
}
.woocommerce-breadcrumb {
	font-family: var(--mono) !important;
	font-size: 11px !important;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--humo) !important;
}
.wc-block-components-product-image--aspect-ratio-1-1 img { aspect-ratio: 4/5 !important; }
.single-product .wp-block-woocommerce-product-image img { border: 1px solid var(--filete); border-radius: 2px; }

/* La galeria de Woo arranca en opacity:0 esperando al JS: la forzamos visible */
.woocommerce-product-gallery { opacity: 1 !important; }

/* Rejilla de productos: alineacion editorial (izquierda).
   OJO: WooCommerce calcula el numero de columnas con su propio gap
   (minmax(33.33% - .83em)); cambiarlo rompe el conteo. Se respeta y el
   aire vertical se agrega con margen en cada item. */
.wc-block-product-template__responsive { gap: 1.25em !important; }
.wc-block-product-template__responsive > li { margin-bottom: 1.6rem; }
.wc-block-product-template .wp-block-post-title {
	text-align: left !important;
	font-family: var(--display) !important;
	font-size: 1.22rem !important;
	font-weight: 500 !important;
	line-height: 1.25 !important;
	padding-top: .9rem !important;
}
.wc-block-product-template .wp-block-post-title a:hover { color: var(--vino); }
.wc-block-product-template .wc-block-components-product-price {
	text-align: left !important;
	font-family: var(--mono) !important;
	font-size: .92rem !important;
	color: var(--tinta) !important;
}
.wc-block-product-template .wp-block-button { text-align: left !important; }
.wc-block-product-template button.add_to_cart_button,
.wc-block-product-template .wp-block-button__link {
	background: transparent !important;
	color: var(--tinta) !important;
	border: 1px solid var(--tinta) !important;
	border-radius: 0 !important;
	font-family: var(--mono) !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: .14em;
	text-transform: uppercase;
	padding: .8rem 1.5rem !important;
	width: auto !important;
}
.wc-block-product-template button.add_to_cart_button:hover,
.wc-block-product-template .wp-block-button__link:hover {
	background: var(--tinta) !important;
	color: var(--papel) !important;
}

/* Ficha de producto: boton, cantidad y metadatos */
.single-product button.single_add_to_cart_button,
.single-product button.add_to_cart_button,
.single-product .wp-block-button__link,
.single-product .wp-block-button.is-style-outline .wp-block-button__link {
	background: var(--tinta) !important;
	color: var(--papel) !important;
	border: 1px solid var(--tinta) !important;
	border-radius: 0 !important;
	font-family: var(--mono) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	letter-spacing: .14em;
	text-transform: uppercase;
	padding: 1rem 1.9rem !important;
	width: auto !important;
}
.single-product button.add_to_cart_button:hover { background: var(--vino) !important; border-color: var(--vino) !important; }
.single-product .quantity input.qty {
	font-family: var(--mono);
	border: 1px solid var(--filete) !important;
	border-radius: 0 !important;
}
.single-product .wp-block-woocommerce-product-meta,
.single-product .product_meta { display: none; }
.linea-ficha {
	font-family: var(--mono);
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--humo);
	margin-top: .8rem;
}

/* ---------- Carrito y checkout (version clasica) ---------- */
.shop_table { border-color: var(--filete) !important; }
.shop_table th {
	font-family: var(--mono);
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--humo);
	font-weight: 500;
}
.shop_table td { border-color: var(--filete) !important; }
.cart_item dl.variation { font-size: .85rem; color: var(--humo); margin: .2rem 0 0; }
.cart_item dl.variation dt,
.cart_item dl.variation dd { display: inline; margin: 0 .3rem 0 0; font-weight: 400; }
.cart_item dl.variation dt::after { content: ":"; }
.woocommerce form .form-row label {
	font-family: var(--mono);
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--humo);
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single {
	border: 1px solid var(--filete) !important;
	border-radius: 2px !important;
	background: #fff;
	padding: .7rem .9rem;
}
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	background: var(--tinta) !important;
	color: var(--papel) !important;
	border-radius: 2px !important;
	font-family: var(--mono) !important;
	font-size: 12px !important;
	letter-spacing: .14em;
	text-transform: uppercase;
	padding: 1rem 1.7rem !important;
}
.woocommerce button.button:hover,
.woocommerce a.button:hover { background: var(--vino) !important; }
.woocommerce .cart_totals h2,
.woocommerce #order_review_heading,
.woocommerce .woocommerce-breadcrumb { font-family: var(--display); }
.woocommerce .cart_totals .checkout-button { width: 100%; }
.woocommerce-privacy-policy-text { font-size: .8rem; color: var(--humo); }
.mt-sello-edicion {
	border: 1px solid var(--filete);
	background: #fff;
	padding: .8rem 1rem;
	margin: 0 0 1.2rem;
	font-size: .9rem;
}
.mt-sello-edicion .mt-ojos { display: block; margin-bottom: .2rem; }
.banda-vino { background: var(--vino); color: #F6F1E7; }
.banda-vino .entradilla { color: #EBD9D4; }
.banda-vino .boton-claro { background: #F6F1E7; color: var(--vino); }

/* ============================================================
   Página "El taller"
   ============================================================ */
.taller-hero .wp-block-columns { align-items: center; gap: clamp(2rem, 5vw, 4.5rem); }
.taller-hero .titulo-grande { font-size: clamp(2.6rem, 4.6vw, 3.8rem) !important; margin: .4rem 0 1.1rem; }
.taller-hero .entradilla { max-width: 54ch; }
.taller-firma {
	margin: 1.9rem 0 0 !important;
	font-family: var(--mono);
	font-size: 10.5px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--humo);
}
.taller-hero__fig { margin: 0; }
.taller-hero__fig img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border: 1px solid var(--filete);
	border-radius: 2px;
}
.taller-hero .wp-block-column:last-child { position: relative; }
.taller-sello {
	position: absolute;
	left: -1.3rem;
	bottom: 3.4rem;
	width: 116px;
	height: 116px;
	box-sizing: border-box;
	padding: 0;
	border: 1.5px solid var(--vino);
	border-radius: 50%;
	background: var(--papel);
	color: var(--vino);
	display: grid;
	place-content: center;
	transform: rotate(-8deg);
	font-family: var(--mono);
	font-size: 9.5px;
	letter-spacing: .14em;
	text-transform: uppercase;
	line-height: 1.75;
	text-align: center;
}
.taller-sello p { margin: 0; }

.taller-manifiesto {
	background: var(--nogal);
	color: #EFE4D4;
	padding-block: clamp(3.2rem, 6.5vw, 5.8rem);
	padding-inline: clamp(1.2rem, 4vw, 2rem);
}
.taller-manifiesto .ojos {
	color: #C9A882;
	margin-left: auto !important;
	margin-right: auto !important;
}
.taller-manifiesto__quote {
	font-family: var(--display);
	font-weight: 500;
	font-size: clamp(1.85rem, 3.4vw, 3.15rem);
	line-height: 1.14;
	letter-spacing: -.015em;
	color: #F6F1E7;
	margin: .7rem 0 2.6rem;
	text-wrap: balance;
}
.taller-principios {
	margin-top: 0;
	padding-top: 2rem;
	border-top: 1px solid rgba(246,241,231,.18);
}
.taller-principios .wp-block-column {
	border-left: 1px solid rgba(246,241,231,.14);
	padding-left: 1.4rem;
}
.taller-principios .wp-block-column:first-child { border-left: 0; padding-left: 0; }
.taller-principios h3 { color: #F6F1E7; font-size: 1.38rem; margin: .2rem 0 .5rem; }
.taller-principios p { color: #DACAB5; font-size: .96rem; margin: 0; }
.taller-principio__num {
	font-family: var(--mono);
	font-size: 10.5px;
	letter-spacing: .16em;
	color: #C9A882;
	margin: 0 0 .35rem;
}

.taller-proceso .entradilla { margin-bottom: 2.4rem; }
.taller-proceso .wp-block-columns { gap: clamp(2rem, 5vw, 4.5rem); }
.taller-proceso__fig { margin: 0; }
.taller-proceso__fig img { aspect-ratio: 4 / 5; object-fit: cover; }
@media (min-width: 961px) {
	.taller-proceso__fig { position: sticky; top: 2.2rem; }
}
.taller-pasos { display: grid; gap: 1.5rem; }
.taller-paso { border-top: 1px solid var(--filete); padding-top: .9rem; }
.taller-paso__num {
	font-family: var(--mono);
	font-size: 11px;
	letter-spacing: .16em;
	color: var(--cognac);
	margin: 0 0 .3rem;
}
.taller-paso h3 { font-size: 1.35rem; margin: 0 0 .35rem; }
.taller-paso p { margin: 0; color: #4A423A; font-size: .97rem; }
.taller-nota-proceso {
	font-family: var(--mono);
	font-size: 10.5px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--humo);
	margin: 2.2rem 0 0;
}

.taller-reglas .titulo-medio { margin: .3rem 0 .9rem; }
.taller-lista { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--filete); }
.taller-lista li {
	display: grid;
	grid-template-columns: 2.6rem minmax(0, 1fr);
	gap: 1rem;
	padding: 1.15rem 0;
	margin: 0;
	border-bottom: 1px solid var(--filete);
	list-style: none;
	font-size: .98rem;
}
.taller-lista__num {
	font-family: var(--mono);
	font-size: 10.5px;
	letter-spacing: .14em;
	color: var(--cognac);
}
.taller-lista strong { font-family: var(--display); font-size: 1.05rem; font-weight: 600; }
.taller-reglas__nota {
	margin: 2.4rem 0 0;
	padding-top: 1.2rem;
	border-top: 1px solid var(--filete);
	max-width: 34ch;
	font-size: .9rem;
	line-height: 1.75;
	color: var(--humo);
}

.taller-materiales .entradilla { margin-bottom: 2.4rem; }
.taller-materiales__grid { gap: clamp(1.2rem, 2.6vw, 2rem); }
.taller-materiales__grid .figura-marco { margin: 0; }
.taller-materiales__grid .figura-marco img { aspect-ratio: 1; }

.taller-promesa .wp-block-columns { align-items: center; gap: clamp(2rem, 5vw, 4.5rem); }
.taller-promesa .wp-block-column { min-width: 0; }
.taller-promesa__fig { margin: 0; }
.taller-promesa__fig img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.taller-promesa h2 { margin: .3rem 0 .9rem; }
.taller-enlace {
	font-family: var(--mono);
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--tinta);
	text-decoration: none;
	border-bottom: 1px solid var(--cognac);
	padding-bottom: .15rem;
}
.taller-enlace:hover { color: var(--vino); border-color: var(--vino); }

.taller-cta { padding-inline: clamp(1.2rem, 4vw, 2rem); }
.taller-cta .ojos { color: #C9B79A; text-align: center; margin-bottom: 1rem !important; }
.taller-cta h2 {
	font-size: clamp(1.9rem, 3.4vw, 2.9rem);
	line-height: 1.1;
	margin: .2rem 0 .9rem;
}
.taller-cta .entradilla { margin: 0 auto 1.9rem; max-width: 52ch; }

@media (max-width: 960px) {
	.taller-principios .wp-block-column { border-left: 0; padding-left: 0; }
	.taller-principios .wp-block-column + .wp-block-column {
		border-top: 1px solid rgba(246,241,231,.14);
		padding-top: 1.2rem;
	}
}
@media (max-width: 780px) {
	.taller-sello {
		left: .8rem;
		bottom: 2.9rem;
		width: 96px;
		height: 96px;
		font-size: 8.5px;
	}
	.taller-lista li { grid-template-columns: 2rem minmax(0, 1fr); gap: .8rem; }
}
@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; animation: none !important; }
}
