/* Coloma García — estilos del tema.
   Los valores de color, fuente y espaciado vienen de theme.json como --wp--preset--* y --wp--custom--*.
   No escribir literales de color o fuente aquí. */

/* ---------- Base ---------- */
*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}

body {
	margin: 0;
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
	-webkit-font-smoothing: antialiased;
}

img, svg, video { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; transition: color var(--wp--custom--transition); }
p { margin: 0 0 1em; }
ul[class], ol[class] { list-style: none; margin: 0; padding: 0; }
h1, h2, h3, h4 { margin: 0 0 0.5em; text-wrap: balance; }
:focus-visible { outline: 2px solid var(--wp--preset--color--naranja); outline-offset: 3px; }
a, button, summary, [role="button"] { -webkit-tap-highlight-color: transparent; }
/* Hover de enlaces y botones de bloque: aquí y no en theme.json, para limitarlo a dispositivos con ratón
   (en táctil el color se queda pegado tras tocar). Misma especificidad que la que genera theme.json. */
@media (hover: hover) {
	a:where(:not(.wp-element-button)):hover { color: var(--wp--preset--color--naranja); }
	:where(.wp-element-button, .wp-block-button__link):hover { background-color: var(--wp--preset--color--burdeos); color: var(--wp--preset--color--crema); }
}

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px; overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	white-space: nowrap;
}
.skip-link:focus {
	position: fixed; top: 1rem; left: 1rem; z-index: 1000;
	width: auto; height: auto; clip: auto; clip-path: none;
	padding: 0.75rem 1.25rem;
	background: var(--wp--preset--color--marron);
	color: var(--wp--preset--color--crema);
}

.site-main { flex: 1 0 auto; overflow-x: clip; }
.text-center { text-align: center; }

/* ---------- Tipografía utilitaria ---------- */
.eyebrow {
	font-family: var(--wp--preset--font-family--label);
	font-size: var(--wp--preset--font-size--s);
	font-weight: 500;
	letter-spacing: var(--wp--custom--tracking);
	text-transform: uppercase;
	color: var(--wp--preset--color--naranja);
	margin-bottom: 1rem;
}
.eyebrow--marron { color: var(--wp--preset--color--marron); }
.eyebrow--crema  { color: var(--wp--preset--color--crema); }

.section-heading { margin-bottom: var(--wp--preset--spacing--40); max-width: 40.5rem; }
.section-heading--center { margin-inline: auto; text-align: center; }
.section-heading__title { margin: 0; }

/* ---------- Botones ---------- */
.btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 0.5em;
	font-family: var(--wp--preset--font-family--label);
	font-size: var(--wp--preset--font-size--s);
	font-weight: 500;
	letter-spacing: var(--wp--custom--tracking);
	text-transform: uppercase;
	line-height: 1;
	min-height: 2.5rem;
	padding: 0 2.4em;
	border-radius: var(--wp--custom--radius--pill);
	border: 1.5px solid transparent;
	transition: background-color var(--wp--custom--transition), color var(--wp--custom--transition), border-color var(--wp--custom--transition);
}
.btn--naranja { background: var(--wp--preset--color--naranja); color: var(--wp--preset--color--marron); }
.btn--naranja:focus-visible { background: var(--wp--preset--color--burdeos); color: var(--wp--preset--color--crema); }
@media (hover: hover) { .btn--naranja:hover { background: var(--wp--preset--color--burdeos); color: var(--wp--preset--color--crema); } }
.btn--burdeos { background: var(--wp--preset--color--burdeos); color: var(--wp--preset--color--crema); }
.btn--burdeos:focus-visible { background: var(--wp--preset--color--marron); color: var(--wp--preset--color--crema); }
@media (hover: hover) { .btn--burdeos:hover { background: var(--wp--preset--color--marron); color: var(--wp--preset--color--crema); } }
.btn--wide { min-width: 19.5rem; }
.btn--md { min-width: 11rem; padding-inline: 1.5em; }
.news .btn, .site-footer .btn { padding-inline: 1.2em; }
.btn--outline { background: transparent; color: currentColor; border-color: currentColor; }
.btn--outline:focus-visible { background: var(--wp--preset--color--marron); color: var(--wp--preset--color--crema); border-color: var(--wp--preset--color--marron); }
@media (hover: hover) { .btn--outline:hover { background: var(--wp--preset--color--marron); color: var(--wp--preset--color--crema); border-color: var(--wp--preset--color--marron); } }

.link-more {
	font-family: var(--wp--preset--font-family--label);
	font-size: var(--wp--preset--font-size--s);
	font-weight: 500;
	letter-spacing: var(--wp--custom--tracking);
	text-transform: uppercase;
	border-bottom: 1px solid currentColor;
	padding-bottom: 0.2em;
}

/* ---------- Sección genérica ---------- */
.section {
	width: min(100%, calc(var(--wp--style--global--wide-size) + 2 * var(--wp--custom--gutter)));
	margin-inline: auto;
	padding-block: var(--wp--preset--spacing--60);
	padding-inline: var(--wp--custom--gutter);
}
.section--narrow { width: min(100%, calc(var(--wp--style--global--content-size) + 2 * var(--wp--custom--gutter))); }

/* ---------- Cabecera ---------- */
.site-header {
	position: sticky; top: 0; z-index: 100;
	background: var(--wp--preset--color--crema);
	border-bottom: 1px solid var(--wp--preset--color--gris);
}
.home .site-header__brand .site-logo { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.home .site-header { border-bottom: 0; }

.site-header__inner {
	display: flex; align-items: center; justify-content: space-between; gap: var(--wp--preset--spacing--30);
	min-height: var(--wp--custom--header--height);
	padding-block: 1rem;
	padding-inline: var(--wp--custom--gutter);
	width: min(100%, calc(var(--wp--style--global--wide-size) + 2 * var(--wp--custom--gutter)));
	margin-inline: auto;
}
.site-logo--text {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--l);
	text-transform: uppercase; letter-spacing: 0.04em; line-height: 0.95;
	max-width: 7ch;
}
.custom-logo { width: auto; max-height: 4rem; }
.site-logo--svg { display: inline-flex; }
.site-logo__svg { width: auto; height: clamp(2.6rem, 3.2vw, 3.9rem); }

.site-nav { display: flex; flex: 1; justify-content: space-between; align-items: center; gap: var(--wp--preset--spacing--40); margin-left: clamp(2rem, 7vw, 8.5rem); }
.home .site-nav { margin-left: 0; }
.site-nav__list { display: flex; gap: clamp(1rem, 3vw, 3.6rem); }
.site-nav__list a,
.site-nav__contact {
	font-family: var(--wp--preset--font-family--label);
	font-size: var(--wp--preset--font-size--s);
	letter-spacing: var(--wp--custom--tracking);
	text-transform: uppercase;
}
.site-nav__list .current-menu-item > a { color: var(--wp--preset--color--naranja); }
@media (hover: hover) { .site-nav__list a:hover { color: var(--wp--preset--color--naranja); } }
.site-nav__actions { display: flex; align-items: center; gap: 1.5rem; }
.cart-link { position: relative; display: inline-flex; }
.cart-link .icon { width: 1.4rem; height: 1.4rem; }
.cart-link__count {
	position: absolute; top: -0.5rem; right: -0.7rem;
	min-width: 1.1rem; height: 1.1rem; padding-inline: 0.25rem;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--naranja); color: var(--wp--preset--color--marron);
	font-size: 0.65rem; font-weight: 700; line-height: 1.1rem; text-align: center;
}

