/* ============================================================
   SERIE — mobiliario y decoración en serie.
   Dirección: Warm Industrial Editorial. Base cálida de piedra,
   tinta próxima al negro y un acento cobre. Tipografía: Space
   Grotesk (display) + Archivo (cuerpo). Todo aislado en
   body.serie-frame / .serie-main con prefijo serie-.
   ============================================================ */

@font-face {
	font-family: 'Space Grotesk';
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url('fonts/serie/spacegrotesk-var.woff2') format('woff2-variations');
}

.serie-frame {
	--serie-stone: #f3efe7;
	--serie-paper: #fbf8f1;
	--serie-surface: #e9e2d4;
	--serie-ink: #211b12;
	--serie-taupe: #6e6453;
	--serie-rule: rgba(33, 27, 18, 0.16);
	--serie-copper: #b14a24;
	--serie-copper-ink: #8c3510;
	--serie-night: #241e15;
	--serie-cream: #f3efe7;
	--serie-sans: 'Space Grotesk', var(--wp--preset--font-family--archivo), Archivo, Helvetica, sans-serif;
	--serie-body: var(--wp--preset--font-family--archivo), Archivo, Helvetica, sans-serif;
	--serie-gutter: clamp(1rem, 4vw, 3rem);
	/* Contenido progresivo: todo ancho de escritorio hasta 1240px, y nunca más
	   ancho que su contenedor. Cablea la variable de layout de WordPress para que
	   cabecera (masthead-inner) y main (post-content) se alineen al mismo ancho. */
	--serie-content: min(1240px, 100%);
	--wp--style--global--content-size: var(--serie-content);
}

.serie-frame,
.serie-main .wp-block-post-content {
	background: var(--serie-stone);
	color: var(--serie-ink);
}
.serie-frame .serie-main,
.serie-frame .wp-site-blocks > .serie-main {
	font-family: var(--serie-body);
	background: var(--serie-stone);
	color: var(--serie-ink);
}

.serie-frame .wp-block-post-content a {
	color: var(--serie-copper-ink);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.serie-frame .wp-block-heading {
	font-family: var(--serie-sans);
	color: var(--serie-ink);
}

.serie-frame a:focus-visible,
.serie-frame button:focus-visible,
.serie-frame [tabindex]:focus-visible,
.serie-frame input:focus-visible,
.serie-frame select:focus-visible,
.serie-frame textarea:focus-visible {
	outline: 3px solid var(--serie-copper);
	outline-offset: 2px;
	border-radius: 2px;
}

.serie-masthead {
	background: var(--serie-stone);
}
.serie-topbar {
	padding-block: 9px 10px;
	border-bottom: 1px solid var(--serie-rule);
}
.serie-backlink a,
.serie-topbar-note {
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--serie-taupe);
}
.serie-backlink a {
	color: var(--serie-copper-ink);
	text-decoration: none;
}
.serie-backlink a:hover {
	color: var(--serie-ink);
}
.serie-topbar-note {
	margin: 0;
	opacity: 0.85;
}
.serie-masthead-inner {
	min-height: 78px;
	gap: 10px;
}
.serie-brand,
.serie-actions {
	align-items: center;
	gap: 20px;
}
.serie-logo {
	margin: 0;
}
.serie-logo a {
	font-family: var(--serie-sans);
	font-weight: 700;
	font-size: 1.6rem;
	letter-spacing: -0.02em;
	line-height: 1;
	color: var(--serie-ink);
	text-decoration: none;
}
.serie-edition {
	font-size: 0.66rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--serie-copper-ink);
	margin: 0;
}
.serie-nav .wp-block-navigation-item a {
	font-family: var(--serie-body);
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--serie-ink);
	padding: 8px 4px;
	text-decoration: none;
}
.serie-nav .wp-block-navigation-item a:hover {
	color: var(--serie-copper-ink);
}

.serie-cart {
	margin: 0;
}
.serie-cart-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 14px;
	border: 1px solid var(--serie-rule);
	border-radius: 999px;
	color: var(--serie-ink);
	background: var(--serie-paper);
	text-decoration: none;
	transition: border-color 0.16s ease, background-color 0.16s ease;
}
.serie-cart-icon {
	height: 18px;
	width: 18px;
}
.serie-cart-label {
	font-family: var(--serie-body);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.serie-cart-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--serie-surface);
	color: var(--serie-ink);
	font-family: var(--serie-body);
	font-size: 0.74rem;
	font-weight: 700;
}
.serie-cart-link[data-state='items'],
.serie-cart-link:hover {
	border-color: var(--serie-copper);
}
.serie-cart-link[data-state='items'] {
	background: var(--serie-ink);
	color: var(--serie-cream);
}
.serie-cart-link[data-state='items'] .serie-cart-count {
	background: var(--serie-copper);
	color: #fff;
}
.serie-menu-toggle {
	display: none;
}
.serie-menu-toggle .wp-element-button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--serie-ink);
	color: var(--serie-cream);
	border-radius: 999px;
	border: 1px solid var(--serie-ink);
	padding: 10px 16px;
	font-family: var(--serie-body);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	min-height: 0;
}
.serie-menu-toggle .wp-element-button:hover {
	background: var(--serie-copper);
	border-color: var(--serie-copper);
}

.serie-mobile-menu {
	display: none;
	background: var(--serie-paper);
	border-top: 1px solid var(--serie-rule);
	border-bottom: 1px solid var(--serie-rule);
}
.serie-mobile-menu.is-open {
	display: block;
}
.serie-mobile-brand {
	font-family: var(--serie-sans);
	font-weight: 700;
	font-size: 1.3rem;
	color: var(--serie-ink);
	margin: 18px 0 4px;
	letter-spacing: -0.01em;
}
.serie-mobile-nav a {
	font-family: var(--serie-body);
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	font-size: 0.9rem;
	color: var(--serie-ink);
	padding: 11px 0;
	text-decoration: none;
}
.serie-mobile-nav a:hover {
	color: var(--serie-copper-ink);
}
.serie-mobile-back {
	margin: 12px 0 22px;
}
.serie-mobile-back a {
	font-size: 0.74rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--serie-copper-ink);
	text-decoration: none;
}
/* --- hero editorial --- */
.serie-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(0, 0.95fr);
	border-bottom: 1px solid var(--serie-rule);
	background: var(--serie-paper);
	min-height: clamp(460px, 66vh, 620px);
}
.serie-hero-media {
	display: flex;
	align-items: center;
	justify-content: center;
	background:
		radial-gradient(circle at 28% 16%, rgba(33, 27, 18, 0.07), transparent 58%),
		var(--serie-surface);
	padding: clamp(1.2rem, 2.6vw, 2.6rem);
	border-right: 1px solid var(--serie-rule);
}
.serie-hero-media figure {
	flex: 0 1 auto;
	width: 100%;
	aspect-ratio: 3 / 2;
	margin: 0;
}
.serie-hero-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	box-sizing: border-box;
	display: block;
	border: 1px solid rgba(33, 27, 18, 0.2);
	border-radius: 14px;
	box-shadow: 0 22px 54px rgba(33, 27, 18, 0.22);
}
.serie-hero-txt {
	background: var(--serie-ink);
	color: var(--serie-cream);
	padding: clamp(2rem, 5vw, 4rem);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 1.8rem;
}
.serie-hero-kicker {
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--serie-taupe);
	margin: 0;
}
.serie-hero-txt .serie-hero-kicker {
	color: var(--serie-cream);
	opacity: 0.75;
}
.serie-hero-txt .serie-hero-title {
	font-family: var(--serie-sans);
	font-size: clamp(2.2rem, 5.5vw, 4rem);
	font-weight: 500;
	letter-spacing: -0.03em;
	line-height: 1;
	color: var(--serie-cream);
	margin: 0;
	text-wrap: balance;
}
.serie-hero-txt .serie-hero-title em {
	font-style: normal;
	font-weight: 700;
	color: var(--serie-copper);
}
.serie-hero-px {
	font-size: 0.92rem;
	line-height: 1.7;
	color: var(--serie-cream);
	opacity: 0.82;
	margin: 0;
}
.serie-title {
	font-family: var(--serie-sans);
	font-size: clamp(2.4rem, 6vw, 4.4rem);
	font-weight: 500;
	letter-spacing: -0.03em;
	line-height: 0.98;
	color: var(--serie-ink);
	margin: 0;
}
.serie-cat-desc {
	font-size: 1.02rem;
	line-height: 1.65;
	max-width: 60ch;
	color: var(--serie-ink);
	opacity: 0.82;
}

