/*
Theme Name: Zoe Milis
Theme URI: http://localhost/zoemilis.com
Author: Javier
Description: Tema de bloques a medida para el blog literario de Zoe Milis. Cada fila del diseño es un bloque editable (portada, filosofadas, relatos, otras voces y contacto) con estética de cuaderno de recortes natural: papel kraft, notas, cinta, fotos de flores reales y una paleta de salvia, rosa empolvado, dorado tostado y terracota. Los relatos pueden llevar audio.
Version: 6.0.0
Requires at least: 6.6
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: zoemilis
*/

/* ==========================================================================
   Tokens
   ========================================================================== */
:root {
	--zm-bg: #f3ebde;
	--zm-paper: #fffcf7;
	--zm-paper-2: #f3ebdf;
	--zm-ink: #2e2620;
	--zm-ink-2: #4d4239;
	--zm-muted: #75685b;
	--zm-line: #e6dccd;
	--zm-line-2: #d6c7b1;
	--zm-dark: #33281f;

	/* Paleta "Nature": salvia, rosa empolvado, dorado tostado, beige cálido y terracota */
	--zm-sage: #98a086;
	--zm-sage-deep: #5d6650;
	--zm-sage-soft: #e7e9df;
	--zm-rose: #a76d5e;
	--zm-rose-deep: #87503f;
	--zm-rose-soft: #f3e6e0;
	--zm-tan: #c4a071;
	--zm-tan-deep: #87663a;
	--zm-tan-soft: #f4ebdc;
	--zm-beige: #dfccb1;
	--zm-beige-soft: #f2e9dc;
	--zm-brown: #846044;
	--zm-brown-deep: #6b4c35;
	--zm-olive: #5e5c2d;

	/* Papeles del collage */
	--zm-kraft: #d2b28a;
	--zm-kraft-soft: #ecdcc4;
	--zm-pink-paper: #edc5b8;
	--zm-sage-paper: #dfe3d3;
	--zm-yellow: #f3da80;
	--zm-grid: linear-gradient(rgba(93, 102, 80, .13) 1px, transparent 1px) 0 0 / 18px 18px, linear-gradient(90deg, rgba(93, 102, 80, .13) 1px, transparent 1px) 0 0 / 18px 18px;
	--zm-tear: polygon(0 5px, 5% 1px, 11% 6px, 17% 2px, 24% 7px, 31% 1px, 38% 5px, 45% 0, 52% 6px, 59% 2px, 66% 7px, 73% 1px, 80% 5px, 87% 0, 94% 6px, 100% 2px,
		100% calc(100% - 4px), 94% 100%, 88% calc(100% - 6px), 81% calc(100% - 1px), 74% calc(100% - 7px), 67% calc(100% - 2px), 60% calc(100% - 6px), 53% 100%,
		46% calc(100% - 5px), 39% calc(100% - 1px), 32% calc(100% - 7px), 25% calc(100% - 2px), 18% calc(100% - 6px), 11% 100%, 5% calc(100% - 5px), 0 calc(100% - 1px));

	/* Cinta de papel (tipo cinta de carrocero, translúcida) */
	--zm-tape-kraft: rgba(196, 160, 113, .6);
	--zm-tape-lino: rgba(223, 204, 177, .85);
	--zm-tape-salvia: rgba(152, 160, 134, .55);
	--zm-tape-rosa: rgba(167, 109, 94, .36);

	/* Color de la sección que se está viendo (lo cambian las clases .zm-sec--*) */
	--zm-sec: var(--zm-brown);
	--zm-sec-soft: var(--zm-tan-soft);
	--zm-sec-pop: var(--zm-tan);
	--zm-sec-tape: var(--zm-tape-kraft);

	--zm-gold: var(--zm-brown);
	--zm-shadow: 0 1px 2px rgba(74, 52, 30, .06), 0 10px 24px rgba(74, 52, 30, .07);
	--zm-text: Lora, Georgia, "Times New Roman", serif;
	--zm-display: Fraunces, Georgia, "Times New Roman", serif;
	--zm-script: "Mrs Saint Delafield", "Brush Script MT", cursive;
	--zm-hand: Caveat, "Segoe Print", "Bradley Hand", cursive;
	--zm-wrap: 1240px;
	--zm-sheet: 1320px;
	--zm-gutter: clamp(16px, 3vw, 36px);
	--zm-fondo-lateral: url("assets/img/fondo-lateral.jpg");
	--zm-fondo-size: cover;
	--zm-fondo-repeat: no-repeat;
	--zm-noise: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .42  0 0 0 0 .33  0 0 0 0 .2  0 0 0 .06 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
	/* Dibujos a tinta (como en un cuaderno) */
	--zm-doodle-flores: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 260' fill='none' stroke='%232b221c' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><defs><path id='p' d='M0-6c-4-6-4-14 0-17 4 3 4 11 0 17z'/><g id='f'><use href='%23p'/><use href='%23p' transform='rotate(40)'/><use href='%23p' transform='rotate(80)'/><use href='%23p' transform='rotate(120)'/><use href='%23p' transform='rotate(160)'/><use href='%23p' transform='rotate(200)'/><use href='%23p' transform='rotate(240)'/><use href='%23p' transform='rotate(280)'/><use href='%23p' transform='rotate(320)'/><circle r='5'/></g></defs><use href='%23f' transform='translate(40 38)'/><use href='%23f' transform='translate(88 98) scale(.72)'/><path d='M40 52c-2 58 12 118 20 196M86 108c-4 44-14 92-24 140'/><path d='M45 150c-12-12-26-10-32-2 10 8 24 8 32 2zM45 150c-10-2-20-2-30 2'/><path d='M70 196c10-12 24-14 32-8-8 10-22 12-32 8zM70 196c10-3 20-5 30-6'/></svg>");
	--zm-doodle-asterisco: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='%232b221c' stroke-width='1.7' stroke-linecap='round'><path d='M19 3c1 11 2 22 2 34M5 13c10 4 20 9 30 15M33 8C24 15 15 23 7 31'/></svg>");
	--zm-clip: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 64' fill='none' stroke='%232b221c' stroke-width='2.2' stroke-linecap='round'><path d='M9 16v32a5 5 0 0 0 10 0V11a8 8 0 0 0-16 0v39a11 11 0 0 0 22 0V19'/></svg>");

	/* Dibujos que sujetan los papeles (en lugar de cinta) */
	--zm-pega-clip: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 56' fill='none' stroke='%232b221c' stroke-width='2.2' stroke-linecap='round'><path d='M15 16v25a5.5 5.5 0 0 0 11 0V11a8.5 8.5 0 0 0-17 0v31a11.5 11.5 0 0 0 23 0V18'/></svg>");
	--zm-pega-pin-rosa: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 56'><path d='M20 30l-1 22' stroke='%232b221c' stroke-width='2' stroke-linecap='round'/><path d='M14 27c-1-6 0-12 6-14 6 2 7 8 6 14' fill='%23eaa3a6' stroke='%232b221c' stroke-width='1.8' stroke-linejoin='round'/><ellipse cx='20' cy='28' rx='9' ry='3.5' fill='%23eaa3a6' stroke='%232b221c' stroke-width='1.8'/><circle cx='20' cy='11' r='7.5' fill='%23eaa3a6' stroke='%232b221c' stroke-width='1.8'/><path d='M16.8 8.6c1.2-1.5 3.2-2 4.9-1.2' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' fill='none'/></svg>");
	--zm-pega-pin-salvia: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 56'><path d='M20 30l-1 22' stroke='%232b221c' stroke-width='2' stroke-linecap='round'/><path d='M14 27c-1-6 0-12 6-14 6 2 7 8 6 14' fill='%23aab490' stroke='%232b221c' stroke-width='1.8' stroke-linejoin='round'/><ellipse cx='20' cy='28' rx='9' ry='3.5' fill='%23aab490' stroke='%232b221c' stroke-width='1.8'/><circle cx='20' cy='11' r='7.5' fill='%23aab490' stroke='%232b221c' stroke-width='1.8'/><path d='M16.8 8.6c1.2-1.5 3.2-2 4.9-1.2' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' fill='none'/></svg>");
	--zm-pega-pin-amarillo: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 56'><path d='M20 30l-1 22' stroke='%232b221c' stroke-width='2' stroke-linecap='round'/><path d='M14 27c-1-6 0-12 6-14 6 2 7 8 6 14' fill='%23f3d36f' stroke='%232b221c' stroke-width='1.8' stroke-linejoin='round'/><ellipse cx='20' cy='28' rx='9' ry='3.5' fill='%23f3d36f' stroke='%232b221c' stroke-width='1.8'/><circle cx='20' cy='11' r='7.5' fill='%23f3d36f' stroke='%232b221c' stroke-width='1.8'/><path d='M16.8 8.6c1.2-1.5 3.2-2 4.9-1.2' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' fill='none'/></svg>");
	--zm-pega-flor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 56' stroke='%232b221c' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M20 25c0 10 3 18 2 29M21 41c5-6 11-6 13-3-4 4-9 5-13 3z' fill='none'/><g fill='%23fffdf8'><ellipse cx='20' cy='8' rx='3.4' ry='6'/><ellipse cx='20' cy='24' rx='3.4' ry='6'/><ellipse cx='12' cy='16' rx='6' ry='3.4'/><ellipse cx='28' cy='16' rx='6' ry='3.4'/><ellipse cx='14.3' cy='10.3' rx='3.4' ry='6' transform='rotate(-45 14.3 10.3)'/><ellipse cx='25.7' cy='21.7' rx='3.4' ry='6' transform='rotate(-45 25.7 21.7)'/><ellipse cx='25.7' cy='10.3' rx='3.4' ry='6' transform='rotate(45 25.7 10.3)'/><ellipse cx='14.3' cy='21.7' rx='3.4' ry='6' transform='rotate(45 14.3 21.7)'/></g><circle cx='20' cy='16' r='4' fill='%23f3d36f'/></svg>");
	--zm-pega-corazon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 56'><path d='M20 42S5 32 5 21c0-6 4-10 9-10 3 0 5 2 6 4 1-2 3-4 6-4 5 0 9 4 9 10 0 11-15 21-15 21z' fill='%23eaa3a6' stroke='%232b221c' stroke-width='1.8' stroke-linejoin='round'/><path d='M10 20c0-3 2-5 4-5' stroke='%23fff' stroke-width='1.6' fill='none' stroke-linecap='round'/></svg>");
	--zm-pega-nota: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 56' fill='none' stroke='%232b221c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M14 40V12l18-5v28M14 18l18-5'/><ellipse cx='9.5' cy='41' rx='5' ry='4' fill='%232b221c' transform='rotate(-20 9.5 41)'/><ellipse cx='27.5' cy='36' rx='5' ry='4' fill='%232b221c' transform='rotate(-20 27.5 36)'/></svg>");
	--zm-torn-edge: polygon(0 55%, 4% 35%, 9% 68%, 14% 32%, 20% 62%, 26% 40%, 31% 72%, 37% 38%, 43% 60%, 49% 34%, 55% 66%, 61% 40%, 67% 64%, 72% 32%, 78% 62%, 84% 42%, 90% 70%, 95% 38%, 100% 56%, 100% 100%, 0 100%);
}