.nav-toggle {
	display: none; position: relative; width: 2.75rem; height: 2.75rem;
	background: none; border: 0; cursor: pointer; color: inherit;
}
.nav-toggle__bar, .nav-toggle__bar::before, .nav-toggle__bar::after {
	content: ""; position: absolute; left: 0.5rem; width: 1.75rem; height: 2px;
	background: currentColor; transition: transform var(--wp--custom--transition), opacity var(--wp--custom--transition);
}
.nav-toggle__bar { top: 50%; transform: translateY(-50%); }
.nav-toggle__bar::before { top: -8px; }
.nav-toggle__bar::after { top: 8px; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar { background: transparent; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar::before { transform: translateY(8px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar::after { transform: translateY(-8px) rotate(-45deg); }

/* Hamburguesa hasta 1199 px: el menú de escritorio no cabe por debajo de ~1200 (iPad en horizontal). */
@media (max-width: 1199px) {
	.nav-toggle { display: block; z-index: 2; }
	.site-header__brand { position: relative; z-index: 2; }
	.site-nav {
		position: fixed; inset: 0; z-index: 1; margin: 0;
		flex-direction: column; justify-content: center; gap: var(--wp--preset--spacing--40);
		background: var(--wp--preset--color--crema); color: var(--wp--preset--color--marron);
		opacity: 0; visibility: hidden; transform: translateY(-1rem);
		transition: opacity var(--wp--custom--transition), transform var(--wp--custom--transition), visibility 0s linear 200ms;
	}
	.site-nav.is-open { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
	.site-nav__list { flex-direction: column; align-items: center; gap: 0.25rem; }
	.site-nav__list a, .site-nav__contact { display: block; padding: 0.75rem 1.25rem; font-size: var(--wp--preset--font-size--m); }
	.site-nav__actions .cart-link { padding: 0.75rem; }
	body.nav-open { overflow: hidden; }
	body.nav-open .nav-toggle { color: var(--wp--preset--color--marron); }
}

/* ---------- Hero portada (provisional) ---------- */
.hero--home {
	position: relative; height: clamp(24rem, 49.22vw, 60rem);
	display: grid; place-items: center;
	background: var(--wp--preset--color--marron); color: var(--wp--preset--color--crema);
	padding-inline: var(--wp--custom--gutter);
}
.hero__title {
	font-size: var(--wp--preset--font-size--xxxxl);
	color: inherit; text-align: center; margin: 0;
}
.hero__sub {
	font-family: var(--wp--preset--font-family--label);
	font-size: var(--wp--preset--font-size--s);
	letter-spacing: 0.4em; text-transform: uppercase; text-align: center;
}

/* ---------- Tarjeta de blog ---------- */
.post-grid {
	display: grid; gap: clamp(1rem, 2.1vw, 2.5rem);
	grid-template-columns: minmax(0, 1fr);
}
@media (min-width: 600px) { .post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .post-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.card-post { display: flex; flex-direction: column; background: transparent !important; color: var(--wp--preset--color--marron) !important; }
.card-post__date { font-family: var(--wp--preset--font-family--label); font-size: var(--wp--preset--font-size--s); letter-spacing: var(--wp--custom--tracking); color: var(--wp--preset--color--naranja); margin: 0 0 0.75rem; }
.card-post__body { flex: 1; }
.card-post--naranja .card-post__body { background: var(--wp--preset--color--naranja); color: var(--wp--preset--color--marron); }
.card-post--burdeos .card-post__body { background: var(--wp--preset--color--burdeos); color: var(--wp--preset--color--crema); }
.card-post--oliva .card-post__body { background: var(--wp--preset--color--oliva); color: var(--wp--preset--color--crema); }
.card-post a { color: inherit; }
.card-post__media img { aspect-ratio: 392 / 329; object-fit: cover; width: 100%; }
.card-post__placeholder { display: flex; align-items: center; justify-content: center; aspect-ratio: 392 / 329; width: 100%; background: var(--wp--preset--color--crema-claro); color: var(--wp--preset--color--marron); }
.card-post__logo { width: 42%; height: auto; opacity: 0.85; }
.card-post__body { padding: 2.1rem 2.4rem 1.9rem; min-height: 11.2rem; display: flex; flex-direction: column; }
.card-post .eyebrow { color: inherit; opacity: 0.8; margin-bottom: 0.5rem; }
.card-post__title { font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--m); font-weight: 400; text-transform: none; letter-spacing: 0; color: inherit; margin-bottom: 1.4rem; line-height: 1.45; }
.card-post__title strong { font-weight: 700; }
.card-post__excerpt { display: none; }
.card-post .link-more {
	display: inline-flex; align-items: center; justify-content: center; align-self: flex-start;
	min-width: 7.4375rem; height: 1.875rem; padding: 0 1rem; margin-top: auto;
	border: 0; border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--marron-oscuro); color: var(--wp--preset--color--crema);
}
.card-post--burdeos .link-more, .card-post--oliva .link-more { background: var(--wp--preset--color--crema); color: var(--wp--preset--color--marron); }

/* ---------- Contenido editorial ---------- */
.entry-content { max-width: 68ch; }
.entry-content > * + * { margin-top: 1.25em; }

/* ---------- Paginación ---------- */
.pagination .nav-links { display: flex; gap: 1rem; justify-content: center; margin-top: var(--wp--preset--spacing--40); font-family: var(--wp--preset--font-family--label); letter-spacing: 0.15em; }
.pagination .current { color: var(--wp--preset--color--naranja); }

/* ---------- Pie (XD 1920: 660 alto; margen 91; dirección +63; redes +207; fila botón 87 / sellos 447..830 / Generalitat 1234; logotipo +311..+550 de 110 a 1800; legales +613) ---------- */
.site-footer {
	position: relative;
	background: var(--wp--preset--color--naranja);
	color: var(--wp--preset--color--marron);
	margin-top: var(--wp--preset--spacing--60);
	overflow: hidden;
}
.site-footer__seal { position: absolute; left: 75.7%; top: -2rem; width: clamp(12rem, 31.9vw, 38.3rem); opacity: 0.35; pointer-events: none; }
.site-footer__seal img { width: 100%; height: auto; filter: sepia(1) saturate(0.6) brightness(1.15); }
.site-footer a { color: inherit; }
.site-footer__inner {
	position: relative;
	width: min(100%, calc(var(--wp--style--global--wide-size) + 2 * var(--wp--custom--gutter)));
	margin-inline: auto;
	padding: 3.9rem clamp(1rem, 4.74vw, 5.7rem) 2.1rem;
	display: flex; flex-direction: column;
}
.site-footer__contact { font-size: var(--wp--preset--font-size--l); line-height: 1.6; }
.site-footer__contact p { margin: 0; }
.social-list { display: flex; gap: 1.5rem; margin: 0.25rem 0 0.7rem; }
.social-list .icon { width: 1.6rem; height: 1.6rem; }
.site-footer__seals { display: grid; grid-template-columns: 20.5% 45.2% 1fr; align-items: center; gap: 1rem 0; }
@media (max-width: 899px) { .site-footer__seals { grid-template-columns: 1fr; justify-items: start; gap: 1.5rem; } }
.site-footer .btn { min-width: 10.4rem; padding-inline: 1.2em; justify-self: start; }
.site-footer .btn--burdeos { color: var(--wp--preset--color--crema); }
@media (hover: hover) { .site-footer .btn--burdeos:hover { color: var(--wp--preset--color--crema); } }
.seals { display: flex; flex-wrap: wrap; gap: 1rem 1.6rem; align-items: center; max-width: 100%; }
.seals img { height: 4.25rem; width: auto; }
.seals--partners img { height: 4.5rem; }
.seals--partners { gap: 1rem 0.6rem; }
.site-footer__wordmark { width: 97%; margin: -0.3rem 0 0 1%; }
.site-footer__wordmark .icon { width: 100%; height: auto; overflow: visible; color: var(--wp--preset--color--burdeos); }
.site-footer__legal { margin-top: 3.25rem; }
.legal-list { display: flex; flex-wrap: wrap; gap: 0.6rem 1.9rem; font-size: var(--wp--preset--font-size--s); }
/* Pantallas táctiles: botones de 44 px y enlaces de texto de al menos 24 px (WCAG 2.5.8). */
@media (pointer: coarse) {
	.btn { min-height: 2.75rem; }
	.legal-list { gap: 0.25rem 1.9rem; }
	.legal-list a, .site-footer__contact a { display: inline-block; padding-block: 0.375rem; }
	.social-list a { display: inline-flex; padding: 0.6rem; margin: -0.6rem; }
}

/* =========================================================
   PORTADA
   ========================================================= */

/* ---------- Hero ---------- */
.hero--home { overflow: hidden; }
.hero__media { position: absolute; inset: 0; }
.hero__media::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(180deg, color-mix(in srgb, var(--wp--preset--color--marron) 45%, transparent) 0%, color-mix(in srgb, var(--wp--preset--color--marron) 15%, transparent) 50%, color-mix(in srgb, var(--wp--preset--color--marron) 55%, transparent) 100%);
}
.hero__image, .hero__video { width: 100%; height: 100%; object-fit: cover; }
.hero__content { position: relative; z-index: 1; width: 100%; text-align: center; padding: var(--wp--custom--header--height) var(--wp--custom--gutter); }
.hero--home .hero__title { margin: 0; line-height: 0; }
.hero__logo { width: clamp(14rem, 26.1vw, 31.4rem); height: auto; margin-inline: auto; }
.hero--home .hero__sub { margin-top: 1.5rem; font-size: var(--wp--preset--font-size--ml); letter-spacing: 0.35em; }

/* ---------- Etiqueta vertical ---------- */
.vtab {
	position: absolute; top: 1.5rem; left: 0; z-index: 1;
	display: flex; align-items: center; justify-content: center;
	padding: 1.5rem 0.55rem;
	border-radius: 0 var(--wp--custom--radius--pill) var(--wp--custom--radius--pill) 0;
	font-family: var(--wp--preset--font-family--label);
	font-size: var(--wp--preset--font-size--m); letter-spacing: var(--wp--custom--tracking); text-transform: uppercase;
	color: var(--wp--preset--color--crema);
}
.vtab--right { left: auto; right: 0; border-radius: var(--wp--custom--radius--pill) 0 0 var(--wp--custom--radius--pill); }
.vtab__label { writing-mode: vertical-rl; rotate: 180deg; display: block; }
.vtab--terracota  { background: var(--wp--preset--color--terracota); }
.vtab--naranja    { background: var(--wp--preset--color--naranja); }
.vtab--azul-claro { background: var(--wp--preset--color--azul-claro); color: var(--wp--preset--color--marron); }
.vtab--amarillo   { background: var(--wp--preset--color--amarillo); color: var(--wp--preset--color--marron); }
.vtab--rosa       { background: var(--wp--preset--color--rosa); color: var(--wp--preset--color--marron); }
.vtab--oliva      { background: var(--wp--preset--color--oliva); }
.vtab--burdeos    { background: var(--wp--preset--color--burdeos); }

/* ---------- Carriles con flecha ---------- */
.rail { position: relative; min-width: 0; }
.rail__track {
	display: grid; grid-auto-flow: column; grid-auto-columns: minmax(17rem, 1fr);
	gap: var(--wp--preset--spacing--30);
	overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
	scroll-padding-inline: var(--wp--custom--gutter);
	padding-bottom: 0.5rem; margin-inline: calc(-1 * var(--wp--custom--gutter)); padding-inline: var(--wp--custom--gutter);
}
.rail__track::-webkit-scrollbar { display: none; }
.rail__track > * { scroll-snap-align: start; }
.rail__next {
	display: flex; margin: 1rem 0 0 auto; padding: 0.5rem;
	background: none; border: 0; cursor: pointer; color: var(--wp--preset--color--marron);
	transition: transform var(--wp--custom--transition), opacity var(--wp--custom--transition);
}
.rail__next .icon { width: 3rem; height: 1.5rem; }
@media (hover: hover) { .rail__next:hover { transform: translateX(4px); } }
.rail__next:disabled { opacity: 0.35; cursor: default; transform: none; }
.rail__next[hidden] { display: none; }
.collections__grid { gap: clamp(1.5rem, 5.6vw, 5.5625rem); grid-auto-columns: min(85vw, 34.76rem); }
@media (min-width: 1100px) {
	.collections__grid { grid-auto-columns: 35%; }
	.news__grid { grid-auto-columns: 37.5%; gap: 3.8%; }
}

/* ---------- 2. Presentación ---------- */
.intro {
	display: grid; gap: var(--wp--preset--spacing--40);
	grid-template-columns: 1fr; align-items: center;
}
@media (min-width: 900px) { .intro { grid-template-columns: 647fr 584fr; gap: var(--wp--preset--spacing--60); padding-inline: calc(var(--wp--custom--gutter) + 4%); } }
.intro__text .section-heading { margin-bottom: var(--wp--preset--spacing--30); max-width: 40.5rem; }
.intro__text p { max-width: 39.2rem; margin-bottom: 2.75rem; }
.intro__media { position: relative; }
.intro__media img { width: 100%; aspect-ratio: 584 / 628; object-fit: cover; }
.intro__seal { position: absolute; left: -9.4%; top: 34.5%; width: 57.7%; max-width: 21rem; }

/* ---------- 3. Colecciones ---------- */
/* Tarjeta de 556 × 410 en el XD: panel de color, imagen de 431 px a la derecha, pestaña de 52 × 216. */
.card-collection { display: flex; flex-direction: column; --panel: var(--wp--preset--color--naranja); --tab: var(--wp--preset--color--beige); --label: var(--wp--preset--color--marron); }
.card-collection--terracota  { --panel: var(--wp--preset--color--terracota-panel); --tab: var(--wp--preset--color--crema-pestana); --label: var(--wp--preset--color--terracota); }
.card-collection--naranja    { --panel: var(--wp--preset--color--naranja); --tab: var(--wp--preset--color--beige); --label: var(--wp--preset--color--marron); }
.card-collection--azul-claro { --panel: var(--wp--preset--color--azul-claro); --tab: var(--wp--preset--color--azul); --label: var(--wp--preset--color--crema-claro); }
.card-collection--oliva      { --panel: var(--wp--preset--color--oliva); --tab: var(--wp--preset--color--crema-pestana); --label: var(--wp--preset--color--oliva); }
.card-collection--burdeos    { --panel: var(--wp--preset--color--burdeos); --tab: var(--wp--preset--color--crema-pestana); --label: var(--wp--preset--color--burdeos); }
.card-collection--amarillo   { --panel: var(--wp--preset--color--amarillo); --tab: var(--wp--preset--color--crema-pestana); --label: var(--wp--preset--color--marron); }
.card-collection--rosa       { --panel: var(--wp--preset--color--rosa); --tab: var(--wp--preset--color--crema-pestana); --label: var(--wp--preset--color--marron); }
.card-collection__media { position: relative; display: block; aspect-ratio: 556 / 410; background: var(--panel); }
.card-collection__media img { position: absolute; top: 0; right: 0; width: 77.5%; height: 100%; object-fit: cover; }
.card-collection .vtab {
	--r: 1.625rem; /* 26 px: mitad del ancho de 52 px */
	position: absolute; left: 0; top: 50%; translate: 0 -50%;
	width: 9.35%; height: 52.7%; min-width: 3.25rem;
	display: flex; align-items: center; justify-content: center;
	padding: 0;
	border-radius: 0 var(--r) var(--r) 0;
	background: var(--tab); color: var(--label);
}
/* Curvas cóncavas que funden la pestaña con el borde del panel (como en el XD). */
.card-collection .vtab::before,
.card-collection .vtab::after {
	content: ""; position: absolute; left: 0; width: var(--r); height: var(--r);
	background: var(--tab);
}
.card-collection .vtab::before { top: 100%; -webkit-mask: radial-gradient(circle at 100% 100%, transparent calc(var(--r) - 0.5px), #000 var(--r)); mask: radial-gradient(circle at 100% 100%, transparent calc(var(--r) - 0.5px), #000 var(--r)); }
.card-collection .vtab::after  { bottom: 100%; -webkit-mask: radial-gradient(circle at 100% 0, transparent calc(var(--r) - 0.5px), #000 var(--r)); mask: radial-gradient(circle at 100% 0, transparent calc(var(--r) - 0.5px), #000 var(--r)); }
.card-collection__text { font-size: var(--wp--preset--font-size--m); flex: 1; margin: 1.875rem 0 0; }
.card-collection .btn { align-self: flex-start; min-width: 11rem; padding-inline: 1.5em; margin-top: 1.5rem; }

/* ---------- 4. Banda ---------- */
.band {
	display: grid; grid-template-columns: 1fr;
	background: var(--wp--preset--color--burdeos); color: var(--wp--preset--color--crema);
	margin-block: var(--wp--preset--spacing--40);
}
@media (min-width: 900px) { .band { grid-template-columns: 1fr 1fr; height: clamp(36rem, 56.93vw, 68.3rem); } }
.band__text {
	display: flex; flex-direction: column; justify-content: center; align-items: flex-start;
	padding: var(--wp--preset--spacing--60) var(--wp--custom--gutter);
}
@media (min-width: 900px) { .band__text { padding: 0 6% 0 22.3%; } }
.band__title { color: inherit; font-size: var(--wp--preset--font-size--xxxl); line-height: 1.17; max-width: 39.7rem; margin: 0 0 10.7rem; }
.band .btn { min-width: 11rem; }
@media (min-width: 900px) { .band .btn { margin-left: 28%; } }
.band__media { position: relative; min-height: 24rem; }
.band__media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.band__card {
	position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
	width: 45.5%; aspect-ratio: 437 / 689; min-width: 15rem;
	display: flex; flex-direction: column; align-items: center;
	padding: clamp(1rem, 3.3vw, 3.95rem) clamp(0.75rem, 2.87vw, 3.44rem) clamp(0.75rem, 1.4vw, 1.7rem);
	background: var(--wp--preset--color--crema-claro); color: var(--wp--preset--color--marron);
	text-align: center;
}
.band__card .eyebrow { flex: none; margin: 0 0 1.8rem; font-size: var(--wp--preset--font-size--ml); color: var(--wp--preset--color--marron-medio); }
.band__card > img { flex: none; width: 100%; max-width: 100%; height: auto; aspect-ratio: 328 / 418; object-fit: cover; align-self: stretch; }
.band__card-label { flex: none; font-family: var(--wp--preset--font-family--body); font-weight: 700; font-size: var(--wp--preset--font-size--xxl); line-height: 1; margin: auto 0 0; padding-top: 1rem; }

/* ---------- Carrusel paginado (ficha: más de la categoría) ---------- */
/* Productos por página con los mismos cortes que las rejillas; el JS lee --per-page para paginar. */
.carousel { --per-page: 1; --gap: clamp(1rem, 2.97vw, 3.5625rem); min-width: 0; }
@media (min-width: 481px) { .carousel { --per-page: 2; } }
@media (min-width: 900px) { .carousel { --per-page: 3; } }
@media (min-width: 1280px) { .carousel { --per-page: 4; } }
.carousel .carousel__track { /* .carousel delante: gana al reset ul[class] { padding: 0 } */
	display: grid; grid-auto-flow: column;
	grid-auto-columns: calc((100% - (var(--per-page) - 1) * var(--gap)) / var(--per-page));
	gap: var(--gap); margin: 0; padding: 0 1px 0.5rem; list-style: none; scroll-padding-inline: 1px;
	overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none;
}
/* 1px de holgura: el scroll es entero y las columnas fraccionarias; sin ella se recorta el borde de la última tarjeta. */
.carousel__track::-webkit-scrollbar { display: none; }
.carousel__slide { display: flex; min-width: 0; scroll-snap-align: start; }
.carousel__slide > .card-product { flex: 1; min-width: 0; }
.carousel__controls { display: flex; align-items: center; justify-content: center; gap: 0.75rem; margin-top: var(--wp--preset--spacing--30); }
.carousel__controls[hidden] { display: none; }
.carousel__btn {
	display: grid; place-items: center; min-width: 2.75rem; height: 2.75rem; padding: 0 0.25rem;
	background: none; border: 0; cursor: pointer; color: var(--wp--preset--color--marron);
	transition: opacity var(--wp--custom--transition), transform var(--wp--custom--transition);
}
.carousel__btn .icon { width: 3rem; height: 1.5rem; }
.carousel__btn--prev .icon { transform: scaleX(-1); }
@media (hover: hover) { .carousel__btn--next:hover:not(:disabled) { transform: translateX(4px); } }
@media (hover: hover) { .carousel__btn--prev:hover:not(:disabled) { transform: translateX(-4px); } }
.carousel__btn:disabled { opacity: 0.3; cursor: default; }
.carousel__dots { display: flex; }
.carousel__dot { display: grid; place-items: center; width: 1.75rem; height: 2.75rem; padding: 0; background: none; border: 0; cursor: pointer; }
.carousel__dot::before {
	content: ""; width: 0.5rem; height: 0.5rem; border-radius: 50%;
	border: 1px solid var(--wp--preset--color--marron); transition: background-color var(--wp--custom--transition);
}
.carousel__dot[aria-current="true"]::before { background: var(--wp--preset--color--marron); }

/* ---------- 5. Favoritos: tarjeta de producto ---------- */
.product-grid {
	display: grid; gap: clamp(1rem, 2.97vw, 3.5625rem);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 1000px) { .product-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .product-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 359px) { .product-grid { grid-template-columns: minmax(0, 1fr); } }
.card-product {
	position: relative; display: flex; flex-direction: column;
	padding: 0 12.6% 12.6%;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--marron) 40%, transparent);
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--crema);
}
.card-product__tab {
	position: absolute; top: -1px; left: 50%; transform: translateX(-50%);
	width: 57.3%; height: 3.125rem;
	border-radius: 0 0 var(--wp--custom--radius--pill) var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--naranja);
}
.card-product__tab--terracota  { background: var(--wp--preset--color--terracota); }
.card-product__tab--azul-claro { background: var(--wp--preset--color--azul); }
.card-product__tab--amarillo   { background: var(--wp--preset--color--amarillo); }
.card-product__tab--rosa       { background: var(--wp--preset--color--rosa); }
.card-product__tab--oliva      { background: var(--wp--preset--color--oliva); }
.card-product__tab--burdeos    { background: var(--wp--preset--color--burdeos); }
.card-product__title {
	display: flex; align-items: center; justify-content: center; text-align: center;
	min-height: 9.4375rem; margin: 0; padding-top: 3.125rem;
	font-family: var(--wp--preset--font-family--label); font-size: var(--wp--preset--font-size--m); font-weight: 500;
	letter-spacing: var(--wp--custom--tracking); text-transform: uppercase; line-height: 1.3;
}
.card-product__media img { aspect-ratio: 272 / 306; object-fit: cover; width: 100%; }
.card-product__text { font-size: var(--wp--preset--font-size--m); flex: 1; margin: 1.7rem 0 1.5rem; }
.card-product__footer {
	display: flex; align-items: center; justify-content: space-between; gap: 0.5rem;
	border-top: 1px solid var(--wp--preset--color--gris); padding-top: 2.1875rem;
}
.card-product__price { font-weight: 600; font-size: var(--wp--preset--font-size--ml); }
.card-product__price del { opacity: 0.5; font-weight: 400; margin-right: 0.4em; }
.card-product .btn { min-width: min(8.375rem, 60%); padding-inline: 1.5em; }
/* Tarjeta compacta en la rejilla de 2 columnas del móvil: sin descripción, precio sobre el botón. */
@media (max-width: 599px) {
	.product-grid .card-product { padding: 0 8% 8%; }
	.product-grid .card-product__tab { height: 1.75rem; }
	.product-grid .card-product__title { min-height: 5.5rem; padding-top: 1.9rem; font-size: var(--wp--preset--font-size--s); }
	.product-grid .card-product__text { display: none; }
	.product-grid .card-product__footer { flex-direction: column-reverse; align-items: stretch; gap: 0.75rem; margin-top: auto; padding-top: 1rem; text-align: center; }
	.product-grid .card-product__media { margin-bottom: 1rem; }
	.product-grid .card-product .btn { min-width: 0; padding-inline: 0.5em; }
}

/* ---------- 6. Nosotros ---------- */
.about__video { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }

/* Botón de pausa de los vídeos de fondo (WCAG 2.2.2). Icono de pausa o de reproducción según el estado. */
.video-toggle {
	position: absolute; right: 1.5rem; bottom: 1.5rem; z-index: 2;
	display: grid; place-items: center; width: 2.75rem; height: 2.75rem; padding: 0;
	border: 0; border-radius: 50%; cursor: pointer;
	background: color-mix(in srgb, var(--wp--preset--color--crema) 85%, transparent); color: var(--wp--preset--color--marron);
	transition: background-color var(--wp--custom--transition);
}
.video-toggle:focus-visible { background: var(--wp--preset--color--crema); }
@media (hover: hover) { .video-toggle:hover { background: var(--wp--preset--color--crema); } }
.video-toggle::before { content: ""; box-sizing: border-box; width: 0.75rem; height: 0.875rem; border-inline: 0.25rem solid currentColor; }
.video-toggle[data-state="paused"]::before { width: 0; height: 0; border-inline: 0; border-block: 0.5rem solid transparent; border-left: 0.8rem solid currentColor; margin-left: 0.2rem; }
.about { display: grid; gap: var(--wp--preset--spacing--40); align-items: center; }
@media (min-width: 900px) { .about { grid-template-columns: 6fr 5fr; gap: var(--wp--preset--spacing--60); } }
.about__media { position: relative; }
.about__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.about__text .section-heading { max-width: 37.125rem; }
.about__text p { max-width: 34.5rem; margin-bottom: 2.9rem; }
.about .vtab--right { width: 4.25rem; height: 17.75rem; right: -2.125rem; top: 50%; translate: 0 -50%; font-size: 0.9375rem; padding: 0; }

/* ---------- 7. Proceso ---------- */
.process .section-heading { max-width: 36rem; }
.process__lead { max-width: 35.25rem; margin-inline: auto; margin-bottom: 2.75rem; }
.steps {
	display: grid; gap: var(--wp--preset--spacing--30);
	grid-template-columns: minmax(0, 1fr);
	counter-reset: paso;
}
/* 2 columnas en móvil grande y tableta; 4 solo cuando el título display cabe (≥1200). */
@media (min-width: 600px) { .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) {
	.steps { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
}
.step {
	position: relative; display: flex; flex-direction: column; gap: 0.75rem;
	padding: 4.8rem 0.5rem 0;
	min-height: 46.3rem; overflow: hidden;
}
@media (min-width: 1200px) {
	.step + .step { border-left: 1px solid color-mix(in srgb, var(--wp--preset--color--marron) 25%, transparent); }
	.step--media + .step, .step--media { border-left: 0 !important; }
}
.step__name { font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--xl); font-weight: 500; text-transform: uppercase; margin: 0 0 1.6rem; overflow-wrap: anywhere; hyphens: auto; }
@media (min-width: 1200px) { .step__name { font-size: clamp(1.5rem, 2.1vw, var(--wp--preset--font-size--xl)); } }
.step__text { font-size: var(--wp--preset--font-size--m); max-width: 16.5rem; margin: 0; flex: 1; }
/* Una columna en móvil: sin la altura del XD, que se pensó para 4 columnas. */
@media (max-width: 599px) {
	.step { min-height: 26rem; padding: 3rem 1.25rem 2rem; }
	.step__text { max-width: none; }
	.step__num { margin-bottom: 0; }
}
.step__num {
	font-family: var(--wp--preset--font-family--display); font-weight: 500;
	font-size: clamp(5rem, 14vw, 16.875rem); line-height: 0.8; letter-spacing: -0.02em;
	color: var(--wp--preset--color--oliva); margin-top: auto; margin-bottom: 11.6rem;
}
.step--media { color: var(--wp--preset--color--crema); }
.step--media .step__num { color: inherit; }
.step__media { position: absolute; inset: 0; z-index: -1; }
.step__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 30%, color-mix(in srgb, var(--wp--preset--color--marron) 60%, transparent)); }
.step__media img { width: 100%; height: 100%; object-fit: cover; }
.step--media { z-index: 0; }

/* ---------- 8. Novedades ---------- */
.news { display: grid; gap: var(--wp--preset--spacing--40); align-items: start; }
@media (min-width: 1100px) { .news { grid-template-columns: 31.5% 1fr; gap: 2.7%; } }
.news__intro .section-heading { margin-bottom: 1rem; max-width: 27.75rem; }
.news__intro p { font-size: var(--wp--preset--font-size--m); max-width: 24.6rem; margin-bottom: 2.5rem; }
.news .btn { min-width: 10.4rem; }
.news__grid .card-post { height: 100%; }


/* =========================================================
   NOSOTROS
   ========================================================= */
.hero-split {
	position: relative; display: grid; grid-template-columns: 1fr;
}
@media (min-width: 900px) { .hero-split { grid-template-columns: 38.8% 1fr; height: clamp(36rem, 48.4vw, 58.1rem); } }
.hero-split__brand {
	position: relative; z-index: 1; overflow: visible;
	background: var(--wp--preset--color--burdeos); color: var(--wp--preset--color--crema);
	min-height: 18rem;
}
.hero-split__seal { position: absolute; top: 6%; left: 42%; width: 42%; opacity: 0.18; overflow: hidden; }
.hero-split__seal img { filter: brightness(10); }
.hero-split__title { position: absolute; left: -7.2vw; top: 39%; margin: 0; line-height: 0; z-index: 2; }
@media (max-width: 899px) { .hero-split__title { left: 4%; top: 20%; } }
.hero-split__logo { width: 45.8vw; min-width: 16rem; max-width: none; height: auto; }
.hero-split__media { position: relative; min-height: 60svh; overflow: hidden; }
@media (min-width: 900px) { .hero-split__media { margin-left: -0.95%; } }
.hero-split__media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-split__card { top: 15.6%; left: 36.1%; bottom: auto; transform: none; width: 36.6%; min-width: 15rem; }
@media (max-width: 899px) { .hero-split__card { top: 50%; left: 50%; transform: translate(-50%, -50%); width: 60%; } }
.band__card-label--small { font-family: var(--wp--preset--font-family--body); font-weight: 700; font-size: var(--wp--preset--font-size--xl); letter-spacing: 0; text-transform: uppercase; }
.about--page { padding-top: 8rem; padding-left: calc(var(--wp--custom--gutter) + 1.25%); padding-right: calc(var(--wp--custom--gutter) + 3.3%); }
@media (min-width: 900px) { .about--page { grid-template-columns: 839fr 590fr; gap: 5.4%; align-items: start; } }
.about--page .about__media img { aspect-ratio: 839 / 655; }
.about--page .section-heading { max-width: 36.9rem; }
.about--page p { max-width: 36.9rem; }

.timeline-section { padding-left: calc(var(--wp--custom--gutter) + 1.6%); }
.timeline { display: grid; gap: var(--wp--preset--spacing--30); grid-template-columns: repeat(2, 1fr); position: relative; }
@media (min-width: 900px) { .timeline { grid-template-columns: repeat(6, 1fr); gap: 0; } }
.timeline__item { position: relative; padding-top: 1.125rem; }
.timeline__item::before {
	content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px;
	background: var(--wp--preset--color--marron-oscuro);
}
.timeline__item:last-child::before { right: -1.3%; }
.timeline__dot { position: absolute; top: -0.4rem; left: 0.9rem; width: 0.8rem; height: 0.8rem; border-radius: 50%; background: var(--wp--preset--color--naranja); }
.timeline__year { font-size: var(--wp--preset--font-size--xxl); margin: 0 0 2.6rem; }
.timeline__text { font-size: var(--wp--preset--font-size--m); max-width: 14.75rem; margin: 0; padding-right: 1rem; }

/* =========================================================
   ELABORACIÓN (XD: hero 1920x926; título Conso 80 a x=145 / +209; botón 176x40 a +528;
   filas de 410 con número a x=131 solapando 45 px hacia arriba, nombre a x=70, imagen 618x313 y texto de 520)
   ========================================================= */
.hero--page { position: relative; height: clamp(24rem, 48.2vw, 58rem); display: grid; align-items: start; overflow: hidden; color: var(--wp--preset--color--crema); background: var(--wp--preset--color--marron); padding: 11.3vw calc(var(--wp--custom--gutter) - 1.1%) 0; }
.hero__content--left { text-align: left; width: 100%; margin: 0; padding: 0; }
.hero__title--page { font-size: clamp(2.25rem, 4.17vw, 5rem); line-height: 1.1; max-width: 44rem; margin: 0 0 3.4rem; text-align: left; color: inherit; overflow-wrap: anywhere; }

.proc { padding-top: 4.7rem; }
.proc__step { position: relative; border-top: 1px solid var(--wp--preset--color--marron-oscuro); }
.proc__step:first-child { border-top: 0; }
.proc__step--alt { background: var(--wp--preset--color--burdeos); color: var(--wp--preset--color--crema); }
.proc__step--alt + .proc__step { border-top: 0; }
.proc__inner {
	width: min(100%, calc(var(--wp--style--global--wide-size) + 2 * var(--wp--custom--gutter)));
	margin-inline: auto; padding: 0 7.55% 3rem 3.65%;
	display: grid; gap: 1.5rem; grid-template-columns: 1fr; min-height: 25.6rem;
}
@media (min-width: 900px) {
	.proc__inner { grid-template-columns: 27.5% 36.25% 36.25%; gap: 0; align-items: start; }
	.proc__step--alt .proc__text { order: 2; }
	.proc__step--alt .proc__media { order: 3; }
}
.proc__head { position: relative; min-height: 15rem; }
.proc__name { position: absolute; left: 0; top: 2.3rem; font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--xl); font-weight: 500; text-transform: uppercase; color: inherit; margin: 0; z-index: 1; }
.proc__num { position: absolute; left: 3.8rem; top: -2.8rem; font-family: var(--wp--preset--font-family--display); font-size: clamp(6rem, 14vw, 16.875rem); line-height: 1; letter-spacing: -0.02em; color: var(--wp--preset--color--naranja); display: block; }
.proc__step--alt .proc__num { color: var(--wp--preset--color--crema); }
.proc__media { margin: 3.8rem 0 0; padding-right: 0; }
.proc__media img { width: 100%; aspect-ratio: 618 / 313; object-fit: cover; }
.proc__text { font-size: var(--wp--preset--font-size--m); max-width: 38.5rem; padding: 7.8rem 0 0 5.4rem; }
.proc__step--alt .proc__text { padding-left: 2.4rem; max-width: 34rem; }
.proc__text p + p { margin-top: 0.75em; }
@media (max-width: 899px) {
	.proc__head { min-height: 10rem; }
	.proc__num { font-size: 6rem; top: 0.5rem; left: 0; }
	.proc__name { top: 0; }
	.proc__media { margin-top: 1rem; }
	.proc__text { padding-top: 0; }
}