/* --- retícula / tarjetas editoriales --- */
.serie-grid-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}
.serie-grid-list > * {
	margin-top: 0 !important;
}
.serie-card,
.serie-colcard {
	background: var(--serie-paper);
	border: 1px solid var(--serie-rule);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.serie-card:hover,
.serie-colcard:hover {
	transform: translateY(-3px);
	border-color: rgba(33, 27, 18, 0.34);
	box-shadow: 0 14px 30px rgba(33, 27, 18, 0.08);
}
.serie-card-media {
	margin: 0;
	background: var(--serie-surface);
}
.serie-card-media a {
	display: block;
}
.serie-card-media img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	display: block;
}
.serie-card-body {
	padding: 18px 20px 20px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	align-items: flex-start;
}
.serie-card-cat {
	font-size: 0.62rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--serie-copper-ink);
	margin: 0;
}
.serie-card-name {
	font-family: var(--serie-sans);
	font-size: 1.18rem;
	font-weight: 600;
	letter-spacing: -0.01em;
	margin: 0;
	color: var(--serie-ink);
}
.serie-card-name a {
	color: inherit;
	text-decoration: none;
}
.serie-card-name a:hover {
	color: var(--serie-copper-ink);
}
.serie-card-price {
	font-family: var(--serie-sans);
	font-weight: 600;
	font-size: 1.02rem;
	margin: 2px 0 8px;
	color: var(--serie-ink);
}
.serie-add-to-cart {
	margin-top: 6px;
}
.serie-add-to-cart .wp-element-button {
	background: none;
	color: var(--serie-ink);
	border: 1px solid rgba(33, 27, 18, 0.3);
	border-radius: 999px;
	min-height: 0;
	padding: 10px 16px;
	font-family: var(--serie-body);
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-size: 0.7rem;
	transition: background-color 0.16s ease, color 0.16s ease, border-color 0.16s ease;
}
.serie-add-to-cart .wp-element-button:hover {
	background: var(--serie-copper);
	color: #fff;
	border-color: var(--serie-copper);
}

/* --- toolbar / filtros --- */
.serie-toolbar {
	border-top: 1px solid var(--serie-rule);
	border-bottom: 1px solid var(--serie-rule);
	padding: 18px 0 16px;
	background: var(--serie-paper);
}
.serie-filter-label {
	font-size: 0.66rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--serie-taupe);
	margin: 0 0 10px;
}
.serie-chip-row {
	gap: 10px;
	flex-wrap: wrap;
}
.serie-chip .wp-element-button {
	background: none;
	color: var(--serie-ink);
	border: 1px solid rgba(33, 27, 18, 0.3);
	border-radius: 999px;
	min-height: 0;
	padding: 9px 16px;
	font-family: var(--serie-body);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	transition: background-color 0.16s ease, color 0.16s ease, border-color 0.16s ease;
}
.serie-chip .wp-element-button:hover {
	border-color: var(--serie-copper);
	color: var(--serie-copper-ink);
}
.serie-chip.is-active .wp-element-button {
	background: var(--serie-ink);
	color: var(--serie-cream);
	border-color: var(--serie-ink);
}
.serie-toolbar-row {
	align-items: center;
	gap: 16px;
	margin-top: 14px;
	flex-wrap: wrap;
}
.serie-sort-mount select {
	border: 1px solid rgba(33, 27, 18, 0.3);
	background: var(--serie-paper);
	color: var(--serie-ink);
	padding: 9px 12px;
	font-family: var(--serie-body);
	font-size: 0.82rem;
	font-weight: 500;
	border-radius: 4px;
}
.serie-active-filters {
	font-size: 0.74rem;
	color: var(--serie-taupe);
	margin: 0;
}
.serie-clear .wp-element-button {
	background: none;
	color: var(--serie-copper-ink);
	border: 1px solid rgba(140, 53, 16, 0.4);
	border-radius: 999px;
	min-height: 0;
	padding: 7px 13px;
	font-family: var(--serie-body);
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.serie-clear .wp-element-button:hover {
	background: var(--serie-copper);
	color: #fff;
	border-color: var(--serie-copper);
}
.serie-toolbar-count {
	font-size: 0.78rem;
	color: var(--serie-taupe);
	margin: 0;
}
.serie-toolbar-count strong {
	color: var(--serie-ink);
	font-family: var(--serie-sans);
	font-weight: 600;
}
.serie-active-filters {
	font-size: 0.76rem;
	color: var(--serie-copper-ink);
	margin: 0;
}
.serie-filter-status {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px solid var(--serie-rule);
}
.serie-filter-statusrow {
	display: flex;
	gap: 18px;
	align-items: center;
	flex-wrap: wrap;
}
.serie-clear {
	margin: 0;
}
.serie-empty {
	border: 1px dashed rgba(33, 27, 18, 0.3);
	padding: 40px 24px;
	text-align: center;
	background: var(--serie-paper);
	color: var(--serie-taupe);
	font-size: 0.95rem;
}
/* --- ficha --- */
.serie-ficha-crumb {
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--serie-taupe);
}
.serie-ficha-crumb a {
	color: var(--serie-copper-ink);
	text-decoration: none;
}
.serie-ficha-grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: clamp(1.6rem, 4vw, 3.4rem);
	align-items: start;
}
.serie-gallery-wrap {
	background: var(--serie-paper);
	border: 1px solid var(--serie-rule);
	padding: 10px;
}
.serie-gallery {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 86px;
	gap: 12px;
}
.serie-gal-main {
	position: relative;
	overflow: hidden;
	background: var(--serie-surface);
}
.serie-gal-main img {
	width: 100%;
	height: 540px;
	object-fit: cover;
	display: block;
	cursor: zoom-in;
}
.serie-gal-count {
	position: absolute;
	bottom: 12px;
	right: 12px;
	background: var(--serie-ink);
	color: var(--serie-cream);
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	padding: 5px 10px;
	border-radius: 999px;
	margin: 0;
}
.serie-gal-thumbs {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.serie-gal-thumb {
	margin: 0;
	border: 1px solid var(--serie-rule);
	cursor: zoom-in;
	overflow: hidden;
}
.serie-gal-thumb.is-active {
	border: 2px solid var(--serie-copper);
}
.serie-gal-thumb img {
	width: 100%;
	height: 102px;
	object-fit: cover;
	display: block;
}
.serie-ficha-title {
	font-family: var(--serie-sans);
	font-size: clamp(1.9rem, 4.5vw, 3rem);
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1;
	margin: 12px 0 10px;
	color: var(--serie-ink);
}
.serie-ficha-price {
	font-family: var(--serie-sans);
	font-weight: 600;
	font-size: 1.55rem;
	color: var(--serie-ink);
	margin: 0 0 10px;
}
.serie-price-note,
.serie-demo-note {
	font-size: 0.78rem;
	color: var(--serie-taupe);
	border-left: 2px solid var(--serie-copper);
	padding-left: 12px;
}
.serie-ficha-desc {
	font-size: 1rem;
	line-height: 1.65;
	color: var(--serie-ink);
	opacity: 0.88;
}
.serie-qty-row {
	align-items: center;
	gap: 14px;
	margin: 20px 0;
}
.serie-qty-label {
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--serie-taupe);
	margin: 0;
}
.serie-qty-stepper {
	display: flex;
	align-items: center;
	border: 1px solid rgba(33, 27, 18, 0.3);
	border-radius: 999px;
	overflow: hidden;
	background: var(--serie-paper);
}
.serie-qty-stepper button {
	border: 0;
	background: none;
	width: 38px;
	height: 40px;
	cursor: pointer;
	color: var(--serie-ink);
	font-size: 1.05rem;
}
.serie-qty-stepper button:hover {
	color: var(--serie-copper-ink);
}
.serie-qty-val {
	min-width: 30px;
	text-align: center;
	font-family: var(--serie-sans);
	font-weight: 600;
}
.serie-ficha-add .wp-element-button {
	background: var(--serie-copper);
	color: #fff;
	border: 1px solid var(--serie-copper);
	border-radius: 999px;
	min-height: 0;
	padding: 15px 26px;
	font-family: var(--serie-body);
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-size: 0.8rem;
	width: 100%;
	transition: background-color 0.16s ease, border-color 0.16s ease;
}
.serie-ficha-add .wp-element-button:hover {
	background: var(--serie-ink);
	border-color: var(--serie-ink);
}
.serie-ficha-meta {
	margin: 24px 0;
	border-top: 1px solid var(--serie-rule);
	padding-top: 16px;
}
.serie-meta-title {
	font-size: 0.66rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--serie-copper-ink);
	margin: 12px 0 4px;
}
.serie-meta-row {
	font-size: 0.94rem;
	margin: 0 0 2px;
}
.serie-backlink {
	font-size: 0.88rem;
	margin: 0;
}
.serie-backlink a {
	color: var(--serie-copper-ink);
	text-decoration: none;
	font-weight: 500;
}
.serie-backlink a:hover {
	color: var(--serie-ink);
}

