/* ==========================================================================
   Zapatiesta — estilos del tema
   Los colores, tipografías y espaciados vienen de theme.json (variables --wp--preset--*).
   ========================================================================== */

:root {
	--zt-ink: var(--wp--preset--color--ink);
	--zt-rust: var(--wp--preset--color--rust);
	--zt-rust-dark: var(--wp--preset--color--rust-dark);
	--zt-cream: var(--wp--preset--color--cream);
	--zt-sand: var(--wp--preset--color--sand);
	--zt-linen: var(--wp--preset--color--linen);
	--zt-line: var(--wp--preset--color--line);
	--zt-muted: var(--wp--preset--color--muted);
	--zt-radius: 14px;
	--zt-radius-lg: 22px;
	--zt-shadow: var(--wp--preset--shadow--soft);
	--zt-shadow-lift: var(--wp--preset--shadow--lift);
	--zt-ease: cubic-bezier(.2, .7, .2, 1);
	--zt-gutter: clamp(1rem, 4vw, 2.5rem);
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { height: auto; }
em { font-style: italic; }

:where(.wp-site-blocks) > * { margin-block-start: 0; }

/* ---------- Utilidades ---------- */

.zt-eyebrow {
	margin: 0 0 .35rem;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--zt-rust);
}

.zt-pill {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	margin: 0;
	padding: .4rem .9rem;
	border-radius: 999px;
	background: var(--zt-sand);
	color: var(--zt-rust-dark);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.zt-pill--glass {
	background: rgba(255, 255, 255, .16);
	color: #fff;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid rgba(255, 255, 255, .28);
}
.zt-dot {
	width: .5rem;
	height: .5rem;
	border-radius: 50%;
	background: var(--zt-rust);
	box-shadow: 0 0 0 4px rgba(148, 73, 34, .15);
}

.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--zt-ink);
	border: 1.5px solid var(--zt-ink);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--zt-ink);
	color: #fff;
}

/* ---------- Franja de avisos ---------- */

.zt-announce {
	overflow: hidden;
	background: var(--zt-rust);
	color: #fff;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 500;
	letter-spacing: .03em;
}
.zt-announce__list {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: .25rem 0;
	max-width: var(--wp--style--global--wide-size, 1440px);
	margin: 0 auto;
	padding: .55rem var(--zt-gutter);
	list-style: none;
	text-align: center;
}
.zt-announce__list li { white-space: nowrap; }
.zt-announce__list li + li::before { content: "·"; margin: 0 1.1rem; opacity: .6; }
@media (max-width: 900px) {
	.zt-announce__list { display: grid; place-items: center; }
	.zt-announce__list li { grid-area: 1 / 1; opacity: 0; transform: translateY(6px); transition: opacity .5s, transform .5s; }
	.zt-announce__list li + li::before { content: none; }
	.zt-announce__list li.is-active { opacity: 1; transform: none; }
}

/* ---------- Cabecera ---------- */

.zt-site-header {
	position: sticky;
	top: 0;
	z-index: 50;
}
.admin-bar .zt-site-header { top: var(--wp-admin--admin-bar--height, 32px); }

.zt-header {
	background: rgba(253, 249, 245, .92);
	backdrop-filter: saturate(160%) blur(12px);
	-webkit-backdrop-filter: saturate(160%) blur(12px);
	border-bottom: 1px solid transparent;
	transition: border-color .3s, box-shadow .3s;
}
.zt-is-scrolled .zt-header {
	border-bottom-color: var(--zt-line);
	box-shadow: 0 6px 24px rgba(17, 24, 39, .05);
}
.zt-header__bar { gap: 1.5rem; padding-block: .85rem; }
.zt-header__left { gap: clamp(1.25rem, 3vw, 3rem); }
.zt-header__right { gap: .9rem; }
.zt-logo { margin: 0; flex-shrink: 0; line-height: 0; }
.zt-logo a { display: block; line-height: 0; }
.zt-logo img { display: block; width: clamp(140px, 14vw, 190px) !important; }

.zt-nav .wp-block-navigation-item__content { padding-block: .4rem; }
.zt-nav > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	position: relative;
}
.zt-nav > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	background: var(--zt-rust);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .3s var(--zt-ease);
}
.zt-nav > .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after {
	transform: scaleX(1);
}
.zt-nav .wp-block-navigation__submenu-container {
	min-width: 260px !important;
	padding: .75rem !important;
	border: 1px solid var(--zt-line) !important;
	border-radius: var(--zt-radius) !important;
	background: #fff !important;
	box-shadow: var(--zt-shadow-lift);
}
.zt-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: .45rem .75rem !important;
	border-radius: 8px;
	font-weight: 400;
}
.zt-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: var(--zt-sand);
	color: var(--zt-rust);
}
.zt-nav .zt-nav-all .wp-block-navigation-item__content {
	margin-top: .35rem;
	font-weight: 600;
	color: var(--zt-rust);
}

.zt-search { min-width: 0; }
.zt-search .wp-block-search__inside-wrapper {
	width: clamp(180px, 22vw, 300px);
	padding: 0 !important;
	border: 1px solid var(--zt-line) !important;
	border-radius: 999px;
	background: #fff;
	overflow: hidden;
}
.zt-search .wp-block-search__input {
	padding: .6rem 1rem;
	border: 0;
	background: transparent;
	font-size: var(--wp--preset--font-size--sm);
}
.zt-search .wp-block-search__button {
	margin: 0;
	padding: 0 1rem;
	border: 0;
	background: transparent;
	color: var(--zt-ink);
}
.zt-search .wp-block-search__button:hover { background: transparent; color: var(--zt-rust); }
.zt-search .wp-block-search__button svg { width: 20px; height: 20px; }

.zt-account a, .zt-minicart .wc-block-mini-cart__button { color: var(--zt-ink); }
.zt-minicart .wc-block-mini-cart__badge { background: var(--zt-rust); color: #fff; }

@media (max-width: 600px) {
	.zt-header__left { flex-direction: row-reverse; justify-content: flex-end !important; }
}
@media (max-width: 900px) {
	.zt-header__bar { flex-wrap: wrap !important; row-gap: .6rem; padding-block: .6rem .8rem; }
	.zt-header__left { flex: 1; gap: .75rem 1.5rem; }
	.zt-header__right { display: contents !important; }
	.zt-search { order: 3; flex-basis: 100%; }
	.zt-search .wp-block-search__inside-wrapper { width: 100%; }
}

/* ---------- Secciones ---------- */

.zt-section { padding-block: var(--wp--preset--spacing--70); }
.zt-section--sand { background: var(--zt-sand); }
.zt-section-head { margin-bottom: var(--wp--preset--spacing--50); gap: 1rem; }
.zt-section-head h2 { margin: 0; }
.zt-more { margin: 0; font-size: var(--wp--preset--font-size--sm); font-weight: 500; }
.zt-more a { border-bottom: 1px solid currentColor; padding-bottom: 2px; }
.zt-more a span { display: inline-block; transition: transform .25s var(--zt-ease); }
.zt-more a:hover span { transform: translateX(4px); }

/* ---------- Portada ---------- */

.zt-hero {
	position: relative;
	padding-block: clamp(2.5rem, 6vw, 5.5rem);
	overflow: hidden;
	background:
		radial-gradient(60% 70% at 85% 30%, rgba(148, 73, 34, .08), transparent 70%),
		var(--zt-cream);
}
.zt-hero__cols { gap: clamp(2rem, 5vw, 5rem) !important; }
.zt-hero__text > * + * { margin-top: 1.4rem; }
.zt-hero__title { margin: 1.2rem 0 0; font-size: clamp(2.75rem, 5.4vw, 5rem) !important; font-weight: 600; line-height: 1 !important; letter-spacing: -.03em; }
.zt-hero__title em {
	display: block;
	font-family: var(--wp--preset--font-family--body);
	font-weight: 300;
	font-style: italic;
	color: var(--zt-rust);
	letter-spacing: -.03em;
}
.zt-hero__lead { max-width: 34rem; color: var(--zt-muted); font-size: var(--wp--preset--font-size--lg); }
.zt-hero__actions { gap: .75rem; }
.zt-stats {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(1.25rem, 3vw, 2.75rem);
	margin: 2.25rem 0 0;
	padding: 1.5rem 0 0;
	list-style: none;
	border-top: 1px solid var(--zt-line);
}
.zt-stats li { display: flex; flex-direction: column; }
.zt-stats strong {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 600;
	line-height: 1.1;
}
.zt-stats span { color: var(--zt-muted); font-size: var(--wp--preset--font-size--sm); }

.zt-hero__media { position: relative; }
.zt-hero__image {
	margin: 0;
	transform: rotate(2.5deg);
	transition: transform .8s var(--zt-ease);
}
.zt-hero__media:hover .zt-hero__image { transform: rotate(1deg) scale(1.01); }
.zt-hero__image img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: 50% 60%;
	border-radius: var(--zt-radius-lg);
	box-shadow: var(--zt-shadow-lift);
}
.zt-badge {
	position: absolute;
	left: clamp(-1rem, -2vw, 0rem);
	bottom: 2.5rem;
	display: flex;
	align-items: center;
	gap: .85rem;
	padding: .9rem 1.2rem;
	border-radius: var(--zt-radius);
	background: #fff;
	box-shadow: var(--zt-shadow-lift);
	animation: zt-float 6s ease-in-out infinite;
}
.zt-badge__icon {
	display: grid;
	place-items: center;
	width: 2.6rem;
	height: 2.6rem;
	border-radius: 50%;
	background: var(--zt-sand);
	color: var(--zt-rust);
}
.zt-badge__icon svg { width: 1.4rem; height: 1.4rem; }
.zt-badge strong { display: block; color: var(--zt-rust); font-size: var(--wp--preset--font-size--sm); }
.zt-badge span span { font-size: var(--wp--preset--font-size--sm); }
@keyframes zt-float { 50% { transform: translateY(-8px); } }
@media (prefers-reduced-motion: reduce) { .zt-badge { animation: none; } }

@media (max-width: 781px) {
	.zt-hero__image { transform: none; }
	.zt-hero__image img { aspect-ratio: 4 / 3; }
	.zt-badge { left: 1rem; bottom: 1rem; }
}

/* ---------- Mujer / Hombre ---------- */