/* =========================================================
   CATÁLOGO Y BLOG (XD: columna lateral a x=70 con grupos de 239 px; línea vertical a x=386;
   rejilla de 3 tarjetas de 365 desde x=471 con 81 px de separación y 66 entre filas)
   ========================================================= */
.shop, .blog-layout {
	display: grid; gap: var(--wp--preset--spacing--40); grid-template-columns: 1fr;
	width: min(100%, calc(var(--wp--style--global--wide-size) + 2 * var(--wp--custom--gutter)));
	margin-inline: auto; padding: 2.9rem var(--wp--custom--gutter) var(--wp--preset--spacing--60);
}
@media (min-width: 1000px) {
	.shop { grid-template-columns: 19.4% 1fr; column-gap: 5.2%; padding-left: 3.65%; padding-right: 10.8%; }
	.blog-layout { grid-template-columns: 26.9% 1fr; column-gap: 3.05%; padding-left: 4.1%; padding-right: 3.1%; }
	.shop__aside, .blog-layout__aside { position: relative; }
	.shop__aside::after { content: ""; position: absolute; top: -2.2rem; bottom: 0; right: 0; width: 1px; background: var(--wp--preset--color--gris); }
}
.shop__main, .blog-layout__main { position: relative; min-width: 0; }
.shop__vtab { position: absolute; left: -5.25rem; top: 21.9rem; width: 3.25rem; height: 13.5rem; display: none; }
.shop__vtab .vtab__label { font-size: var(--wp--preset--font-size--m); }
@media (min-width: 1000px) { .shop__vtab { display: flex; } }
.shop__title { font-size: var(--wp--preset--font-size--xl); margin: 0 0 2rem; }
.shop__filter-toggle {
	display: flex; align-items: center; gap: 0.75rem; min-height: 2.75rem; padding-block: 0.5rem; cursor: pointer; list-style: none;
	border-block: 1px solid var(--wp--preset--color--gris);
	font-family: var(--wp--preset--font-family--label); font-size: var(--wp--preset--font-size--s); font-weight: 500;
	letter-spacing: var(--wp--custom--tracking); text-transform: uppercase; color: var(--wp--preset--color--marron-oscuro);
}
.shop__filter-toggle::-webkit-details-marker { display: none; }
.shop__filter-current { color: var(--wp--preset--color--naranja); }
.shop__filter-toggle::after {
	content: ""; width: 0.5rem; height: 0.5rem; margin-left: auto; margin-right: 0.25rem;
	border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
	rotate: 45deg; translate: 0 -0.15rem; transition: rotate var(--wp--custom--transition);
}
.shop__filter[open] > .shop__filter-toggle::after { rotate: -135deg; translate: 0 0.15rem; }
.shop__filter[open] > .cat-nav { padding-top: 1.5rem; }
@media (min-width: 1000px) {
	.shop__title { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); white-space: nowrap; }
	.shop__filter-toggle { display: none; }
	.shop__filter[open] > .cat-nav { padding-top: 0; }
}
.shop__intro { max-width: 39.2rem; margin-bottom: 3.6rem; }
.shop__lead { font-size: var(--wp--preset--font-size--m); font-weight: 600; max-width: 37.9rem; margin: 1.6rem 0 0; }
.product-grid--3 { gap: 4.1rem 6.5%; }
.blog-layout__intro .section-heading { margin-bottom: 1rem; max-width: 27.4rem; }
.blog-layout__intro .section-heading__title { font-size: var(--wp--preset--font-size--xl); }
.blog-layout__intro p { font-size: var(--wp--preset--font-size--m); max-width: 24.6rem; margin-bottom: 4rem; }
.blog-layout .post-grid { gap: 4.4rem 2.5rem; }
.blog-layout .pagination .nav-links { justify-content: flex-start; margin-top: 3rem; }