/* Cada sección tiene su tono: Filosofadas dorado, Relatos salvia, Otras voces rosa empolvado, Contacto terracota. */
.zm-sec--filosofadas { --zm-sec: var(--zm-tan-deep); --zm-sec-soft: var(--zm-tan-soft); --zm-sec-pop: var(--zm-tan); --zm-sec-tape: var(--zm-tape-kraft); }
.zm-sec--relatos { --zm-sec: var(--zm-sage-deep); --zm-sec-soft: var(--zm-sage-soft); --zm-sec-pop: var(--zm-sage); --zm-sec-tape: var(--zm-tape-salvia); }
.zm-sec--otras-voces { --zm-sec: #93465a; --zm-sec-soft: #f9e4e2; --zm-sec-pop: #e8a0a4; --zm-sec-tape: var(--zm-tape-rosa); }
.zm-sec--contacto { --zm-sec: var(--zm-brown); --zm-sec-soft: #f7ecc8; --zm-sec-pop: #e3c25e; --zm-sec-tape: rgba(243, 218, 128, .8); }

/* ==========================================================================
   Base
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--zm-bg) var(--zm-noise);
	color: var(--zm-ink);
	font-family: var(--zm-text);
	font-size: 17px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
.wp-site-blocks { overflow-x: clip; }
[hidden] { display: none !important; }
img, svg { max-width: 100%; }
img { height: auto; }
a { color: inherit; }
p { margin: 0 0 .9em; }
h1, h2, h3, h4 { font-family: var(--zm-display); font-weight: 500; line-height: 1.15; margin: 0; color: var(--zm-ink); font-optical-sizing: auto; }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 2px solid var(--zm-brown); outline-offset: 3px; }
::selection { background: var(--zm-beige); color: var(--zm-ink); }

.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

.zm-container { width: 100%; max-width: var(--zm-wrap); margin-inline: auto; padding-inline: var(--zm-gutter); }
.zm-main { padding-bottom: 70px; }
.zm-icon { display: block; width: 100%; height: 100%; overflow: visible; }

/* Los bloques del tema van pegados: cada uno gestiona su propio espacio. */
.wp-site-blocks > * { margin-block: 0; }
.zm-main > .wp-block-post-content > [class*="wp-block-zoemilis-"],
.zm-main > [class*="wp-block-zoemilis-"],
.is-root-container > [class*="wp-block-zoemilis-"] { margin-block: 0; }

/* Bloques normales (párrafos, imágenes…) puestos directamente en una página: mismo ancho que el diseño. */
.zm-main > .wp-block-post-content > :not([class*="wp-block-zoemilis-"]),
.is-root-container > :not([class*="wp-block-zoemilis-"]):not(.block-list-appender) {
	max-width: var(--zm-wrap); margin-inline: auto; padding-inline: var(--zm-gutter);
}

/* Cabecera y pie editables: bloques normales que se añadan ahí también respetan el ancho del diseño. */
.zm-global > * { margin-block: 0; }
.zm-global > :not([class*="wp-block-zoemilis-"]) { max-width: var(--zm-wrap); margin-inline: auto; padding-inline: var(--zm-gutter); }

/* ==========================================================================
   La web como una hoja sobre una foto de flores (también en el móvil)
   ========================================================================== */
.zm-con-laterales { background: #6d7a4a; }
.zm-con-laterales::before {
	content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
	background: var(--zm-fondo-lateral) center / var(--zm-fondo-size) var(--zm-fondo-repeat);
}
.zm-con-laterales .wp-site-blocks {
	position: relative; max-width: var(--zm-sheet); margin: clamp(12px, 2.4vw, 30px) clamp(12px, 2.4vw, 30px); border-radius: 3px;
	background: var(--zm-bg) var(--zm-noise);
	box-shadow: 0 0 0 1px rgba(60, 40, 25, .1), 0 24px 60px rgba(25, 16, 8, .42);
}
@media (min-width: 1380px) {
	.zm-con-laterales .wp-site-blocks { margin: 30px auto; }
}

/* ==========================================================================
   Cinta de papel
   ========================================================================== */
.zm-hero-row .zm-container,
.zm-footer__nota,
.zm-contact-row .zm-container,
.zm-bio, .zm-bio__foto, .zm-recent, .zm-torn, .zm-comments, .zm-index--boxed, .zm-box, .zm-audio { position: relative; }

.zm-hero-row .zm-container::before,
.zm-hero__art::before,
.zm-footer__nota::before,
.zm-contact-row .zm-container::before,
.zm-bio::before,
.zm-bio__foto::before,
.zm-recent::before,
.zm-section-card::after,
.zm-torn::before,
.zm-comments::before,
.zm-index--boxed::before,
.zm-box::before,
.zm-audio::before,
.zm-hero__nota::before,
.zm-note__tape {
	content: ""; position: absolute; z-index: 4; width: 96px; height: 24px; pointer-events: none;
	background: var(--zm-noise), var(--zm-tape, var(--zm-tape-kraft));
	clip-path: polygon(0 10%, 3% 0, 7% 8%, 11% 0, 89% 3%, 93% 0, 97% 7%, 100% 2%, 98% 50%, 100% 94%, 96% 100%, 92% 92%, 87% 100%, 10% 97%, 6% 100%, 2% 92%, 0 100%, 2% 50%);
}

/* ==========================================================================
   Cabecera
   ========================================================================== */
.zm-header { position: relative; border-bottom: 1px solid var(--zm-line); }
.zm-header__in { position: relative; display: flex; align-items: center; gap: 16px; padding-block: 18px; }
.zm-logo {
	flex: none; font-family: var(--zm-script); font-size: 66px; line-height: .9; color: var(--zm-ink);
	text-decoration: none; white-space: nowrap; padding: 10px 22px 0 0; border-right: 1px solid var(--zm-line-2);
}
.zm-tagline { display: flex; flex-direction: column; flex: none; margin: 0; font-family: var(--zm-hand); font-weight: 500; font-size: 25px; line-height: 1.08; color: var(--zm-ink); white-space: nowrap; }
.zm-tagline__small { margin-top: 3px; font-size: 21px; color: var(--zm-rose-deep); }
.zm-header__arrow { flex: none; align-self: flex-end; width: 116px; height: 46px; margin: 0 0 0 -6px; color: var(--zm-ink); }
.zm-header__arrow .zm-icon { overflow: visible; }

.zm-nav { margin-left: auto; }
.zm-header .wp-block-navigation { font-family: var(--zm-text); color: var(--zm-ink); }
.zm-header .wp-block-navigation__container { flex-wrap: nowrap; gap: clamp(12px, 1.5vw, 24px); }
.zm-header .wp-block-navigation-item:nth-child(5n+1) { --nav-c: var(--zm-tan); }
.zm-header .wp-block-navigation-item:nth-child(5n+2) { --nav-c: #dcb27a; }
.zm-header .wp-block-navigation-item:nth-child(5n+3) { --nav-c: var(--zm-sage); }
.zm-header .wp-block-navigation-item:nth-child(5n+4) { --nav-c: #eb9ea3; }
.zm-header .wp-block-navigation-item:nth-child(5n+5) { --nav-c: #ecc95a; }
.zm-header .wp-block-navigation .wp-block-navigation-item__content {
	position: relative; display: inline-block; padding: 6px 0; color: var(--zm-ink); text-decoration: none;
	font-size: 13px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap;
}
.zm-header .wp-block-navigation .wp-block-navigation-item__content::after {
	content: ""; position: absolute; z-index: -1; left: -4px; right: -4px; bottom: 4px; height: 9px; border-radius: 2px 6px 3px 7px;
	background: var(--nav-c, var(--zm-brown)); opacity: .8; transform: scaleX(0); transform-origin: left center; transition: transform .25s ease;
}
.zm-header .wp-block-navigation .wp-block-navigation-item__content:hover::after,
.zm-header .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.zm-header .wp-block-navigation__responsive-container-open,
.zm-header .wp-block-navigation__responsive-container-close { color: var(--zm-ink); }
.zm-header .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--zm-paper) var(--zm-noise); color: var(--zm-ink); padding: 28px var(--zm-gutter);
}
.zm-header .is-menu-open .wp-block-navigation__container { gap: 4px; }
.zm-header .is-menu-open .wp-block-navigation-item__content { font-size: 18px; padding: 10px 0; }

/* Portada: el papel con el logo y el menú va sobre una foto grande de flores */
.zm-header--portada { padding: 30px 0 clamp(170px, 20vw, 260px); border-bottom: 0; overflow: hidden; }
.zm-header__foto { position: absolute; inset: 0; background-position: center 62%; background-size: cover; background-repeat: no-repeat; }
.zm-header--portada::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -1px; z-index: 2; height: 22px;
	background: var(--zm-bg) var(--zm-noise); clip-path: var(--zm-torn-edge);
}
.zm-header--portada .zm-container { position: relative; filter: drop-shadow(0 2px 2px rgba(40, 26, 12, .18)) drop-shadow(0 14px 22px rgba(40, 26, 12, .3)); }
.zm-header--portada .zm-container::before,
.zm-header--portada .zm-container::after {
	content: ""; position: absolute; z-index: 3; top: -12px; width: 100px; height: 26px; pointer-events: none;
	background: var(--zm-noise), var(--zm-tape-lino);
	clip-path: polygon(0 10%, 3% 0, 7% 8%, 11% 0, 89% 3%, 93% 0, 97% 7%, 100% 2%, 98% 50%, 100% 94%, 96% 100%, 92% 92%, 87% 100%, 10% 97%, 6% 100%, 2% 92%, 0 100%, 2% 50%);
}
.zm-header--portada .zm-container::before { left: calc(var(--zm-gutter) + 40px); transform: rotate(-4deg); }
.zm-header--portada .zm-container::after { right: calc(var(--zm-gutter) + 40px); transform: rotate(5deg); }
.zm-header--portada .zm-header__in {
	padding: 26px clamp(18px, 2.6vw, 34px) 24px; background: var(--zm-paper) var(--zm-noise); clip-path: var(--zm-tear); transform: rotate(-.35deg);
}
.zm-header--portada .zm-logo { font-size: 78px; }
.zm-header--portada .zm-tagline { font-size: 27px; }
.zm-header--portada .zm-tagline__small { font-size: 23px; }
.zm-header--portada .zm-header__arrow { width: 136px; height: 54px; }

/* En escritorio, el menú de la portada es una lista vertical: la «carta» del menú de hoy a la que apunta la flecha */
@media (min-width: 901px) {
	.zm-header--portada .zm-header__in { flex-wrap: nowrap; }
	.zm-header--portada .zm-header__in::after { display: none; }
	.zm-header--portada .zm-header__arrow { align-self: center; margin: 0 4px 0 -2px; transform: none; }
	.zm-header--portada .zm-nav { flex-basis: auto; display: block; margin-left: auto; padding: 2px 0 2px 24px; border-left: 1px dashed var(--zm-line-2); }
	.zm-header--portada .wp-block-navigation__container { flex-direction: column; align-items: flex-start; gap: 0; }
	.zm-header--portada .wp-block-navigation .wp-block-navigation-item__content { padding: 3px 0; }
	.zm-header--portada .wp-block-navigation .wp-block-navigation-item__content::after { bottom: 5px; }
}
@media (min-width: 901px) and (max-width: 1180px) {
	.zm-header--portada .zm-tagline { font-size: 23px; }
	.zm-header--portada .zm-tagline__small { font-size: 20px; }
	.zm-header--portada .zm-header__arrow { width: 96px; }
}

/* ==========================================================================
   Piezas compartidas
   ========================================================================== */
.zm-card { background: var(--zm-paper) var(--zm-noise); border: 1px solid var(--zm-line); border-radius: 2px; box-shadow: var(--zm-shadow); }

/* Papel con borde rasgado */
.zm-torn { filter: drop-shadow(0 1px 1px rgba(80, 58, 28, .09)) drop-shadow(0 6px 12px rgba(80, 58, 28, .07)); }
.zm-torn::before { top: -10px; left: 50%; margin-left: -48px; transform: rotate(-2deg); --zm-tape: var(--zm-sec-tape); }
.zm-torn__in {
	background: var(--zm-paper) var(--zm-noise);
	clip-path: polygon(0 3px, 14% 0, 31% 2px, 52% 0, 70% 3px, 86% 0, 100% 2px,
		100% calc(100% - 6px), 96% calc(100% - 2px), 92% calc(100% - 7px), 88% calc(100% - 1px), 83% calc(100% - 5px),
		78% calc(100% - 1px), 74% calc(100% - 6px), 69% 100%, 64% calc(100% - 5px), 59% calc(100% - 1px),
		54% calc(100% - 6px), 49% calc(100% - 2px), 44% calc(100% - 7px), 39% calc(100% - 1px), 34% calc(100% - 5px),
		29% 100%, 24% calc(100% - 6px), 19% calc(100% - 2px), 14% calc(100% - 6px), 9% calc(100% - 1px),
		5% calc(100% - 5px), 0 calc(100% - 2px));
}

.zm-eyebrow { font-family: var(--zm-text); font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--zm-sec); margin: 0 0 8px; }
.zm-laurel { width: 92px; height: 21px; color: var(--zm-sec-pop); }
.zm-brush { width: 120px; height: 8px; color: var(--zm-sec-pop); opacity: .85; }

.zm-link {
	display: inline-flex; align-items: center; gap: 9px; color: var(--zm-sec); text-decoration: none; font-size: 15.5px; font-weight: 600;
	text-underline-offset: 5px; text-decoration-thickness: 1px; transition: color .2s;
}
.zm-link .zm-icon { width: 16px; height: 10px; flex: none; transition: transform .2s; }
.zm-link:hover { text-decoration-line: underline; }
.zm-link:hover .zm-icon { transform: translateX(3px); }
.zm-link--ink { color: var(--zm-ink); }
.zm-link--ink:hover { color: var(--zm-sec); }

.zm-btn {
	display: inline-flex; align-items: center; gap: 10px; padding: 11px 26px; font-size: 15.5px; font-weight: 600; letter-spacing: .02em; line-height: 1.3;
	text-decoration: none; border: 1px solid transparent; border-radius: 999px; cursor: pointer; transition: background .2s;
}
.zm-btn .zm-icon { width: 16px; height: 10px; }
.zm-btn--dark { background: var(--zm-ink); color: #fbf6ee; border-radius: 2px; }
.zm-btn--dark:hover { background: #000; color: #fff; }

.zm-date {
	display: flex; flex-direction: column; align-items: center; color: var(--zm-ink); text-decoration: none;
	font-size: 12.5px; font-weight: 600; letter-spacing: .08em; line-height: 1.35; text-transform: uppercase; white-space: nowrap;
}

.zm-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; margin: 0 0 12px; font-size: 12.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--zm-sec); }
.zm-meta__by { font-size: 16px; font-style: italic; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--zm-ink); }
.zm-meta__sep { color: var(--zm-line-2); }

.zm-prose { font-size: 17px; line-height: 1.8; color: var(--zm-ink-2); }
.zm-prose p { margin: 0 0 .85em; }
.zm-prose a { color: var(--zm-sec); text-decoration-color: var(--zm-sec-pop); text-underline-offset: 3px; }
.zm-prose h2, .zm-prose h3 { margin: 1.4em 0 .5em; }
.zm-prose h2 { font-size: 1.6em; }
.zm-prose h3 { font-size: 1.3em; }
.zm-prose blockquote { margin: 1.3em 0; padding: .7em 1.1em; border-left: 3px solid var(--zm-sec-pop); background: var(--zm-sec-soft); font-style: italic; }
.zm-prose blockquote p:last-child { margin-bottom: 0; }
.zm-prose .has-text-align-center { text-align: center; }
.zm-prose .zm-intro { font-style: italic; }
.zm-prose img { border-radius: 2px; }
.zm-prose .wp-block-audio { margin: 1.4em 0; }
.zm-prose .wp-block-audio audio { width: 100%; min-width: 0; }

.zm-empty { font-style: italic; color: var(--zm-muted); padding: 24px 0; }

/* Etiqueta "Con audio" */
.zm-badge-audio {
	display: inline-flex; align-items: center; gap: 7px; width: fit-content; margin: 2px 0 12px; padding: 3px 12px 3px 9px;
	font-size: 11.5px; font-weight: 600; letter-spacing: .12em; line-height: 1.6; text-transform: uppercase; color: var(--zm-ink-2); text-decoration: none;
	background: var(--zm-paper); border: 1px solid var(--zm-line-2); border-radius: 999px; transition: border-color .2s, color .2s;
}
.zm-badge-audio .zm-icon { width: 15px; height: 15px; flex: none; color: var(--zm-sec); }
a.zm-badge-audio:hover { border-color: var(--zm-sec); color: var(--zm-sec); }
.zm-audio-mark { display: inline-block; width: 14px; height: 14px; margin-left: 5px; vertical-align: -1px; color: var(--zm-sec); }

/* ==========================================================================
   Bloque: Fila y columnas
   ========================================================================== */
.zm-espacio--pequeno { padding-top: 12px; }
.zm-espacio--normal { padding-top: 28px; }
.zm-fila__grid { display: grid; gap: 40px; align-items: start; }
.zm-fila--lateral .zm-fila__grid { grid-template-columns: minmax(0, 1fr) 300px; }
.zm-fila--mitades .zm-fila__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.04fr); gap: 16px; align-items: stretch; }
.zm-fila--una .zm-fila__grid { grid-template-columns: minmax(0, 1fr); }
.zm-col { display: flex; flex-direction: column; gap: 26px; min-width: 0; }
.zm-fila--lateral .zm-col + .zm-col { gap: 40px; }
.zm-fila--mitades .zm-col { gap: 12px; }
.zm-fila--mitades .zm-col > [class*="wp-block-zoemilis-"] { flex: 1; }
.zm-col > * { margin-block: 0; }