.zt-gender__cols { gap: clamp(1rem, 2vw, 1.75rem) !important; }
.zt-gender-card {
	position: relative;
	overflow: hidden;
	align-items: flex-end !important;
	padding: clamp(1.5rem, 3vw, 2.5rem) !important;
	isolation: isolate;
}
.zt-gender-card::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: linear-gradient(180deg, rgba(17, 24, 39, 0) 35%, rgba(17, 24, 39, .78) 100%);
}
.zt-gender-card .wp-block-cover__image-background { transition: transform 1.2s var(--zt-ease); }
.zt-gender-card:hover .wp-block-cover__image-background { transform: scale(1.05); }
.zt-gender-card .wp-block-cover__inner-container { position: relative; z-index: 1; max-width: 30rem; margin: 0 !important; }
.zt-gender-card .wp-block-cover__inner-container > * + * { margin-top: .75rem; }
.zt-gender-card__title { margin-top: 1rem !important; font-size: var(--wp--preset--font-size--title); color: #fff; }
.zt-gender-card__title a { color: #fff; }
.zt-gender-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.zt-gender-card p { color: rgba(255, 255, 255, .85); }
.zt-gender-card__cta { font-weight: 600; color: #fff !important; }

/* ---------- Tarjetas de categoría ---------- */

.zt-cat-cards__list {
	display: grid;
	align-items: stretch;
	grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
	gap: clamp(.75rem, 1.5vw, 1.25rem);
	margin: 0;
	padding: 0;
	list-style: none;
}
.zt-cat-card__link {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	height: 100%;
	padding: 1rem 1rem 1.25rem;
	border-radius: var(--zt-radius);
	background: #fff;
	text-align: center;
	transition: transform .35s var(--zt-ease), box-shadow .35s var(--zt-ease);
}
.zt-cat-card__link:hover { transform: translateY(-4px); box-shadow: var(--zt-shadow-lift); color: inherit; }
.zt-cat-card__media { display: block; width: 100%; margin-bottom: .75rem; }
.zt-cat-card__media img { display: block; width: 100%; height: auto !important; aspect-ratio: 1; object-fit: contain; mix-blend-mode: multiply; transition: transform .5s var(--zt-ease); }
.zt-cat-card__link:hover .zt-cat-card__media img { transform: scale(1.06) rotate(-2deg); }
.zt-cat-card__name {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 600;
	line-height: 1.15;
}
.zt-cat-card__count { margin-top: .2rem; color: var(--zt-muted); font-size: var(--wp--preset--font-size--sm); }

@media (max-width: 700px) {
	.zt-cat-cards { margin-inline: calc(var(--zt-gutter) * -1); }
	.zt-cat-cards__list {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		padding: .25rem var(--zt-gutter) 1rem;
		scrollbar-width: none;
	}
	.zt-cat-cards__list::-webkit-scrollbar { display: none; }
	.zt-cat-card { flex: 0 0 42%; scroll-snap-align: start; }
}

/* ---------- Tarjetas de producto (Colección de productos) ---------- */

.zt-products .wc-block-product-template {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: clamp(1rem, 2vw, 1.75rem) !important;
}
@media (max-width: 1000px) {
	.zt-products .wc-block-product-template { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
.zt-products .wc-block-product {
	position: relative;
	display: flex;
	flex-direction: column;
	text-align: left;
}
.zt-products .wc-block-components-product-image {
	margin-bottom: .9rem !important;
	overflow: hidden;
	border-radius: var(--zt-radius);
	background: #fff;
}
.zt-products .wc-block-components-product-image img {
	aspect-ratio: 1 !important;
	object-fit: contain !important;
	box-sizing: border-box;
	padding: 8%;
	transition: transform .6s var(--zt-ease);
}
.zt-products .wc-block-product:hover .wc-block-components-product-image img { transform: scale(1.06); }
.zt-card-title {
	margin: 0 0 .35rem !important;
	font-family: var(--wp--preset--font-family--body) !important;
	font-size: var(--wp--preset--font-size--md) !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
	letter-spacing: 0 !important;
}
.zt-card-title a::after { content: ""; position: absolute; inset: 0; }
.zt-card-price,
.zt-card-price .wc-block-components-product-price {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--lg) !important;
	font-weight: 600;
	color: var(--zt-ink);
}
.zt-card-price del { color: var(--zt-muted); font-weight: 400; }
.zt-card-price ins { color: var(--zt-rust); text-decoration: none; }

@media (max-width: 700px) {
	.zt-products .wc-block-product-template { grid-template-columns: repeat(2, 1fr) !important; }
}

/* ---------- Valores de marca ---------- */

.zt-values { background: var(--zt-ink); color: #fff; }
.zt-values__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
}
.zt-values .zt-eyebrow { color: #e4a77f; }
.zt-values h2 { margin: 0; color: #fff; font-size: var(--wp--preset--font-size--title); }
.zt-values h2 em { font-family: var(--wp--preset--font-family--body); font-weight: 300; color: #e4a77f; }
.zt-values__list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.zt-values__list li { padding-top: 1.25rem; border-top: 1px solid rgba(255, 255, 255, .18); }
.zt-values__list strong { display: block; margin-bottom: .4rem; font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--lg); }
.zt-values__list span { color: rgba(255, 255, 255, .7); font-size: var(--wp--preset--font-size--sm); }
@media (max-width: 900px) {
	.zt-values__grid, .zt-values__list { grid-template-columns: 1fr; }
}

/* ---------- Garantías y pie ---------- */

.zt-trust { padding-block: 2.25rem; border-top: 1px solid var(--zt-line); background: var(--zt-cream); }
.zt-trust__list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.5rem;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}
.zt-trust__item { display: flex; gap: .9rem; align-items: flex-start; }
.zt-trust__icon {
	display: grid;
	place-items: center;
	flex-shrink: 0;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 50%;
	background: var(--zt-sand);
	color: var(--zt-rust);
}
.zt-trust__icon svg { width: 1.35rem; height: 1.35rem; }
.zt-trust__item strong { display: block; font-size: var(--wp--preset--font-size--sm); }
.zt-trust__item span span { color: var(--zt-muted); font-size: var(--wp--preset--font-size--sm); }
@media (max-width: 900px) { .zt-trust__list { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .zt-trust__list { grid-template-columns: 1fr; } }

.zt-footer { padding-block: var(--wp--preset--spacing--60) 1.5rem; background: var(--zt-ink); color: rgba(255, 255, 255, .72); font-size: var(--wp--preset--font-size--sm); }
.zt-footer a { color: rgba(255, 255, 255, .72); }
.zt-footer a:hover { color: #fff; }
.zt-footer__grid {
	display: grid;
	grid-template-columns: 1.6fr repeat(3, 1fr);
	gap: clamp(1.5rem, 4vw, 3rem);
	margin-inline: auto;
}
.zt-footer__logo { margin: 0 0 .75rem; font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--xl); font-weight: 700; color: #fff; }
.zt-footer__brand p:last-child { max-width: 24rem; }
.zt-footer__title { margin: 0 0 1rem; color: #fff; font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--md); font-weight: 600; }
.zt-footer ul { margin: 0; padding: 0; list-style: none; }
.zt-footer li + li { margin-top: .55rem; }
.zt-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 1rem;
	margin: var(--wp--preset--spacing--60) auto 0;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(255, 255, 255, .12);
}
.zt-footer__bottom nav { display: flex; gap: 1.25rem; }
@media (max-width: 900px) { .zt-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .zt-footer__brand { grid-column: 1 / -1; } }

/* ---------- Páginas genéricas ---------- */

.zt-page { padding-block: var(--wp--preset--spacing--60); }
.zt-page__title { margin-bottom: var(--wp--preset--spacing--50); }

/* ==========================================================================
   Tienda y categorías
   ========================================================================== */

.zt-shop { padding-bottom: var(--wp--preset--spacing--70); }

/* ---------- Cabecera de categoría ---------- */

.zt-archive-hero {
	position: relative;
	margin-top: clamp(.75rem, 2vw, 1.5rem) !important;
	padding: clamp(1.5rem, 4vw, 3.25rem) clamp(1.25rem, 4vw, 3.5rem) clamp(1.25rem, 3vw, 2rem);
	border-radius: var(--zt-radius-lg);
	background:
		radial-gradient(70% 90% at 100% 0%, rgba(148, 73, 34, .10), transparent 60%),
		var(--zt-sand);
	overflow: hidden;
}
.zt-archive-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 2rem;
	align-items: center;
}
.zt-archive-hero.has-media .zt-archive-hero__inner { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
.zt-crumbs {
	display: flex;
	flex-wrap: wrap;
	gap: .45rem;
	margin-bottom: 1.25rem;
	color: var(--zt-muted);
	font-size: var(--wp--preset--font-size--xs);
}
.zt-crumbs a { color: var(--zt-muted); }
.zt-crumbs a:hover { color: var(--zt-rust); }
.zt-crumbs [aria-current] { color: var(--zt-ink); font-weight: 500; }
.zt-archive-hero__title {
	margin: 0;
	font-size: clamp(2.4rem, 5vw, 4.25rem);
	line-height: 1;
	letter-spacing: -.03em;
}
.zt-archive-hero__lead { max-width: 34rem; margin: 1rem 0 0; color: var(--zt-muted); font-size: var(--wp--preset--font-size--lg); line-height: 1.55; }
.zt-archive-hero__count {
	display: inline-flex;
	align-items: baseline;
	gap: .4rem;
	margin: 1.5rem 0 0;
	padding: .45rem 1rem;
	border-radius: 999px;
	background: #fff;
	font-size: var(--wp--preset--font-size--sm);
	color: var(--zt-muted);
}
.zt-archive-hero__count strong { font-family: var(--wp--preset--font-family--heading); font-size: 1.1rem; color: var(--zt-rust); }

.zt-archive-hero__media {
	position: relative;
	justify-self: end;
	width: 100%;
	max-width: 520px;
	height: clamp(220px, 24vw, 320px);
}
.zt-archive-hero__shot {
	position: absolute;
	display: block;
	aspect-ratio: 1;
	border-radius: var(--zt-radius-lg);
	background: #fff;
	box-shadow: var(--zt-shadow-lift);
	overflow: hidden;
	transition: transform .6s var(--zt-ease);
}
.zt-archive-hero__shot img { width: 100%; height: 100%; object-fit: contain; padding: 8%; box-sizing: border-box; }
.zt-archive-hero__shot--1 { width: 56%; left: 22%; top: 0; z-index: 2; transform: rotate(-3deg); }
.zt-archive-hero__shot--2 { width: 40%; left: 0; bottom: 0; z-index: 1; transform: rotate(-9deg); }
.zt-archive-hero__shot--3 { width: 40%; right: 0; bottom: 4%; z-index: 3; transform: rotate(7deg); }
.zt-archive-hero:hover .zt-archive-hero__shot--1 { transform: rotate(0) translateY(-6px); }
.zt-archive-hero:hover .zt-archive-hero__shot--2 { transform: rotate(-12deg) translateX(-6px); }
.zt-archive-hero:hover .zt-archive-hero__shot--3 { transform: rotate(10deg) translateX(6px); }

.zt-chips { margin-top: clamp(1.5rem, 3vw, 2.25rem); }
.zt-chips__list {
	display: flex;
	gap: .6rem;
	margin: 0;
	padding: 0 0 .25rem;
	list-style: none;
	overflow-x: auto;
	scrollbar-width: none;
}
.zt-chips__list::-webkit-scrollbar { display: none; }
.zt-chip {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	padding: .35rem 1rem .35rem .35rem;
	border: 1px solid transparent;
	border-radius: 999px;
	background: #fff;
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 500;
	white-space: nowrap;
	transition: border-color .2s, background .2s, color .2s;
}
.zt-chip:not(:has(.zt-chip__img)) { padding-left: 1rem; }
.zt-chip:hover { border-color: var(--zt-rust); color: var(--zt-ink); }
.zt-chip small { color: var(--zt-muted); font-size: var(--wp--preset--font-size--xs); }
.zt-chip__img { display: block; width: 2.1rem; height: 2.1rem; border-radius: 50%; overflow: hidden; background: var(--zt-cream); }
.zt-chip__img img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.zt-chip.is-active { background: var(--zt-ink); color: #fff; }
.zt-chip.is-active small { color: rgba(255, 255, 255, .65); }

@media (max-width: 781px) {
	.zt-archive-hero { margin-inline: calc(var(--zt-gutter) * -1) !important; border-radius: 0; }
	.zt-archive-hero.has-media .zt-archive-hero__inner { grid-template-columns: 1fr; }
	.zt-archive-hero__media { display: none; }
	.zt-chips { margin-inline: calc(clamp(1.25rem, 4vw, 3.5rem) * -1); }
	.zt-chips__list { padding-inline: clamp(1.25rem, 4vw, 3.5rem); }
}

/* ---------- Cuerpo: filtros + resultados ---------- */

.zt-shop__body {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: clamp(1.5rem, 3vw, 3rem);
	align-items: start;
	margin-top: clamp(1.75rem, 3vw, 2.75rem) !important;
}
.zt-shop__filters {
	position: sticky;
	top: calc(var(--zt-header-h, 90px) + 1rem);
	max-height: calc(100vh - var(--zt-header-h, 90px) - 2rem);
	overflow-y: auto;
	padding-right: .25rem;
	scrollbar-width: thin;
}
.zt-filters { --wc-product-filter-block-spacing: 0; gap: 0 !important; }
.zt-filters__title { margin: 0 0 .5rem !important; font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--lg) !important; font-weight: 600; line-height: 1.08; letter-spacing: -.015em; }
.zt-filters .zt-filter,
.zt-filters .wp-block-woocommerce-product-filter-active {
	padding-block: 1.1rem;
	border-top: 1px solid var(--zt-line);
}
.zt-filters .zt-filter__label {
	margin: 0 0 .8rem !important;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--xs) !important;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--zt-ink);
}
/* Chips de talla */
.zt-filters fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.zt-filters .wc-block-product-filter-chips__items { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .4rem !important; }
@media (max-width: 1000px) and (min-width: 601px) { .zt-filters .wc-block-product-filter-chips__items { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 600px) { .zt-filters .wc-block-product-filter-chips__items { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.zt-filters .wc-block-product-filter-chips__item {
	justify-content: center;
	min-width: 0;
	min-height: 40px;
	padding: .3rem 0 !important;
	border: 1px solid var(--zt-line) !important;
	border-radius: 10px !important;
	background: #fff !important;
	color: var(--zt-ink) !important;
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 500;
}
.zt-filters .wc-block-product-filter-chips__item:hover { border-color: var(--zt-ink) !important; }
.zt-filters .wc-block-product-filter-chips__item[aria-checked="true"] { background: var(--zt-ink) !important; border-color: var(--zt-ink) !important; color: #fff !important; }
/* Lista de colores */
.zt-filters .wc-block-product-filter-checkbox-list__items { display: grid; gap: .45rem; margin: 0; padding: 0; border: 0; list-style: none; }
.zt-filters .wc-block-product-filter-checkbox-list__label { font-size: var(--wp--preset--font-size--sm); }
.zt-filters .wc-block-product-filter-checkbox-list__input-wrapper::before { border-radius: 5px; }
.zt-filters .wc-block-product-filter-checkbox-list__show-more { color: var(--zt-rust); font-size: var(--wp--preset--font-size--sm); font-weight: 500; }
/* Precio */
.zt-filters .wp-block-woocommerce-product-filter-price-slider {
	--wc-product-filter-price-slider: var(--zt-rust);
	--wc-product-filter-price-slider-handle: #fff;
	--wc-product-filter-price-slider-handle-border: var(--zt-rust);
}
.zt-filters .wc-block-product-filter-price-slider__content .text input[type="text"] {
	max-width: 84px;
	padding: .45rem .7rem;
	border: 1px solid var(--zt-line);
	border-radius: 999px;
	background: #fff;
	font-size: var(--wp--preset--font-size--sm);
	text-align: center;
}
.zt-filters .wc-block-product-filter-price-slider__right { justify-self: end; }
/* Filtros activos */
.zt-filters .wc-block-product-filter-removable-chips__item {
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--zt-sand) !important;
	color: var(--zt-rust-dark) !important;
	font-size: var(--wp--preset--font-size--xs);
}
.zt-filters .wc-block-product-filter-clear-button .wp-block-button__link { margin-top: .75rem; padding: .5rem 1rem; font-size: var(--wp--preset--font-size--xs); }

/* Cajón de filtros en móvil (lo pinta WooCommerce por debajo de 600 px) */
@media (max-width: 600px) {
	.zt-filters .wc-block-product-filters__open-overlay {
		gap: .35rem;
		padding: .6rem 1.1rem !important;
		border: 1px solid var(--zt-ink) !important;
		border-radius: 999px;
		background: #fff !important;
		color: var(--zt-ink);
		font-size: var(--wp--preset--font-size--sm) !important;
		font-weight: 500;
	}
	.zt-filters .wc-block-product-filters__overlay-content { padding: 0 1.25rem 1.25rem !important; }
	.zt-filters .wc-block-product-filters__overlay-dialog { background: var(--zt-cream) !important; }
	.zt-filters .wc-block-product-filters__apply { border-radius: 999px; background: var(--zt-ink); color: #fff; }
	.zt-shop__filters { margin-bottom: -.5rem; }
}

.zt-toolbar {
	gap: 1rem;
	margin-bottom: clamp(1rem, 2vw, 1.5rem);
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--zt-line);
	font-size: var(--wp--preset--font-size--sm);
}
.zt-toolbar .woocommerce-result-count { margin: 0; color: var(--zt-muted); }
.zt-toolbar .woocommerce-ordering { margin: 0; }
.zt-toolbar .woocommerce-ordering select {
	appearance: none;
	padding: .55rem 2.25rem .55rem 1rem;
	border: 1px solid var(--zt-line);
	border-radius: 999px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23111827' stroke-width='1.6'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 1rem center;
	color: var(--zt-ink);
	font: inherit;
	cursor: pointer;
}

@media (max-width: 1000px) {
	.zt-shop__body { grid-template-columns: 210px minmax(0, 1fr); }
	.zt-products--archive .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 600px) {
	.zt-shop__body { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
	.zt-shop__filters { position: static; max-height: none; overflow: visible; padding: 0; }
}

/* ---------- Tarjetas del listado ---------- */

@media (min-width: 1001px) { .zt-products--archive .wc-block-product-template { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 700px) {
	.zt-products--archive .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
.zt-products .wc-block-components-product-image.has-alt-img > a { position: relative; display: block; }
.zt-products .zt-alt-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100% !important;
	opacity: 0;
	background: #fff;
	transition: opacity .45s var(--zt-ease), transform .6s var(--zt-ease);
}
@media (hover: hover) {
	.zt-products .wc-block-product:hover .zt-alt-img { opacity: 1; }
}
.zt-products .zt-sale .wc-block-components-product-sale-badge,
.zt-products .wc-block-components-product-sale-badge {
	top: .75rem !important;
	left: .75rem !important;
	right: auto !important;
	margin: 0 !important;
	padding: .3rem .7rem !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--zt-rust) !important;
	color: #fff !important;
	font-size: var(--wp--preset--font-size--xs) !important;
	font-weight: 600 !important;
	text-transform: none !important;
}

/* ---------- Paginación y sin resultados ---------- */

.zt-pagination { gap: .4rem; margin-top: clamp(2rem, 4vw, 3rem) !important; font-size: var(--wp--preset--font-size--sm); }
.zt-pagination .page-numbers,
.zt-pagination .wp-block-query-pagination-previous,
.zt-pagination .wp-block-query-pagination-next {
	display: inline-grid;
	place-items: center;
	min-width: 2.6rem;
	height: 2.6rem;
	padding: 0 .9rem;
	border: 1px solid var(--zt-line);
	border-radius: 999px;
	background: #fff;
}
.zt-pagination .page-numbers.current { background: var(--zt-ink); border-color: var(--zt-ink); color: #fff; }
.zt-pagination .page-numbers.dots { border: 0; background: none; }
.zt-pagination a:hover { border-color: var(--zt-ink); color: var(--zt-ink); }

.zt-empty { padding: clamp(2rem, 5vw, 4rem) 1rem; border-radius: var(--zt-radius-lg); background: var(--zt-sand); }
.zt-empty h2 { font-size: var(--wp--preset--font-size--xl); }

@media (min-width: 601px) {
	.zt-filters,
	.zt-filters .wc-block-product-filters__overlay,
	.zt-filters .wc-block-product-filters__overlay-wrapper,
	.zt-filters .wc-block-product-filters__overlay-dialog,
	.zt-filters .wc-block-product-filters__overlay-content { width: 100% !important; min-width: 0; }
}
.zt-filters .wc-block-product-filters__overlay-content > * { min-width: 0; max-width: 100%; }

/* ==========================================================================
   Ficha de producto
   ========================================================================== */

.zt-pdp-page { padding-bottom: var(--wp--preset--spacing--70); }
.zt-pdp {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
	gap: clamp(1.5rem, 4vw, 4.5rem);
	align-items: start;
	margin-top: clamp(1rem, 2.5vw, 2rem) !important;
}
.zt-pdp__info {
	position: sticky;
	top: calc(var(--zt-header-h, 90px) + 1.25rem);
}

/* ---------- Galería ---------- */

.zt-gallery { position: relative; }
.zt-gallery__track {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .75rem;
	margin: 0;
	padding: 0;
	list-style: none;
	transition: opacity .18s ease;
}
.zt-gallery__track.is-swapping { opacity: 0; }
.zt-gallery__item:first-child { grid-column: 1 / -1; }
.zt-gallery__zoom {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	border-radius: var(--zt-radius-lg);
	background: #fff;
	overflow: hidden;
	cursor: zoom-in;
}
.zt-gallery__zoom img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; transition: transform .8s var(--zt-ease); }
.zt-gallery__zoom:hover img { transform: scale(1.04); }
.zt-gallery__counter { display: none; }

.zt-lightbox {
	width: 100vw;
	max-width: none;
	height: 100vh;
	max-height: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: #fff;
}
.zt-lightbox[open] { display: grid; place-items: center; }
.zt-lightbox::backdrop { background: rgba(17, 24, 39, .6); }
.zt-lightbox__img { max-width: min(100vw, 1100px); max-height: 100vh; object-fit: contain; }
.zt-lightbox__close,
.zt-lightbox__nav {
	position: absolute;
	display: grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	border: 1px solid var(--zt-line);
	border-radius: 50%;
	background: #fff;
	color: var(--zt-ink);
	font-size: 1.6rem;
	line-height: 1;
	cursor: pointer;
}
.zt-lightbox__close { top: 1rem; right: 1rem; }
.zt-lightbox__nav--prev { left: 1rem; top: 50%; transform: translateY(-50%); }
.zt-lightbox__nav--next { right: 1rem; top: 50%; transform: translateY(-50%); }
.zt-lightbox__close:hover, .zt-lightbox__nav:hover { background: var(--zt-ink); color: #fff; }

@media (max-width: 781px) {
	.zt-pdp { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; margin-top: 0 !important; }
	.zt-pdp__media { margin-inline: calc(var(--zt-gutter) * -1); }
	.zt-pdp__info { position: static; }
	.zt-gallery__track {
		display: flex;
		gap: 0;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}
	.zt-gallery__track::-webkit-scrollbar { display: none; }
	.zt-gallery__item { flex: 0 0 100%; scroll-snap-align: start; }
	.zt-gallery__zoom { border-radius: 0; }
	.zt-gallery__counter {
		display: block;
		position: absolute;
		right: 1rem;
		bottom: 1rem;
		margin: 0;
		padding: .25rem .7rem;
		border-radius: 999px;
		background: rgba(17, 24, 39, .72);
		color: #fff;
		font-size: var(--wp--preset--font-size--xs);
		font-weight: 500;
	}
}

/* ---------- Compra ---------- */

.zt-buy__eyebrow {
	margin: 0 0 .6rem;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--zt-rust);
}
.zt-buy__eyebrow a { color: inherit; }
.zt-buy__eyebrow a:hover { color: var(--zt-ink); }
.zt-buy__title { margin: 0; font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.08; letter-spacing: -.02em; }
.zt-buy__price {
	margin-top: .85rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 600;
}
.zt-buy__price del { margin-right: .4rem; color: var(--zt-muted); font-size: .7em; font-weight: 400; }
.zt-buy__price ins { color: var(--zt-rust); text-decoration: none; }

.zt-opt { margin: 1.6rem 0 0; padding: 1.4rem 0 0; border: 0; border-top: 1px solid var(--zt-line); min-width: 0; }
.zt-opt__label { float: left; width: 100%; margin-bottom: .8rem; padding: 0; font-size: var(--wp--preset--font-size--sm); color: var(--zt-muted); }
.zt-opt__label strong { color: var(--zt-ink); font-weight: 600; }
.zt-opt__label + * { clear: both; }
.zt-opt__hint { margin: .7rem 0 0; color: var(--zt-muted); font-size: var(--wp--preset--font-size--xs); }
.zt-opt.is-missing .zt-sizes { animation: zt-shake .4s; }
.zt-opt.is-missing .zt-opt__label strong { color: var(--zt-rust); }
@keyframes zt-shake { 25% { transform: translateX(-6px); } 75% { transform: translateX(6px); } }

.zt-swatches { display: flex; flex-wrap: wrap; gap: .6rem; }
.zt-swatch {
	position: relative;
	display: grid;
	place-items: center;
	width: 4rem;
	height: 4rem;
	padding: 0;
	border: 1px solid var(--zt-line);
	border-radius: 14px;
	background: #fff;
	cursor: pointer;
	overflow: hidden;
	transition: border-color .2s, box-shadow .2s;
}
.zt-swatch img { width: 100%; height: 100%; object-fit: contain; padding: 4px; box-sizing: border-box; }
.zt-swatch__dot {
	width: 1.9rem;
	height: 1.9rem;
	border-radius: 50%;
	box-shadow: inset 0 0 0 1px rgba(17, 24, 39, .15);
}
.zt-swatch.has-photo .zt-swatch__dot {
	position: absolute;
	right: 4px;
	bottom: 4px;
	width: .8rem;
	height: .8rem;
	box-shadow: 0 0 0 2px #fff, inset 0 0 0 1px rgba(17, 24, 39, .15);
}
.zt-swatch:hover { border-color: var(--zt-muted); }
.zt-swatch[aria-checked="true"] { border-color: var(--zt-ink); box-shadow: 0 0 0 1px var(--zt-ink); }
.zt-swatch.is-oos img { opacity: .45; }

.zt-sizes { display: grid; grid-template-columns: repeat(auto-fill, minmax(3.4rem, 1fr)); gap: .5rem; }
.zt-size {
	position: relative;
	height: 3rem;
	padding: 0;
	border: 1px solid var(--zt-line);
	border-radius: 12px;
	background: #fff;
	color: var(--zt-ink);
	font: 500 var(--wp--preset--font-size--md) var(--wp--preset--font-family--body);
	cursor: pointer;
	transition: border-color .2s, background .2s, color .2s;
}
.zt-size:hover { border-color: var(--zt-ink); }
.zt-size.is-oos { color: var(--zt-muted); background: linear-gradient(to top right, transparent calc(50% - .5px), var(--zt-line) 50%, transparent calc(50% + .5px)), var(--zt-cream); }
.zt-size[aria-checked="true"] { border-color: var(--zt-ink); background: var(--zt-ink); color: #fff; }
.zt-size.is-oos[aria-checked="true"] { background: var(--zt-sand); color: var(--zt-ink); }

.zt-oos {
	margin-top: 1.25rem;
	padding: 1.1rem 1.2rem;
	border-radius: var(--zt-radius);
	background: var(--zt-sand);
}
.zt-oos__title { margin: 0; font-size: var(--wp--preset--font-size--md); }
.zt-oos__text { margin: .3rem 0 .9rem; color: var(--zt-muted); font-size: var(--wp--preset--font-size--sm); }
.zt-oos__row { display: flex; gap: .5rem; }
.zt-oos__row input {
	flex: 1;
	min-width: 0;
	padding: .75rem 1rem;
	border: 1px solid var(--zt-line);
	border-radius: 999px;
	background: #fff;
	font: inherit;
}
.zt-oos__row button { padding-block: .75rem; }
.zt-oos__consent { display: flex; gap: .5rem; align-items: flex-start; margin-top: .7rem; color: var(--zt-muted); font-size: var(--wp--preset--font-size--xs); }
.zt-oos__consent input { margin-top: .15rem; accent-color: var(--zt-rust); }
.zt-oos__msg { margin: .6rem 0 0; font-size: var(--wp--preset--font-size--sm); }
.zt-oos__msg:empty { display: none; }
.zt-oos__msg.is-ok { color: #2f6b3a; }
.zt-oos__msg.is-error { color: #b42318; }
.zt-hp { position: absolute !important; left: -9999px !important; }

/* Formulario de WooCommerce: solo se ve la cantidad y el botón */
.zt-buy__form { margin-top: 1.5rem; }
.zt-buy__form.is-hidden { display: none; }
.zt-buy.is-variable .zt-buy__form table.variations,
.zt-buy.is-variable .zt-buy__form .reset_variations,
.zt-buy.is-variable .zt-buy__form .woocommerce-variation-price,
.zt-buy.is-variable .zt-buy__form .woocommerce-variation-description { display: none !important; }
.zt-buy__form .woocommerce-variation-availability p { margin: 0 0 .75rem; font-size: var(--wp--preset--font-size--sm); color: #2f6b3a; }
.zt-buy__form .woocommerce-variation-availability p.out-of-stock { color: #b42318; }
.zt-buy__form form.cart { margin: 0; }
.zt-buy__form form.cart:not(.variations_form),
.zt-buy__form .woocommerce-variation-add-to-cart { display: flex; gap: .6rem; align-items: stretch; width: 100%; }
.zt-buy__form .single_variation_wrap { display: block; }
.zt-buy__form .quantity { display: flex; }
.zt-buy__form .quantity .qty {
	width: 4.5rem;
	border: 1px solid var(--zt-line);
	border-radius: 999px;
	background: #fff;
	font: inherit;
	text-align: center;
}
.zt-buy__form .single_add_to_cart_button {
	flex: 1;
	padding: 1.05rem 1.5rem !important;
	border-radius: 999px !important;
	background: var(--zt-ink) !important;
	color: #fff !important;
	font-size: var(--wp--preset--font-size--md) !important;
	font-weight: 600 !important;
	transition: background .2s;
}
.zt-buy__form .single_add_to_cart_button:hover { background: var(--zt-rust) !important; }
.zt-buy__form .single_add_to_cart_button.disabled { opacity: 1 !important; cursor: pointer; }

.zt-buy__perks {
	display: grid;
	gap: .7rem;
	margin: 1.5rem 0 0;
	padding: 1.1rem 1.2rem;
	border: 1px solid var(--zt-line);
	border-radius: var(--zt-radius);
	list-style: none;
	font-size: var(--wp--preset--font-size--sm);
	color: var(--zt-muted);
}
.zt-buy__perks li { display: flex; gap: .75rem; align-items: center; }
.zt-buy__perks svg { flex-shrink: 0; width: 1.35rem; height: 1.35rem; color: var(--zt-rust); }
.zt-buy__perks strong { color: var(--zt-ink); font-weight: 600; }

/* ---------- Acordeón ---------- */

.zt-accordion { margin-top: 1.5rem; }
.zt-acc { border-top: 1px solid var(--zt-line); }
.zt-acc:last-child { border-bottom: 1px solid var(--zt-line); }
.zt-acc summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1.05rem 0;
	list-style: none;
	font-weight: 600;
	cursor: pointer;
}
.zt-acc summary::-webkit-details-marker { display: none; }
.zt-acc summary::after { content: "+"; font-size: 1.4rem; font-weight: 300; line-height: 1; transition: transform .25s var(--zt-ease); }
.zt-acc[open] summary::after { transform: rotate(45deg); }
.zt-acc > :not(summary) { margin: 0 0 1rem; color: var(--zt-muted); font-size: var(--wp--preset--font-size--sm); line-height: 1.7; }
.zt-acc ul { padding-left: 1.1rem; }

/* ---------- Relacionados ---------- */

.zt-related { margin-top: clamp(3rem, 7vw, 6rem) !important; }

/* ==========================================================================
   Cesta y pago
   ========================================================================== */

.zt-cart-page .zt-page__title { margin-bottom: var(--wp--preset--spacing--40); }
.zt-header--checkout { border-bottom: 1px solid var(--zt-line); }
.zt-header--checkout .zt-header__bar { padding-block: 1rem; }
.zt-back, .zt-secure { flex: 1; margin: 0; font-size: var(--wp--preset--font-size--sm); }
.zt-back a { color: var(--zt-muted); }
.zt-back a:hover { color: var(--zt-ink); }
.zt-secure { display: flex; justify-content: flex-end; align-items: center; gap: .4rem; color: #2f6b3a; font-weight: 500; }
.zt-secure svg { width: 1.1rem; height: 1.1rem; }
.zt-checkout-footer { padding-block: 2rem; border-top: 1px solid var(--zt-line); color: var(--zt-muted); font-size: var(--wp--preset--font-size--xs); }
.zt-checkout-footer a { color: var(--zt-muted); }
@media (max-width: 600px) {
	.zt-back a { font-size: 0; }
	.zt-back a::before { content: "←"; font-size: 1.2rem; }
	.zt-secure span { display: none; }
}

/* Bloques de cesta y pago de WooCommerce con el estilo de la tienda */
.wc-block-cart,
.wc-block-checkout { font-size: var(--wp--preset--font-size--md); }
.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block { border-radius: var(--zt-radius-lg); border-color: var(--zt-line) !important; background: #fff; }
.wc-block-cart .wc-block-components-sidebar {
	padding: 1.5rem !important;
	border-radius: var(--zt-radius-lg);
	background: #fff;
}
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	min-height: 3.25rem;
	border-radius: 999px !important;
	background: var(--zt-ink) !important;
	color: #fff !important;
	font-weight: 600 !important;
}
.wc-block-components-button:not(.is-link):hover { background: var(--zt-rust) !important; }
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-blocks-components-select .wc-blocks-components-select__select {
	border-color: var(--zt-line) !important;
	border-radius: 12px !important;
	background: #fff !important;
}
.wc-block-components-text-input.is-active input:focus,
.wc-block-components-text-input input:focus { border-color: var(--zt-ink) !important; box-shadow: 0 0 0 1px var(--zt-ink) !important; }
.wc-block-cart-item__image img,
.wc-block-components-order-summary-item__image img { border-radius: 10px; background: #fff; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--lg);
}
.wc-block-components-product-name { font-weight: 500; color: var(--zt-ink); }

/* ==========================================================================
   Menú popup (móvil y tablet)
   ========================================================================== */

.zt-mmenu { display: none; }
@media (max-width: 1000px) {
	.zt-nav { display: none !important; }
	.zt-mmenu { display: block; }
	.zt-header__left { flex-direction: row !important; justify-content: flex-start !important; gap: .5rem !important; }
}
.zt-mmenu__open,
.zt-mmenu__close {
	display: grid;
	place-items: center;
	width: 2.6rem;
	height: 2.6rem;
	margin-left: -.5rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--zt-ink);
	cursor: pointer;
}
.zt-mmenu__close { margin: 0; background: var(--zt-sand); }
.zt-mmenu__open svg, .zt-mmenu__close svg { width: 1.5rem; height: 1.5rem; }

.zt-mmenu__dialog {
	width: min(100vw, 420px);
	max-width: none;
	height: 100dvh;
	max-height: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: var(--zt-cream);
	color: var(--zt-ink);
}
.zt-mmenu__dialog[open] { animation: zt-slide-in .35s var(--zt-ease); }
.zt-mmenu__dialog::backdrop { background: rgba(17, 24, 39, .45); backdrop-filter: blur(2px); }
@keyframes zt-slide-in { from { transform: translateX(-100%); } }
@media (prefers-reduced-motion: reduce) { .zt-mmenu__dialog[open] { animation: none; } }

.zt-mmenu__panel { display: flex; flex-direction: column; min-height: 100%; }
.zt-mmenu__top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1rem 1.25rem;
	border-bottom: 1px solid var(--zt-line);
}
.zt-mmenu__brand { margin: 0; font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--xl); font-weight: 700; }
.zt-mmenu__nav { flex: 1; padding: .5rem 1.25rem; }
.zt-mmenu__group { border-bottom: 1px solid var(--zt-line); }
.zt-mmenu__group summary,
.zt-mmenu__link {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1.1rem 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 600;
	list-style: none;
	cursor: pointer;
}
.zt-mmenu__group summary::-webkit-details-marker { display: none; }
.zt-mmenu__group summary::after { content: "+"; font-family: var(--wp--preset--font-family--body); font-weight: 300; transition: transform .25s var(--zt-ease); }
.zt-mmenu__group[open] summary::after { transform: rotate(45deg); }
.zt-mmenu__group ul { margin: 0 0 1rem; padding: 0; list-style: none; }
.zt-mmenu__group li a {
	display: flex;
	justify-content: space-between;
	padding: .6rem .75rem;
	border-radius: 10px;
	font-size: var(--wp--preset--font-size--md);
}
.zt-mmenu__group li a:hover { background: var(--zt-sand); color: var(--zt-rust); }
.zt-mmenu__group small { color: var(--zt-muted); font-size: var(--wp--preset--font-size--xs); }
.zt-mmenu__all a { font-weight: 600; color: var(--zt-rust); }
.zt-mmenu__link { border-bottom: 1px solid var(--zt-line); }
.zt-mmenu__foot {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: .6rem 1rem;
	padding: 1.25rem;
	background: var(--zt-sand);
	font-size: var(--wp--preset--font-size--sm);
}
.zt-mmenu__foot a { color: var(--zt-muted); }

/* ==========================================================================
   Mega menú (escritorio)
   ========================================================================== */

.zt-header { position: relative; }
.zt-mega__bar { display: flex; gap: .4rem; margin: 0; padding: 0; list-style: none; }
.zt-mega__top {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .55rem .9rem;
	border-radius: 999px;
	font-weight: 500;
	color: var(--zt-ink);
	transition: background .2s, color .2s;
}
.zt-mega__top svg { width: .65rem; height: .65rem; transition: transform .25s var(--zt-ease); }
.zt-mega__top:hover,
.zt-mega__top[aria-expanded="true"] { background: var(--zt-sand); color: var(--zt-ink); }
.zt-mega__top[aria-expanded="true"] svg { transform: rotate(180deg); }
.zt-mega__top.is-current::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: .15rem;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--zt-rust);
	transform: translateX(-50%);
}

.zt-mega__panel {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 60;
	border-top: 1px solid var(--zt-line);
	background: var(--zt-cream);
	box-shadow: 0 30px 60px -20px rgba(17, 24, 39, .25);
	animation: zt-mega-in .28s var(--zt-ease);
}
@keyframes zt-mega-in { from { opacity: 0; transform: translateY(-8px); } }
@media (prefers-reduced-motion: reduce) { .zt-mega__panel { animation: none; } }
.zt-mega__inner {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr) 300px;
	gap: clamp(1.5rem, 3vw, 3rem);
	max-width: var(--wp--style--global--wide-size, 1440px);
	margin: 0 auto;
	padding: 2rem var(--zt-gutter) 2.25rem;
}

/* Lista de categorías */
.zt-mega__cats ul { margin: 0 0 1rem; padding: 0; list-style: none; }
.zt-mega__cat {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	padding: .5rem .75rem;
	border-radius: 10px;
	font-size: var(--wp--preset--font-size--md);
	color: var(--zt-ink);
	transition: background .15s, color .15s, padding .2s var(--zt-ease);
}
.zt-mega__cat small { color: var(--zt-muted); font-size: var(--wp--preset--font-size--xs); }
.zt-mega__cat.is-active { padding-left: 1rem; background: #fff; color: var(--zt-rust); box-shadow: var(--zt-shadow); }
.zt-mega__all { display: inline-block; margin-left: .75rem; font-weight: 600; color: var(--zt-rust); }
.zt-mega__all span { display: inline-block; transition: transform .2s; }
.zt-mega__all:hover span { transform: translateX(4px); }

/* Productos de la categoría */
.zt-mega__set { display: none; }
.zt-mega__set.is-active { display: block; animation: zt-fade .3s ease; }
@keyframes zt-fade { from { opacity: 0; } }
.zt-mega__set-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 1rem; }
.zt-mega__set-title { margin: 0; font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--xl); font-weight: 600; }
.zt-mega__set-head a { font-size: var(--wp--preset--font-size--sm); font-weight: 500; border-bottom: 1px solid currentColor; }
.zt-mega__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.zt-mega__card { display: flex; flex-direction: column; gap: .2rem; color: var(--zt-ink); }
.zt-mega__img { display: block; margin-bottom: .5rem; border-radius: var(--zt-radius); background: #fff; overflow: hidden; }
.zt-mega__img img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; padding: 8%; box-sizing: border-box; transition: transform .5s var(--zt-ease); }
.zt-mega__card:hover .zt-mega__img img { transform: scale(1.06); }
.zt-mega__name {
	display: -webkit-box;
	overflow: hidden;
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.35;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.zt-mega__price { font-family: var(--wp--preset--font-family--heading); font-weight: 600; }
.zt-mega__price del { color: var(--zt-muted); font-weight: 400; }
.zt-mega__price ins { color: var(--zt-rust); text-decoration: none; }

/* Foto de campaña */
.zt-mega__promo {
	position: relative;
	display: block;
	min-height: 100%;
	border-radius: var(--zt-radius-lg);
	overflow: hidden;
	color: #fff;
	isolation: isolate;
}
.zt-mega__promo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 1s var(--zt-ease); }
.zt-mega__promo::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, transparent 35%, rgba(17, 24, 39, .8)); }
.zt-mega__promo:hover img { transform: scale(1.05); }
.zt-mega__promo-text { position: absolute; left: 1.25rem; right: 1.25rem; bottom: 1.25rem; display: grid; gap: .3rem; }
.zt-mega__promo-text small { font-size: var(--wp--preset--font-size--xs); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; opacity: .85; }
.zt-mega__promo-text strong { font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--lg); line-height: 1.2; }
.zt-mega__promo-cta { margin-top: .35rem; font-size: var(--wp--preset--font-size--sm); font-weight: 600; }
.zt-mega__promo:hover { color: #fff; }

/* Página atenuada detrás del panel */
.zt-site-header::after {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -1;
	background: rgba(17, 24, 39, .35);
	opacity: 0;
	pointer-events: none;
	transition: opacity .25s;
}
.zt-mega-open .zt-site-header::after { opacity: 1; }

@media (max-width: 1200px) {
	.zt-mega__inner { grid-template-columns: 220px minmax(0, 1fr); }
	.zt-mega__promo { display: none; }
}
@media (max-width: 1000px) {
	.zt-mega { display: none; }
}

/* ==========================================================================
   Anchos: 1440 px en general; tienda, categorías y búsqueda a 1600 px
   (cabecera y pie incluidos, para que todo quede alineado)
   ========================================================================== */

body.post-type-archive-product,
body.tax-product_cat,
body.tax-product_tag,
body.search-results.woocommerce,
body.woocommerce-shop { --wp--style--global--wide-size: 1600px; }

@media (min-width: 1500px) {
	.zt-products--archive .wc-block-product-template { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
	.zt-shop__body { grid-template-columns: 280px minmax(0, 1fr); }
}

/* ---------- Envío gratis ---------- */

.zt-announce__list strong { font-weight: 700; }
.zt-buy__pricing { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; margin-top: .85rem; }
.zt-buy__pricing .zt-buy__price { margin-top: 0; }
.zt-free-ship {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	margin: 0;
	padding: .35rem .8rem;
	border-radius: 999px;
	background: #e7f2e9;
	color: #2f6b3a;
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 600;
}
.zt-free-ship svg { width: 1.15rem; height: 1.15rem; }
.zt-archive-hero__ship { margin-left: .5rem; background: #e7f2e9; color: #2f6b3a; font-weight: 600; }
@media (max-width: 520px) { .zt-archive-hero__ship { margin-left: 0; margin-top: .5rem; } }

/* ---------- Entrega: España + 24/48 h ---------- */

.zt-delivery { padding-block: clamp(1.25rem, 3vw, 2rem); background: var(--zt-ink); color: #fff; }
.zt-delivery__list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin: 0 auto; padding: 0; list-style: none; }
.zt-delivery__item { display: flex; align-items: center; gap: 1rem; }
.zt-delivery__item + .zt-delivery__item { padding-left: 1.5rem; border-left: 1px solid rgba(255, 255, 255, .15); }
.zt-delivery__icon { display: grid; place-items: center; flex-shrink: 0; width: 3.25rem; height: 3.25rem; border-radius: 50%; background: rgba(228, 167, 127, .16); color: #e4a77f; }
.zt-delivery__icon svg { width: 1.6rem; height: 1.6rem; }
.zt-delivery strong { display: block; font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--lg); font-weight: 600; }
.zt-delivery__item span span { color: rgba(255, 255, 255, .7); font-size: var(--wp--preset--font-size--sm); }
@media (max-width: 781px) {
	.zt-delivery__list { grid-template-columns: 1fr; gap: 1rem; }
	.zt-delivery__item + .zt-delivery__item { padding-left: 0; padding-top: 1rem; border-left: 0; border-top: 1px solid rgba(255, 255, 255, .15); }
	.zt-delivery__icon { width: 2.75rem; height: 2.75rem; }
}

.zt-ship-box {
	margin-top: 1.4rem;
	padding: .95rem 1.1rem;
	border: 1px solid #cfe5d4;
	border-radius: var(--zt-radius);
	background: #f1f8f2;
	color: #24502d;
}
.zt-ship-box p { margin: 0; }
.zt-ship-box__head { display: flex; align-items: center; gap: .55rem; font-size: var(--wp--preset--font-size--md); }
.zt-ship-box__head svg { flex-shrink: 0; width: 1.4rem; height: 1.4rem; color: #2f6b3a; }
.zt-ship-box__eta { margin-top: .3rem !important; padding-left: 1.95rem; font-size: var(--wp--preset--font-size--sm); color: #3d6b46; }
.zt-ship-box__eta strong { color: #1f4527; }

/* ---------- Formulario de desistimiento ---------- */

.zt-withdraw { margin-block: 1.5rem; padding: clamp(1.25rem, 3vw, 2rem); border-radius: var(--zt-radius-lg); background: #fff; border: 1px solid var(--zt-line); }
.zt-withdraw__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.25rem; }
@media (max-width: 600px) { .zt-withdraw__grid { grid-template-columns: 1fr; } }
.zt-field { display: flex; flex-direction: column; gap: .35rem; margin: 0 0 1rem; }
.zt-field label { font-size: var(--wp--preset--font-size--sm); font-weight: 600; }
.zt-field input, .zt-field textarea { padding: .75rem 1rem; border: 1px solid var(--zt-line); border-radius: 12px; background: var(--zt-cream); font: inherit; }
.zt-field input:focus, .zt-field textarea:focus { outline: 2px solid var(--zt-ink); outline-offset: 1px; }
.zt-field small { color: var(--zt-muted); font-size: var(--wp--preset--font-size--xs); }
.zt-withdraw__submit { width: 100%; padding-block: 1rem !important; font-size: var(--wp--preset--font-size--md) !important; font-weight: 600 !important; }
.zt-withdraw__msg { margin: .9rem 0 0; font-size: var(--wp--preset--font-size--sm); }
.zt-withdraw__msg:empty { display: none; }
.zt-withdraw__msg.is-ok { padding: .8rem 1rem; border-radius: 12px; background: #f1f8f2; color: #24502d; }
.zt-withdraw__msg.is-error { color: #b42318; }
.zt-footer__contact { margin-top: 1rem; line-height: 1.8; }
.zt-footer__contact a { color: #fff; }
.zt-footer__social { display: flex; gap: .6rem; margin-top: 1rem; }
.zt-footer__social a { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border: 1px solid rgba(255, 255, 255, .25); border-radius: 50%; color: #fff; transition: background .2s, border-color .2s; }
.zt-footer__social a:hover { background: var(--zt-rust, #944922); border-color: transparent; }
.zt-footer__social svg { width: 1.25rem; height: 1.25rem; }
.zt-footer__bottom nav { flex-wrap: wrap; gap: .5rem 1.25rem; }
.zt-withdraw-link { text-decoration: underline; text-underline-offset: 3px; }

/* Enlaces dentro del texto de las páginas (legales, ayuda) */
.zt-page .wp-block-post-content a:not(.wp-element-button) { color: var(--zt-rust); text-decoration: underline; text-underline-offset: 3px; }
.zt-page .wp-block-post-content a:not(.wp-element-button):hover { color: var(--zt-ink); }
.zt-page .wp-block-post-content mark { background: #fff3c4; }

/* ==========================================================================
   Banner de cookies (Complianz) con el estilo de la tienda
   ========================================================================== */

body .cmplz-cookiebanner {
	--cmplz_banner_background_color: #fff !important;
	--cmplz_banner_border_color: var(--zt-line) !important;
	--cmplz_banner_border_width: 1px !important;
	--cmplz_banner_border_radius: 22px !important;
	--cmplz_text_color: var(--zt-muted) !important;
	--cmplz_hyperlink_color: var(--zt-ink) !important;
	--cmplz_category_body_font_color: var(--zt-muted) !important;
	--cmplz_category_header_always_active_color: #2f6b3a !important;
	--cmplz_slider_active_color: var(--zt-rust) !important;
	--cmplz_slider_inactive_color: var(--zt-line) !important;
	--cmplz_slider_bullet_color: #fff !important;
	--cmplz_button_border_radius: 999px !important;
	--cmplz_button_font_size: 14px !important;
	--cmplz_button_accept_background_color: var(--zt-ink) !important;
	--cmplz_button_accept_border_color: var(--zt-ink) !important;
	--cmplz_button_accept_text_color: #fff !important;
	--cmplz_button_deny_background_color: #fff !important;
	--cmplz_button_deny_border_color: var(--zt-ink) !important;
	--cmplz_button_deny_text_color: var(--zt-ink) !important;
	--cmplz_button_settings_background_color: transparent !important;
	--cmplz_button_settings_border_color: transparent !important;
	--cmplz_button_settings_text_color: var(--zt-muted) !important;
	--cmplz_text_font_size: 13px !important;
	--cmplz_title_font_size: 17px !important;
	--cmplz_link_font_size: 12px !important;
	font-family: var(--wp--preset--font-family--body) !important;
	box-shadow: 0 24px 60px -18px rgba(17, 24, 39, .35) !important;
}
body .cmplz-cookiebanner .cmplz-title {
	font-family: var(--wp--preset--font-family--heading) !important;
	font-weight: 600 !important;
	color: var(--zt-ink) !important;
}
body .cmplz-cookiebanner .cmplz-message { line-height: 1.55 !important; }
body .cmplz-cookiebanner .cmplz-btn {
	height: auto !important;
	min-height: 46px !important;
	font-weight: 600 !important;
	border-width: 1.5px !important;
	transition: background .2s, color .2s !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover { background: var(--zt-rust) !important; border-color: var(--zt-rust) !important; }
body .cmplz-cookiebanner .cmplz-btn.cmplz-deny:hover { background: var(--zt-ink) !important; color: #fff !important; }
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences,
body .cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences { text-decoration: underline; text-underline-offset: 3px; font-weight: 500 !important; }
body .cmplz-cookiebanner .cmplz-close { color: var(--zt-muted) !important; }
body .cmplz-cookiebanner .cmplz-links .cmplz-link { color: var(--zt-muted) !important; }
body .cmplz-cookiebanner .cmplz-category { background: var(--zt-cream) !important; border-radius: 12px !important; }

/* Escritorio: tarjeta en la esquina inferior izquierda, sin tapar el botón de compra */
@media (min-width: 769px) {
	body .cmplz-cookiebanner.cmplz-bottom-right,
	body .cmplz-cookiebanner.cmplz-bottom-left,
	body .cmplz-cookiebanner.cmplz-bottom {
		left: 1.25rem !important;
		right: auto !important;
		bottom: 1.25rem !important;
		width: min(420px, calc(100vw - 2.5rem)) !important;
	}
}
/* Móvil: más compacto */
@media (max-width: 768px) {
	body .cmplz-cookiebanner {
		--cmplz_text_font_size: 12px !important;
		left: .75rem !important;
		right: .75rem !important;
		bottom: .75rem !important;
		width: auto !important;
		padding: 1rem 1.1rem !important;
		gap: .6rem !important;
	}
	body .cmplz-cookiebanner .cmplz-buttons { display: grid !important; grid-template-columns: 1fr 1fr; gap: .5rem !important; }
	body .cmplz-cookiebanner .cmplz-btn { margin: 0 !important; width: 100% !important; min-height: 44px !important; }
	body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences,
	body .cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences { grid-column: 1 / -1; min-height: 32px !important; }
}

/* ---------- Botón flotante de WhatsApp ---------- */

.zt-wa {
	position: fixed;
	right: clamp(1rem, 2vw, 1.5rem);
	bottom: clamp(1rem, 2vw, 1.5rem);
	z-index: 90;
	display: grid;
	place-items: center;
	width: 3.6rem;
	height: 3.6rem;
	border-radius: 50%;
	background: #25d366;
	color: #fff;
	box-shadow: 0 10px 30px -6px rgba(37, 211, 102, .55), 0 4px 12px rgba(17, 24, 39, .18);
	transition: transform .25s var(--zt-ease), box-shadow .25s;
}
.zt-wa:hover, .zt-wa:focus-visible { transform: scale(1.07); color: #fff; box-shadow: 0 14px 36px -6px rgba(37, 211, 102, .65), 0 6px 16px rgba(17, 24, 39, .2); }
.zt-wa svg { width: 1.9rem; height: 1.9rem; }
.zt-wa__tip {
	position: absolute;
	right: calc(100% + .7rem);
	padding: .45rem .8rem;
	border-radius: 999px;
	background: var(--zt-ink);
	color: #fff;
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 500;
	white-space: nowrap;
	opacity: 0;
	transform: translateX(6px);
	pointer-events: none;
	transition: opacity .2s, transform .2s;
}
@media (hover: hover) {
	.zt-wa:hover .zt-wa__tip { opacity: 1; transform: none; }
}
@media (max-width: 768px) {
	.zt-wa { width: 3.25rem; height: 3.25rem; }
	.zt-wa svg { width: 1.7rem; height: 1.7rem; }
}
/* No pisa el banner de cookies ni el menú del móvil */
body:has(.cmplz-cookiebanner.cmplz-show) .zt-wa { z-index: 1; }
@media (max-width: 768px) {
	body:has(.cmplz-cookiebanner.cmplz-show) .zt-wa { opacity: 0; pointer-events: none; }
}
.zt-mega-open .zt-wa { opacity: 0; pointer-events: none; }

/* ---------- Mi cuenta: acceso y registro ---------- */

.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.lost_reset_password {
	padding: clamp(1.25rem, 3vw, 2rem) !important;
	border: 1px solid var(--zt-line) !important;
	border-radius: var(--zt-radius-lg) !important;
	background: #fff;
}
.woocommerce form .form-row label { font-size: var(--wp--preset--font-size--sm); font-weight: 600; line-height: 1.5; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	padding: .75rem 1rem !important;
	border: 1px solid var(--zt-line) !important;
	border-radius: 12px !important;
	background: var(--zt-cream) !important;
	font: inherit;
}
.woocommerce form .form-row input.input-text:focus { outline: 2px solid var(--zt-ink); outline-offset: 1px; }
.woocommerce form .woocommerce-privacy-policy-text,
.woocommerce form.register > p:not(.form-row) { color: var(--zt-muted); font-size: var(--wp--preset--font-size--sm); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: .6rem .9rem; border-radius: 10px; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: var(--zt-sand); color: var(--zt-rust); }

/* ==========================================================================
   Mi cuenta
   ========================================================================== */

.zt-myaccount { padding-block: clamp(1.5rem, 4vw, 3.5rem) var(--wp--preset--spacing--70); }
.zt-account__title { margin-bottom: var(--wp--preset--spacing--50); }

/* --- Sin sesión: tarjeta partida (foto + formulario) --- */
body:not(.logged-in) .zt-account__shell {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	max-width: 1120px;
	min-height: 640px;
	margin-inline: auto !important;
	border-radius: 28px;
	background: #fff;
	box-shadow: 0 30px 80px -30px rgba(17, 24, 39, .35);
	overflow: hidden;
}
body:not(.logged-in) .zt-account__title { display: none; }
.zt-acc-intro { position: relative; display: flex; align-items: flex-end; min-height: 100%; color: #fff; isolation: isolate; }
.zt-acc-intro__img { position: absolute; inset: 0; z-index: -2; width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; object-position: 50% 30%; }
.zt-acc-intro::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(17, 24, 39, .05) 20%, rgba(17, 24, 39, .85) 100%); }
.zt-acc-intro__body { padding: clamp(1.75rem, 4vw, 3rem); }
.zt-acc-intro__kicker { margin: 0 0 .6rem; font-size: var(--wp--preset--font-size--xs); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #f0c4a6; }
.zt-acc-intro__title { margin: 0; color: #fff; font-size: clamp(2rem, 3.4vw, 2.9rem); line-height: 1.05; letter-spacing: -.02em; }
.zt-acc-intro__title em { font-family: var(--wp--preset--font-family--body); font-weight: 300; color: #f0c4a6; }
.zt-acc-intro__list { display: grid; gap: .7rem; margin: 1.5rem 0 0; padding: 0; list-style: none; font-size: var(--wp--preset--font-size--sm); }
.zt-acc-intro__list li { display: flex; align-items: center; gap: .7rem; }
.zt-acc-intro__list svg { flex-shrink: 0; width: 1.6rem; height: 1.6rem; padding: .3rem; border-radius: 50%; background: rgba(255, 255, 255, .16); backdrop-filter: blur(6px); color: #fff; }

body:not(.logged-in) .zt-account__main {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(1.75rem, 5vw, 4rem);
}
body:not(.logged-in) .zt-account__content > .woocommerce { max-width: 440px; margin-inline: auto; width: 100%; }

/* Pestañas Acceder / Crear cuenta */
.zt-auth-tabs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: .3rem;
	margin: 0 0 1.75rem;
	padding: .3rem;
	border-radius: 999px;
	background: var(--zt-sand);
}
.zt-auth-tabs button {
	padding: .75rem 1rem;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--zt-muted);
	font: 600 var(--wp--preset--font-size--sm) var(--wp--preset--font-family--body);
	cursor: pointer;
	transition: background .2s, color .2s, box-shadow .2s;
}
.zt-auth-tabs button[aria-selected="true"] { background: #fff; color: var(--zt-ink); box-shadow: var(--zt-shadow); }
#customer_login.zt-has-tabs { display: block; }
#customer_login.zt-has-tabs > .u-column1,
#customer_login.zt-has-tabs > .u-column2 { float: none; width: 100%; max-width: none; padding: 0; }
#customer_login.zt-has-tabs > [hidden] { display: none !important; }
#customer_login.zt-has-tabs h2 { display: none; }
.zt-auth-lead { margin: 0 0 1.25rem; color: var(--zt-muted); font-size: var(--wp--preset--font-size--sm); }
.zt-auth-heading { margin: 0 0 .35rem; font-size: var(--wp--preset--font-size--title); }

/* Formularios dentro de la tarjeta: sin caja propia */
body:not(.logged-in) .zt-myaccount .woocommerce form.login,
body:not(.logged-in) .zt-myaccount .woocommerce form.register,
body:not(.logged-in) .zt-myaccount .woocommerce form.lost_reset_password { padding: 0 !important; border: 0 !important; background: none; margin: 0; }
.zt-myaccount .woocommerce form .form-row { padding: 0; margin: 0 0 1rem; }
.zt-myaccount .woocommerce form .form-row input.input-text { width: 100%; padding: .9rem 1.1rem !important; }
.zt-myaccount .woocommerce form .password-input { display: block; width: 100%; }
.zt-myaccount .woocommerce-form-login__submit,
.zt-myaccount .woocommerce-form-register__submit,
.zt-myaccount .woocommerce-Button {
	width: 100%;
	min-height: 3.25rem;
	margin-top: .5rem !important;
	border-radius: 999px !important;
	background: var(--zt-ink) !important;
	color: #fff !important;
	font-weight: 600 !important;
}
.zt-myaccount .woocommerce-form-login__submit:hover,
.zt-myaccount .woocommerce-form-register__submit:hover,
.zt-myaccount .woocommerce-Button:hover { background: var(--zt-rust) !important; }
.zt-myaccount .woocommerce-form-login .form-row:has(.woocommerce-form-login__rememberme) { display: flex; flex-direction: column-reverse; gap: .75rem; }
.zt-myaccount .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: .5rem; font-size: var(--wp--preset--font-size--sm); font-weight: 400 !important; }
.zt-myaccount .woocommerce-form-login__rememberme input { accent-color: var(--zt-rust); }
.zt-myaccount .woocommerce-LostPassword { margin: .5rem 0 0; text-align: center; font-size: var(--wp--preset--font-size--sm); }
.zt-myaccount .woocommerce-LostPassword a { color: var(--zt-muted); text-decoration: underline; text-underline-offset: 3px; }

/* --- Con sesión: menú lateral + contenido a todo el ancho --- */
.logged-in .zt-myaccount .woocommerce { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
.logged-in .zt-myaccount .woocommerce-MyAccount-navigation,
.logged-in .zt-myaccount .woocommerce-MyAccount-content { float: none; width: auto; }
.logged-in .zt-myaccount .woocommerce-MyAccount-navigation { position: sticky; top: calc(var(--zt-header-h, 90px) + 1rem); padding: .75rem; border: 1px solid var(--zt-line); border-radius: var(--zt-radius-lg); background: #fff; }
.logged-in .zt-myaccount .woocommerce-MyAccount-content { padding: clamp(1.25rem, 3vw, 2rem); border-radius: var(--zt-radius-lg); background: #fff; border: 1px solid var(--zt-line); }
.logged-in .zt-myaccount .woocommerce-orders-table { border-radius: 12px; overflow: hidden; }

@media (max-width: 860px) {
	body:not(.logged-in) .zt-account__shell { grid-template-columns: 1fr; min-height: 0; border-radius: 22px; }
	.zt-acc-intro { min-height: 230px; }
	.zt-acc-intro__body { padding: 1.5rem; }
	.zt-acc-intro__list { display: none; }
	.logged-in .zt-myaccount .woocommerce { grid-template-columns: 1fr; }
	.logged-in .zt-myaccount .woocommerce-MyAccount-navigation { position: static; }
}

.zt-filters .zt-filter-note {
	margin: .9rem 0 0 !important;
	padding: .7rem .85rem;
	border-radius: 12px;
	background: var(--zt-sand);
	color: var(--zt-muted);
	font-size: var(--wp--preset--font-size--xs);
	line-height: 1.5;
}
.zt-filters .zt-filter-note strong { color: var(--zt-ink); }

/* ---------- Texto de la categoría (bloque category-content) ---------- */

.zt-cat-content {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: start;
	margin-top: clamp(3rem, 6vw, 5rem) !important;
	padding: clamp(1.75rem, 4vw, 3.25rem);
	border: 1px solid var(--zt-line);
	border-radius: var(--zt-radius-lg);
	background: #fff;
}
.zt-cat-content h2 { margin: 0 0 .9rem; font-size: var(--wp--preset--font-size--xl); line-height: 1.15; }
.zt-cat-content h3 { margin: 1.75rem 0 .5rem; font-size: var(--wp--preset--font-size--lg); }
.zt-cat-content__text { max-width: 68ch; line-height: 1.75; }
.zt-cat-content__text > :first-child { margin-top: 0; }
.zt-cat-content__text p { margin: 0 0 1rem; }
.zt-cat-content__text ul { margin: 0 0 1rem; padding-left: 1.15rem; }
.zt-cat-content__text li { margin-bottom: .35rem; }
.zt-cat-content__text a { color: var(--zt-rust-dark); text-decoration: underline; text-underline-offset: .2em; }
.zt-cat-content__text a:hover { color: var(--zt-ink); }
.zt-cat-content__faq { position: sticky; top: 6rem; }
.zt-cat-content__faq h2 { font-size: var(--wp--preset--font-size--lg); }
.zt-cat-content__faq .zt-acc > div { margin: 0 0 1rem; color: var(--zt-muted); font-size: var(--wp--preset--font-size--sm); line-height: 1.7; }
.zt-cat-content__faq .zt-acc > div p { margin: 0 0 .6rem; }
.zt-cat-content__faq .zt-acc a { color: var(--zt-rust-dark); }
@media (max-width: 900px) {
	.zt-cat-content { grid-template-columns: minmax(0, 1fr); }
	.zt-cat-content__faq { position: static; }
}

/* Colecciones en los menús (Botas > Botas cowboy…) */
.zt-mega__subs { display: flex; flex-wrap: wrap; gap: .4rem; margin: -.25rem 0 1.1rem; padding: 0; list-style: none; }
.zt-mega__subs a {
	display: inline-block;
	padding: .3rem .8rem;
	border: 1px solid var(--zt-line);
	border-radius: 999px;
	background: #fff;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 500;
	color: var(--zt-ink);
	transition: border-color .15s, color .15s;
}
.zt-mega__subs a:hover { border-color: var(--zt-rust); color: var(--zt-rust); }
.zt-mmenu__group .zt-mmenu__sub { margin: -.15rem 0 .4rem .75rem; padding-left: .75rem; border-left: 2px solid var(--zt-line); }
.zt-mmenu__group .zt-mmenu__sub a { padding: .4rem .75rem; font-size: var(--wp--preset--font-size--sm); color: var(--zt-muted); }
.zt-buy__more { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin-top: 1rem; font-size: var(--wp--preset--font-size--sm); }
.zt-buy__more span { margin-right: .2rem; color: var(--zt-muted); }
.zt-buy__more a { padding: .3rem .8rem; border: 1px solid var(--zt-line); border-radius: 999px; background: #fff; font-weight: 500; transition: border-color .15s, color .15s; }
.zt-buy__more a:hover { border-color: var(--zt-rust); color: var(--zt-rust); }

/* ---------- Campaña con código (bloque campaign) ---------- */

.zt-campaign {
	margin-block: 0 clamp(2rem, 5vw, 3.5rem);
	padding: clamp(2rem, 6vw, 4.5rem) clamp(1.5rem, 5vw, 4rem);
	border-radius: var(--zt-radius-lg);
	background: radial-gradient(120% 140% at 100% 0%, #2a3346 0%, var(--zt-ink) 55%);
	color: #fff;
	text-align: center;
}
.zt-campaign__eyebrow { margin: 0 0 .75rem; font-size: var(--wp--preset--font-size--xs); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #e4a77f; }
.zt-campaign__title { margin: 0; font-family: var(--wp--preset--font-family--heading); font-size: clamp(2.2rem, 7vw, 4.25rem); font-weight: 700; line-height: 1; letter-spacing: -.02em; }
.zt-campaign__text { max-width: 46ch; margin: 1rem auto 0; color: rgba(255, 255, 255, .8); line-height: 1.6; }
.zt-campaign__code {
	display: inline-flex;
	align-items: center;
	gap: .9rem;
	margin: 1.75rem 0 0;
	padding: .7rem 1.4rem;
	border: 2px dashed rgba(228, 167, 127, .7);
	border-radius: var(--zt-radius);
}
.zt-campaign__code span { font-size: var(--wp--preset--font-size--xs); letter-spacing: .12em; text-transform: uppercase; color: rgba(255, 255, 255, .7); }
.zt-campaign__code strong { font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--xl); letter-spacing: .08em; }
.zt-campaign__cta { display: table; margin: 1.75rem auto 0; padding: .9rem 1.6rem; border-radius: 999px; background: var(--zt-rust); color: #fff; font-weight: 600; transition: background .2s; }
.zt-campaign__cta:hover { background: var(--zt-rust-dark); color: #fff; }
/* Dentro de una página, los enlaces del contenido van en óxido y subrayados: el botón no. */
.zt-page .wp-block-post-content .zt-campaign a.zt-campaign__cta,
.zt-page .wp-block-post-content .zt-campaign a.zt-campaign__cta:hover { color: #fff; text-decoration: none; }

/* ---------- Blog ---------- */

.zt-blog, .zt-article { padding-block: clamp(2rem, 5vw, 3.5rem) var(--wp--preset--spacing--70); }
.zt-blog-hero { margin-bottom: clamp(2rem, 4vw, 3rem) !important; }
.zt-blog-hero__title { margin: 0; font-size: clamp(2.4rem, 5vw, 4rem); line-height: 1; letter-spacing: -.03em; }
.zt-blog-hero__lead { max-width: 60ch; margin: 1rem 0 0; color: var(--zt-muted); font-size: var(--wp--preset--font-size--lg); line-height: 1.55; }
.zt-blog-hero .zt-chips { margin-top: 1.5rem; }

.zt-post-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 2.5rem) clamp(1rem, 2.5vw, 2rem); margin: 0; padding: 0; list-style: none; }
@media (max-width: 900px) { .zt-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .zt-post-grid { grid-template-columns: minmax(0, 1fr); } }
.zt-post-grid > li { position: relative; display: flex; flex-direction: column; margin: 0; }
.zt-post-card__img { display: block; margin: 0 0 1rem !important; overflow: hidden; border-radius: var(--zt-radius); background: var(--zt-linen); aspect-ratio: 3 / 2; }
.zt-post-card__img img { display: block; width: 100%; height: 100% !important; object-fit: cover; transition: transform .6s var(--zt-ease); }
.zt-post-grid > li:hover .zt-post-card__img img { transform: scale(1.04); }
.zt-post-card__cat, .zt-post-card__cat a { margin: 0 0 .4rem !important; font-size: var(--wp--preset--font-size--xs); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--zt-rust); }
.zt-post-card__title { margin: 0 0 .5rem !important; font-size: var(--wp--preset--font-size--lg) !important; line-height: 1.25 !important; }
.zt-post-card__title a::after { content: ""; position: absolute; inset: 0; }
.zt-post-card__excerpt { margin: 0; color: var(--zt-muted); font-size: var(--wp--preset--font-size--sm); line-height: 1.6; }
.zt-post-card__excerpt .wp-block-post-excerpt__more-text { display: none; }

/* Artículo */
.zt-post-hero { margin-bottom: clamp(1.5rem, 3vw, 2.25rem) !important; }
.zt-post-hero__title { margin: 0; font-size: clamp(2.1rem, 4.6vw, 3.5rem); line-height: 1.05; letter-spacing: -.025em; }
.zt-post-hero__lead { margin: 1.1rem 0 0; color: var(--zt-muted); font-size: var(--wp--preset--font-size--lg); line-height: 1.55; }
.zt-post-hero__meta { display: flex; flex-wrap: wrap; gap: .4rem; margin: 1.25rem 0 0; color: var(--zt-muted); font-size: var(--wp--preset--font-size--sm); }
.zt-article__cover { margin-bottom: clamp(2rem, 4vw, 3rem) !important; overflow: hidden; border-radius: var(--zt-radius-lg); }
.zt-article__body { font-size: 1.075rem; line-height: 1.8; }
.zt-article__body > * + * { margin-top: 1.1rem; }
.zt-article__body h2 { margin-top: 2.75rem; font-size: var(--wp--preset--font-size--xl); line-height: 1.15; }
.zt-article__body h3 { margin-top: 2rem; font-size: var(--wp--preset--font-size--lg); }
.zt-article__body ul, .zt-article__body ol { padding-left: 1.2rem; }
.zt-article__body li + li { margin-top: .4rem; }
.zt-article__body a:not(.wp-element-button):not(.zt-mega__card):not(.zt-shelf__head a) { color: var(--zt-rust-dark); text-decoration: underline; text-underline-offset: .2em; }
.zt-article__body a:not(.wp-element-button):not(.zt-mega__card):hover { color: var(--zt-ink); }
.zt-article__body blockquote { margin-inline: 0; padding: .25rem 0 .25rem 1.25rem; border-left: 3px solid var(--zt-rust); font-style: italic; }
:is(.zt-article__body, .zt-page .wp-block-post-content) .zt-tip { padding: 1.25rem 1.5rem; border-radius: var(--zt-radius); background: var(--zt-sand); }
:is(.zt-article__body, .zt-page .wp-block-post-content) .zt-tip > :first-child { margin-top: 0; }

/* Productos dentro de un artículo (bloque collection-products) */
.zt-shelf { margin-block: 2rem 2.5rem !important; padding: clamp(1.25rem, 3vw, 1.75rem); border: 1px solid var(--zt-line); border-radius: var(--zt-radius-lg); background: #fff; }
.zt-shelf__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: .5rem 1rem; margin-bottom: 1rem; }
.zt-shelf__title { margin: 0 !important; font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--lg); font-weight: 600; }
.zt-shelf__head a { font-size: var(--wp--preset--font-size--sm); font-weight: 600; color: var(--zt-rust); text-decoration: none; }
.zt-shelf__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin: 0 !important; padding: 0 !important; list-style: none; line-height: 1.4; }
.zt-shelf__grid li { margin: 0 !important; }
.zt-shelf .zt-mega__img { background: var(--zt-cream); }
@media (max-width: 700px) { .zt-shelf__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Llamada a la tienda y relacionados */
.zt-article__cta { margin-top: clamp(3rem, 6vw, 4.5rem) !important; padding: clamp(1.75rem, 4vw, 2.75rem); border-radius: var(--zt-radius-lg); background: var(--zt-ink); color: #fff; text-align: center; }
.zt-article__cta .zt-eyebrow { color: #e4a77f; }
.zt-article__cta-title { margin: 0 0 .5rem; font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--xl); font-weight: 600; line-height: 1.15; }
.zt-article__cta p:not(.zt-eyebrow):not(.zt-article__cta-title) { color: rgba(255, 255, 255, .78); }
.zt-article__cta .wp-block-buttons { justify-content: center; margin-top: 1.25rem; }
.zt-article__cta .zt-btn-ghost .wp-block-button__link { border-color: rgba(255, 255, 255, .5); color: #fff; }
.zt-related-posts { margin-top: clamp(3rem, 6vw, 5rem) !important; }
.zt-related-posts h2 { margin: 0 0 1.75rem; }
.zt-article__cta .zt-btn .wp-block-button__link { background: var(--zt-rust); color: #fff; }
.zt-article__cta .zt-btn .wp-block-button__link:hover { background: var(--zt-rust-dark); }
:is(.zt-article__body, .zt-page .wp-block-post-content) .zt-table { margin-block: 1.75rem; overflow-x: auto; }
:is(.zt-article__body, .zt-page .wp-block-post-content) .zt-table table { width: 100%; border-collapse: collapse; font-size: var(--wp--preset--font-size--sm); line-height: 1.5; }
:is(.zt-article__body, .zt-page .wp-block-post-content) .zt-table th { background: var(--zt-ink); color: #fff; font-weight: 600; text-align: left; }
:is(.zt-article__body, .zt-page .wp-block-post-content) .zt-table th, :is(.zt-article__body, .zt-page .wp-block-post-content) .zt-table td { padding: .7rem .9rem; border: 0; border-bottom: 1px solid var(--zt-line); }
:is(.zt-article__body, .zt-page .wp-block-post-content) .zt-table th:first-child { border-top-left-radius: 10px; }
:is(.zt-article__body, .zt-page .wp-block-post-content) .zt-table th:last-child { border-top-right-radius: 10px; }
:is(.zt-article__body, .zt-page .wp-block-post-content) .zt-table tbody tr:nth-child(even) { background: #fff; }
:is(.zt-article__body, .zt-page .wp-block-post-content) .zt-table td:first-child { font-weight: 600; }
/* Enlaces dentro de la descripción de la ficha */
.zt-acc__body a { color: var(--zt-rust-dark); text-decoration: underline; text-underline-offset: .2em; }
.zt-acc__body a:hover { color: var(--zt-ink); }