.cat-nav { font-size: var(--wp--preset--font-size--m); display: flex; flex-wrap: wrap; gap: 1.5rem 2rem; }
@media (min-width: 1000px) { .cat-nav { flex-direction: column; gap: 1.6rem; } }
.cat-nav__group { max-width: 16.4rem; }
.cat-nav__title {
	display: block; width: 14.9375rem; max-width: 100%;
	font-family: var(--wp--preset--font-family--label); font-size: var(--wp--preset--font-size--s); font-weight: 500;
	letter-spacing: var(--wp--custom--tracking); text-transform: uppercase; color: var(--wp--preset--color--marron-oscuro);
	padding-bottom: 0.5rem; margin-bottom: 0.9rem;
	border-bottom: 1px solid var(--wp--preset--color--gris);
}
.cat-nav__group.is-current .cat-nav__title { color: var(--wp--preset--color--naranja); }
.cat-nav__list li { line-height: 1.66; }
.cat-nav__list .is-current > a { font-weight: 700; }

.subcats { grid-auto-columns: min(80vw, 29.8rem); gap: 1.375rem; padding-bottom: 0.5rem; }
@media (min-width: 1100px) { .subcats { grid-auto-columns: 38.4%; } }
.subcat { display: flex; flex-direction: column; align-items: flex-start; color: var(--wp--preset--color--crema); }
.subcat img, .subcat__empty { display: block; width: 100%; aspect-ratio: 477 / 444; object-fit: cover; background: var(--wp--preset--color--burdeos); }
.subcat__label {
	display: inline-flex; align-items: center; justify-content: center; margin-top: 1.8rem; min-width: 11rem; height: 2.5rem; padding: 0 1.6em;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--burdeos); color: var(--wp--preset--color--crema-claro);
	font-family: var(--wp--preset--font-family--label); font-size: var(--wp--preset--font-size--s); letter-spacing: var(--wp--custom--tracking); text-transform: uppercase; white-space: nowrap;
	transition: background-color var(--wp--custom--transition);
}
@media (hover: hover) { .subcat:hover .subcat__label { background: var(--wp--preset--color--naranja); color: var(--wp--preset--color--marron); } }