/* --- páginas de contenido --- */
.serie-h2 {
	font-family: var(--serie-sans);
	font-size: 1.6rem;
	font-weight: 600;
	letter-spacing: -0.01em;
	border-top: 1px solid var(--serie-rule);
	padding-top: 14px;
	margin-top: 34px;
}
.serie-cols-2 .wp-block-column {
	border-left: 1px solid var(--serie-rule);
	padding-left: 22px;
}
.serie-cols-2 .wp-block-column:first-child {
	border-left: 0;
}
.serie-article-meta {
	font-size: 0.66rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--serie-copper-ink);
}
.serie-proc .serie-h2 {
	font-size: 1.25rem;
}
.serie-colcard {
	padding: 20px 20px 22px;
	gap: 8px;
}
.serie-colcard h3 {
	font-family: var(--serie-sans);
	font-size: 1.3rem;
	font-weight: 600;
	margin: 0;
}
.serie-colcard h3 a {
	color: var(--serie-ink);
	text-decoration: none;
}
.serie-colcard h3 a:hover {
	color: var(--serie-copper-ink);
}
.serie-colcard p {
	font-size: 0.92rem;
	margin: 0;
}
.serie-outline-btn .wp-element-button {
	background: none;
	color: var(--serie-copper-ink);
	border: 1px solid rgba(140, 53, 16, 0.4);
	border-radius: 999px;
	min-height: 0;
	padding: 10px 16px;
	font-family: var(--serie-body);
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-size: 0.7rem;
	margin-top: 10px;
	transition: background-color 0.16s ease, color 0.16s ease;
}
.serie-outline-btn .wp-element-button:hover {
	background: var(--serie-copper);
	color: #fff;
	border-color: var(--serie-copper);
}
.serie-colcard-fig img {
	width: calc(100% + 40px);
	margin: -20px -20px 8px;
	height: 220px;
	object-fit: cover;
	display: block;
}
.serie-about-img img {
	width: 100%;
	max-height: 480px;
	object-fit: cover;
	display: block;
}

/* --- banda de color --- */
.serie-band {
	background: var(--serie-ink);
	color: var(--serie-cream);
	padding: clamp(2.2rem, 6vw, 4rem);
	margin-top: 44px;
	border-radius: 12px;
}
.serie-band .wp-block-heading,
.serie-band-title {
	color: var(--serie-cream);
	font-family: var(--serie-sans);
	font-size: clamp(1.7rem, 4.2vw, 2.8rem);
	font-weight: 500;
	line-height: 1.05;
	margin: 0 0 14px;
	letter-spacing: -0.02em;
}
.serie-band p {
	color: rgba(243, 239, 231, 0.8);
	max-width: 56ch;
	margin: 0 0 22px;
}
.serie-band-cta .wp-element-button {
	background: var(--serie-copper);
	color: #fff;
	border: 1px solid var(--serie-copper);
	border-radius: 999px;
	min-height: 0;
	padding: 13px 22px;
	font-family: var(--serie-body);
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-size: 0.72rem;
	transition: background-color 0.16s ease, border-color 0.16s ease;
}
.serie-band-cta .wp-element-button:hover {
	background: var(--serie-cream);
	color: var(--serie-ink);
	border-color: var(--serie-cream);
}

/* --- formularios --- */
.serie-form-field {
	margin: 8px 0;
}
.serie-form-field input,
.serie-form-field select,
.serie-form-field textarea {
	width: 100%;
	border: 1px solid rgba(33, 27, 18, 0.3);
	background: var(--serie-paper);
	color: var(--serie-ink);
	padding: 13px 15px;
	font-family: var(--serie-body);
	font-size: 0.94rem;
	border-radius: 6px;
}
.serie-form-field input:hover,
.serie-form-field textarea:hover {
	border-color: rgba(33, 27, 18, 0.5);
}
.serie-form-submit .wp-element-button {
	background: var(--serie-copper);
	color: #fff;
	border: 1px solid var(--serie-copper);
	border-radius: 999px;
	min-height: 0;
	padding: 15px 24px;
	font-family: var(--serie-body);
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	transition: background-color 0.16s ease, border-color 0.16s ease;
}
.serie-form-submit .wp-element-button:hover {
	background: var(--serie-ink);
	border-color: var(--serie-ink);
}
/* --- cesta --- */
.serie-cart-list {
	border-top: 1px solid var(--serie-rule);
}
.serie-cart-item {
	display: grid;
	grid-template-columns: 76px minmax(0, 1fr) auto auto auto;
	gap: 18px;
	align-items: center;
	border-bottom: 1px solid var(--serie-rule);
	padding: 18px 0;
}
.serie-cart-item img {
	width: 76px;
	height: 92px;
	object-fit: cover;
	border: 1px solid var(--serie-rule);
	border-radius: 6px;
}
.serie-cart-name {
	font-family: var(--serie-sans);
	font-weight: 600;
	margin: 0;
	color: var(--serie-ink);
}
.serie-cart-qty {
	display: flex;
	align-items: center;
	border: 1px solid rgba(33, 27, 18, 0.3);
	border-radius: 999px;
	overflow: hidden;
}
.serie-cart-qty button {
	border: 0;
	background: none;
	width: 32px;
	height: 32px;
	cursor: pointer;
	color: var(--serie-ink);
}
.serie-cart-qty button:hover {
	color: var(--serie-copper-ink);
}
.serie-cart-qty span {
	min-width: 26px;
	text-align: center;
	font-family: var(--serie-sans);
	font-weight: 600;
}
.serie-cart-price {
	font-family: var(--serie-sans);
	font-weight: 600;
	color: var(--serie-ink);
}
.serie-cart-remove {
	background: none;
	border: 1px solid rgba(33, 27, 18, 0.3);
	border-radius: 999px;
	color: var(--serie-ink);
	padding: 8px 13px;
	cursor: pointer;
	font-family: var(--serie-body);
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}
.serie-cart-remove:hover {
	border-color: var(--serie-copper);
	color: var(--serie-copper-ink);
}
.serie-cart-empty {
	border: 1px dashed rgba(33, 27, 18, 0.3);
	border-radius: 10px;
	padding: 30px 26px;
	text-align: center;
	background: var(--serie-paper);
	color: var(--serie-taupe);
}
.serie-cart-empty a {
	color: var(--serie-copper-ink);
}
.serie-cart-foot {
	border-top: 1px solid var(--serie-rule);
	margin-top: 22px;
	padding-top: 18px;
}
.serie-cart-total-label {
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--serie-taupe);
	margin: 0;
}
.serie-cart-total {
	font-family: var(--serie-sans);
	font-size: 1.9rem;
	font-weight: 600;
	color: var(--serie-ink);
	margin: 6px 0 16px;
}
.serie-cart-clear .wp-element-button,
.serie-cart-checkout-link .wp-element-button {
	border-radius: 999px;
	min-height: 0;
	padding: 12px 20px;
	font-family: var(--serie-body);
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-size: 0.74rem;
	transition: background-color 0.16s ease, border-color 0.16s ease;
}
.serie-cart-clear .wp-element-button {
	background: none;
	color: var(--serie-ink);
	border: 1px solid rgba(33, 27, 18, 0.3);
}
.serie-cart-clear .wp-element-button:hover {
	border-color: var(--serie-copper);
	color: var(--serie-copper-ink);
}
.serie-cart-checkout-link .wp-element-button {
	background: var(--serie-copper);
	color: #fff;
	border: 1px solid var(--serie-copper);
}
.serie-cart-checkout-link .wp-element-button:hover {
	background: var(--serie-ink);
	border-color: var(--serie-ink);
}