/* ==========================================================================
   Bloque: Cabecera de página
   ========================================================================== */
.zm-page-head { position: relative; overflow: hidden; padding-block: 50px 36px; }
.zm-page-head--hero { padding-block: 60px 66px; min-height: 320px; }
.zm-page-head__in { position: relative; display: grid; grid-template-columns: 96px minmax(0, 660px); column-gap: 26px; align-items: start; }
.zm-page-head--hero .zm-page-head__in { grid-template-columns: 96px minmax(0, 1fr) minmax(0, 330px); column-gap: 30px; }
.zm-page-head__icon { width: 88px; height: 120px; margin-top: -6px; color: var(--zm-sec); }
.zm-page-title { position: relative; width: fit-content; font-size: clamp(44px, 5.4vw, 72px); font-weight: 400; line-height: 1; letter-spacing: -.02em; }
.zm-page-title::after { content: ""; position: absolute; top: -20px; right: -66px; width: 52px; height: 52px; background: var(--zm-doodle-asterisco) center / contain no-repeat; }
/* Polaroid con la foto de la sección (rellena el hueco a la derecha de la introducción) */
.zm-page-head__foto {
	position: relative; align-self: start; margin: 6px 22px 0 0; padding: 12px 12px 48px; background: #fffefb;
	transform: rotate(2.5deg); box-shadow: 0 1px 2px rgba(60, 40, 20, .14), 0 18px 30px -14px rgba(40, 26, 12, .5);
}
.zm-page-head__foto img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.zm-page-head__foto::after { content: ""; position: absolute; right: -58px; bottom: -44px; width: 96px; height: 210px; background: var(--zm-doodle-flores) center / contain no-repeat; transform: rotate(8deg); }
.zm-page-head .zm-brush { margin: 16px 0 20px; }
.zm-page-intro { max-width: 640px; margin: 0; font-size: 18px; line-height: 1.7; color: var(--zm-ink-2); }
.zm-page-intro + .zm-page-intro { margin-top: .8em; }

/* ==========================================================================
   Bloques: Listado, índice, nota
   ========================================================================== */
.zm-entries { display: grid; gap: 20px; padding-top: 8px; }
.zm-entry::before { left: 52px; margin-left: 0; width: 84px; height: 22px; transform: rotate(-3deg); }
.zm-entry:nth-child(even)::before { left: auto; right: 60px; transform: rotate(3deg); }
.zm-entry .zm-torn__in { display: grid; grid-template-columns: 116px minmax(0, 1fr); gap: 26px; padding: 32px 48px 32px 28px; }
.zm-entry__aside { display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; }
.zm-entry .zm-date { color: var(--zm-sec); }
.zm-entry:nth-child(3n+2) .zm-torn__in { background-color: var(--zm-kraft-soft); }
.zm-entry:nth-child(3n+3) .zm-torn__in { background: var(--zm-grid), var(--zm-paper); }
.zm-entry__icon { width: 96px; height: 96px; padding: 14px; border-radius: 50%; color: var(--zm-sec); background: var(--zm-sec-soft); }
.zm-entry__cat { font-size: 11.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--zm-sec); margin: 0 0 4px; }
.zm-entry__title { font-size: 27px; margin-bottom: 8px; }
.zm-entry__title a { text-decoration: none; transition: color .2s; }
.zm-entry__title a:hover { color: var(--zm-sec); }
.zm-entry__excerpt { max-width: 58ch; margin-bottom: 14px; font-size: 16px; line-height: 1.7; color: var(--zm-ink-2); }
.zm-entry__excerpt p { margin: 0; }
.zm-entry__by { font-style: italic; color: var(--zm-muted); font-size: 15px; margin: -4px 0 8px; }