/* ---------- Ficha de producto ---------- */
.product-single { padding-top: 5.3rem; padding-left: calc(var(--wp--custom--gutter) + 1.5%); }
.product-single__grid { display: grid; gap: var(--wp--preset--spacing--40); grid-template-columns: minmax(0, 1fr); }
/* Tableta: mitad y mitad para que precio y compra quepan en el primer pantallazo; proporción del XD desde 1000. */
@media (min-width: 700px) { .product-single__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.2%; align-items: start; } }
@media (min-width: 1000px) { .product-single__grid { grid-template-columns: 782fr 535fr; } }

/* Migas de pan: misma voz que el menú (Blair 13, versalitas con tracking). */
.breadcrumbs { margin-bottom: 1.75rem; }
.breadcrumbs__list {
	display: flex; flex-wrap: wrap; gap: 0.35rem 0; margin: 0; padding: 0; list-style: none;
	font-family: var(--wp--preset--font-family--label); font-size: var(--wp--preset--font-size--xs); font-weight: 500;
	letter-spacing: var(--wp--custom--tracking); text-transform: uppercase; line-height: 1.4;
}
.breadcrumbs__item + .breadcrumbs__item::before { content: "/"; margin-inline: 0.6em; opacity: 0.45; }
/* Zona táctil de 24 px sin cambiar el aspecto (WCAG 2.5.8). */
.breadcrumbs a { display: inline-block; padding-block: 0.375rem; margin-block: -0.375rem; color: var(--wp--preset--color--marron); }
@media (hover: hover) { .breadcrumbs a:hover { color: var(--wp--preset--color--naranja); } }
.breadcrumbs [aria-current="page"] { color: color-mix(in srgb, var(--wp--preset--color--marron) 55%, transparent); }
/* En móvil, solo la ruta navegable: el nombre del producto ya es el título de la página. */
@media (max-width: 699px) { .breadcrumbs__list { font-size: 0.6875rem; } .breadcrumbs__item:last-child { display: none; } }