/* --- checkout --- */
.serie-checkout-lines {
	border-top: 1px solid var(--serie-rule);
}
.serie-checkout-line {
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid var(--serie-rule);
	padding: 15px 0;
	gap: 16px;
}
.serie-checkout-summary {
	border-top: 1px solid var(--serie-rule);
	margin-top: 18px;
	padding-top: 18px;
	display: flex;
	justify-content: space-between;
	align-items: baseline;
}
.serie-checkout-total-amount {
	font-family: var(--serie-sans);
	font-size: 1.8rem;
	font-weight: 600;
	color: var(--serie-ink);
}
.serie-checkout-form {
	border: 1px solid var(--serie-rule);
	background: var(--serie-paper);
	padding: 20px;
	border-radius: 10px;
	margin: 14px 0;
}
.serie-checkout-submit .wp-element-button {
	background: var(--serie-copper);
	color: #fff;
	border: 1px solid var(--serie-copper);
	border-radius: 999px;
	min-height: 0;
	padding: 15px 24px;
	font-family: var(--serie-body);
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	transition: background-color 0.16s ease, border-color 0.16s ease;
}
.serie-checkout-submit .wp-element-button:hover {
	background: var(--serie-ink);
	border-color: var(--serie-ink);
}
.serie-checkout-confirm {
	margin-top: 24px;
	border: 1px solid var(--serie-copper);
	background: var(--serie-paper);
	border-radius: 10px;
	padding: 26px;
}
.serie-confirm-title {
	font-family: var(--serie-sans);
	font-size: 1.4rem;
	font-weight: 600;
	color: var(--serie-ink);
	margin: 0 0 8px;
}
.serie-confirm-back a {
	color: var(--serie-copper-ink);
}