.zm-index__title { font-family: var(--zm-hand); font-weight: 700; font-size: 29px; line-height: 1.05; margin-bottom: 22px; }
.zm-tape-label {
	display: inline-block; margin-left: 8px; padding: 9px 26px 7px; background: var(--zm-sec-soft) var(--zm-noise); transform: rotate(-1.5deg);
	clip-path: polygon(2% 0, 30% 4%, 60% 0, 99% 3%, 100% 30%, 98% 62%, 100% 100%, 64% 96%, 32% 100%, 1% 97%, 0 60%, 2% 28%);
}
.zm-index--boxed { background: var(--zm-paper) var(--zm-noise); border: 1px solid var(--zm-line); border-radius: 2px; box-shadow: var(--zm-shadow); padding: 30px 26px 28px; }
.zm-index--boxed::before { top: -12px; right: 26px; transform: rotate(5deg); --zm-tape: var(--zm-sec-tape); }
.zm-index .zm-link { margin: 14px 0 0 22px; }
.zm-timeline { position: relative; list-style: none; margin: 0; padding: 0 0 0 22px; }
.zm-timeline::before { content: ""; position: absolute; left: 4px; top: 8px; bottom: 10px; width: 1px; background: var(--zm-line-2); }
.zm-timeline__item { position: relative; padding-bottom: 18px; }
.zm-timeline__item::before {
	content: ""; position: absolute; left: -22px; top: 7px; width: 9px; height: 9px; border-radius: 50%; background: var(--zm-sec-pop);
	box-shadow: 0 0 0 3px var(--zm-bg);
}
.zm-index--boxed .zm-timeline__item::before { box-shadow: 0 0 0 3px var(--zm-paper); }
.zm-timeline__item.is-current::before { background: var(--zm-sec); box-shadow: 0 0 0 3px var(--zm-paper), 0 0 0 5px var(--zm-sec-soft); }
.zm-timeline a { display: block; color: var(--zm-ink); text-decoration: none; }
.zm-timeline__date { display: block; font-size: 11.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--zm-muted); }
.zm-timeline__title { display: block; font-size: 16.5px; line-height: 1.35; transition: color .2s; }
.zm-timeline__by { display: block; font-size: 13.5px; font-style: italic; color: var(--zm-muted); margin-top: 2px; }
.zm-timeline a:hover .zm-timeline__title,
.is-current .zm-timeline__date, .is-current .zm-timeline__title { color: var(--zm-sec); }

/* Nota adhesiva amarilla con clip */
.zm-note {
	position: relative; margin: 18px 6px 0; padding: 34px 28px 22px;
	background: linear-gradient(170deg, #f6e08e, var(--zm-yellow)) ;
	border: 0; border-radius: 1px 1px 12px 1px;
	box-shadow: 0 1px 1px rgba(90, 64, 30, .12), 0 14px 18px -12px rgba(90, 64, 30, .45);
	transform: rotate(-1.4deg);
}
.zm-note::after { content: ""; position: absolute; top: -22px; right: 26px; width: 22px; height: 56px; background: var(--zm-clip) center / contain no-repeat; transform: rotate(12deg); }
.zm-note__tape { display: none; }
.zm-note p { margin: 0; font-family: var(--zm-hand); font-weight: 500; font-size: 25px; line-height: 1.2; color: var(--zm-ink); }
.zm-note .zm-icon { width: 26px; height: 24px; margin: 12px auto 0; color: var(--zm-rose); }

/* ==========================================================================
   Bloque: Comentarios
   ========================================================================== */
.zm-comments { padding: 26px clamp(18px, 4vw, 40px) 22px; background: var(--zm-paper) var(--zm-noise); border: 1px solid var(--zm-line); border-radius: 2px; box-shadow: var(--zm-shadow); }
.zm-comments::before { top: -11px; left: 34px; transform: rotate(-3deg); --zm-tape: var(--zm-tape-lino); }
.zm-comments__head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 20px; margin-bottom: 16px; }
.zm-comments__title { display: flex; align-items: center; gap: 12px; font-family: var(--zm-hand); font-weight: 700; font-size: 30px; line-height: 1; }
.zm-comments__title .zm-icon { width: 26px; height: 22px; color: var(--zm-sec); }
.zm-comments__count { font-family: var(--zm-text); font-size: 15px; color: var(--zm-muted); }
.zm-sort { display: flex; align-items: center; gap: 8px; font-size: 14px; }
.zm-sort select {
	appearance: none; -webkit-appearance: none; border: 0; padding: 2px 20px 2px 4px; color: var(--zm-ink); font-weight: 600; cursor: pointer;
	background: transparent url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%232e2620' stroke-width='1.3'/></svg>") no-repeat right 2px center / 10px 6px;
}
.zm-sort noscript button { font-size: 12px; }
.zm-comments__closed { font-style: italic; color: var(--zm-muted); margin: 0; }

.zm-comments .comment-respond { margin: 0; }
.zm-comments .comment-reply-title { display: none; font-size: 15px; margin-bottom: 8px; }
.zm-comment-list .comment-reply-title { display: flex; gap: 12px; align-items: baseline; }
.zm-comments .comment-reply-title small a { font-size: 13px; color: var(--zm-sec); }

.zm-comment-form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 10px 14px; align-items: end; margin: 0; }
.zm-comment-form > p { margin: 0; }
.zm-comment-form .comment-form-comment { grid-column: 1 / 3; grid-row: 1; }
.zm-comment-form .form-submit { grid-column: 3; grid-row: 1; }
.zm-comment-form .comment-form-author { grid-column: 1; grid-row: 2; }
.zm-comment-form .comment-form-email { grid-column: 2; grid-row: 2; }
.zm-comment-form .comment-form-cookies-consent { grid-column: 1 / 3; grid-row: 3; display: flex; gap: 8px; align-items: center; font-size: 14px; color: var(--zm-muted); }
.zm-comment-form .logged-in-as { grid-column: 1 / -1; font-size: 14px; color: var(--zm-muted); }
.zm-comment-form textarea,
.zm-comment-form input[type="text"],
.zm-comment-form input[type="email"] {
	width: 100%; padding: 12px 14px; font-size: 15.5px; color: var(--zm-ink); background: #fffefb;
	border: 1px solid var(--zm-line-2); border-radius: 4px; transition: border-color .2s, box-shadow .2s;
}
.zm-comment-form textarea { display: block; min-height: 54px; resize: vertical; }
.zm-comment-form textarea:focus,
.zm-comment-form input:focus { outline: none; border-color: var(--zm-tan); box-shadow: 0 0 0 3px rgba(196, 160, 113, .22); }
.zm-comment-form ::placeholder { color: #94877a; }
.zm-comment-form .comment-form-privacy { grid-column: 1 / 3; grid-row: 4; display: flex; gap: 8px; align-items: flex-start; font-size: 14px; line-height: 1.45; color: var(--zm-ink-2); }
.zm-comment-form .comment-form-privacy input { margin-top: 3px; flex: none; accent-color: var(--zm-brown); }
.zm-comment-form .comment-form-privacy a { color: var(--zm-brown); }
.zm-privacy-info { display: block; margin-top: 4px; font-size: 12.5px; color: var(--zm-muted); }
.zm-comment-form .comment-form-cookies-consent input { accent-color: var(--zm-brown); }
.zm-comment-noscript { grid-column: 1 / -1; margin: 0; font-size: 14px; color: var(--zm-rose-deep); }
.js .zm-comment-form:not(.is-active) .comment-form-author,
.js .zm-comment-form:not(.is-active) .comment-form-email,
.js .zm-comment-form:not(.is-active) .comment-form-privacy,
.js .zm-comment-form:not(.is-active) .comment-form-cookies-consent { display: none; }
@media (max-width: 760px) {
	.zm-comment-form .comment-form-privacy { grid-column: 1; grid-row: auto; }
}

.zm-comment-list, .zm-comment-list .children { list-style: none; margin: 0; padding: 0; }
.zm-comment-list { margin-top: 16px; }
.zm-comment-list .children { padding-left: clamp(22px, 6vw, 68px); }
.zm-comment__in { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; gap: 16px; padding: 18px 0; border-top: 1px solid var(--zm-line); }
.zm-avatar { display: grid; place-items: center; width: 52px; height: 52px; padding: 11px; border-radius: 50%; background: var(--zm-tan-soft); color: var(--zm-tan-deep); }
.zm-avatar--2 { background: var(--zm-sage-soft); color: var(--zm-sage-deep); }
.zm-avatar--3 { background: var(--zm-rose-soft); color: var(--zm-rose-deep); }
.zm-avatar--4 { background: var(--zm-beige-soft); color: var(--zm-brown); }
.zm-comment__head { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 14px; }
.zm-comment__author { font-size: 16px; font-weight: 600; }
.zm-comment__date { font-size: 11.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--zm-muted); }
.zm-comment__text { font-size: 16px; line-height: 1.65; color: var(--zm-ink-2); }
.zm-comment__text p { margin: 0 0 .35em; }
.zm-comment__pending { font-size: 14px; font-style: italic; color: var(--zm-brown); margin: 2px 0; }
.zm-comment__reply a { font-size: 14.5px; color: var(--zm-sec); text-decoration: underline; text-underline-offset: 3px; }
.zm-comment-list .comment-respond { padding: 0 0 16px 68px; }
.zm-like { align-self: center; width: 36px; height: 36px; padding: 7px; background: none; border: 0; border-radius: 50%; color: var(--zm-muted); cursor: pointer; transition: color .2s, transform .2s; }
.zm-like:hover { color: var(--zm-rose-deep); }
.zm-like[aria-pressed="true"] { color: var(--zm-rose); transform: scale(1.08); }
.zm-like[aria-pressed="true"] .zm-icon { fill: currentColor; }
.zm-comments__more { display: none; justify-content: center; margin-top: 6px; }
.zm-comments__more button { background: none; border: 0; cursor: pointer; padding: 6px 0; }
.js .zm-comments--collapsible:not(.is-expanded) .zm-comment-list > li:nth-child(n+3) { display: none; }
.js .zm-comments--collapsible:not(.is-expanded) .zm-comments__more { display: flex; }

/* ==========================================================================
   Bloques de portada
   ========================================================================== */