/* Galería: imagen grande deslizable; flechas sobre los bordes, miniaturas en escritorio, puntos en móvil y tableta. */
.gallery { --per-page: 1; min-width: 0; }
.gallery__stage { position: relative; }
.gallery .gallery__track {
	display: grid; grid-auto-flow: column; grid-auto-columns: 100%; margin: 0; padding: 0; list-style: none;
	overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none;
}
.gallery__track::-webkit-scrollbar { display: none; }
/* Proporción de exportación de las fotos de producto: 4:5 (p. ej. 1600×2000). */
.gallery__slide { scroll-snap-align: start; aspect-ratio: 4 / 5; min-height: 0; overflow: hidden; background: var(--wp--preset--color--crema-claro); }
.gallery__slide img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gallery__arrow {
	position: absolute; top: 50%; z-index: 1; translate: 0 -50%;
	display: grid; place-items: center; width: 3.5rem; height: 2.75rem; padding: 0; border: 0; cursor: pointer;
	background: none; color: var(--wp--preset--color--marron);
	transition: color var(--wp--custom--transition), opacity var(--wp--custom--transition);
}
.gallery__arrow--prev { left: 0; }
.gallery__arrow--next { right: 0; }
.gallery__arrow .icon { width: 2rem; height: 1rem; }
.gallery__arrow--prev .icon { transform: scaleX(-1); }
.gallery__arrow:focus-visible { color: var(--wp--preset--color--naranja); }
@media (hover: hover) { .gallery__arrow:hover:not(:disabled) { color: var(--wp--preset--color--naranja); } }
.gallery__arrow:disabled { opacity: 0.3; cursor: default; }
.gallery__dots { display: flex; justify-content: center; margin-top: 0.5rem; }
.gallery__thumbs { display: none; }
[data-carousel] [hidden] { display: none !important; }
@media (min-width: 1000px) {
	.gallery__arrow { width: 4.5rem; height: 3.5rem; }
	.gallery__arrow .icon { width: 2.5rem; height: 1.25rem; }
	.gallery .gallery__dots { display: none; }
	.gallery .gallery__thumbs { display: grid; grid-template-columns: repeat(auto-fill, 5rem); gap: 0.75rem; margin: 2.5rem 0 0; padding: 0; list-style: none; }
}
.gallery__thumb {
	display: block; width: 100%; aspect-ratio: 4 / 5; padding: 0; cursor: pointer; overflow: hidden;
	background: var(--wp--preset--color--crema-claro); border: 1px solid transparent;
	transition: border-color var(--wp--custom--transition);
}
.gallery__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (hover: hover) { .gallery__thumb:hover { border-color: color-mix(in srgb, var(--wp--preset--color--marron) 40%, transparent); } }
.gallery__thumb[aria-current="true"] { border-color: var(--wp--preset--color--marron); }
.product-single__summary { max-width: 33.5rem; }
@media (min-width: 700px) { .product-single__summary { margin-left: 4%; } }
@media (min-width: 1000px) { .product-single__summary { margin-left: 7%; } }
.product-single__title { font-size: var(--wp--preset--font-size--xl); margin: 0 0 1.9rem; padding-bottom: 2.6rem; border-bottom: 1px solid var(--wp--preset--color--marron-oscuro); }
.product-single__desc { font-size: var(--wp--preset--font-size--m); font-weight: 600; max-width: 31.3rem; padding-bottom: 1.5rem; }
.product-single__desc p:last-child { margin-bottom: 0; }