/* --- pie --- */
.serie-footer {
	background: var(--serie-night);
	color: var(--serie-cream);
	padding-block: 48px 40px;
	border-top: 4px solid var(--serie-copper);
}
.serie-footer-back {
	margin: 0 0 30px;
}
.serie-footer-back a {
	color: var(--serie-cream);
	text-decoration: none;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.serie-footer-back a:hover {
	color: var(--serie-copper);
}
.serie-footer-grid {
	display: grid;
	grid-template-columns: 2.2fr 1fr 1fr 1fr;
	gap: 34px;
}
.serie-footer-brand {
	font-family: var(--serie-sans);
	font-weight: 700;
	font-size: 1.6rem;
	margin: 0 0 8px;
	color: var(--serie-cream);
}
.serie-footer-h {
	font-size: 0.66rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	margin: 0 0 14px;
	color: var(--serie-copper);
}
.serie-footer-tag {
	color: rgba(243, 239, 231, 0.75);
	font-size: 0.9rem;
	max-width: 34ch;
	line-height: 1.6;
}
.serie-footer-nav a {
	color: rgba(243, 239, 231, 0.75);
	text-decoration: none;
	padding: 4px 0;
	font-size: 0.92rem;
}
.serie-footer-nav a:hover {
	color: #fff;
}
.serie-footer-fine {
	font-size: 0.72rem;
	color: rgba(243, 239, 231, 0.5);
	margin-top: 18px;
}

/* --- lightbox --- */
.serie-lightbox {
	position: fixed;
	inset: 0;
	z-index: 600;
	background: rgba(36, 30, 21, 0.94);
	display: none;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	padding: 3vw;
}
.serie-lightbox.is-open {
	display: flex;
}
.serie-lb-img {
	max-width: 86vw;
	max-height: 76vh;
	object-fit: contain;
	border: 1px solid rgba(243, 239, 231, 0.3);
}
.serie-lb-close,
.serie-lb-prev,
.serie-lb-next {
	position: absolute;
	background: var(--serie-copper);
	color: #fff;
	border: 1px solid var(--serie-copper);
	border-radius: 999px;
	font-size: 1.3rem;
	line-height: 1;
	cursor: pointer;
	width: 46px;
	height: 46px;
}
.serie-lb-close { top: 20px; right: 20px; }
.serie-lb-prev { left: 20px; top: 50%; transform: translateY(-50%); }
.serie-lb-next { right: 20px; top: 50%; transform: translateY(-50%); }
.serie-lb-cap {
	color: var(--serie-cream);
	font-size: 0.85rem;
	margin-top: 18px;
	text-align: center;
	font-family: var(--serie-body);
}
.serie-toast {
	position: fixed;
	left: 50%;
	bottom: 28px;
	transform: translateX(-50%);
	z-index: 700;
	background: var(--serie-ink);
	color: var(--serie-cream);
	font-family: var(--serie-body);
	font-size: 0.86rem;
	font-weight: 600;
	padding: 13px 22px;
	border: 1px solid var(--serie-copper);
	border-radius: 999px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.24s ease;
}
.serie-toast.is-visible {
	opacity: 1;
}

/* --- responsive --- */
@media (max-width: 980px) {
	.serie-hero {
		grid-template-columns: 1fr;
		min-height: 0;
	}
	.serie-hero-media {
		border-bottom: 1px solid var(--serie-rule);
		border-right: 0;
		padding: clamp(1rem, 2.4vw, 2rem);
	}
	.serie-hero-media figure {
		aspect-ratio: 3 / 2;
	}
	.serie-grid-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.serie-ficha-grid {
		grid-template-columns: 1fr;
	}
	.serie-gallery {
		grid-template-columns: 1fr;
	}
	.serie-gal-thumbs {
		flex-direction: row;
		overflow-x: auto;
	}
	.serie-gal-thumb img {
		height: 78px;
	}
	.serie-gal-main img {
		height: 420px;
	}
	.serie-footer-grid {
		grid-template-columns: 1fr 1fr;
	}
}
@media (max-width: 820px) {
	.serie-edition,
	.serie-nav {
		display: none;
	}
	.serie-menu-toggle {
		display: inline-block;
	}
	.serie-masthead-inner {
		min-height: 66px;
	}
}
@media (max-width: 560px) {
	.serie-grid-list {
		grid-template-columns: 1fr;
	}
	.serie-footer-grid {
		grid-template-columns: 1fr;
	}
	.serie-topbar-note {
		display: none;
	}
	.serie-cart-item {
		grid-template-columns: 60px minmax(0, 1fr) auto;
	}
	.serie-gal-main img {
		height: 340px;
	}
}

/* --- reduced motion --- */
@media (prefers-reduced-motion: reduce) {
	.serie-card,
	.serie-colcard,
	.serie-add-to-cart .wp-element-button,
	.serie-ficha-add .wp-element-button,
	.serie-cart-link,
	.serie-band-cta .wp-element-button,
	.serie-form-submit .wp-element-button,
	.serie-checkout-submit .wp-element-button {
		transition: none;
	}
	.serie-card:hover,
	.serie-colcard:hover {
		transform: none;
		box-shadow: none;
	}
	* {
		animation: none !important;
	}
}

/* ==========================================================================
   SERIE — REWORK "LÍNEA DE MONTAJE": presentación comercial en ficha y en tabla,
   cabecera compacta, botones con barrido mecánico por pasos y revelado por
   unidades. Movimiento solo bajo prefers-reduced-motion: no-preference.
   ========================================================================== */

/* ---- Cabecera compacta, objetivos de 44 px ---- */
.serie-topbar { padding-block: .1rem; }
.serie-backlink a { display: inline-flex; align-items: center; min-height: 32px; }
.serie-masthead-inner { padding-block: .3rem; }
.serie-masthead .serie-logo a, .serie-masthead .serie-cart-link, .serie-masthead .serie-menu-toggle .wp-element-button { display: inline-flex; align-items: center; min-height: 44px; }
.serie-masthead .serie-menu-toggle .wp-element-button { min-width: 44px; }
.serie-nav .wp-block-navigation-item__content, .serie-nav a { display: inline-flex; align-items: center; min-height: 44px; }
.serie-nav a[aria-current="page"] { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; }
@media (max-width: 700px) { .serie-topbar-note { display: none; } .serie-edition { display: none; } }

/* ---- Botones: barrido mecánico por pasos (cobre) ---- */
.serie-frame .wp-element-button {
	min-height: 46px; transform: none !important;
	background-image: linear-gradient(90deg, var(--serie-copper) 50%, transparent 50%) !important;
	background-size: 200% 100% !important; background-position: 100% 0 !important; background-repeat: no-repeat !important;
	transition: background-position .45s steps(7, end), color .2s steps(2, end), border-color .2s steps(2, end), translate .15s ease !important;
}
.serie-frame .wp-element-button:hover, .serie-frame .wp-element-button:focus-visible { background-position: 0 0 !important; color: var(--serie-cream) !important; border-color: var(--serie-copper) !important; transform: none !important; }
.serie-frame .wp-element-button:active { translate: 0 1px; }
.serie-frame .wp-element-button:focus-visible { outline: 2px solid var(--serie-ink); outline-offset: 3px; }
.serie-chip.is-active .wp-element-button { background-image: none !important; }
.serie-chip .wp-element-button, .serie-clear .wp-element-button { min-height: 44px; }
.serie-qty-minus, .serie-qty-plus { min-width: 44px; min-height: 44px; }

/* ---- Vista de tabla comparativa ---- */
.serie-view { display: inline-flex; border: 1px solid var(--serie-ink); }
.serie-view button { font: 600 .74rem/1 var(--serie-sans); letter-spacing: .08em; text-transform: uppercase; min-height: 44px; padding: 0 1rem; background: transparent; color: var(--serie-ink); border: 0; cursor: pointer; }
.serie-view button + button { border-left: 1px solid var(--serie-ink); }
.serie-view button.is-on { background: var(--serie-ink); color: var(--serie-cream); }
.serie-view button:focus-visible { outline: 2px solid var(--serie-copper); outline-offset: -3px; }
.serie-spec { display: none; width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.serie-spec-on .serie-spec { display: table; }
.serie-spec-on .serie-catalog-list { display: none !important; }
.serie-spec th { text-align: left; font: 600 .7rem/1 var(--serie-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--serie-taupe); padding: .8rem .8rem .8rem 0; border-bottom: 2px solid var(--serie-ink); }
.serie-spec td { padding: 1rem .8rem 1rem 0; border-bottom: 1px solid var(--serie-rule); vertical-align: middle; }
.serie-spec td:first-child { font-family: ui-monospace, 'SF Mono', Consolas, monospace; font-size: .8rem; color: var(--serie-taupe); }
.serie-spec td.serie-spec-p { font-weight: 600; white-space: nowrap; }
.serie-spec a { display: inline-flex; align-items: center; min-height: 44px; color: var(--serie-copper-ink); }
.serie-spec-name a { font: 600 1.1rem/1.2 var(--serie-sans); color: var(--serie-ink); text-decoration: none; }
.serie-spec-name a:hover { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 720px) {
	.serie-spec thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.serie-spec, .serie-spec tbody, .serie-spec tr, .serie-spec td { display: block; }
	.serie-spec tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .1rem 1rem; padding: 1rem 0; border-bottom: 1px solid var(--serie-rule); }
	.serie-spec td { border: 0; padding: 0; }
	.serie-spec td:first-child { grid-column: 1 / -1; }
	.serie-spec-name { grid-column: 1; }
	.serie-spec td.serie-spec-p { grid-column: 2; grid-row: 2 / span 2; align-self: center; }
	.serie-spec td.serie-spec-s { grid-column: 1; color: var(--serie-taupe); }
	.serie-spec td.serie-spec-go { grid-column: 1 / -1; }
}

/* ---- Móvil ---- */
@media (max-width: 640px) { .serie-hero { min-height: 0; } }

/* ---- Movimiento: línea de montaje (pasos) ---- */
@media (prefers-reduced-motion: no-preference) {
	.sr-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .14em; margin-bottom: -.14em; }
	html.sr-m .sr-wi { display: inline-block; transform: translateY(108%); transition: transform .8s steps(8, end); transition-delay: calc(var(--i,0) * 90ms + 120ms); }
	html.sr-m.sr-in .sr-wi { transform: none; }
	html.sr-m .serie-hero-kicker, html.sr-m .serie-hero-px { opacity: 0; translate: 0 12px; transition: opacity .8s steps(8, end), translate .8s steps(8, end); }
	html.sr-m.sr-in .serie-hero-kicker { opacity: 1; translate: 0 0; transition-delay: .1s; }
	html.sr-m.sr-in .serie-hero-px { opacity: 1; translate: 0 0; transition-delay: .7s; }
	html.sr-m .serie-hero-fig { clip-path: inset(0 calc(100% - .3px) 0 0); transition: clip-path 1s steps(10, end) .15s; }
	html.sr-m.sr-in .serie-hero-fig { clip-path: inset(0); }
	/* unidades que salen de la línea una a una */
	html.sr-m .sr-r { opacity: 0; clip-path: inset(0 calc(100% - .3px) 0 0); transition: opacity .2s steps(2, end), clip-path .8s steps(8, end); transition-delay: calc(var(--i,0) * 110ms); }
	html.sr-m .sr-r.is-in { opacity: 1; clip-path: inset(0); }
	.serie-spec-on .serie-spec tbody tr { animation: sr-row .5s steps(6, end) both; animation-delay: calc(var(--i,0) * 60ms); }
	@keyframes sr-row { from { opacity: 0; translate: -12px 0; } to { opacity: 1; translate: 0 0; } }
}