/* Destacado: collage con papel kraft, polaroid, nota en cuadrícula y flores a tinta */
.zm-hero-row { padding-top: 34px; }
.zm-hero-row .zm-container::before { top: -6px; left: calc(var(--zm-gutter) + 160px); transform: rotate(-3deg); --zm-tape: var(--zm-tape-lino); z-index: 5; }
.zm-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; padding: 8px 10px 40px 110px; }
.zm-doodle { position: absolute; display: block; pointer-events: none; background: center / contain no-repeat; }
.zm-doodle--flores { left: -14px; top: 10px; width: 132px; height: 290px; background-image: var(--zm-doodle-flores); }
.zm-hero__text {
	position: relative; z-index: 2; grid-column: 1; grid-row: 1; margin-right: -34px; padding: 48px 50px 44px;
	background: var(--zm-kraft) var(--zm-noise); clip-path: var(--zm-tear); transform: rotate(-1deg);
}
.zm-hero .zm-eyebrow { color: var(--zm-ink-2); }
.zm-hero__title { font-size: clamp(32px, 3.4vw, 46px); letter-spacing: -.01em; }
.zm-hero__title a { text-decoration: none; }
.zm-hero .zm-laurel { margin: 12px 0 14px; color: var(--zm-ink); }
.zm-hero__date { font-family: var(--zm-hand); font-size: 22px; line-height: 1.2; color: var(--zm-ink-2); margin-bottom: 8px; }
.zm-hero__excerpt { font-size: 17px; line-height: 1.7; color: var(--zm-ink); }
.zm-hero .zm-badge-audio { background: rgba(255, 252, 247, .7); }
.zm-hero .zm-btn { margin: 6px 0 18px; }
.zm-hero__all { display: flex; width: fit-content; }
.zm-hero__art {
	position: relative; z-index: 1; grid-column: 2; grid-row: 1; padding: 14px 14px 58px; background: #fffefb;
	transform: rotate(2.2deg); box-shadow: 0 1px 2px rgba(60, 40, 20, .14), 0 18px 30px -14px rgba(40, 26, 12, .5);
}
.zm-hero__art::before { top: -12px; left: 50%; margin-left: -48px; transform: rotate(-2deg); --zm-tape: var(--zm-tape-kraft); }
.zm-hero__art img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.zm-hero__nota {
	position: absolute; z-index: 3; right: -4px; bottom: 6px; max-width: 270px; margin: 0; padding: 18px 22px 16px;
	font-family: var(--zm-hand); font-size: 24px; font-weight: 500; line-height: 1.15; color: var(--zm-ink);
	background: var(--zm-grid), var(--zm-sage-paper); transform: rotate(-3deg);
	box-shadow: 0 1px 1px rgba(60, 40, 20, .12), 0 12px 20px -12px rgba(40, 26, 12, .45);
}
.zm-hero__nota::before { top: -11px; left: 50%; margin-left: -42px; width: 84px; height: 22px; transform: rotate(3deg); --zm-tape: var(--zm-tape-lino); }

/* Papel de color recortado detrás de un bloque (la forma rasgada no recorta la cinta ni las fotos) */
.zm-bio, .zm-recent, .zm-section-card { isolation: isolate; background: none; border: 0; box-shadow: none; filter: drop-shadow(0 1px 1px rgba(80, 58, 28, .1)) drop-shadow(0 8px 14px rgba(80, 58, 28, .12)); }
.zm-bio::after, .zm-recent::after, .zm-section-card::before { content: ""; position: absolute; inset: 0; z-index: -1; clip-path: var(--zm-tear); pointer-events: none; }

.zm-bio { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 22px; height: 100%; padding: 34px 44px 24px 26px; }
.zm-bio::before { top: -11px; left: 40px; transform: rotate(-4deg); --zm-tape: var(--zm-tape-lino); }
.zm-bio::after { background: var(--zm-pink-paper) var(--zm-noise); }
.zm-bio--foto { grid-template-columns: 190px minmax(0, 1fr); gap: 30px; padding-left: 30px; }
.zm-bio--foto::before { display: none; }
.zm-bio__foto { align-self: start; margin: 8px 0 0; padding: 9px 9px 30px; background: #fff; transform: rotate(-2.5deg); box-shadow: 0 1px 2px rgba(60, 40, 20, .12), 0 12px 20px -10px rgba(40, 26, 12, .45); }
.zm-bio__foto::before { top: -12px; left: 50%; margin-left: -40px; width: 80px; height: 22px; transform: rotate(4deg); --zm-tape: var(--zm-tape-kraft); }
.zm-bio__foto img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.zm-bio__art { justify-self: center; width: 96px; height: 190px; color: var(--zm-sage-deep); }
.zm-bio__title { font-family: var(--zm-hand); font-weight: 700; font-size: 40px; line-height: 1; margin-bottom: 12px; }
.zm-bio__text p:not(.zm-signature) { font-size: 16.5px; line-height: 1.7; margin-bottom: .4em; color: var(--zm-ink); }
.zm-signature { display: flex; justify-content: flex-end; align-items: center; gap: 14px; margin: 6px 0 0; font-family: var(--zm-script); font-size: 50px; line-height: 1; }
.zm-signature .zm-icon { width: 26px; height: 24px; color: var(--zm-rose-deep); }

.zm-recent { height: 100%; padding: 26px 28px 16px; }
.zm-recent::before { top: -11px; left: 50%; margin-left: -48px; transform: rotate(2deg); --zm-tape: var(--zm-tape-salvia); }
.zm-recent::after { background: var(--zm-grid), var(--zm-paper); }
.zm-recent__title { padding-bottom: 8px; margin-bottom: 2px; border-bottom: 1px solid var(--zm-line-2); font-family: var(--zm-hand); font-weight: 700; font-size: 31px; line-height: 1.02; color: var(--zm-ink); }
.zm-recent__list { list-style: none; margin: 0; padding: 0; }
.zm-recent__item { position: relative; display: grid; grid-template-columns: 66px 48px minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 7px 12px 7px 0; border-bottom: 1px dashed var(--zm-line-2); }
.zm-recent__item .zm-date { font-size: 11.5px; }
.zm-recent__icon { width: 48px; height: 48px; padding: 8px; border-radius: 50%; background: var(--zm-sec-soft); color: var(--zm-sec); }
.zm-recent__cat { display: block; font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--zm-sec); line-height: 1.4; }
.zm-recent__link { font-size: 17px; line-height: 1.3; text-decoration: none; transition: color .2s; }
.zm-recent__link::after { content: ""; position: absolute; inset: 0; }
.zm-recent__item:hover .zm-recent__link { color: var(--zm-sec); }
.zm-recent__go { display: flex; align-items: center; gap: 10px; font-family: var(--zm-hand); font-size: 21px; }
.zm-recent__go .zm-icon { width: 16px; height: 10px; }
.zm-recent__all { display: flex; justify-content: center; margin-top: 10px; }
.zm-recent__all .zm-link { font-size: 15px; }