.accordion { margin: 0 0 1.6rem; border-top: 1px solid var(--wp--preset--color--marron-oscuro); border-bottom: 1px solid var(--wp--preset--color--marron-oscuro); }
.accordion__summary {
	display: flex; justify-content: space-between; align-items: center; gap: 1rem; cursor: pointer; list-style: none;
	padding: 1rem 0 1.4rem; font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--xl); text-transform: uppercase; letter-spacing: 0;
}
.accordion__summary::-webkit-details-marker { display: none; }
.accordion__icon { width: 1.5rem; height: 0.75rem; transform: rotate(90deg); transition: transform var(--wp--custom--transition); }
.accordion[open] .accordion__icon { transform: rotate(-90deg); }
.accordion__body { padding-bottom: 1rem; font-size: var(--wp--preset--font-size--m); font-weight: 400; }
.accordion__body table { width: 100%; border-collapse: collapse; }
.accordion__body th, .accordion__body td { text-align: left; padding: 0.4rem 0; border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--marron) 15%, transparent); vertical-align: top; }
.accordion__body th { font-weight: 600; padding-right: 1rem; }
.seals--product { margin: 0 0 3.4rem 5rem; gap: 1.75rem; }
.seals--product img { height: 4.25rem; width: auto; }

/* Formulario de compra de WooCommerce: cantidad 93x49 con borde, precio Conso 40, botón burdeos 249x40 */
.product-single__buy form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; }
.product-single__buy .price { order: 1; font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--precio); font-weight: 500; margin: 0 auto 0 0; }
.product-single__buy .price del { opacity: 0.5; font-weight: 400; margin-right: 0.4em; font-size: 0.6em; }
.product-single__buy .quantity { order: 0; display: inline-flex; align-items: center; justify-content: center; width: 5.8rem; height: 3.0625rem; border: 1px solid var(--wp--preset--color--marron-oscuro); }
.product-single__buy .quantity .qty { width: 100%; height: 100%; border: 0; background: none; text-align: center; font: inherit; font-size: var(--wp--preset--font-size--xl); font-weight: 400; color: inherit; -moz-appearance: textfield; }
.product-single__buy .quantity .qty::-webkit-inner-spin-button, .product-single__buy .quantity .qty::-webkit-outer-spin-button { -webkit-appearance: none; }
.product-single__buy .screen-reader-text { position: absolute !important; }
.product-single__buy .single_add_to_cart_button {
	order: 2; min-width: 15.5625rem; height: 2.5rem;
	font-family: var(--wp--preset--font-family--label); font-size: var(--wp--preset--font-size--s); letter-spacing: var(--wp--custom--tracking); text-transform: uppercase;
	padding: 0 1.5em; border-radius: var(--wp--custom--radius--pill); border: 0; cursor: pointer;
	background: var(--wp--preset--color--burdeos); color: var(--wp--preset--color--crema-claro); transition: background-color var(--wp--custom--transition), color var(--wp--custom--transition);
}
@media (hover: hover) { .product-single__buy .single_add_to_cart_button:hover { background: var(--wp--preset--color--naranja); color: var(--wp--preset--color--marron); } }
/* Hasta 999 px la columna es estrecha: botón a todo el ancho, en su propia fila. */
@media (max-width: 999px) { .product-single__buy .single_add_to_cart_button { flex: 1 0 100%; min-width: 0; } }
/* Selector de peso (productos variables): botones de opción, el elegido en beige con borde marrón. */
.variation-picker { order: -1; flex: 1 0 100%; min-width: 0; margin: 0 0 0.5rem; padding: 0; border: 0; }
.variation-picker__legend {
	padding: 0; margin-bottom: 0.9rem;
	font-family: var(--wp--preset--font-family--label); font-size: var(--wp--preset--font-size--s); font-weight: 500;
	letter-spacing: var(--wp--custom--tracking); text-transform: uppercase;
}
.variation-picker__current { font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--m); letter-spacing: 0; text-transform: none; margin-left: 0.25em; }
.variation-picker__options { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.variation-option { position: relative; display: block; }
.variation-option__input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.variation-option__label {
	display: grid; place-items: center; min-width: 5.5rem; min-height: 3.0625rem; padding: 0 1rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--marron) 30%, transparent);
	font-size: var(--wp--preset--font-size--m); font-weight: 500; white-space: nowrap;
	transition: background-color var(--wp--custom--transition), border-color var(--wp--custom--transition);
}
.variation-option__input:checked + .variation-option__label { background: var(--wp--preset--color--beige); border-color: var(--wp--preset--color--marron); }
.variation-option__input:focus-visible + .variation-option__label { outline: 2px solid var(--wp--preset--color--naranja); outline-offset: 3px; }
.variation-option__input:disabled + .variation-option__label { opacity: 0.4; text-decoration: line-through; }
@media (hover: hover) { .variation-option__input:not(:checked):not(:disabled):hover + .variation-option__label { border-color: var(--wp--preset--color--marron); } }
@media (pointer: coarse) { .product-single__buy .single_add_to_cart_button { height: 2.75rem; } }
.product-single__buy .stock { width: 100%; order: 3; font-size: var(--wp--preset--font-size--s); margin: 0; }
.product-single__buy .out-of-stock { color: var(--wp--preset--color--burdeos); }