.serie-masthead > * + * { margin-block-start: 0 !important; }
.serie-masthead p { margin-block: 0; }
.serie-actions { align-items: center; }
.serie-toolbar select, .serie-sort-mount, select.serie-sort { min-height: 44px; box-sizing: border-box; }
@media (max-width: 700px) { .serie-backlink a { min-height: 40px; } }
.serie-actions .serie-cart, .serie-actions .serie-menu-toggle, .serie-actions .wp-block-button { margin: 0 !important; }
.serie-actions .serie-cart { height: auto; display: flex; align-items: center; }
.serie-menu-toggle .wp-element-button { padding-block: 0 !important; height: 44px; }
.serie-masthead-inner { min-height: 0; }
/* Fase 3 — objetivos táctiles: enlaces de cabecera, navegación, pie y títulos de tarjeta (mín. 36–44 px) */
body.page-template-page-serie header a, body.page-template-page-serie footer a, body.page-template-page-serie .wp-block-navigation-item__content { display: inline-flex; align-items: center; min-height: 36px; }
body.page-template-page-serie header .wp-block-navigation-item__content, body.page-template-page-serie header nav a { min-height: 44px; }
body.page-template-page-serie .wp-block-navigation__responsive-container-open, body.page-template-page-serie .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; }
body.page-template-page-serie [class*="-card-name"] a, body.page-template-page-serie [class*="-card-title"] a, body.page-template-page-serie [class*="-card"] h3 a { display: inline-block; padding-block: .4rem; }
body.page-template-page-serie { --cfx-ink:#211b12;--cfx-paper:#fbf8f1;--cfx-accent:#b14a24;--cfx-r:6px;--cfx-display:"Space Grotesk",sans-serif; }

/* ==========================================================================
   CATÁLOGO — MOVIMIENTO DE PRODUCTO (SERIE): inclinación con brillo, botón y visor de
   vista rápida, vuelo a la cesta y estados de enfoque. Solo bajo no-preference salvo lo estructural.
   ========================================================================== */
body.page-template-page-serie .cfx-media { position: relative; overflow: hidden; border-radius: var(--cfx-r, 12px); transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transform-style: preserve-3d; transition: transform .5s cubic-bezier(.22,.61,.36,1), box-shadow .5s ease; will-change: transform; }
body.page-template-page-serie .cfx-media::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0; background: radial-gradient(circle at var(--gx, 50%) var(--gy, 50%), rgba(255,255,255,.28), transparent 55%); transition: opacity .4s ease; mix-blend-mode: soft-light; }
@media (hover: hover) and (pointer: fine) {
	body.page-template-page-serie .serie-card:hover .cfx-media { box-shadow: 0 30px 50px -28px rgba(0,0,0,.45); }
	body.page-template-page-serie .serie-card:hover .cfx-media::after { opacity: 1; }
}
body.page-template-page-serie .cfx-qv-btn { position: absolute; z-index: 3; left: 50%; bottom: .8rem; translate: -50% 0; display: inline-flex; align-items: center; min-height: 44px; padding: 0 1.2rem; border: 0; border-radius: 999px; background: rgba(255,255,255,.94); color: var(--cfx-ink, #1b1b1b); font: 600 .74rem/1 inherit; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; opacity: 0; translate: -50% 12px; transition: opacity .35s ease, translate .5s cubic-bezier(.22,.61,.36,1), background-color .3s ease, color .3s ease; box-shadow: 0 10px 26px -10px rgba(0,0,0,.5); }
body.page-template-page-serie .serie-card:hover .cfx-qv-btn, body.page-template-page-serie .serie-card:focus-within .cfx-qv-btn, body.page-template-page-serie .cfx-qv-btn:focus-visible { opacity: 1; translate: -50% 0; }
body.page-template-page-serie .cfx-qv-btn:hover { background: var(--cfx-ink, #1b1b1b); color: #fff; }
body.page-template-page-serie .cfx-qv-btn:focus-visible { outline: 2px solid var(--cfx-accent, #b8793e); outline-offset: 3px; }
@media (hover: none) { body.page-template-page-serie .cfx-qv-btn { opacity: 1; translate: -50% 0; min-height: 40px; padding: 0 1rem; } }
html.cfx-lock { overflow: hidden; }
.cfx-qv { position: fixed; inset: 0; z-index: 300; display: grid; place-items: center; padding: clamp(.8rem, 3vw, 2rem); background: rgba(14,12,10,.7); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); opacity: 0; transition: opacity .45s ease; }
.cfx-qv[hidden] { display: none; } .cfx-qv.is-open { opacity: 1; }
.cfx-qv-box { position: relative; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); width: min(980px, 100%); max-height: calc(100svh - 2rem); overflow: auto; border-radius: calc(var(--cfx-r, 12px) * 2); background: var(--cfx-paper, #fff); color: var(--cfx-ink, #1b1b1b); box-shadow: 0 50px 100px -30px rgba(0,0,0,.7); }
.cfx-qv-img { min-height: 320px; background: #ddd; overflow: hidden; } .cfx-qv-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cfx-qv-info { display: flex; flex-direction: column; justify-content: center; gap: .6rem; padding: clamp(1.4rem, 4vw, 3rem); }
.cfx-qv-cat { margin: 0; font: 600 .7rem/1 inherit; letter-spacing: .18em; text-transform: uppercase; color: var(--cfx-accent, #b8793e); }
.cfx-qv-t { margin: 0; font: 500 clamp(1.7rem, 3.4vw, 2.6rem)/1.08 var(--cfx-display, inherit); letter-spacing: -.01em; color: inherit; }
.cfx-qv-p { margin: 0 0 1rem; font-size: 1.3rem; font-variant-numeric: tabular-nums; }
.cfx-qv-go { align-self: flex-start; display: inline-flex; align-items: center; gap: .9rem; min-height: 52px; padding: 0 .5rem 0 1.5rem; border-radius: 999px; background: var(--cfx-ink, #1b1b1b); color: #fff !important; text-decoration: none !important; font: 600 .82rem/1 inherit; letter-spacing: .04em; transition: box-shadow .4s ease; }
.cfx-qv-go i { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #fff; color: var(--cfx-ink, #1b1b1b); font-style: normal; transition: translate .4s cubic-bezier(.22,.61,.36,1); }
.cfx-qv-go:hover { box-shadow: 0 0 0 5px rgba(0,0,0,.12); } .cfx-qv-go:hover i { translate: 4px 0; }
.cfx-qv-x { position: absolute; z-index: 2; top: .8rem; right: .8rem; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(255,255,255,.92); color: #1b1b1b; font-size: 1.5rem; line-height: 1; cursor: pointer; box-shadow: 0 8px 22px -8px rgba(0,0,0,.5); }
.cfx-qv-x:hover { background: #1b1b1b; color: #fff; } .cfx-qv a:focus-visible, .cfx-qv button:focus-visible { outline: 2px solid var(--cfx-accent, #b8793e); outline-offset: 3px; }
@media (max-width: 720px) { .cfx-qv-box { grid-template-columns: minmax(0, 1fr); } .cfx-qv-img { min-height: 240px; max-height: 38svh; } }
.cfx-fly { position: fixed; z-index: 400; pointer-events: none; border-radius: 50%; background-size: cover; background-position: center; box-shadow: 0 20px 40px -10px rgba(0,0,0,.5); border: 3px solid #fff; }
@media (prefers-reduced-motion: reduce) { body.page-template-page-serie .cfx-media { transform: none !important; transition: none; } .cfx-qv { transition: none; } }

/* ==========================================================================
   SERIE — HERO "LÍNEA DE MONTAJE": una cinta transportadora lleva unidades idénticas
   por una puerta de inspección que cuenta cada pieza. Original de SERIE.
   ========================================================================== */
.sy-wrap { padding: 0 !important; margin-block: 0 !important; }
.sy, .sy * { box-sizing: border-box; }
.sy { background: var(--serie-stone, #f3efe7); color: var(--serie-ink, #211b12); overflow: hidden; }
.sy-in { max-width: 1240px; margin-inline: auto; padding: clamp(2rem, 5vw, 4.2rem) var(--serie-gutter, 2rem) 0; }
.sy-top { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .6fr); gap: clamp(1.4rem, 4vw, 3rem); align-items: end; }
.sy-k { margin: 0 0 1.1rem; font: 600 .74rem/1 var(--serie-sans, sans-serif); letter-spacing: .2em; text-transform: uppercase; color: var(--serie-copper-ink, #8c3510); }
.sy-title { margin: 0 0 1.1rem; font: 600 clamp(2.6rem, 6.4vw, 5.6rem)/.98 var(--serie-sans, sans-serif); letter-spacing: -.035em; color: var(--serie-ink, #211b12); text-wrap: balance; }
.sy-title em { font-style: normal; color: var(--serie-copper, #b14a24); }
.sy-px { margin: 0 0 1.5rem; max-width: 30rem; font-size: 1.08rem; line-height: 1.65; color: var(--serie-taupe, #6e6453); }
.sy-cta { display: flex; align-items: center; flex-wrap: wrap; gap: .6rem 1.5rem; }
.sy .sy-btn { position: relative; display: inline-flex; align-items: center; gap: .9rem; min-height: 52px; padding: 0 .5rem 0 1.4rem; background: var(--serie-ink, #211b12); color: var(--serie-cream, #f3efe7); text-decoration: none; font: 600 .8rem/1 var(--serie-sans, sans-serif); letter-spacing: .08em; text-transform: uppercase; overflow: hidden; isolation: isolate; transition: color .3s steps(2, end); }
.sy-btn i { display: grid; place-items: center; width: 38px; height: 38px; background: var(--serie-cream, #f3efe7); color: var(--serie-ink, #211b12); font-style: normal; }
.sy-btn::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--serie-copper, #b14a24); transform: translateX(-101%); transition: transform .45s steps(7, end); }
.sy .sy-btn:hover, .sy .sy-btn:focus-visible { color: #fff; } .sy-btn:hover::before, .sy-btn:focus-visible::before { transform: none; }
.sy .sy-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--serie-ink, #211b12); font: 600 .8rem/1 var(--serie-sans, sans-serif); letter-spacing: .08em; text-transform: uppercase; text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 100% 2px no-repeat; padding-bottom: 3px; transition: background-size .35s steps(5, end); }
.sy-link:hover { background-size: 0 2px; background-position: 100% 100%; } .sy a:focus-visible { outline: 2px solid var(--serie-copper, #b14a24); outline-offset: 4px; }
.sy-spec { margin: 0; display: grid; gap: 0; border-top: 2px solid var(--serie-ink, #211b12); font-family: ui-monospace, 'SF Mono', Consolas, monospace; }
.sy-spec div { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid var(--serie-rule, rgba(33,27,18,.16)); }
.sy-spec dt { font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--serie-taupe, #6e6453); } .sy-spec dd { margin: 0; font-size: .95rem; font-variant-numeric: tabular-nums; } .sy-spec b { color: var(--serie-copper, #b14a24); font-weight: 600; }
.sy-belt { position: relative; margin-top: clamp(1.4rem, 4vw, 2.6rem); padding-top: .5rem; background: linear-gradient(180deg, transparent 0, transparent calc(100% - 46px), #241e15 calc(100% - 46px)); overflow: hidden; }
.sy-track { display: flex; gap: clamp(1rem, 2.4vw, 2rem); width: max-content; margin: 0; padding: 0 0 46px; list-style: none; }
.sy-u { position: relative; width: clamp(140px, 17vw, 210px); flex: none; }
.sy-u figure { margin: 0; aspect-ratio: 2 / 3; overflow: hidden; background: #e4ded2; box-shadow: 0 22px 18px -16px rgba(33,27,18,.55); }
.sy-u img { width: 100%; height: 100%; object-fit: cover; display: block; filter: grayscale(.15) contrast(1.02); }
.sy-code { position: absolute; left: 0; right: 0; bottom: -34px; text-align: center; font: 500 .68rem/1 ui-monospace, 'SF Mono', Consolas, monospace; letter-spacing: .1em; color: #cfc6b5; }
.sy-roll { position: absolute; left: 0; right: 0; bottom: 0; height: 46px; pointer-events: none; background: repeating-linear-gradient(90deg, rgba(255,255,255,.1) 0 2px, transparent 2px 26px); }
.sy-gate { position: absolute; z-index: 2; top: 0; bottom: 46px; left: 50%; width: clamp(170px, 20vw, 240px); translate: -50% 0; border: 2px solid var(--serie-copper, #b14a24); border-top: 0; pointer-events: none; }
.sy-gate::before { content: ""; position: absolute; left: -2px; right: -2px; top: 0; height: 6px; background: var(--serie-copper, #b14a24); }
.sy-gate em { position: absolute; left: 50%; top: 14px; translate: -50% 0; padding: .3rem .6rem; background: var(--serie-copper, #b14a24); color: #fff; font: 600 .62rem/1 ui-monospace, 'SF Mono', Consolas, monospace; letter-spacing: .16em; text-transform: uppercase; font-style: normal; }
.sy-gate i { position: absolute; left: 0; right: 0; top: 0; height: 2px; background: rgba(255,255,255,.7); box-shadow: 0 0 14px 2px rgba(177,74,36,.7); opacity: 0; }
@media (max-width: 860px) { .sy-top { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: no-preference) {
	.sy-track { animation: sy-belt 48s linear infinite; } .sy-belt:hover .sy-track { animation-play-state: paused; }
	@keyframes sy-belt { from { translate: 0 0; } to { translate: -50% 0; } }
	.sy-gate i { animation: sy-scan 3s steps(12, end) infinite; } @keyframes sy-scan { 0% { top: 0; opacity: 1; } 100% { top: calc(100% - 4px); opacity: 1; } }
	.sy-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .12em; margin-bottom: -.12em; }
	html.sy-m .sy-wi { display: inline-block; transform: translateY(108%); transition: transform .8s steps(8, end); transition-delay: calc(var(--i, 0) * 90ms + 120ms); }
	html.sy-m.sy-ready .sy-wi { transform: none; }
	html.sy-m .sy-k, html.sy-m .sy-px, html.sy-m .sy-cta, html.sy-m .sy-spec { opacity: 0; translate: 0 14px; transition: opacity .8s steps(8, end), translate .8s steps(8, end); }
	html.sy-m.sy-ready .sy-k { opacity: 1; translate: 0 0; } html.sy-m.sy-ready .sy-px { opacity: 1; translate: 0 0; transition-delay: .7s; } html.sy-m.sy-ready .sy-cta { opacity: 1; translate: 0 0; transition-delay: .9s; } html.sy-m.sy-ready .sy-spec { opacity: 1; translate: 0 0; transition-delay: 1.1s; }
}
@media (prefers-reduced-motion: reduce) { .sy-track { width: auto; flex-wrap: wrap; justify-content: center; } .sy-u:nth-child(n+7) { display: none; } .sy-gate { display: none; } }

body.page-id-49 .entry-content.wp-block-post-content { max-width: none !important; width: auto !important; margin-left: calc(-1 * var(--wp--style--root--padding-left, 0px)) !important; margin-right: calc(-1 * var(--wp--style--root--padding-right, 0px)) !important; }
body.page-id-49 .entry-content.wp-block-post-content > :not(.sy-wrap) { margin-left: var(--wp--style--root--padding-left, 0px); margin-right: var(--wp--style--root--padding-right, 0px); }
.sy a, .sy a:hover { text-decoration: none; }
.serie-main .sy .sy-title, .serie-frame .sy .sy-title { color: var(--serie-ink, #211b12); } .serie-main .sy .sy-title em { color: var(--serie-copper, #b14a24); }

.serie-frame .wp-block-post-content .sy a.sy-btn { color: var(--serie-cream, #f3efe7); text-decoration: none; }
.serie-frame .wp-block-post-content .sy a.sy-btn:hover, .serie-frame .wp-block-post-content .sy a.sy-btn:focus-visible { color: #fff; }
.serie-frame .wp-block-post-content .sy a.sy-link { color: var(--serie-ink, #211b12); text-decoration: none; }

/* ==========================================================================
   MÓVIL — DOCK INFERIOR, PROGRESO DE LECTURA Y FOCO TÁCTIL (SERIE)
   Pensado para el pulgar: navegación a una mano, indicador que se desliza entre
   páginas y tarjetas que se "encienden" al centrarse en pantalla (el equivalente
   táctil del hover). Solo se activa en pantallas estrechas.
   ========================================================================== */
.sym-dock, .sym-prog { display: none; }
@media (max-width: 820px) {
	body.sym-has-dock { padding-bottom: calc(86px + env(safe-area-inset-bottom, 0px)); }
	.sym-prog { display: block; position: fixed; z-index: 90; top: 0; left: 0; right: 0; height: 3px; background: transparent; pointer-events: none; }
	.sym-prog i { display: block; height: 100%; background: #e0683a; transform: scaleX(0); transform-origin: left; }
	.sym-dock {
		display: flex; position: fixed; z-index: 90; left: 10px; right: 10px; bottom: calc(10px + env(safe-area-inset-bottom, 0px));
		margin: 0; padding: 6px; gap: 2px; background: #211b12; border: 0; border-radius: 0;
		box-shadow: 0 14px 34px -10px rgba(0,0,0,.45), 0 2px 6px rgba(0,0,0,.18);
		font-family: var(--serie-sans, sans-serif); -webkit-tap-highlight-color: transparent; isolation: isolate;
		transition: transform .45s cubic-bezier(.22,.61,.36,1), opacity .3s ease;
	}
	.sym-dock.is-away { transform: translateY(calc(100% + 24px)); opacity: 0; pointer-events: none; }
	.sym-dock a {
		position: relative; z-index: 1; flex: 1 1 0; min-width: 0; min-height: 52px; display: grid; justify-items: center; align-content: center; gap: 3px;
		padding: 4px 2px; border-radius: calc(0 - 6px); color: #cfc6b5; text-decoration: none; font-size: .64rem; font-weight: 600; letter-spacing: .02em; line-height: 1.1;
		text-transform: none; background: none; border: 0; transition: color .25s ease, scale .2s ease;
	}
	.sym-dock a:active { scale: .92; }
	.sym-dock a svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; transition: transform .35s cubic-bezier(.34,1.56,.64,1); }
	.sym-dock a span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.sym-dock a.is-on { color: #211b12; }
	.sym-dock a.is-on svg { transform: translateY(-1px) scale(1.12); }
	.sym-dock a.is-cta { background: #b14a24; color: #ffffff; flex: 1.15 1 0; border-radius: calc(0 - 6px); }
	.sym-dock a.is-cta.is-on { color: #ffffff; box-shadow: inset 0 0 0 2px rgba(255,255,255,.55); }
	.sym-ind { position: absolute; z-index: 0; top: 6px; bottom: 6px; left: 0; width: 0; border-radius: calc(0 - 6px); background: #f3efe7; opacity: 0; pointer-events: none; }
	.sym-ind.is-go { opacity: 1; transition: transform .5s cubic-bezier(.34,1.3,.64,1), width .5s cubic-bezier(.34,1.3,.64,1); }
	.sym-dock a:focus-visible { outline: 2px solid #211b12; outline-offset: -2px; }
	/* Foco táctil: la tarjeta más cercana al centro de la pantalla se enciende. */
	.serie-card { transition: translate .6s cubic-bezier(.22,.61,.36,1), box-shadow .6s ease; }
	.serie-card.sym-live { translate: 0 -4px; box-shadow: 0 18px 30px -18px rgba(0,0,0,.45); }
	.serie-card img { transition: scale 1.2s cubic-bezier(.22,.61,.36,1); }
	.serie-card.sym-live img { scale: 1.06; }
	@media (prefers-reduced-motion: reduce) { .sym-dock, .sym-ind.is-go, .sym-dock a, .sym-dock a svg { transition: none; } }
}
@media (hover: none) { .wp-element-button:active, [class*="-btn"]:active, [class*="-cta"]:active { scale: .97; } }


/* ==========================================================================
   ENTRADA — pantalla de carga propia de SERIE (motivo: count)
   ========================================================================== */
html.sym-intro-on { overflow: hidden; }
.sym-intro { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; background: #211b12; color: #f3efe7; font-family: var(--serie-sans, sans-serif); overflow: hidden; }
.sym-intro-in { position: relative; z-index: 2; display: grid; justify-items: center; gap: .9rem; padding: 2rem; text-align: center; transition: opacity .4s ease, transform .7s cubic-bezier(.76,0,.24,1); }
.sym-intro-g { width: clamp(150px, 42vw, 260px); height: auto; color: #e0683a; overflow: visible; }
.sym-intro-g path, .sym-intro-g circle[pathLength] { stroke-dasharray: 1; stroke-dashoffset: 1; animation: sym-draw 1s cubic-bezier(.65,0,.35,1) .1s forwards; }
.sym-intro-g path[stroke-dasharray="6 8"] { stroke-dasharray: 6 8; stroke-dashoffset: 0; animation: none; clip-path: inset(0 100% 0 0); animation: sym-wipe 1s ease .1s forwards; }
@keyframes sym-draw { to { stroke-dashoffset: 0; } }
@keyframes sym-wipe { to { clip-path: inset(0 0 0 0); } }
@keyframes sym-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.sym-intro-name { display: block; font-family: var(--serie-sans, sans-serif); font-size: clamp(2.6rem, 13vw, 5rem); line-height: 1; letter-spacing: -.02em; opacity: 0; animation: sym-in .8s ease .25s forwards; }
.sym-intro-tag { display: block; font-size: .72rem; letter-spacing: .22em; text-transform: uppercase; opacity: 0; color: #f3efe7; animation: sym-in .8s ease .45s forwards; }
.sym-intro-tag { opacity: 0; }
.sym-intro-by { display: block; margin-top: 1.4rem; font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; opacity: 0; animation: sym-in .8s ease .65s forwards; }
.sym-intro.is-out .sym-intro-in { opacity: 0; transform: translateY(-10px); }
@media (prefers-reduced-motion: reduce) { .sym-intro { display: none; } html.sym-intro-on { overflow: auto; } }

.sym-intro { transition: transform .6s steps(6, end); }
.sym-intro.is-out { transform: translateY(-100%); }
.sym-intro-belt { display: flex; gap: 10px; width: 100%; padding-bottom: 8px; border-bottom: 3px solid #e0683a; overflow: hidden; }
.sym-intro-belt i { flex: none; width: 34px; height: 50px; background: #f3efe7; opacity: .9; animation: sym-belt 1s steps(6, end) infinite; }
@keyframes sym-belt { from { translate: 0 0; } to { translate: -44px 0; } }
.sym-intro-n { font: 600 clamp(2.4rem, 12vw, 4rem)/1 ui-monospace, 'SF Mono', Consolas, monospace; color: #e0683a; letter-spacing: .04em; }
.sym-intro-name { font-size: clamp(1.6rem, 7vw, 2.4rem); letter-spacing: .3em; }