/* Tarjetas de secciones: papeles de colores */
.zm-sections-row { padding-top: 34px; }
.zm-sections { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; padding-inline: 30px; }
.zm-section-card {
	--tint: var(--zm-kraft-soft); --ink: var(--zm-tan-deep); --card-tape: var(--zm-tape-kraft); --rot: -1deg;
	position: relative; display: flex; align-items: center; justify-content: center; gap: 12px;
	padding: 24px 14px 22px; color: var(--zm-ink); text-decoration: none;
	transform: rotate(var(--rot)); transition: transform .25s ease;
}
.zm-section-card:nth-child(even) { --rot: 1deg; }
.zm-section-card::before { background: var(--tint) var(--zm-noise); }
.zm-section-card::after { top: -11px; left: 50%; margin-left: -40px; width: 80px; height: 22px; transform: rotate(-2deg); --zm-tape: var(--card-tape); }
.zm-section-card:nth-child(even)::after { transform: rotate(2deg); }
a.zm-section-card:hover { transform: rotate(0) translateY(-3px); }
.zm-section-card--arena { --tint: var(--zm-kraft); --ink: #5c4126; --card-tape: var(--zm-tape-lino); }
.zm-section-card--salvia { --tint: #c9d0b6; --ink: #46503c; --card-tape: var(--zm-tape-kraft); }
.zm-section-card--rosa { --tint: #f3c7c6; --ink: #84394d; --card-tape: var(--zm-tape-lino); }
.zm-section-card--crema { --tint: var(--zm-yellow); --ink: #5c4a18; --card-tape: var(--zm-tape-salvia); }
.zm-section-card--malva { --tint: #e4cdd6; --ink: #6e3f52; --card-tape: var(--zm-tape-kraft); }
.zm-section-card--cielo { --tint: #cfe0df; --ink: #3f5c5a; --card-tape: var(--zm-tape-lino); }
.zm-section-card__icon { position: relative; flex: none; width: 82px; height: 68px; color: var(--ink); }
.zm-section-card--crema .zm-section-card__icon .zm-icon--envelope { width: 76px; margin-inline: auto; }
.zm-section-card__text { position: relative; display: flex; flex-direction: column; align-items: center; }
.zm-section-card__title { font-family: var(--zm-display); font-size: 23px; font-weight: 500; line-height: 1.2; }
.zm-section-card__cta { display: inline-flex; align-items: center; gap: 8px; margin-top: 2px; font-family: var(--zm-hand); font-size: 22px; line-height: 1.2; color: var(--ink); border-bottom: 1.5px solid currentColor; }
.zm-section-card__cta .zm-icon { width: 14px; height: 9px; }

/* ==========================================================================
   Bloque: Publicación destacada de sección
   ========================================================================== */
.zm-featured { display: grid; grid-template-columns: 244px minmax(0, 1fr); gap: 44px; align-items: start; padding-top: 8px; }
.zm-about { transform: rotate(-.6deg); }
.zm-about .zm-torn__in { padding: 30px 26px 30px; text-align: center; background-color: var(--zm-sec-soft); }
.zm-about__title { margin-bottom: 12px; font-family: var(--zm-hand); font-weight: 700; font-size: 29px; line-height: 1.05; color: var(--zm-ink); }
.zm-about__text { font-size: 15.5px; line-height: 1.75; color: var(--zm-ink-2); }
.zm-about__text p { margin: 0 0 1em; }
.zm-about__icon { width: 56px; height: 64px; margin: 16px auto 12px; color: var(--zm-sec); }
.zm-about__foot { margin: 0; font-family: var(--zm-hand); font-size: 23px; }
.zm-featured__article { padding-top: 22px; border-top: 1px solid var(--zm-line-2); }
.zm-featured__title { font-size: 31px; margin-bottom: 6px; }
.zm-featured__title a { text-decoration: none; }
.zm-featured__title a:hover { color: var(--zm-sec); }
.zm-featured .zm-laurel { display: block; margin: -4px 0 14px; }
.zm-featured__text { margin-bottom: 8px; font-size: 18px; line-height: 1.85; }
.zm-featured__text > p:first-of-type::first-letter {
	float: left; margin: .08em .1em 0 0; font-family: var(--zm-display); font-size: 3.5em; font-weight: 400; line-height: .82; color: var(--zm-sec);
}
.zm-featured .zm-audio { margin: 40px 0 34px; }
/* El recuadro «Sobre este relato» acompaña mientras se lee */
.zm-about { position: sticky; top: 24px; }

/* Cierre manuscrito tras el texto */
.zm-fin { position: relative; margin: 36px 0 8px; text-align: center; font-family: var(--zm-hand); font-size: 31px; font-weight: 500; line-height: 1.15; color: var(--zm-sec); }
.zm-prose .zm-fin { margin-bottom: 8px; }
.zm-fin::after { content: ""; display: block; width: 150px; height: 10px; margin: 8px auto 0; background: currentColor; opacity: .55;
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 10'><path d='M3 6c30-5 70-6 144-2' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'/></svg>") center / contain no-repeat;
	mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 10'><path d='M3 6c30-5 70-6 144-2' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'/></svg>") center / contain no-repeat; }

/* Nota que anima a comentar */
.zm-invita {
	position: relative; max-width: 560px; margin: 26px 0 30px 14px; padding: 24px 28px 20px;
	background: #f9dcd9 var(--zm-noise); transform: rotate(-1.2deg);
	box-shadow: 0 1px 1px rgba(90, 64, 30, .12), 0 14px 18px -12px rgba(90, 64, 30, .45);
}
.zm-invita p { margin: 0; font-family: var(--zm-hand); font-size: 25px; font-weight: 500; line-height: 1.22; color: var(--zm-ink); }
.zm-invita a { color: #93465a; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 4px; }
.zm-invita .zm-icon { display: inline-block; width: 22px; height: 20px; vertical-align: -2px; color: #c4626e; fill: rgba(232, 160, 164, .5); }

/* Páginas de un texto largo */
.zm-pages { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 26px 0 0; font-size: 15px; }
.zm-pages .post-page-numbers { display: inline-grid; place-items: center; min-width: 38px; height: 38px; padding: 0 10px; border: 1px solid var(--zm-line-2); border-radius: 999px; text-decoration: none; }
.zm-pages .post-page-numbers.current { background: var(--zm-sec); border-color: var(--zm-sec); color: #fff; }

/* ==========================================================================
   Bloques de entrada individual
   ========================================================================== */
.zm-single-top { padding-block: 30px 18px; }
.zm-back { display: inline-flex; align-items: center; gap: 8px; }
.zm-back .zm-icon { transform: scaleX(-1); }
.zm-back:hover .zm-icon { transform: scaleX(-1) translateX(3px); }
.zm-article::before { width: 120px; margin-left: -60px; top: -11px; transform: rotate(-1.5deg); }
.zm-article .zm-torn__in { padding: clamp(34px, 5vw, 60px) clamp(22px, 6vw, 72px) 62px; }
.zm-article__head { text-align: center; margin-bottom: 30px; }
.zm-article__icon { width: 112px; height: 112px; margin: 0 auto 16px; padding: 20px; border-radius: 50%; color: var(--zm-sec); background: var(--zm-sec-soft); }
.zm-article__title { margin: 6px 0 12px; font-size: clamp(34px, 4.4vw, 54px); font-weight: 400; letter-spacing: -.015em; }
.zm-article__head .zm-meta { justify-content: center; }
.zm-article__head .zm-laurel { margin: 12px auto 0; }
.zm-article__about {
	position: relative; max-width: 580px; margin: 0 auto 38px; padding: 22px 26px 18px; text-align: center; font-size: 16px; color: var(--zm-ink-2);
	background: var(--zm-grid), var(--zm-sec-soft); transform: rotate(-.6deg);
	box-shadow: 0 1px 1px rgba(74, 52, 30, .07), 0 12px 18px -14px rgba(74, 52, 30, .4);
}
.zm-article__about h2 { font-family: var(--zm-hand); font-weight: 700; font-size: 28px; line-height: 1.05; margin-bottom: 6px; }
.zm-article__about p:last-child { margin-bottom: 0; }
.zm-article__content { max-width: 660px; margin-inline: auto; font-size: 18px; line-height: 1.85; }
.zm-article__content .wp-block-post-content > p:first-of-type::first-letter {
	float: left; margin: .08em .1em 0 0; font-family: var(--zm-display); font-size: 3.5em; font-weight: 400; line-height: .82; color: var(--zm-sec);
}
.zm-article__foot { max-width: 660px; margin: 26px auto 0; }
.zm-article__foot .zm-signature { font-size: 46px; }
.zm-postnav { display: flex; justify-content: space-between; gap: 20px; margin-top: -4px; font-family: var(--zm-hand); font-size: 23px; }
.zm-postnav a { color: var(--zm-sec); text-decoration: none; }
.zm-postnav a:hover { text-decoration: underline; text-underline-offset: 5px; }
.zm-postnav__next { margin-left: auto; text-align: right; }

/* ==========================================================================
   Reproductor de audio
   ========================================================================== */
.zm-audio {
	max-width: 620px; margin: 0 auto 40px; padding: 26px 26px 22px;
	background: var(--zm-kraft-soft) var(--zm-noise); border: 0; border-radius: 2px; transform: rotate(-.4deg);
	box-shadow: 0 1px 2px rgba(74, 52, 30, .1), 0 14px 26px -16px rgba(74, 52, 30, .45);
}
.zm-audio::before { top: -12px; left: 30px; transform: rotate(-4deg); --zm-tape: var(--zm-tape-kraft); }
.zm-audio__head { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; text-align: left; }
.zm-audio__badge { flex: none; display: grid; place-items: center; width: 46px; height: 46px; padding: 11px; border-radius: 50%; background: var(--zm-paper); color: var(--zm-sec); }
.zm-audio__heading { min-width: 0; }
.zm-audio__title { font-size: 22px; line-height: 1.2; }
.zm-audio__sub { margin: 2px 0 0; font-family: var(--zm-hand); font-size: 21px; line-height: 1.15; color: var(--zm-ink-2); }
.zm-audio__eq { display: flex; align-items: flex-end; gap: 3px; height: 24px; margin-left: auto; flex: none; }
.zm-audio__eq i { display: block; width: 4px; height: 30%; border-radius: 2px; background: var(--zm-sec-pop); transition: height .3s ease; }
.zm-audio__eq i:nth-child(2) { height: 60%; }
.zm-audio__eq i:nth-child(3) { height: 40%; }
.zm-audio__eq i:nth-child(4) { height: 72%; }
.zm-audio.is-playing .zm-audio__eq i { animation: zm-eq .9s ease-in-out infinite alternate; }
.zm-audio.is-playing .zm-audio__eq i:nth-child(2) { animation-delay: -.3s; }
.zm-audio.is-playing .zm-audio__eq i:nth-child(3) { animation-delay: -.55s; }
.zm-audio.is-playing .zm-audio__eq i:nth-child(4) { animation-delay: -.15s; }
@keyframes zm-eq { from { height: 18%; } to { height: 100%; } }
.zm-audio__native { display: block; width: 100%; }
.zm-audio.is-enhanced .zm-audio__native { display: none; }
.zm-audio__ui { display: flex; align-items: center; gap: 18px; }
.zm-audio__play {
	flex: none; display: grid; place-items: center; width: 60px; height: 60px; padding: 0; border: 0; border-radius: 50%;
	background: var(--zm-ink); color: #fff; cursor: pointer; box-shadow: 0 6px 14px -6px rgba(60, 40, 20, .55); transition: background .2s, transform .15s;
}
.zm-audio__play:hover { background: #000; transform: scale(1.04); }
.zm-audio__play .zm-icon { width: 26px; height: 26px; }
.zm-audio__i-pause, .zm-audio.is-playing .zm-audio__i-play { display: none; }
.zm-audio.is-playing .zm-audio__i-pause { display: block; }
.zm-audio__main { flex: 1; min-width: 0; }
.zm-audio__seek {
	--p: 0%; display: block; width: 100%; height: 20px; margin: 0 0 6px; padding: 0; background: transparent; cursor: pointer;
	-webkit-appearance: none; appearance: none;
}
.zm-audio__seek::-webkit-slider-runnable-track { height: 4px; border-radius: 99px; background: linear-gradient(90deg, var(--zm-ink) var(--p), rgba(46, 38, 32, .2) var(--p)); }
.zm-audio__seek::-moz-range-track { height: 4px; border-radius: 99px; background: rgba(46, 38, 32, .14); }
.zm-audio__seek::-moz-range-progress { height: 4px; border-radius: 99px; background: var(--zm-ink); }
.zm-audio__seek::-webkit-slider-thumb { -webkit-appearance: none; width: 16px; height: 16px; margin-top: -6px; border: 2px solid var(--zm-brown); border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .18); }
.zm-audio__seek::-moz-range-thumb { width: 12px; height: 12px; border: 2px solid var(--zm-brown); border-radius: 50%; background: #fff; }
.zm-audio__seek:focus-visible { outline: 2px solid var(--zm-brown); outline-offset: 2px; border-radius: 6px; }
.zm-audio__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; }
.zm-audio__time { font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--zm-ink-2); }
.zm-audio__tools { display: flex; gap: 6px; }
.zm-audio__btn {
	min-width: 50px; min-height: 34px; padding: 4px 12px; font-size: 13px; font-weight: 600; line-height: 1; color: var(--zm-ink-2); cursor: pointer;
	background: var(--zm-paper); border: 1px solid var(--zm-line-2); border-radius: 999px; transition: border-color .2s, color .2s;
}
.zm-audio__btn:hover { border-color: var(--zm-brown); color: var(--zm-brown-deep); }

/* Paginación */
.navigation.pagination { margin-top: 30px; }
.nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.page-numbers { display: inline-grid; place-items: center; min-width: 42px; height: 42px; padding: 0 12px; font-weight: 600; text-decoration: none; border: 1px solid var(--zm-line-2); border-radius: 999px; background: var(--zm-paper); color: var(--zm-ink); }
.page-numbers.current { background: var(--zm-sec); color: #fff; border-color: var(--zm-sec); }
a.page-numbers:hover { border-color: var(--zm-sec); color: var(--zm-sec); }

/* ==========================================================================
   Bloque: Contacto
   ========================================================================== */
.zm-contact-row .zm-container::before { top: -11px; left: calc(var(--zm-gutter) + 48px); transform: rotate(-3deg); --zm-tape: var(--zm-tape-kraft); }
.zm-contact__card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: 30px; align-items: center; padding: clamp(26px, 4vw, 50px) clamp(20px, 5vw, 64px); overflow: hidden; }
.zm-contact__subtitle { margin-bottom: 10px; font-size: 33px; }
.zm-contact__text .zm-prose { max-width: 470px; }
.zm-contact__line { display: flex; width: fit-content; align-items: center; gap: 18px; margin: 14px 0 30px; font-size: 20px; color: var(--zm-ink); text-decoration: none; }
.zm-contact__line span:last-child { border-bottom: 1px solid var(--zm-sec-pop); transition: color .2s, border-color .2s; }
.zm-contact__line:hover span:last-child { color: var(--zm-sec); border-color: var(--zm-sec); }
.zm-contact__icon { width: 46px; height: 34px; flex: none; color: var(--zm-sec); }
.zm-contact__icon--ig { width: 34px; height: 34px; }
.zm-contact__text h3 { margin-top: 6px; }
.zm-contact__text .zm-contact__line + .zm-link { margin: -18px 0 0 52px; }
.zm-contact__art { justify-self: end; width: 100%; max-width: 440px; color: #3a3029; }
.zm-contact__art svg { display: block; width: 100%; height: auto; }

/* ==========================================================================
   Bloque: Caja de papel
   ========================================================================== */
.zm-box { padding: clamp(26px, 4vw, 46px) clamp(20px, 5vw, 60px); }
.zm-box::before { top: -11px; right: 40px; transform: rotate(4deg); --zm-tape: var(--zm-tape-lino); }
.zm-box__head { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 18px; align-items: center; margin-bottom: 24px; }
.zm-box__head:not(:has(.zm-box__icon)) { grid-template-columns: minmax(0, 1fr); }
.zm-box__icon { grid-row: span 2; width: 56px; height: 56px; padding: 11px; border-radius: 50%; color: var(--zm-sec); background: var(--zm-sec-soft); }
.zm-box__title { font-size: 31px; }
.zm-box__intro { margin: 4px 0 0; font-size: 17px; font-style: italic; color: var(--zm-ink-2); }
.zm-contact__text .zm-eyebrow { font-family: var(--zm-hand); font-size: 27px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--zm-ink); }

/* ==========================================================================
   Contact Form 7
   ========================================================================== */
.zm-cf7 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 22px; }
.zm-cf7 p { margin: 0; }
.zm-cf7__field--full, .zm-cf7__privacy, .zm-cf7__submit { grid-column: 1 / -1; }
.zm-cf7__field > label { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--zm-ink-2); }
.zm-cf7 .wpcf7-form-control-wrap { display: block; }
.zm-cf7 input[type="text"],
.zm-cf7 input[type="email"],
.zm-cf7 select,
.zm-cf7 textarea {
	width: 100%; padding: 12px 14px; font-size: 16px; color: var(--zm-ink); background: #fffefb;
	border: 1px solid var(--zm-line-2); border-radius: 4px; transition: border-color .2s, box-shadow .2s;
}
.zm-cf7 textarea { display: block; min-height: 160px; resize: vertical; }
.zm-cf7 select {
	appearance: none; -webkit-appearance: none; padding-right: 38px; cursor: pointer;
	background: #fffefb url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%232e2620' stroke-width='1.3'/></svg>") no-repeat right 14px center / 11px 7px;
}
.zm-cf7 input:focus, .zm-cf7 select:focus, .zm-cf7 textarea:focus { outline: none; border-color: var(--zm-tan); box-shadow: 0 0 0 3px rgba(196, 160, 113, .22); }
.zm-cf7 ::placeholder { color: #94877a; }
.zm-cf7 .wpcf7-not-valid { border-color: #c48e7e; }
.zm-cf7 .wpcf7-not-valid-tip { display: block; margin-top: 6px; font-size: 14px; color: var(--zm-rose-deep); }
.zm-cf7__privacy { font-size: 14.5px; line-height: 1.55; color: var(--zm-ink-2); }
.zm-cf7__privacy .wpcf7-list-item { margin: 0; }
.zm-cf7__privacy label { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; }
.zm-cf7__privacy input { margin-top: 4px; flex: none; accent-color: var(--zm-brown); }
.zm-cf7__submit { display: flex; flex-direction: row-reverse; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 12px; }
.zm-cf7__submit .wpcf7-spinner { margin: 0; }
.zm-cf7 .wpcf7-submit { font-family: var(--zm-text); }
.zm-cf7 .wpcf7-submit:disabled { opacity: .45; cursor: not-allowed; }
.zm-box .wpcf7 form .wpcf7-response-output { margin: 22px 0 0; padding: 12px 16px; font-size: 15px; background: var(--zm-paper-2); border: 1px solid var(--zm-line-2); border-left: 3px solid var(--zm-tan); }
.zm-box .wpcf7 form.sent .wpcf7-response-output { border-color: #cfd4c2; border-left-color: var(--zm-sage); }
.zm-box .wpcf7 form.invalid .wpcf7-response-output,
.zm-box .wpcf7 form.unaccepted .wpcf7-response-output,
.zm-box .wpcf7 form.payment-required .wpcf7-response-output,
.zm-box .wpcf7 form.spam .wpcf7-response-output,
.zm-box .wpcf7 form.failed .wpcf7-response-output,
.zm-box .wpcf7 form.aborted .wpcf7-response-output { border-color: #e3c9bf; border-left-color: var(--zm-rose); }
@media (max-width: 760px) {
	.zm-cf7 { grid-template-columns: minmax(0, 1fr); }
	.zm-cf7__submit { justify-content: stretch; }
	.zm-cf7 .wpcf7-submit { width: 100%; justify-content: center; }
}

/* ==========================================================================
   Bloque: Pie (papel kraft con una foto pegada)
   ========================================================================== */
.zm-footer { position: relative; padding-block: 62px 24px; color: var(--zm-ink); background: var(--zm-kraft) var(--zm-noise); }
.zm-footer::before {
	content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 22px;
	background: var(--zm-bg) var(--zm-noise); clip-path: var(--zm-torn-edge); transform: scaleY(-1);
}
.zm-footer__in { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 20px 40px; }
.zm-footer__brand { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 40px; }
.zm-footer__logo { font-family: var(--zm-script); font-size: 54px; line-height: 1; text-decoration: none; color: var(--zm-ink); }
.zm-footer__links { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 0; padding: 0; list-style: none; font-size: 15.5px; }
.zm-footer__links a { color: var(--zm-ink); text-decoration: none; border-bottom: 1px solid rgba(46, 38, 32, .45); }
.zm-footer__links a:hover { border-color: var(--zm-ink); }
.zm-footer__nota { display: grid; grid-template-columns: 150px 190px; align-items: center; margin: 0; }
.zm-footer__nota::before { top: -10px; left: 30px; width: 80px; height: 22px; transform: rotate(-6deg); --zm-tape: var(--zm-tape-lino); }
.zm-footer__nota img { display: block; width: 150px; aspect-ratio: 1; object-fit: cover; padding: 7px 7px 22px; background: #fffefb; transform: rotate(-4deg); box-shadow: 0 10px 18px -10px rgba(40, 26, 12, .55); }
.zm-footer__text {
	position: relative; z-index: 1; margin-left: -18px; padding: 16px 18px; font-family: var(--zm-hand); font-size: 23px; font-weight: 500; line-height: 1.12; color: var(--zm-ink);
	background: #f5ece0 var(--zm-noise); transform: rotate(2deg); box-shadow: 0 10px 16px -12px rgba(40, 26, 12, .5);
}
.zm-footer__copy { grid-column: 1 / -1; margin: 6px 0 0; padding-top: 14px; border-top: 1px solid rgba(46, 38, 32, .2); text-align: center; font-size: 13px; color: #4d3f31; }

/* ==========================================================================
   Ayudas del editor
   ========================================================================== */
.zm-svgwrap { display: contents; }
.zm-editor-hint {
	margin: 0; padding: 14px 18px; font-size: 14px; font-style: italic; color: var(--zm-muted);
	background: repeating-linear-gradient(45deg, rgba(213, 199, 177, .18) 0 8px, transparent 8px 16px); border: 1px dashed var(--zm-line-2);
}
.zm-article .zm-editor-hint { margin-bottom: 24px; text-align: center; }
.zm-ssr > .components-disabled > div > [class*="wp-block-zoemilis-"] { margin: 0; }
.zm-col > .block-list-appender { position: relative; align-self: stretch; }
.zm-sections > .block-list-appender { align-self: center; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (min-width: 601px) and (max-width: 1240px) {
	/* Cabecera en dos líneas: logo y lema arriba; debajo, la flecha justo delante del menú */
	.zm-header__in { flex-wrap: wrap; row-gap: 2px; }
	.zm-header__in::after { content: ""; order: 3; flex-basis: 100%; height: 0; }
	.zm-logo { order: 1; }
	.zm-tagline { order: 2; }
	.zm-header__arrow { order: 4; align-self: center; margin: 0 8px 0 auto; transform: none; }
	.zm-nav { order: 5; flex-basis: auto; margin-left: 0; }
}

@media (max-width: 1180px) {
	.zm-logo { font-size: 58px; padding-right: 22px; }
	.zm-header--portada .zm-logo { font-size: 66px; }
	.zm-sections { padding-inline: 0; gap: 18px; }
}

@media (max-width: 1024px) {
	.zm-fila--lateral .zm-fila__grid,
	.zm-fila--mitades .zm-fila__grid { grid-template-columns: minmax(0, 1fr); }
	.zm-fila--mitades .zm-fila__grid { gap: 30px; }
	.zm-fila--lateral .zm-col + .zm-col { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); align-items: start; }
	.zm-sections { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 30px; }
	.zm-hero { padding-left: 0; }
	.zm-doodle--flores { display: none; }
}

@media (max-width: 900px) {
	.zm-hero { grid-template-columns: minmax(0, 1fr); padding: 0 0 20px; }
	.zm-hero__text { margin: 0; }
	.zm-hero__art { grid-column: 1; grid-row: 2; width: 82%; margin: -14px 0 0 auto; }
	.zm-hero__nota { right: auto; left: 0; bottom: 34px; max-width: 220px; font-size: 21px; }
	.zm-featured { grid-template-columns: minmax(0, 1fr); gap: 30px; }
	.zm-about { position: relative; top: auto; }
	.zm-page-head--hero .zm-page-head__in { grid-template-columns: 96px minmax(0, 1fr); }
	.zm-page-head__foto { grid-column: 2; width: min(300px, 80%); margin: 30px 0 0 auto; }
	.zm-about { order: 2; }
	.zm-contact__card { grid-template-columns: minmax(0, 1fr); }
	.zm-contact__art { justify-self: center; max-width: 300px; }
}

@media (max-width: 600px) {
	/* Móvil: logo y botón de menú arriba; el lema debajo y la flecha subiendo hacia el menú */
	.zm-header__in { flex-wrap: wrap; gap: 4px 12px; }
	.zm-logo { order: 1; border-right: 0; padding: 4px 0 0; }
	.zm-nav { order: 2; flex-basis: auto; margin-left: auto; }
	.zm-tagline { order: 3; flex-basis: 100%; padding-right: 64px; white-space: normal; }
	.zm-header__arrow { position: absolute; right: 12px; top: 54px; width: 76px; height: 32px; margin: 0; transform: rotate(-72deg) scaleY(-1); }
}

@media (max-width: 760px) {
	body { font-size: 16.5px; }
	.zm-header--portada { padding: 22px 0 150px; }
	.zm-header--portada .zm-header__in { padding: 18px 18px 18px; }
	.zm-header--portada .zm-logo { font-size: 54px; }
	.zm-header--portada .zm-tagline { font-size: 22px; }
	.zm-header--portada .zm-tagline__small { font-size: 19px; }
	.zm-header--portada .zm-header__arrow { top: 60px; right: 14px; width: 76px; height: 32px; }
	.zm-hero__text { padding: 34px 24px 30px; }
	.zm-hero__nota { position: relative; left: auto; bottom: auto; grid-row: 3; margin: -24px 0 0 6px; max-width: 240px; }
	.zm-page-head { padding-block: 34px 26px; }
	.zm-page-head__in, .zm-page-head--hero .zm-page-head__in { grid-template-columns: 56px minmax(0, 1fr); column-gap: 14px; }
	.zm-page-head__icon { width: 54px; height: 76px; margin-top: -4px; }
	.zm-page-head__foto { grid-column: 1 / -1; width: min(250px, 72%); margin: 28px auto 6px; }
	.zm-page-head__foto::after { right: -48px; width: 70px; height: 160px; }
	.zm-section-card__icon { width: 84px; height: 66px; }
	.zm-invita { margin-left: 6px; padding: 20px 20px 16px; }
	.zm-invita p { font-size: 23px; }
	.zm-fin { font-size: 27px; }
	.zm-page-head__text { display: contents; }
	.zm-page-head__in .zm-page-title { grid-column: 2; }
	.zm-page-head__in .zm-brush { grid-column: 2; }
	.zm-page-intro { grid-column: 1 / -1; font-size: 17px; }
	.zm-entry .zm-torn__in { grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 28px 22px 30px; }
	.zm-entry__aside { flex-direction: row; justify-content: space-between; text-align: left; }
	.zm-entry__aside .zm-date { flex-direction: row; gap: 6px; }
	.zm-entry__icon { width: 50px; height: 50px; padding: 9px; }
	.zm-entry__title { font-size: 24px; }
	.zm-bio, .zm-bio--foto { grid-template-columns: minmax(0, 1fr); padding: 30px 22px 18px; }
	.zm-bio__foto { justify-self: center; width: min(200px, 60%); margin-bottom: 6px; }
	.zm-bio__art { display: none; }
	.zm-recent { padding-inline: 18px; }
	.zm-recent__item { grid-template-columns: 58px minmax(0, 1fr) auto; gap: 12px; padding-right: 0; }
	.zm-recent__icon { display: none; }
	.zm-recent__go span { display: none; }
	.zm-sections { grid-template-columns: minmax(0, 1fr); }
	.zm-comment-form { grid-template-columns: minmax(0, 1fr); }
	.zm-comment-form .comment-form-comment,
	.zm-comment-form .form-submit,
	.zm-comment-form .comment-form-author,
	.zm-comment-form .comment-form-email,
	.zm-comment-form .comment-form-cookies-consent { grid-column: 1; grid-row: auto; }
	.zm-comment-form .form-submit { justify-self: end; }
	.zm-comment__in { grid-template-columns: 40px minmax(0, 1fr) auto; gap: 12px; }
	.zm-avatar { width: 40px; height: 40px; padding: 8px; }
	.zm-comment-list .comment-respond { padding-left: 0; }
	.zm-contact__line { font-size: 18px; gap: 12px; }
	.zm-contact__text .zm-contact__line + .zm-link { margin-left: 0; }
	.zm-footer__in { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; }
	.zm-footer__brand { flex-direction: column; }
	.zm-footer__links { justify-content: center; }
	.zm-footer__nota { grid-template-columns: 120px 170px; }
	.zm-footer__nota img { width: 120px; }
	.zm-footer__text { font-size: 20px; }
	.zm-page-title::after { width: 36px; height: 36px; right: -46px; top: -14px; }
	.zm-article__content { font-size: 17.5px; }
	.zm-audio { padding: 24px 18px 18px; }
	.zm-audio__eq { display: none; }
	.zm-audio__ui { gap: 14px; }
	.zm-audio__play { width: 54px; height: 54px; }
}

/* ==========================================================================
   Ajustes táctiles y móvil
   ========================================================================== */
.zm-comment-form input[type="checkbox"],
.zm-cf7 input[type="checkbox"] { width: 20px; height: 20px; }

/* Menú móvil (overlay del bloque Navegación) */
.zm-header .wp-block-navigation__responsive-container-open,
.zm-header .wp-block-navigation__responsive-container-close { padding: 10px; margin: -10px; }
.zm-header .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--zm-paper) var(--zm-noise); color: var(--zm-ink); padding: 24px var(--zm-gutter);
}
.zm-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch; padding-top: 64px; }
.zm-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container { align-items: stretch; gap: 0; width: 100%; }
.zm-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item { align-items: stretch; width: 100%; border-bottom: 1px solid var(--zm-line); }
.zm-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { display: block; width: 100%; padding: 16px 0 16px 14px; font-size: 17px; text-align: left; border-left: 3px solid var(--nav-c, var(--zm-brown)); }
.zm-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::after { display: none; }
.zm-header .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content { color: var(--zm-brown); }

@media (max-width: 760px) {
	/* Cabecera más compacta */
	.zm-header__in { padding-block: 12px 14px; }
	.zm-logo { font-size: 48px; }
	.zm-tagline { font-size: 21px; line-height: 1.1; }
	.zm-tagline__small { font-size: 18px; }

	/* Ilustraciones que estorban la lectura en pantallas pequeñas */
	.zm-page-head--hero { min-height: 0; padding-block: 34px 26px; }
	.zm-contact__card { gap: 8px; }
	.zm-contact__art { max-width: 190px; }

	/* Zonas táctiles de al menos ~40px sin mover el diseño */
	.zm-link, .comment-reply-link, .zm-postnav a { padding-block: 9px; margin-block: -9px; }
	.zm-index .zm-link { margin-top: 6px; }
	.zm-footer__links a { display: inline-block; padding: 10px 6px; margin: -10px -6px; }
	.zm-sort select { min-height: 40px; }
	.zm-like { width: 42px; height: 42px; padding: 10px; }
	.zm-audio__btn { min-height: 40px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; }
}

/* ==========================================================================
   Dibujos que sujetan los papeles (clip, chinchetas, flor, corazón, nota)
   ========================================================================== */
.zm-hero__art::before,
.zm-page-head__foto::before,
.zm-footer__nota::before,
.zm-contact-row .zm-container::before,
.zm-bio::before,
.zm-bio__foto::before,
.zm-recent::before,
.zm-section-card::after,
.zm-torn::before,
.zm-comments::before,
.zm-index--boxed::before,
.zm-box::before,
.zm-audio::before,
.zm-hero__nota::before,
.zm-invita::before,
.zm-header--portada .zm-container::before,
.zm-header--portada .zm-container::after {
	content: ""; position: absolute; z-index: 4; top: -28px; width: 40px; height: 56px; margin-left: 0; pointer-events: none;
	background: var(--zm-pega, var(--zm-pega-clip)) center / contain no-repeat; clip-path: none; filter: none;
}
.zm-hero-row .zm-container::before, .zm-note__tape { display: none; }
.zm-hero__art::before { left: 50%; margin-left: -20px; --zm-pega: var(--zm-pega-pin-rosa); }
.zm-page-head__foto::before { left: 50%; margin-left: -20px; --zm-pega: var(--zm-pega-pin-salvia); }
.zm-sec--otras-voces .zm-page-head__foto::before { --zm-pega: var(--zm-pega-pin-rosa); }
.zm-hero__nota::before { left: 24px; }
.zm-bio__foto::before { left: 50%; margin-left: -20px; --zm-pega: var(--zm-pega-pin-salvia); }
.zm-recent::before { left: 50%; margin-left: -20px; --zm-pega: var(--zm-pega-pin-amarillo); }
.zm-section-card::after { left: 50%; margin-left: -20px; }
.zm-section-card:nth-child(4n+2)::after { --zm-pega: var(--zm-pega-pin-salvia); }
.zm-section-card:nth-child(4n+3)::after { --zm-pega: var(--zm-pega-corazon); }
.zm-section-card:nth-child(4n+4)::after { --zm-pega: var(--zm-pega-pin-amarillo); }
.zm-torn::before { left: 50%; margin-left: -20px; }
.zm-entry::before { left: 52px; margin-left: 0; }
.zm-entry:nth-child(even)::before { left: auto; right: 60px; --zm-pega: var(--zm-pega-pin-rosa); }
.zm-article::before { --zm-pega: var(--zm-pega-pin-salvia); }
.zm-sec--otras-voces.zm-article::before { --zm-pega: var(--zm-pega-pin-rosa); }
.zm-sec--filosofadas.zm-article::before { --zm-pega: var(--zm-pega-pin-amarillo); }
.zm-about::before { --zm-pega: var(--zm-pega-flor); }
.zm-comments::before { left: 34px; --zm-pega: var(--zm-pega-corazon); }
.zm-index--boxed::before { right: 26px; }
.zm-box::before { right: 40px; --zm-pega: var(--zm-pega-pin-amarillo); }
.zm-audio::before { left: 28px; --zm-pega: var(--zm-pega-nota); }
.zm-footer__nota::before { left: 54px; --zm-pega: var(--zm-pega-pin-rosa); }
.zm-contact-row .zm-container::before { left: calc(var(--zm-gutter) + 48px); --zm-pega: var(--zm-pega-flor); }
.zm-invita::before { right: 30px; --zm-pega: var(--zm-pega-pin-amarillo); }
.zm-header--portada .zm-container::before { left: calc(var(--zm-gutter) + 40px); --zm-pega: var(--zm-pega-pin-rosa); }
.zm-header--portada .zm-container::after { right: calc(var(--zm-gutter) + 40px); --zm-pega: var(--zm-pega-pin-salvia); }

/* Aviso mientras se prueba un fondo (?fondo=…) */
.zm-prueba-fondo {
	position: fixed; z-index: 100; left: 12px; bottom: 12px; max-width: calc(100% - 24px); padding: 10px 16px;
	font-size: 14px; line-height: 1.4; color: #fffaf3; background: rgba(43, 34, 28, .92); border-radius: 6px; box-shadow: 0 8px 20px rgba(0, 0, 0, .3);
}
.zm-prueba-fondo a { margin-left: 12px; color: #f3d36f; }