/* Avisos de WooCommerce */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	list-style: none; margin: 0 0 var(--wp--preset--spacing--30); padding: 1rem 1.25rem;
	border-left: 4px solid var(--wp--preset--color--naranja); background: color-mix(in srgb, var(--wp--preset--color--naranja) 12%, var(--wp--preset--color--crema));
	font-size: var(--wp--preset--font-size--s); display: flex; flex-wrap: wrap; gap: 0.75rem 1.5rem; align-items: center; justify-content: space-between;
}
.woocommerce-error { border-color: var(--wp--preset--color--burdeos); }
.woocommerce-message .button, .woocommerce-info .button { font-family: var(--wp--preset--font-family--label); font-size: var(--wp--preset--font-size--xs); letter-spacing: var(--wp--custom--tracking); text-transform: uppercase; border-bottom: 1px solid currentColor; }

/* ---------- Entrada del blog ---------- */
.post__header { max-width: 36ch; margin-bottom: var(--wp--preset--spacing--40); }
.post__title { font-size: var(--wp--preset--font-size--xxl); }
.post__media { margin: 0 0 var(--wp--preset--spacing--40); }
.post__media img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.post__content { font-size: var(--wp--preset--font-size--m); line-height: 1.75; }
.post__content h2, .post__content h3 { margin-top: 1.5em; }
.post__footer { margin-top: var(--wp--preset--spacing--40); }
.shop__intro .section-heading__title { font-size: var(--wp--preset--font-size--xl); }

/* Portada de colección: el contenido empieza 59 px más adentro que la rejilla (XD x=529) */
@media (min-width: 1000px) { .shop--landing .shop__main { padding-left: 3.6%; } }
