/* ==========================================================================
   MQNFT · estilos del tema
   Los tokens (colores, tipografías, tamaños) vienen de theme.json.
   ========================================================================== */

:root {
	--mq-ink: var(--wp--preset--color--ink);
	--mq-cream: var(--wp--preset--color--cream);
	--mq-line: var(--wp--preset--color--line);
	--mq-radius: var(--wp--custom--radius, 12px);
	--mq-radius-sm: var(--wp--custom--radius-small, 8px);
	--mq-header-h: var(--wp--custom--header-height, 76px);
	--mq-shadow: 0 1px 0 rgb(45 50 55 / 0.04), 0 8px 24px -12px rgb(45 50 55 / 0.18);
	--mq-display: var(--wp--preset--font-family--display);
	--mq-heading: var(--wp--preset--font-family--heading);
}

html {
	scroll-padding-top: calc(var(--mq-header-h) + 16px);
}

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

img {
	max-width: 100%;
	height: auto;
}

:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid var(--wp--preset--color--orange);
	outline-offset: 2px;
	border-radius: 4px;
}

::selection {
	background: var(--wp--preset--color--pink);
	color: var(--mq-ink);
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.skip-link:focus {
	clip: auto;
	clip-path: none;
	height: auto;
	width: auto;
	z-index: 100;
	padding: 0.75rem 1rem;
	background: var(--mq-ink);
	color: var(--mq-cream);
	top: 8px;
	left: 8px;
}

.mq-icon {
	flex: none;
	vertical-align: -0.2em;
}

/* --------------------------------------------------------------------------
   Botones · sistema único
   --------------------------------------------------------------------------
   Tamaños:   sm 36px · md 42px (por defecto) · lg 48px (acción de compra principal)
   Variantes: principal (tinta) · contorno · naranja (solo club) · claro (fondos oscuros)
   Todos: DIN 500, radio 8px, borde 2px, ícono 18px (16px en sm).
   Aplica a .mq-btn, botones nativos de WordPress (.wp-element-button) y
   botones de WooCommerce (clásicos y de bloques).
   -------------------------------------------------------------------------- */

:root {
	--mq-btn-h-sm: 36px;
	--mq-btn-h: 42px;
	--mq-btn-h-lg: 48px;
	--mq-btn-px-sm: 0.85rem;
	--mq-btn-px: 1.15rem;
	--mq-btn-px-lg: 1.5rem;
	--mq-btn-fs-sm: 0.9375rem;
	--mq-btn-fs: 1rem;
	--mq-btn-fs-lg: 1.0625rem;
	--mq-btn-radius: 8px;
	--mq-btn-border: 2px;
}

.mq-btn,
.wp-element-button,
.wp-block-button__link,
body .woocommerce :is(button.button, a.button, input.button):is(.alt, :not(.alt)),
.wc-block-components-button:not(.is-link) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	box-sizing: border-box;
	min-height: var(--mq-btn-h);
	padding: 0 var(--mq-btn-px) !important;
	border: var(--mq-btn-border) solid var(--mq-ink);
	border-radius: var(--mq-btn-radius) !important;
	background: var(--mq-ink);
	color: var(--mq-cream);
	font: 500 var(--mq-btn-fs)/1.2 var(--wp--preset--font-family--body) !important;
	letter-spacing: 0;
	text-align: center;
	text-decoration: none;
	text-transform: none;
	white-space: normal;
	cursor: pointer;
	transition: background-color 0.18s, color 0.18s, border-color 0.18s, transform 0.18s;
}

.mq-btn:hover,
.wp-element-button:hover,
.wp-block-button__link:hover,
body .woocommerce :is(button.button, a.button, input.button):is(.alt, :not(.alt)):hover,
.wc-block-components-button:not(.is-link):hover {
	border-color: var(--mq-ink);
	background: var(--mq-cream);
	color: var(--mq-ink);
}

.mq-btn:active,
.wp-element-button:active,
.wp-block-button__link:active {
	transform: translateY(1px);
}

.mq-btn .mq-icon,
.wp-element-button .mq-icon {
	width: 18px;
	height: 18px;
}

/* Tamaños */
.mq-btn--sm,
.mq-btn--small {
	min-height: var(--mq-btn-h-sm);
	padding: 0 var(--mq-btn-px-sm) !important;
	gap: 0.4rem;
	font-size: var(--mq-btn-fs-sm) !important;
}

.mq-btn--sm .mq-icon,
.mq-btn--small .mq-icon {
	width: 16px;
	height: 16px;
}

.mq-btn--lg {
	min-height: var(--mq-btn-h-lg);
	padding: 0 var(--mq-btn-px-lg) !important;
	font-size: var(--mq-btn-fs-lg) !important;
}

.mq-btn--block {
	width: 100%;
}

/* Contorno (secundario) */
.mq-btn--outline,
.mq-btn--ghost,
.mq-btn--green,
.wp-block-button.is-style-outline .wp-block-button__link {
	border-color: var(--mq-ink);
	background: transparent;
	color: var(--mq-ink);
}

.mq-btn--outline:hover,
.mq-btn--ghost:hover,
.mq-btn--green:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	border-color: var(--mq-ink);
	background: var(--mq-ink);
	color: var(--mq-cream);
}

/* Naranja: solo para sumarse al club */
.mq-btn--orange,
.wp-block-button.is-style-mqnft-orange .wp-block-button__link {
	border-color: var(--mq-ink);
	background: var(--wp--preset--color--orange);
	color: var(--mq-ink);
}

.mq-btn--orange:hover,
.wp-block-button.is-style-mqnft-orange .wp-block-button__link:hover {
	border-color: var(--mq-ink);
	background: var(--mq-ink);
	color: var(--mq-cream);
}

/* Claro: sobre fondos oscuros (banda de Lala, verde del club) */
.mq-btn--light,
.wp-block-button.is-style-mqnft-light .wp-block-button__link {
	border-color: var(--mq-cream);
	background: var(--mq-cream);
	color: var(--mq-ink);
}

.mq-btn--light:hover,
.wp-block-button.is-style-mqnft-light .wp-block-button__link:hover {
	border-color: var(--mq-cream);
	background: transparent;
	color: var(--mq-cream);
}

/* Contorno sobre fondo oscuro: hereda el color del texto de la banda */
.has-background:is(.has-ink-background-color, .has-green-background-color) .wp-block-button.is-style-outline .wp-block-button__link {
	border-color: currentColor;
	color: inherit;
}

/* Estados */
.mq-btn.is-disabled,
.mq-btn:disabled,
.wp-element-button:disabled,
body .woocommerce :is(button.button, a.button):is(.disabled, :disabled),
.wc-block-components-button:disabled {
	border-color: var(--mq-line);
	background: var(--mq-line);
	color: rgb(45 50 55 / 0.6);
	cursor: not-allowed;
	transform: none;
}

.mq-btn.is-loading {
	opacity: 0.7;
	pointer-events: none;
}

.mq-btn.is-added .mq-icon {
	color: var(--wp--preset--color--pink);
}

.mq-btn:focus-visible,
.wp-element-button:focus-visible,
.wp-block-button__link:focus-visible {
	outline: 3px solid var(--wp--preset--color--orange);
	outline-offset: 2px;
}

/* Botón con solo ícono (carrito, menú, flechas del carrusel) */
.mq-icon-btn {
	display: grid;
	place-items: center;
	flex: none;
	width: var(--mq-btn-h);
	height: var(--mq-btn-h);
	padding: 0;
	border: var(--mq-btn-border) solid var(--mq-ink);
	border-radius: var(--mq-btn-radius);
	background: #fff;
	color: var(--mq-ink);
	cursor: pointer;
	transition: background-color 0.18s, color 0.18s;
}

.mq-icon-btn:hover {
	background: var(--mq-ink);
	color: var(--mq-cream);
}

/* Selección (filtros y variaciones): píldoras, misma tipografía que los botones */
.mq-chip,
.mq-swatch {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 0 1rem;
	border: var(--mq-btn-border) solid var(--mq-ink);
	border-radius: 999px;
	background: #fff;
	color: var(--mq-ink);
	font: 500 0.9375rem/1.2 var(--wp--preset--font-family--body);
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.18s, color 0.18s;
}

.mq-chip:hover,
.mq-swatch:hover {
	background: var(--wp--preset--color--sky);
}

.mq-chip[aria-current="true"],
.mq-swatch[aria-pressed="true"] {
	background: var(--mq-ink);
	color: var(--mq-cream);
}

.mq-swatch:disabled {
	opacity: 0.35;
	text-decoration: line-through;
	cursor: not-allowed;
}

/* --------------------------------------------------------------------------
   Encabezado
   -------------------------------------------------------------------------- */

.mq-header-part {
	position: sticky;
	top: 0;
	z-index: 40;
}

.admin-bar .mq-header-part {
	top: var(--wp-admin--admin-bar--height, 0px);
}

.mq-header {
	background: var(--wp--preset--color--sky);
	border-bottom: 2px solid var(--mq-ink);
}

.mq-header__inner {
	min-height: var(--mq-header-h);
	gap: 1rem;
}

.mq-logo {
	display: block;
	flex: none;
	line-height: 0;
}

.mq-logo img {
	width: 120px;
}

.mq-cart {
	position: relative;
	display: grid;
	place-items: center;
	flex: none;
	width: var(--mq-btn-h);
	height: var(--mq-btn-h);
	border: 2px solid var(--mq-ink);
	border-radius: var(--mq-radius-sm);
	background: #fff;
	color: var(--mq-ink);
	order: 2;
}

.mq-cart .mq-icon {
	width: 20px;
	height: 20px;
}

.mq-cart__count {
	position: absolute;
	top: -8px;
	right: -8px;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border-radius: 11px;
	background: var(--mq-ink);
	color: var(--mq-cream);
	font: 700 0.75rem/22px var(--wp--preset--font-family--body);
	text-align: center;
}

.mq-cart__count[hidden] {
	display: none;
}

/* Menú principal: celular primero */
.mq-nav--primary {
	order: 3;
}

.mq-nav__toggle {
	display: grid;
	place-items: center;
	width: var(--mq-btn-h);
	height: var(--mq-btn-h);
	padding: 0;
	border: 2px solid var(--mq-ink);
	border-radius: var(--mq-radius-sm);
	background: var(--mq-ink);
	color: var(--mq-cream);
	cursor: pointer;
}

.mq-nav__toggle .mq-icon {
	width: 22px;
	height: 22px;
}

.mq-nav__close,
.mq-nav.is-open .mq-nav__open {
	display: none;
}

.mq-nav.is-open .mq-nav__close {
	display: block;
}

.mq-nav--primary .mq-nav__panel {
	position: fixed;
	inset: calc(var(--mq-header-h) + 2px + var(--wp-admin--admin-bar--height, 0px)) 0 0 0;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	padding: 1.5rem clamp(1rem, 4vw, 2rem) 2rem;
	background: var(--wp--preset--color--sky);
	overflow-y: auto;
	visibility: hidden;
	opacity: 0;
	transform: translateY(-8px);
	transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
}

.mq-nav.is-open .mq-nav__panel {
	visibility: visible;
	opacity: 1;
	transform: none;
}

.mq-nav-open {
	overflow: hidden;
}

.mq-nav__list {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mq-nav--primary .mq-nav__list a {
	display: block;
	padding: 0.85rem 0;
	border-bottom: 1px solid rgb(45 50 55 / 0.15);
	color: var(--mq-ink);
	font: 600 1.375rem/1.2 var(--mq-heading);
	text-decoration: none;
}

.mq-nav--primary .mq-nav__list a[aria-current="page"] {
	text-decoration: underline;
	text-decoration-thickness: 3px;
	text-underline-offset: 6px;
	text-decoration-color: var(--wp--preset--color--orange);
}

.mq-nav__cta {
	align-self: flex-start;
}

@media (min-width: 1080px) {
	.mq-logo img {
		width: 146px;
	}

	.mq-nav--primary {
		order: 0;
		flex: 1;
	}

	.mq-nav__toggle {
		display: none;
	}

	.mq-nav--primary .mq-nav__panel {
		position: static;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		padding: 0;
		background: none;
		visibility: visible;
		opacity: 1;
		transform: none;
		overflow: visible;
	}

	.mq-nav--primary .mq-nav__list {
		flex-direction: row;
		gap: clamp(0.75rem, 2vw, 2rem);
		margin-inline: auto;
	}

	.mq-nav--primary .mq-nav__list a {
		padding: 0.5rem 0;
		border: 0;
		font: 500 1.0625rem/1.2 var(--wp--preset--font-family--body);
		text-underline-offset: 6px;
	}

	.mq-nav--primary .mq-nav__list a:hover {
		text-decoration: underline;
		text-decoration-thickness: 2px;
	}

	.mq-nav-open {
		overflow: auto;
	}
}

/* --------------------------------------------------------------------------
   Secciones y títulos
   -------------------------------------------------------------------------- */

.mq-main {
	padding-bottom: var(--wp--preset--spacing--50);
}

.mq-main--landing {
	padding-bottom: 0;
}

.mq-main > .wp-block-post-content > :first-child,
.mq-main > :first-child {
	margin-top: 0;
}

.mq-section {
	padding-block: var(--wp--preset--spacing--50);
}

.mq-section--first {
	padding-top: var(--wp--preset--spacing--40);
}

.mq-section--tight {
	padding-top: 0;
}

.mq-section + .mq-section {
	padding-top: 0;
}

.mq-page-head {
	padding-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30);
}

.mq-page-head--split {
	gap: 1rem 2rem;
}

/* Título de sección: tipografía display + marcador de color */
.is-style-mqnft-section,
h1.is-style-mqnft-section,
h2.is-style-mqnft-section {
	--marker: var(--wp--preset--color--pink);
	position: relative;
	margin-bottom: var(--wp--preset--spacing--30);
	padding-left: 0.6em;
	font-family: var(--mq-display);
	font-size: var(--wp--preset--font-size--display);
	font-weight: 400;
	line-height: 0.95;
	text-transform: uppercase;
	text-wrap: balance;
}

.is-style-mqnft-section::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0.08em;
	width: 0.28em;
	height: 0.62em;
	background: var(--marker);
}

.is-style-mqnft-section.is-centered,
.is-style-mqnft-section.has-text-align-center {
	padding-left: 0;
}

.is-style-mqnft-section.is-centered::before,
.is-style-mqnft-section.has-text-align-center::before {
	display: none;
}

.has-marker-green { --marker: var(--wp--preset--color--green); }
.has-marker-orange { --marker: var(--wp--preset--color--orange); }
.has-marker-blue { --marker: var(--wp--preset--color--blue); }

.mq-display {
	font-family: var(--mq-display);
	font-size: var(--wp--preset--font-size--display);
	font-weight: 400;
	line-height: 0.95;
	text-transform: uppercase;
	text-wrap: balance;
}

.mq-kicker {
	margin: 0;
	font: 700 0.9rem/1.2 var(--mq-heading);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.mq-lead {
	max-width: 62ch;
	font-size: var(--wp--preset--font-size--medium);
}

.mq-note {
	margin-top: var(--wp--preset--spacing--30);
	color: rgb(45 50 55 / 0.8);
}

.mq-more {
	margin-top: var(--wp--preset--spacing--30);
	text-align: center;
}

.mq-empty {
	padding: 2rem;
	border: 2px dashed var(--mq-line);
	border-radius: var(--mq-radius);
	text-align: center;
}

/* Bandas de color con ilustraciones */
.mq-band {
	position: relative;
	overflow: hidden;
	padding-block: var(--wp--preset--spacing--50);
	isolation: isolate;
}

.mq-band > * {
	position: relative;
	z-index: 1;
}

.mq-band__art {
	position: absolute !important;
	z-index: 0 !important;
	bottom: 0;
	height: auto;
	pointer-events: none;
	display: none;
}

@media (min-width: 900px) {
	.mq-band__art {
		display: block;
	}

	.mq-band__art--left {
		left: 0;
		width: clamp(160px, 17vw, 260px);
	}

	.mq-band__art--right {
		right: 0;
		width: clamp(200px, 22vw, 340px);
	}

	.mq-band--club .mq-band__art--left {
		bottom: auto;
		top: 50%;
		transform: translateY(-50%);
		width: clamp(130px, 12vw, 200px);
	}
}

.mq-band--club a:not(.wp-block-button__link) {
	color: inherit;
}

.mq-band--newsletter {
	text-align: center;
}

.mq-band--lala .wp-block-columns {
	gap: var(--wp--preset--spacing--40);
}

.mq-lala__img img {
	border-radius: var(--mq-radius);
	aspect-ratio: 9 / 10;
	object-fit: cover;
	width: 100%;
}

.mq-lala__books {
	padding-left: 1rem;
	border-left: 4px solid var(--wp--preset--color--pink);
}

/* --------------------------------------------------------------------------
   Carrusel (Grupo con estilo "Carrusel")
   -------------------------------------------------------------------------- */

.is-style-mqnft-slider {
	display: flex !important;
	gap: 0 !important;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.is-style-mqnft-slider::-webkit-scrollbar {
	display: none;
}

.is-style-mqnft-slider > * {
	flex: 0 0 100%;
	margin: 0 !important;
	scroll-snap-align: start;
}

/* En el editor se apilan para poder editar cada diapositiva */
.editor-styles-wrapper .is-style-mqnft-slider {
	flex-direction: column;
	overflow: visible;
}

.mq-slider__controls {
	display: flex;
	justify-content: center;
	gap: 0.5rem;
	margin-top: -2.75rem;
	padding-bottom: 1.25rem;
	position: relative;
	z-index: 2;
}

.mq-slider__dot {
	width: 12px;
	height: 12px;
	padding: 0;
	border: 2px solid var(--mq-ink);
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
	transition: width 0.2s, background 0.2s;
}

.mq-slider__dot::after {
	content: "";
	position: absolute;
	inset: -10px;
}

.mq-slider__dot {
	position: relative;
}

.mq-slider__dot[aria-current="true"] {
	width: 32px;
	border-radius: 6px;
	background: var(--mq-ink);
}

.mq-hero .mq-slide {
	padding-block: var(--wp--preset--spacing--40) calc(var(--wp--preset--spacing--40) + 3.5rem);
}

.mq-slide__cols {
	gap: var(--wp--preset--spacing--30) !important;
}

.mq-slide__title {
	margin-block: 0.5rem 0.75rem;
	font-family: var(--mq-display);
	font-size: var(--wp--preset--font-size--display);
	font-weight: 400;
	line-height: 0.95;
	text-transform: uppercase;
	text-wrap: balance;
}

.mq-slide__img {
	margin: 0;
}

.mq-slide__img img {
	display: block;
	width: auto;
	max-height: min(56vh, 460px);
	margin-inline: auto;
	filter: drop-shadow(0 18px 24px rgb(45 50 55 / 0.25));
}

.mq-tag-save {
	display: inline-block;
	margin-block: 0 1rem;
	padding: 0.25rem 0.75rem;
	border-radius: 999px;
	background: var(--mq-ink);
	color: var(--mq-cream);
	font: 700 0.9rem/1.4 var(--mq-heading);
}

@media (max-width: 781px) {
	.mq-slide__cols {
		flex-direction: column-reverse;
	}

	.mq-slide__img img {
		max-height: 260px;
	}
}

/* --------------------------------------------------------------------------
   Grillas y tarjetas de producto / evento
   -------------------------------------------------------------------------- */

.mq-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(1rem, 2vw, 1.5rem);
}

@media (min-width: 600px) {
	.mq-grid--2,
	.mq-grid--3,
	.mq-grid--4 {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1000px) {
	.mq-grid--3 { grid-template-columns: repeat(3, 1fr); }
	.mq-grid--4 { grid-template-columns: repeat(4, 1fr); }
}

/*
 * Tarjetas: un solo "cascarón" para productos, eventos, notas y episodios.
 * Toda la tarjeta es clickeable (link estirado del título); los links y
 * botones internos quedan por encima.
 */
.mq-card,
.mq-post-card,
.mq-episode {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	border: 2px solid var(--mq-ink);
	border-radius: var(--mq-radius);
	background: #fff;
	transition: transform 0.2s, box-shadow 0.2s;
}

@media (hover: hover) {
	.mq-card:hover,
	.mq-post-card:hover,
	.mq-episode:hover {
		transform: translateY(-3px);
		box-shadow: 6px 6px 0 var(--mq-ink);
	}

	.mq-card:hover .mq-card__img,
	.mq-post-card:hover .mq-post-card__img img,
	.mq-episode:hover .mq-episode__media > img:first-child {
		transform: scale(1.03);
	}
}

.mq-card__title a::after,
.mq-post-card__title a::after,
.mq-episode__title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.mq-card :is(.mq-pill, .mq-card__perk, .mq-btn),
.mq-post-card .wp-block-read-more,
.mq-episode .mq-btn {
	position: relative;
	z-index: 2;
}

.mq-card:has(.mq-card__title a:focus-visible),
.mq-post-card:has(.mq-post-card__title a:focus-visible),
.mq-episode:has(.mq-episode__title a:focus-visible) {
	outline: 3px solid var(--wp--preset--color--orange);
	outline-offset: 3px;
}

:is(.mq-card__title, .mq-post-card__title, .mq-episode__title) a:focus-visible {
	outline: none;
}

/* Imagen: mismo marco 4:5 para productos y eventos, así las filas mixtas alinean */
.mq-card__media {
	position: relative;
	display: block;
	flex: none;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-bottom: 2px solid var(--mq-ink);
	background: #f6f1ec;
}

.mq-card__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s;
}

/* Productos: la imagen entera (muchas tienen texto), sobre un fondo suave */
.mq-card--product .mq-card__img {
	object-fit: contain;
}

.mq-card.is-soldout .mq-card__img {
	filter: grayscale(0.6);
	opacity: 0.8;
}

.mq-card__date {
	position: absolute;
	top: 12px;
	left: 12px;
	display: grid;
	place-items: center;
	min-width: 56px;
	padding: 0.35rem 0.5rem 0.4rem;
	border: 2px solid var(--mq-ink);
	border-radius: var(--mq-radius-sm);
	background: var(--mq-cream);
	color: var(--mq-ink);
	line-height: 1;
	text-align: center;
	box-shadow: 2px 2px 0 var(--mq-ink);
}

.mq-card__date span {
	font: 700 0.7rem/1 var(--mq-heading);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.mq-card__date b {
	font: 400 1.625rem/1 var(--mq-display);
}

.mq-badge {
	position: absolute;
	top: 12px;
	right: 12px;
	padding: 0.3rem 0.6rem;
	border: 2px solid var(--mq-ink);
	border-radius: 999px;
	font: 700 0.75rem/1.2 var(--mq-heading);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.mq-badge--sale {
	background: var(--mq-ink);
	color: #ffb38f;
}

.mq-badge--soldout {
	background: var(--mq-ink);
	color: var(--mq-cream);
}

.mq-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.5rem;
	min-width: 0;
	padding: 1rem 1.15rem 1.15rem;
	container-type: inline-size; /* el pie se acomoda según el ancho real del texto */
}

.mq-pill {
	align-self: flex-start;
	padding: 0.15rem 0.6rem;
	border-radius: 999px;
	background: var(--wp--preset--color--pink);
	color: var(--mq-ink);
	font: 600 0.78rem/1.4 var(--mq-heading);
	text-decoration: none;
}

.mq-pill--zoom { background: var(--wp--preset--color--sky); }
.mq-pill--descargable { background: var(--wp--preset--color--blush); }
.mq-pill--libros { background: #c9e9d9; }

.mq-pill:hover {
	background: var(--mq-ink);
	color: var(--mq-cream);
}

/* Títulos: máximo 3 líneas para que las filas no se desparejen */
.mq-card__title {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	font: 700 1.125rem/1.3 var(--mq-heading);
	text-wrap: pretty;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

.mq-card__title a {
	color: inherit;
	text-decoration: none;
}

.mq-card__title a:hover {
	text-decoration: underline;
}

.mq-card__meta {
	display: grid;
	gap: 0.3rem;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.92rem;
	color: rgb(45 50 55 / 0.85);
}

.mq-card__meta li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem;
	min-width: 0;
}

.mq-card__meta .mq-icon {
	width: 16px;
	height: 16px;
	color: var(--mq-ink);
}

/* El lugar va en una línea; completo en la ficha (y en el tooltip) */
.mq-card__place {
	flex-wrap: nowrap !important;
}

.mq-card__place span {
	min-width: 0;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.mq-card__sep {
	opacity: 0.5;
}

.mq-card__foot {
	display: grid;
	gap: 0.6rem;
	margin-top: auto;
	padding-top: 0.75rem;
	border-top: 1px solid var(--mq-line);
}

/* Con lugar suficiente, precio y botón en la misma fila */
@container (min-width: 330px) {
	.mq-card__foot {
		grid-template-columns: auto 1fr;
		align-items: center;
	}

	.mq-card__foot .mq-btn--block {
		justify-self: end;
		width: auto;
	}
}

.mq-price {
	margin: 0;
	font: 700 1.125rem/1.2 var(--mq-heading);
	white-space: nowrap;
}

.mq-price del {
	margin-right: 0.3rem;
	font-size: 0.85rem;
	font-weight: 400;
	opacity: 0.6;
}

.mq-price ins {
	text-decoration: none;
}

.mq-price__free {
	color: var(--wp--preset--color--green);
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

/* Filtros */
.mq-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: var(--wp--preset--spacing--30);
}


/* Paginación */
.mq-pagination ul {
	display: flex;
	justify-content: center;
	gap: 0.4rem;
	margin: var(--wp--preset--spacing--40) 0 0;
	padding: 0;
	list-style: none;
}

.mq-pagination a,
.mq-pagination span {
	display: grid;
	place-items: center;
	min-width: var(--mq-btn-h);
	height: var(--mq-btn-h);
	padding: 0 0.6rem;
	border: 2px solid var(--mq-ink);
	border-radius: var(--mq-btn-radius);
	color: var(--mq-ink);
	text-decoration: none;
}

.mq-pagination .current {
	background: var(--mq-ink);
	color: var(--mq-cream);
}

/* --------------------------------------------------------------------------
   Podcast
   -------------------------------------------------------------------------- */

.mq-episode__media {
	position: relative;
	display: block;
	flex: none;
	aspect-ratio: 1;
	overflow: hidden;
	border-bottom: 2px solid var(--mq-ink);
	background: var(--wp--preset--color--blush);
}

.mq-episode__media > img:first-child {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s;
}

.mq-episode__badge {
	position: absolute;
	left: 12px;
	bottom: 12px;
	width: 100px;
}

.mq-episode__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.5rem;
	padding: 1rem 1.15rem 1.15rem;
}

.mq-episode__title {
	margin: 0;
	font: 700 1.125rem/1.3 var(--mq-heading);
	text-wrap: pretty;
}

.mq-episode__summary {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	color: rgb(45 50 55 / 0.85);
	font-size: 0.95rem;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

.mq-episode__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: auto 0 0;
	padding-top: 0.75rem;
	border-top: 1px solid var(--mq-line);
}

.mq-round img {
	border-radius: 50%;
	aspect-ratio: 1;
	object-fit: cover;
}

.mq-podcast-intro {
	gap: var(--wp--preset--spacing--40) !important;
}

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

.mq-posts .wp-block-post-template {
	gap: clamp(1rem, 2vw, 1.5rem);
}

.mq-posts .wp-block-post {
	display: flex;
}

.mq-post-card {
	flex: 1;
	gap: 0;
}

.mq-post-card__img {
	flex: none;
	margin: 0 !important;
	overflow: hidden;
	border-bottom: 2px solid var(--mq-ink);
	background: var(--wp--preset--color--blush) url(../img/blog-mqnft-2.png) center / cover no-repeat;
}

.mq-post-card__img img {
	display: block;
	transition: transform 0.4s;
}

/* Notas sin imagen destacada: ilustración de la marca */
.mq-post-card:not(:has(.mq-post-card__img))::before {
	content: "";
	display: block;
	flex: none;
	aspect-ratio: 4 / 3;
	border-bottom: 2px solid var(--mq-ink);
	background: var(--wp--preset--color--blush) url(../img/blog-mqnft-2.png) center / cover no-repeat;
}

.mq-post-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.5rem;
	margin: 0 !important;
	padding: 1rem 1.15rem 1.15rem;
}

.mq-post-card__body > * {
	margin: 0 !important;
}

.mq-post-card__title {
	font: 700 1.2rem/1.28 var(--mq-heading);
	text-wrap: pretty;
}

.mq-post-card__title a {
	color: inherit;
	text-decoration: none;
}

.mq-post-card__title a:hover {
	text-decoration: underline;
}

.mq-post-card__excerpt {
	color: rgb(45 50 55 / 0.85);
	font-size: 0.95rem;
}

.mq-post-card__excerpt p {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

.mq-post-card__excerpt .wp-block-post-excerpt__more-text {
	display: none;
}

.mq-post-card__foot {
	align-items: center;
	gap: 0.75rem;
	margin-top: auto !important;
	padding-top: 0.75rem;
	border-top: 1px solid var(--mq-line);
}

.mq-post-card__date {
	font-size: var(--wp--preset--font-size--small);
	color: rgb(45 50 55 / 0.7);
}

.mq-post-card__more {
	font: 600 0.9rem/1.2 var(--mq-heading);
	color: var(--mq-ink);
	text-decoration: none;
	white-space: nowrap;
}

.mq-post-card__more::after {
	content: " →";
}

.mq-post-card__more:hover {
	text-decoration: underline;
}

.mq-search {
	min-width: min(100%, 320px);
}

.mq-search .wp-block-search__button {
	min-height: 36px;
	margin: 0;
	padding: 0 0.75rem !important;
	border-radius: 6px !important;
}

.mq-search .wp-block-search__inside-wrapper {
	border: 2px solid var(--mq-ink);
	border-radius: var(--mq-radius-sm);
	background: #fff;
	padding: 2px;
}

.mq-search .wp-block-search__input {
	border: 0;
	background: transparent;
	padding-inline: 0.75rem;
}


.wp-block-query-pagination {
	margin-top: var(--wp--preset--spacing--40);
	gap: 0.5rem;
}

/* Nota individual */
.mq-article__head {
	padding-top: var(--wp--preset--spacing--40);
	text-align: center;
}

.mq-article__head .wp-block-post-title {
	font-size: var(--wp--preset--font-size--x-large);
	text-wrap: balance;
}

.mq-article__cat {
	font: 700 0.85rem/1.2 var(--mq-heading);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.mq-article__cat a {
	padding: 0.25rem 0.7rem;
	border-radius: 999px;
	background: var(--wp--preset--color--pink);
	text-decoration: none;
}

.mq-article__meta {
	justify-content: center;
	gap: 0.25rem 1rem;
	font-size: var(--wp--preset--font-size--small);
	color: rgb(45 50 55 / 0.75);
}

.mq-article__meta > * {
	margin: 0;
}

.mq-article__image img {
	border-radius: var(--mq-radius);
}

.mq-article__content {
	font-size: 1.125rem;
	line-height: 1.7;
}

.mq-article__content > p:first-of-type:not(:empty) {
	font-size: 1.25rem;
}

.mq-article__nav {
	margin-block: var(--wp--preset--spacing--40);
	padding-top: var(--wp--preset--spacing--30);
	border-top: 1px solid var(--mq-line);
	gap: 1rem;
}

.mq-article__nav a {
	font-family: var(--mq-heading);
	font-weight: 600;
}

/* --------------------------------------------------------------------------
   Apoyanos: planes
   -------------------------------------------------------------------------- */

.mq-tiers {
	gap: clamp(1rem, 2.5vw, 1.75rem) !important;
	align-items: stretch !important;
}

.mq-tier {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	padding: 1.75rem 1.5rem 1.5rem;
	border: 2px solid var(--mq-ink);
	border-radius: var(--mq-radius);
	background: #fff;
}

.mq-tier.is-featured {
	background: var(--wp--preset--color--pink);
	box-shadow: 8px 8px 0 var(--mq-ink);
}

.mq-tier__flag {
	position: absolute;
	top: -14px;
	left: 1.5rem;
	margin: 0;
	padding: 0.2rem 0.75rem;
	border-radius: 999px;
	background: var(--mq-ink);
	color: var(--mq-cream);
	font: 700 0.85rem/1.4 var(--mq-heading);
	text-transform: uppercase;
}

.mq-tier__name {
	margin: 0;
	font: 400 1.875rem/1 var(--mq-display);
	text-transform: uppercase;
}

.mq-tier__price {
	margin: 0;
	font: 700 1.625rem/1.1 var(--mq-heading);
}

.mq-tier__price span,
.mq-tier__price small {
	font-size: 1rem;
	font-weight: 500;
}

.mq-tier__perks {
	flex: 1;
	margin: 0.25rem 0 0.5rem;
	padding: 0;
	list-style: none;
}

.mq-tier__perks li {
	position: relative;
	padding: 0.35rem 0 0.35rem 1.75rem;
}

.mq-tier__perks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.6rem;
	width: 1.1rem;
	height: 1.1rem;
	border-radius: 50%;
	background: var(--wp--preset--color--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center / 70% no-repeat;
}

.mq-tier__actions {
	gap: 0.5rem;
}


/* --------------------------------------------------------------------------
   Boletín
   -------------------------------------------------------------------------- */

.mq-newsletter {
	max-width: 640px;
	margin-inline: auto;
	text-align: center;
}

.mq-newsletter__title.is-style-mqnft-section {
	padding-left: 0;
	font-size: var(--wp--preset--font-size--x-large);
}

.mq-newsletter__title.is-style-mqnft-section::before {
	display: none;
}

.mq-newsletter__form {
	display: grid;
	gap: 0.75rem;
	margin-top: 1.25rem;
}

@media (min-width: 640px) {
	.mq-newsletter__form {
		grid-template-columns: 1fr 1.3fr auto;
		align-items: end;
	}
}

.mq-field {
	display: grid;
	gap: 0.3rem;
	text-align: left;
}

.mq-field span {
	font: 600 0.85rem/1.2 var(--mq-heading);
}

.mq-field input {
	min-height: var(--mq-btn-h);
	padding: 0.6rem 0.9rem;
	border: 2px solid var(--mq-ink);
	border-radius: var(--mq-radius-sm);
	background: #fff;
	color: var(--mq-ink);
	font: inherit;
}

.mq-newsletter__note {
	margin-top: 0.75rem;
	font-size: var(--wp--preset--font-size--small);
}

.mq-newsletter__note.is-success {
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 700;
}

/* --------------------------------------------------------------------------
   Pie
   -------------------------------------------------------------------------- */

.mq-social {
	display: flex;
	justify-content: center;
	gap: 0.75rem;
	margin: 1.5rem 0 0;
	padding: 0;
	list-style: none;
}

.mq-social a {
	display: grid;
	place-items: center;
	width: var(--mq-btn-h);
	height: var(--mq-btn-h);
	border: 2px solid var(--mq-ink);
	border-radius: 50%;
	color: var(--mq-ink);
	transition: background 0.18s, color 0.18s;
}

.mq-social a:hover {
	background: var(--mq-ink);
	color: var(--wp--preset--color--sky);
}

.mq-footer__main {
	padding-block: var(--wp--preset--spacing--40);
}

.mq-footer__main > .alignwide {
	gap: 1.5rem 3rem;
}

.mq-footer__logo img {
	width: 180px;
}

.mq-nav--footer .mq-nav__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(8rem, auto));
	gap: 0.5rem 2.5rem;
}

@media (min-width: 782px) {
	.mq-nav--footer .mq-nav__list {
		grid-template-columns: repeat(4, auto);
	}
}

.mq-nav--footer a {
	color: var(--mq-ink);
	font-weight: 500;
	text-decoration: none;
}

.mq-nav--footer a:hover {
	text-decoration: underline;
}

.mq-footer__bar {
	padding-block: 0.9rem;
}

.mq-footer__bar p {
	margin: 0;
}

/* Aviso "agregado al carrito" */
.mq-toast {
	position: fixed;
	left: 50%;
	bottom: 24px;
	z-index: 60;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 1rem;
	max-width: calc(100vw - 2rem);
	padding: 0.85rem 1.25rem;
	border-radius: var(--mq-radius-sm);
	background: var(--mq-ink);
	color: var(--mq-cream);
	box-shadow: 0 12px 30px rgb(0 0 0 / 0.25);
	transform: translate(-50%, 150%);
	transition: transform 0.25s;
}

.mq-toast.is-visible {
	transform: translate(-50%, 0);
}

.mq-toast a {
	color: var(--wp--preset--color--pink);
	font-weight: 700;
}

/* --------------------------------------------------------------------------
   WooCommerce (ficha, carrito, checkout)
   -------------------------------------------------------------------------- */

.woocommerce-breadcrumb,
.wc-block-breadcrumbs {
	margin: var(--wp--preset--spacing--30) 0;
	font-size: var(--wp--preset--font-size--small);
}

.mq-crumb-sep {
	margin-inline: 0.5rem;
	opacity: 0.5;
}

.mq-main--product div.product {
	display: grid;
	gap: var(--wp--preset--spacing--40);
}

@media (min-width: 900px) {
	.mq-main--product div.product {
		grid-template-columns: 1fr 1fr;
	}

	.mq-main--product div.product > .woocommerce-tabs,
	.mq-main--product div.product > .mq-related {
		grid-column: 1 / -1;
	}
}

.mq-main--product div.product div.images,
.mq-main--product div.product div.summary {
	float: none;
	width: auto;
	margin: 0;
}

.mq-main--product div.product div.images img {
	border-radius: var(--mq-radius);
}

.mq-main--product .product_title {
	font-size: var(--wp--preset--font-size--x-large);
	text-wrap: balance;
}

.mq-main--product div.product p.price,
.mq-main--product div.product span.price {
	color: var(--mq-ink);
	font: 700 1.5rem/1.2 var(--mq-heading);
}

.mq-event-meta {
	margin-block: 1rem 1.5rem;
	padding: 1rem 1.25rem;
	border: 2px solid var(--mq-ink);
	border-radius: var(--mq-radius);
	background: var(--wp--preset--color--sky);
}

.mq-event-meta ul {
	display: grid;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mq-event-meta li {
	display: flex;
	gap: 0.6rem;
	align-items: flex-start;
}

.mq-event-meta .mq-icon {
	margin-top: 0.15em;
}

.mq-event-meta.is-past {
	background: var(--wp--preset--color--blush);
}

.mq-event-meta__past {
	margin: 0 0 0.5rem;
	font-weight: 700;
}

.woocommerce .quantity .qty {
	min-height: var(--mq-btn-h);
	border: 2px solid var(--mq-ink);
	border-radius: var(--mq-radius-sm);
}

.woocommerce-tabs ul.tabs {
	padding-left: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	border-radius: var(--mq-radius-sm) var(--mq-radius-sm) 0 0 !important;
	background: transparent !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	display: none !important;
}

.mq-related {
	margin-top: var(--wp--preset--spacing--40);
}

.mq-related h2.is-style-mqnft-section {
	font-size: var(--wp--preset--font-size--x-large);
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-top-color: var(--wp--preset--color--green) !important;
	border-radius: var(--mq-radius-sm);
	background: #fff !important;
}

.woocommerce form .form-row :where(input.input-text, textarea, select),
.woocommerce-page form .form-row :where(input.input-text, textarea, select) {
	min-height: var(--mq-btn-h);
	padding: 0.5rem 0.85rem;
	border: 2px solid var(--mq-line);
	border-radius: var(--mq-radius-sm);
	background: #fff;
}

.woocommerce form .form-row :where(input.input-text, textarea, select):focus {
	border-color: var(--mq-ink);
}

/* --------------------------------------------------------------------------
   Movimiento reducido
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* ==========================================================================
   v1.1 · Mejoras de UX
   ========================================================================== */

/* Encabezado más bajo en celulares: más contenido visible */
@media (max-width: 781px) {
	:root {
		--mq-header-h: 64px;
	}

	.mq-logo img {
		width: 104px;
	}

}

/* Carrusel: flechas */
.mq-slider__controls {
	align-items: center;
}

.mq-slider__arrow {
	display: grid;
	place-items: center;
	width: var(--mq-btn-h-sm);
	height: var(--mq-btn-h-sm);
	margin-inline: 0.25rem;
	padding: 0;
	border: 2px solid var(--mq-ink);
	border-radius: var(--mq-btn-radius);
	background: var(--mq-cream);
	color: var(--mq-ink);
	cursor: pointer;
	transition: background 0.18s, color 0.18s;
}

.mq-slider__arrow:hover {
	background: var(--mq-ink);
	color: var(--mq-cream);
}

.mq-slider__controls {
	margin-top: -3.5rem;
}

/* Quiénes somos + accesos */
.mq-intro {
	padding-bottom: var(--wp--preset--spacing--40);
}

.mq-intro__title {
	margin-block: 0.5rem 1rem;
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.1;
	text-wrap: balance;
}

.mq-paths {
	display: grid;
	gap: 1rem;
	margin-top: var(--wp--preset--spacing--30);
	padding: 0;
	list-style: none;
}

@media (min-width: 782px) {
	.mq-paths {
		grid-template-columns: repeat(3, 1fr);
	}
}

.mq-path {
	position: relative;
	display: grid;
	gap: 0.35rem;
	height: 100%;
	padding: 1.25rem 4rem 1.25rem 1.25rem;
	border: 2px solid var(--mq-ink);
	border-radius: var(--mq-radius);
	color: var(--mq-ink);
	text-decoration: none;
	transition: transform 0.2s, box-shadow 0.2s;
}

.mq-path:hover {
	transform: translateY(-3px);
	box-shadow: 6px 6px 0 var(--mq-ink);
}

.mq-path--sky { background: var(--wp--preset--color--sky); }
.mq-path--blush { background: var(--wp--preset--color--blush); }
.mq-path--pink { background: var(--wp--preset--color--pink); }

.mq-path__title {
	font: 700 1.25rem/1.2 var(--mq-heading);
}

.mq-path__text {
	font-size: 0.975rem;
}

.mq-path__go {
	position: absolute;
	right: 1.1rem;
	top: 50%;
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--mq-ink);
	color: var(--mq-cream);
	transform: translateY(-50%);
}

/* Tarjetas: stock bajo y beneficio del club */
.mq-badge--low {
	background: var(--wp--preset--color--orange);
	color: var(--mq-ink);
}

.mq-card__perk {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	align-self: flex-start;
	font: 600 0.875rem/1.3 var(--mq-heading);
	color: var(--mq-ink);
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--pink);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

.mq-card__perk .mq-icon {
	color: #c2357f;
}

/*
 * Grillas en celulares: los eventos pasan a tarjetas horizontales compactas
 * y los productos a dos columnas, en lugar de una columna larguísima.
 */
@media (max-width: 599px) {
	.mq-grid--events .mq-card {
		display: grid;
		grid-template-columns: 38% 1fr;
	}

	.mq-grid--events .mq-card__media {
		aspect-ratio: auto;
		min-height: 100%;
		border-right: 2px solid var(--mq-ink);
		border-bottom: 0;
	}

	.mq-grid--events .mq-card__date {
		top: 8px;
		left: 8px;
		min-width: 48px;
		padding: 0.25rem 0.4rem;
	}

	.mq-grid--events .mq-card__date b {
		font-size: 1.4rem;
	}

	.mq-grid--events .mq-badge {
		top: auto;
		right: auto;
		left: 8px;
		bottom: 8px;
		font-size: 0.7rem;
	}

	.mq-grid--events .mq-card__body {
		gap: 0.4rem;
		padding: 0.8rem;
	}

	.mq-grid--events .mq-card__title {
		font-size: 1rem;
	}

	.mq-grid--events .mq-card__meta {
		font-size: 0.85rem;
	}

	.mq-grid--events .mq-card__meta li:nth-child(3) {
		display: none; /* el lugar completo queda para la ficha */
	}

	.mq-grid--events .mq-card__foot {
		gap: 0.5rem;
		padding-top: 0.5rem;
	}

	.mq-grid--events .mq-price {
		font-size: 1.05rem;
	}

	.mq-grid--events .mq-btn .mq-icon,
	.mq-grid--products .mq-btn .mq-icon {
		display: none;
	}

	.mq-grid--products {
		grid-template-columns: repeat(2, 1fr);
		gap: 0.75rem;
	}

	.mq-grid--products .mq-card__body {
		gap: 0.4rem;
		padding: 0.7rem;
	}

	.mq-grid--products .mq-card__title {
		font-size: 0.95rem;
	}

	.mq-grid--products .mq-pill {
		font-size: 0.7rem;
	}

	.mq-grid--products .mq-price {
		font-size: 1rem;
	}

	.mq-grid--products .mq-card__meta li:not(:first-child),
	.mq-grid--products .mq-card__perk {
		display: none;
	}

	.mq-grid--products .mq-badge {
		top: 8px;
		right: 8px;
		font-size: 0.65rem;
	}

}

/* Ficha: datos del evento, agendar y club */
.mq-event-meta__cal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem 0.9rem;
	margin: 0.9rem 0 0;
	padding-top: 0.8rem;
	border-top: 1px solid rgb(45 50 55 / 0.2);
	font-size: 0.95rem;
}

.mq-event-meta__cal span {
	font-weight: 700;
}

.mq-event-meta__perk {
	display: flex;
	gap: 0.6rem;
	align-items: flex-start;
	margin-top: 0.8rem;
	padding: 0.75rem 0.9rem;
	border-radius: var(--mq-radius-sm);
	background: var(--wp--preset--color--pink);
	color: var(--mq-ink);
	text-decoration: none;
}

.mq-event-meta__perk:hover span {
	text-decoration: underline;
}

.mq-event-meta__perk .mq-icon {
	margin-top: 0.15em;
}

/* Ficha: tranquilidad antes de pagar */
.mq-assure {
	display: grid;
	gap: 0.6rem;
	margin: 1.5rem 0;
	padding: 1rem 0 0;
	border-top: 1px solid var(--mq-line);
	list-style: none;
	font-size: 0.95rem;
}

.mq-assure li {
	display: flex;
	gap: 0.65rem;
	align-items: flex-start;
}

.mq-assure .mq-icon {
	margin-top: 0.1em;
	color: var(--wp--preset--color--green);
}

.mq-anchor {
	display: block;
	scroll-margin-top: calc(var(--mq-header-h) + 24px);
}

/* Barra fija de compra (solo celulares) */
.mq-buybar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 45;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.65rem 1rem calc(0.65rem + env(safe-area-inset-bottom));
	border-top: 2px solid var(--mq-ink);
	background: var(--mq-cream);
	box-shadow: 0 -8px 24px rgb(45 50 55 / 0.12);
	transform: translateY(110%);
	transition: transform 0.25s;
}

.mq-buybar.is-visible {
	transform: none;
}

.mq-buybar[hidden] {
	display: none;
}

.mq-buybar__info {
	display: grid;
	min-width: 0;
}

.mq-buybar__name {
	overflow: hidden;
	font-size: 0.85rem;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.mq-buybar__price {
	font: 700 1.1rem/1.2 var(--mq-heading);
}

.mq-buybar__price del {
	font-size: 0.85rem;
	font-weight: 400;
	opacity: 0.6;
}

.mq-buybar .mq-btn {
	flex: none;
}

@media (min-width: 900px) {
	.mq-buybar {
		display: none;
	}
}

/* Con la barra visible, el botón de WhatsApp sube para no taparla */
@media (max-width: 899px) {
	body.single-product .mqnft-whatsapp {
		bottom: 88px;
	}
}

/* Tienda: categorías + orden */
.mq-shopbar {
	display: grid;
	gap: 0.75rem;
	margin-bottom: var(--wp--preset--spacing--30);
}

.mq-filters--scroll {
	flex-wrap: nowrap;
	margin-bottom: 0;
	margin-inline: calc(-1 * clamp(1rem, 4vw, 2rem));
	padding: 0.25rem clamp(1rem, 4vw, 2rem);
	overflow-x: auto;
	scrollbar-width: none;
}

.mq-filters--scroll::-webkit-scrollbar {
	display: none;
}

.mq-filters--scroll .mq-chip {
	flex: none;
}

@media (min-width: 782px) {
	.mq-filters--scroll {
		flex-wrap: wrap;
		margin-inline: 0;
		padding-inline: 0;
	}
}

.mq-shopbar__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem 1rem;
	padding-top: 0.75rem;
	border-top: 1px solid var(--mq-line);
}

.mq-shopbar__count {
	margin: 0;
	color: rgb(45 50 55 / 0.75);
}

.mq-sort {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.mq-sort label {
	font: 600 0.9rem/1.2 var(--mq-heading);
}

.mq-sort select {
	min-height: var(--mq-btn-h);
	padding: 0.4rem 2.2rem 0.4rem 0.75rem;
	border: 2px solid var(--mq-ink);
	border-radius: var(--mq-radius-sm);
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232D3237' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 0.6rem center / 16px no-repeat;
	color: var(--mq-ink);
	font: inherit;
	appearance: none;
}

.mq-sort.has-js .mq-sort__go {
	display: none;
}

/* Checkout sin distracciones */
.mq-header--checkout {
	background: var(--mq-cream);
}

.mq-header__inner--checkout {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	min-height: var(--mq-header-h);
	gap: 1rem;
}

.mq-header__inner--checkout .mq-logo {
	justify-self: center;
}

.mq-checkout-back,
.mq-checkout-secure {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin: 0;
	color: var(--mq-ink);
	font: 600 0.95rem/1.2 var(--mq-heading);
}

.mq-checkout-secure {
	justify-self: end;
	color: var(--wp--preset--color--green);
}

@media (max-width: 599px) {
	.mq-checkout-back span,
	.mq-checkout-secure span {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
	}
}

.mq-footer--checkout {
	padding-block: var(--wp--preset--spacing--30);
	border-top: 1px solid var(--mq-line);
	text-align: center;
	font-size: 0.95rem;
}

.mq-footer--checkout p {
	margin: 0.25rem 0;
}

.mq-footer__legal {
	color: rgb(45 50 55 / 0.7);
}

/* Pie en columnas */
.mq-footer__grid {
	display: grid;
	gap: var(--wp--preset--spacing--40);
}

@media (min-width: 782px) {
	.mq-footer__grid {
		grid-template-columns: 1.4fr 1fr 1fr;
	}
}

.mq-footer__brand p {
	max-width: 36ch;
	margin: 1rem 0 0;
}

.mq-footer__brand .mq-social {
	justify-content: flex-start;
}

.mq-footer__title {
	margin: 0 0 1rem;
	font: 700 0.85rem/1.2 var(--mq-heading);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.mq-nav--footer .mq-nav__list,
.mq-footer__grid .mq-nav--footer .mq-nav__list {
	grid-template-columns: repeat(2, minmax(0, auto));
	gap: 0.6rem 2rem;
}

.mq-footer__contact {
	display: grid;
	gap: 0.6rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mq-footer__contact li,
.mq-footer__pay {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	word-break: break-word;
}

.mq-footer__pay {
	margin-top: 1.25rem;
	font-size: var(--wp--preset--font-size--small);
	color: rgb(45 50 55 / 0.8);
}

/* Compartir */
.mq-share {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1rem;
	margin-block: var(--wp--preset--spacing--40) 0;
	padding-block: 1.25rem;
	border-block: 1px solid var(--mq-line);
}

.mq-share__label {
	margin: 0;
	font: 700 1rem/1.2 var(--mq-heading);
}

.mq-share__list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mq-share__btn[hidden] {
	display: none;
}

/* Cierre de nota */
.mq-post-end {
	margin-block: var(--wp--preset--spacing--40);
	padding: clamp(1.5rem, 4vw, 2.5rem);
	border: 2px solid var(--mq-ink);
	border-radius: var(--mq-radius);
	background: var(--wp--preset--color--pink);
	box-shadow: 8px 8px 0 var(--mq-ink);
}

.mq-post-end__title {
	margin-block: 0.4rem 0.75rem;
	font-size: var(--wp--preset--font-size--large);
}

/* Apoyanos: pasos y preguntas */
.mq-steps {
	display: grid;
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

@media (min-width: 782px) {
	.mq-steps {
		grid-template-columns: repeat(3, 1fr);
	}
}

.mq-steps li {
	padding: 1.25rem;
	border: 2px solid var(--mq-ink);
	border-radius: var(--mq-radius);
	background: #fff;
}

.mq-steps__n {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--wp--preset--color--green);
	color: #fff;
	font: 400 1.5rem/1 var(--mq-display);
}

.mq-steps h3 {
	margin: 0.85rem 0 0.35rem;
	font-size: 1.2rem;
}

.mq-steps p {
	margin: 0;
}

.mq-faq__list {
	border-top: 2px solid var(--mq-ink);
}

.mq-faq__item {
	border-bottom: 2px solid var(--mq-ink);
}

.mq-faq__item summary {
	position: relative;
	padding: 1.1rem 3rem 1.1rem 0;
	font: 700 1.1rem/1.3 var(--mq-heading);
	list-style: none;
	cursor: pointer;
}

.mq-faq__item summary::-webkit-details-marker {
	display: none;
}

.mq-faq__item summary::after {
	content: "+";
	position: absolute;
	right: 0.25rem;
	top: 50%;
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--mq-ink);
	color: var(--mq-cream);
	font: 400 1.4rem/1 var(--wp--preset--font-family--body);
	transform: translateY(-50%);
}

.mq-faq__item[open] summary::after {
	content: "−";
}

.mq-faq__item > :not(summary) {
	margin: 0 0 1.1rem;
	max-width: 62ch;
}

/* Blog: nota destacada en la primera página */
@media (min-width: 900px) {
	body:not(.paged) .mq-posts--featured .wp-block-post:first-child {
		grid-column: 1 / -1;
	}

	body:not(.paged) .mq-posts--featured .wp-block-post:first-child .mq-post-card {
		flex-direction: row;
	}

	body:not(.paged) .mq-posts--featured .wp-block-post:first-child .mq-post-card__img {
		width: 56%;
		aspect-ratio: auto !important;
		min-height: 360px;
		border-bottom: 0;
		border-right: 2px solid var(--mq-ink);
	}

	body:not(.paged) .mq-posts--featured .wp-block-post:first-child .mq-post-card:not(:has(.mq-post-card__img))::before {
		width: 56%;
		aspect-ratio: auto;
		min-height: 360px;
		border-bottom: 0;
		border-right: 2px solid var(--mq-ink);
	}

	body:not(.paged) .mq-posts--featured .wp-block-post:first-child .mq-post-card__img img {
		height: 100% !important;
		object-fit: cover;
	}

	body:not(.paged) .mq-posts--featured .wp-block-post:first-child .mq-post-card__body {
		justify-content: center;
		gap: 0.75rem;
		padding: clamp(1.5rem, 3vw, 2.5rem);
	}

	body:not(.paged) .mq-posts--featured .wp-block-post:first-child .mq-post-card__title {
		font-size: var(--wp--preset--font-size--x-large);
		line-height: 1.12;
	}

	body:not(.paged) .mq-posts--featured .wp-block-post:first-child .mq-post-card__excerpt p {
		-webkit-line-clamp: 5;
		font-size: 1.05rem;
	}

	body:not(.paged) .mq-posts--featured .wp-block-post:first-child .mq-post-card__foot {
		margin-top: 0.5rem !important;
	}
}
/* ==========================================================================
   v1.2 · Ajuste de tamaños y márgenes
   ========================================================================== */

/* Títulos de páginas utilitarias (carrito, checkout, legales): sin display gigante */
.mq-page-head .is-style-mqnft-section,
.mq-main--shop .mq-page-head .is-style-mqnft-section {
	font-size: var(--wp--preset--font-size--x-large);
	margin-bottom: 0;
}

.mq-page-head {
	padding-block: var(--wp--preset--spacing--30) var(--wp--preset--spacing--20);
}

/* Tarjetas de producto: el título no compite con la foto */
.mq-card--product .mq-card__title {
	font-size: 1.0625rem;
}

/* Ficha de producto: título y espacios proporcionados */
.mq-main--product .product_title {
	margin-bottom: 0.5rem;
	font-size: clamp(1.625rem, 3vw, 2.25rem);
}

.mq-main--product div.product form.cart {
	margin-block: 1.25rem;
}

/* Bloques de texto de las bandas: aire controlado */
.mq-band :where(h2, p) {
	margin-block: 0 1rem;
}

.mq-band .wp-block-buttons {
	margin-top: 1.5rem;
}

/* Secciones dentro de la nota (Seguí leyendo) sin doble padding */
.mq-article .mq-section {
	padding-block: var(--wp--preset--spacing--40) 0;
}

/* Planes: tarjetas con aire interno parejo */
.mq-tier {
	padding: 1.5rem 1.35rem 1.35rem;
}

/* Botones de bloque nativos en grupo: separación cómoda pero compacta */
.wp-block-buttons {
	gap: 0.6rem;
}

/* ==========================================================================
   v1.3 · QA de diseño: consistencia
   ========================================================================== */

.mq-more .mq-btn .mq-icon {
	transition: transform 0.18s;
}

.mq-more .mq-btn:hover .mq-icon {
	transform: translateX(3px);
}

/*
 * Jerarquía de títulos:
 *   carrusel (h2 del hero)     → display (el más grande de la página)
 *   H1 de páginas              → display
 *   títulos de sección         → un escalón menos
 *   títulos de bandas de color → un escalón menos que sección
 */
.is-style-mqnft-section,
h2.is-style-mqnft-section {
	font-size: clamp(2rem, 1.35rem + 2.4vw, 3.125rem);
}

h1.is-style-mqnft-section {
	font-size: var(--wp--preset--font-size--display);
}

.mq-display,
.mq-band .mq-display {
	font-size: clamp(1.875rem, 1.4rem + 1.8vw, 2.75rem);
}

.mq-newsletter__title.is-style-mqnft-section {
	font-size: clamp(1.75rem, 1.35rem + 1.5vw, 2.5rem);
}

/* Tarjetas: lugar reservado para la etiqueta, así los títulos quedan alineados */
.mq-pill--empty {
	visibility: hidden;
	min-height: 1.4em;
	padding-block: 0.2rem;
}

.mq-grid:not(:has(.mq-pill:not(.mq-pill--empty))) .mq-pill--empty {
	display: none; /* si ninguna tarjeta de la grilla tiene etiqueta, no dejamos hueco */
}

/* Podcast: títulos con link y botones del episodio */
.mq-episode__media {
	display: block;
}

.mq-episode__title a {
	color: inherit;
	text-decoration: none;
}

.mq-episode__title a:hover {
	text-decoration: underline;
}

.mq-listen {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	margin-top: 1.25rem;
}

.mq-listen__label {
	flex-basis: 100%;
	margin: 0;
	font: 700 0.85rem/1.2 var(--mq-heading);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* Ficha: descripción como sección de lectura */
.mq-product-desc {
	max-width: 760px;
	margin-top: var(--wp--preset--spacing--40);
	padding-top: var(--wp--preset--spacing--30);
	border-top: 1px solid var(--mq-line);
}

@media (min-width: 900px) {
	.mq-main--product div.product > .mq-product-desc {
		grid-column: 1 / -1;
	}
}

.mq-product-desc h2 {
	margin: 0 0 1rem;
	font-size: var(--wp--preset--font-size--large);
}

.mq-product-desc__body {
	font-size: 1.0625rem;
	line-height: 1.65;
}

.mq-product-desc__body > :first-child {
	margin-top: 0;
}

.mq-product-desc__body :where(h3, h4) {
	margin-block: 1.5rem 0.5rem;
	font-size: var(--wp--preset--font-size--medium);
}

.mq-product-desc__body:empty,
.mq-product-desc__body p:empty {
	display: none;
}

/* Carrito vacío */
.mq-empty-cart__head {
	max-width: 560px;
	margin: var(--wp--preset--spacing--30) auto var(--wp--preset--spacing--40);
	text-align: center;
}

.mq-empty-cart__icon {
	display: inline-grid;
	place-items: center;
	width: 64px;
	height: 64px;
	border: 2px solid var(--mq-ink);
	border-radius: 50%;
	background: var(--wp--preset--color--sky);
}

.mq-empty-cart__icon .mq-icon {
	width: 28px;
	height: 28px;
}

.mq-empty-cart__head h2 {
	margin: 1rem 0 0.5rem;
	font-size: var(--wp--preset--font-size--large);
}

.mq-empty-cart__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.6rem;
	margin-top: 1.25rem;
}

.mq-empty-cart__more {
	margin: 0 0 1rem;
	font-size: var(--wp--preset--font-size--medium);
}

/* ==========================================================================
   v1.5 · Ficha de producto (PDP)
   ========================================================================== */

.mq-visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.mq-main--product div.product {
	align-items: start;
	column-gap: clamp(1.5rem, 4vw, 3.5rem);
}

/* Galería: marco como las tarjetas; fija al hacer scroll en escritorio */
.mq-main--product .woocommerce-product-gallery {
	overflow: hidden;
	border: 2px solid var(--mq-ink);
	border-radius: var(--mq-radius);
	background: #f6f1ec;
}

.mq-main--product .woocommerce-product-gallery__image img,
.mq-main--product div.product div.images img {
	border-radius: 0;
	width: 100%;
	max-height: 72vh;
	object-fit: contain;
}

.mq-main--product div.product div.images .flex-control-thumbs {
	display: flex;
	gap: 0.5rem;
	margin: 0;
	padding: 0.6rem;
	border-top: 2px solid var(--mq-ink);
	background: #fff;
}

.mq-main--product div.product div.images .flex-control-thumbs li {
	width: 64px !important;
	float: none !important;
}

.mq-main--product div.product div.images .flex-control-thumbs img {
	border: 2px solid transparent;
	border-radius: 6px;
	opacity: 0.6;
}

.mq-main--product div.product div.images .flex-control-thumbs img.flex-active,
.mq-main--product div.product div.images .flex-control-thumbs img:hover {
	border-color: var(--mq-ink);
	opacity: 1;
}

.mq-main--product .woocommerce-product-gallery__trigger {
	z-index: 3;
}

@media (min-width: 900px) {
	.mq-main--product div.product div.images {
		position: sticky;
		top: calc(var(--mq-header-h) + var(--wp-admin--admin-bar--height, 0px) + 1.5rem);
	}

	.mq-main--product div.product div.images img {
		max-height: none;
	}
}

/* Resumen */
.mq-main--product div.product div.summary {
	display: flex;
	flex-direction: column;
}

.mq-main--product div.product div.summary > * {
	margin-top: 0;
}

.mq-pdp-pill {
	margin-bottom: 0.75rem;
}

.mq-main--product .product_title {
	margin-bottom: 0.75rem !important;
	line-height: 1.12;
}

.mq-pdp-price {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem 0.75rem;
	margin-bottom: 1rem;
}

.mq-pdp-price .price {
	margin: 0 !important;
}

.mq-pdp-price .price del {
	font-size: 1.05rem;
	font-weight: 400;
	opacity: 0.55;
}

.mq-pdp-price .price ins {
	text-decoration: none;
}

.mq-pdp-off,
.mq-pdp-low {
	padding: 0.2rem 0.6rem;
	border: 2px solid var(--mq-ink);
	border-radius: 999px;
	font: 700 0.8rem/1.3 var(--mq-heading);
}

.mq-pdp-off {
	background: var(--mq-ink);
	color: #ffb38f;
}

.mq-pdp-low {
	background: var(--wp--preset--color--orange);
	color: var(--mq-ink);
}

.mq-pdp-save {
	font: 600 0.95rem/1.3 var(--mq-heading);
	color: var(--wp--preset--color--green);
}

.mq-main--product .woocommerce-product-details__short-description {
	margin-bottom: 1.25rem;
	font-size: 1.05rem;
	line-height: 1.6;
}

.mq-main--product .woocommerce-product-details__short-description p {
	margin: 0;
}

.mq-pdp-intro a {
	font-weight: 600;
	white-space: nowrap;
}

.mq-main--product .mq-event-meta {
	margin-block: 0 1.25rem;
}

/* Formulario de compra */
.mq-main--product form.cart:not(.variations_form),
.mq-main--product .woocommerce-variation-add-to-cart {
	display: flex !important;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 0.75rem;
	margin-block: 0 1rem !important;
}

.mq-main--product form.cart .quantity {
	display: grid !important;
	grid-template-columns: auto;
	float: none !important;
	margin: 0 !important;
}

.mq-qty-label {
	display: block;
	margin-bottom: 0.3rem;
	font: 600 0.85rem/1.2 var(--mq-heading);
}

.mq-main--product .quantity.has-stepper {
	grid-template-columns: 40px 56px 40px;
	align-items: stretch;
	overflow: hidden;
	border: 2px solid var(--mq-ink);
	border-radius: var(--mq-radius-sm);
	background: #fff;
}

.mq-main--product .quantity.has-stepper .qty {
	width: 100% !important;
	min-height: calc(var(--mq-btn-h-lg) - 4px) !important;
	border: 0 !important;
	border-radius: 0 !important;
	text-align: center;
	font: 600 1rem/1 var(--mq-heading);
	-moz-appearance: textfield;
}

.mq-main--product .quantity.has-stepper .qty::-webkit-inner-spin-button,
.mq-main--product .quantity.has-stepper .qty::-webkit-outer-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.mq-qty-btn {
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--mq-ink);
	font: 500 1.25rem/1 var(--wp--preset--font-family--body);
	cursor: pointer;
}

.mq-qty-btn:hover {
	background: var(--wp--preset--color--sky);
}

/* La etiqueta "Cantidad" queda arriba del stepper */
.mq-main--product form.cart .mq-qty-label + .quantity,
.mq-main--product .woocommerce-variation-add-to-cart .mq-qty-label + .quantity {
	margin-top: 0 !important;
}

.mq-main--product form.cart button.single_add_to_cart_button {
	flex: 1 1 220px;
	min-height: var(--mq-btn-h-lg);
	margin: 0 !important;
	padding: 0 var(--mq-btn-px-lg) !important;
	font-size: var(--mq-btn-fs-lg) !important;
}

.mq-main--product form.cart button.single_add_to_cart_button:disabled {
	opacity: 0.7;
}

/* La etiqueta de cantidad y el stepper forman una columna */
.mq-main--product form.cart:not(.variations_form) > .mq-qty-label,
.mq-main--product .woocommerce-variation-add-to-cart > .mq-qty-label {
	flex-basis: 100%;
	margin-bottom: -0.45rem;
}

/* Variaciones como botones */
.mq-main--product table.variations {
	width: 100%;
	margin-bottom: 1rem !important;
	border: 0 !important;
}

.mq-main--product table.variations tr {
	display: grid;
	gap: 0.4rem;
	margin-bottom: 0.75rem;
}

.mq-main--product table.variations th,
.mq-main--product table.variations td {
	display: block;
	padding: 0 !important;
	line-height: 1.2 !important;
	text-align: left;
}

.mq-main--product table.variations label {
	font: 600 0.9rem/1.2 var(--mq-heading);
}

.mq-swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.mq-main--product .reset_variations {
	display: inline-block;
	margin-top: 0.5rem;
	font-size: 0.9rem;
	color: var(--mq-ink);
}

.mq-main--product .woocommerce-variation-price {
	margin-bottom: 0.75rem;
}

/* Confirmación en el lugar */
.mq-added {
	margin-bottom: 1rem;
	padding: 0.9rem 1rem;
	border: 2px solid var(--wp--preset--color--green);
	border-radius: var(--mq-radius-sm);
	background: #eaf6f0;
}

.mq-added p {
	margin: 0;
	font-weight: 600;
}

.mq-added p:first-child::before {
	content: "✓ ";
	color: var(--wp--preset--color--green);
}

.mq-added__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.75rem !important;
}

/* Sin stock / ya pasó */
.mq-main--product .stock.out-of-stock {
	display: inline-block;
	margin: 0 0 1rem;
	padding: 0.3rem 0.8rem;
	border-radius: 999px;
	background: var(--mq-ink);
	color: var(--mq-cream);
	font: 700 0.85rem/1.3 var(--mq-heading);
}

.mq-main--product .stock.in-stock:empty {
	display: none;
}

/* Compartir dentro del resumen: más discreto */
.mq-main--product .summary .mq-share {
	margin-top: 0.5rem;
	padding-block: 0.9rem 0;
	border-bottom: 0;
}

.mq-main--product .summary .mq-share__label {
	font-size: 0.9rem;
}

.mq-main--product .summary .mq-assure {
	margin-block: 0.25rem 0;
}

/* Descripción: tipografía de lectura para el HTML limpio */
.mq-product-desc__body h3 {
	margin-block: 1.75rem 0.5rem;
	font-size: var(--wp--preset--font-size--medium);
}

.mq-product-desc__body h3:first-child {
	margin-top: 0;
}

.mq-product-desc__body p {
	margin-block: 0 1rem;
}

.mq-product-desc__body ul,
.mq-product-desc__body ol {
	margin-block: 0 1rem;
	padding-left: 1.25rem;
}

.mq-product-desc__body li + li {
	margin-top: 0.3rem;
}

.mq-product-desc__body a {
	word-break: break-word;
}

.mq-related {
	margin-top: var(--wp--preset--spacing--50);
}

/* ==========================================================================
   v1.6 · Botones: casos puntuales sobre el sistema
   ========================================================================== */

/* Checkout y carrito: la acción principal en tamaño lg */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
body .woocommerce #place_order {
	min-height: var(--mq-btn-h-lg) !important;
	font-size: var(--mq-btn-fs-lg) !important;
}

/* Botones de un grupo con el mismo alto aunque el texto ocupe dos líneas */
.wp-block-buttons > .wp-block-button {
	display: flex;
}

.wp-block-buttons > .wp-block-button.has-custom-width .wp-block-button__link {
	width: 100%;
}

/* Ancho completo en grupos verticales (planes del club) */
.mq-tier__actions .wp-block-button,
.mq-tier__actions .wp-block-button__link {
	width: 100%;
}

/* Compartir: botones chicos alineados con la etiqueta */
.mq-share__list {
	gap: 0.5rem;
}

/* Carrusel: flechas como botones de ícono */
.mq-slider__arrow:hover {
	background: var(--mq-ink);
	color: var(--mq-cream);
}

/* La barra fija de compra usa el tamaño md */
.mq-buybar .mq-btn {
	min-height: var(--mq-btn-h);
}

/* En el stepper, el alto acompaña al botón de compra (lg) */
.mq-main--product .quantity.has-stepper {
	grid-template-columns: 40px 52px 40px;
	min-height: var(--mq-btn-h-lg);
}

/* ==========================================================================
   v1.7 · Compra fluida: transiciones, carrito lateral, búsqueda, filtros
   ========================================================================== */

/* Transición entre páginas (nativa del navegador; el encabezado no parpadea) */
@view-transition {
	navigation: auto;
}

.mq-header-part {
	view-transition-name: mq-header;
}

::view-transition-old(root),
::view-transition-new(root) {
	animation-duration: 0.2s;
	animation-timing-function: ease-out;
}

@media (prefers-reduced-motion: reduce) {
	@view-transition {
		navigation: none;
	}
}

/* Mientras se cargan filtros / orden / páginas */
main.is-swapping .mq-grid,
main.is-swapping .mq-posts {
	opacity: 0.45;
	transition: opacity 0.15s 0.08s; /* solo se nota si tarda */
	pointer-events: none;
}

html.mq-locked {
	overflow: hidden;
}

/* Botón de búsqueda del encabezado */
.mq-search-trigger {
	display: grid;
	place-items: center;
	flex: none;
	width: var(--mq-btn-h);
	height: var(--mq-btn-h);
	border: 2px solid var(--mq-ink);
	border-radius: var(--mq-btn-radius);
	background: #fff;
	color: var(--mq-ink);
	order: 1;
}

.mq-search-trigger:hover,
.mq-cart:hover {
	background: var(--mq-ink);
	color: var(--mq-cream);
}

.mq-search-trigger .mq-icon {
	width: 20px;
	height: 20px;
}

@media (max-width: 1079px) {
	.mq-header__inner > .mq-logo {
		margin-right: auto;
	}
}

@media (min-width: 1080px) {
	.mq-search-trigger {
		order: 1;
	}

	.mq-cart {
		order: 2;
	}
}

/* Diálogos (carrito y buscador): animación de entrada/salida */
.mq-drawer,
.mq-searchbox {
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--mq-ink);
	max-width: none;
	max-height: none;
	overflow: visible;
}

.mq-drawer::backdrop,
.mq-searchbox::backdrop {
	background: rgb(45 50 55 / 0.45);
	opacity: 0;
	transition: opacity 0.25s, overlay 0.25s allow-discrete, display 0.25s allow-discrete;
}

.mq-drawer[open]::backdrop,
.mq-searchbox[open]::backdrop {
	opacity: 1;
}

@starting-style {
	.mq-drawer[open]::backdrop,
	.mq-searchbox[open]::backdrop {
		opacity: 0;
	}
}

/* Carrito lateral */
.mq-drawer {
	position: fixed;
	inset: 0 0 0 auto;
	width: min(440px, 100vw);
	height: 100dvh;
	margin: 0;
	transform: translateX(100%);
	transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1), overlay 0.3s allow-discrete, display 0.3s allow-discrete;
}

.mq-drawer[open] {
	transform: translateX(0);
}

@starting-style {
	.mq-drawer[open] {
		transform: translateX(100%);
	}
}

.mq-drawer__panel {
	display: flex;
	flex-direction: column;
	height: 100%;
	border-left: 2px solid var(--mq-ink);
	background: var(--mq-cream);
}

.mq-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 1.25rem;
	border-bottom: 2px solid var(--mq-ink);
}

.mq-drawer__head h2 {
	margin: 0;
	font: 400 1.75rem/1 var(--mq-display);
	text-transform: uppercase;
}

.mq-drawer__count {
	font: 600 1rem/1 var(--mq-heading);
	vertical-align: middle;
}

.mq-drawer__notice {
	margin: 0;
	padding: 0.7rem 1.25rem;
	background: #eaf6f0;
	border-bottom: 1px solid #b9dfcb;
	font-weight: 600;
	font-size: 0.95rem;
}

.mq-drawer__notice:empty,
.mq-drawer__notice[hidden] {
	display: none;
}

.mq-drawer__notice[data-type="error"] {
	background: #fdecec;
	border-color: #f2b8b8;
}

.mq-drawer__body {
	flex: 1;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 0.5rem 1.25rem;
}

.mq-drawer__items {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mq-drawer__items--skeleton li {
	height: 96px;
	margin: 0.75rem 0;
	border-radius: var(--mq-radius-sm);
	background: linear-gradient(90deg, #efe9e3 25%, #f7f2ed 50%, #efe9e3 75%) 0 0 / 200% 100%;
	animation: mq-shimmer 1.2s infinite linear;
}

@keyframes mq-shimmer {
	to {
		background-position: -200% 0;
	}
}

.mq-line {
	position: relative;
	display: grid;
	grid-template-columns: 72px 1fr auto;
	gap: 0.85rem;
	padding: 1rem 0;
	border-bottom: 1px solid var(--mq-line);
	transition: opacity 0.2s, background-color 0.6s;
}

.mq-line:last-child {
	border-bottom: 0;
}

.mq-line.is-new {
	animation: mq-flash 1.6s ease-out;
}

@keyframes mq-flash {
	0%,
	30% {
		background-color: rgb(237 160 204 / 0.35);
	}
	100% {
		background-color: transparent;
	}
}

.mq-line.is-busy {
	opacity: 0.7;
}

.mq-line.is-removing {
	opacity: 0.35;
	pointer-events: none;
}

.mq-line__img {
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	border: 2px solid var(--mq-ink);
	border-radius: var(--mq-radius-sm);
	background: #f6f1ec;
}

.mq-line__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mq-line__info {
	display: grid;
	align-content: start;
	gap: 0.3rem;
	min-width: 0;
}

.mq-line__name {
	color: var(--mq-ink);
	font: 700 0.98rem/1.3 var(--mq-heading);
	text-decoration: none;
}

.mq-line__name:hover {
	text-decoration: underline;
}

.mq-line__details {
	margin: 0;
	font-size: 0.85rem;
	color: rgb(45 50 55 / 0.75);
}

.mq-line__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-top: 0.35rem;
}

.mq-line__qty {
	display: grid;
	grid-template-columns: 32px 38px 32px;
	height: var(--mq-btn-h-sm);
	overflow: hidden;
	border: 2px solid var(--mq-ink);
	border-radius: var(--mq-btn-radius);
	background: #fff;
}

.mq-line__qty-input {
	width: 100%;
	border: 0;
	background: transparent;
	text-align: center;
	font: 600 0.95rem/1 var(--mq-heading);
	-moz-appearance: textfield;
}

.mq-line__qty-input::-webkit-inner-spin-button,
.mq-line__qty-input::-webkit-outer-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.mq-line__fixed {
	font-size: 0.9rem;
	color: rgb(45 50 55 / 0.75);
}

.mq-line__price {
	font: 700 1rem/1.2 var(--mq-heading);
	white-space: nowrap;
}

.mq-line__remove {
	align-self: start;
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: var(--mq-btn-radius);
	background: transparent;
	color: rgb(45 50 55 / 0.6);
	cursor: pointer;
}

.mq-line__remove:hover {
	background: #fdecec;
	color: #b3261e;
}

.mq-drawer__foot {
	display: grid;
	gap: 0.6rem;
	padding: 1rem 1.25rem calc(1rem + env(safe-area-inset-bottom));
	border-top: 2px solid var(--mq-ink);
	background: #fff;
}

.mq-drawer__foot[hidden] {
	display: none;
}

.mq-drawer__subtotal {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin: 0;
	font: 600 1.05rem/1.2 var(--mq-heading);
}

.mq-drawer__subtotal strong {
	font-size: 1.35rem;
}

.mq-drawer__note {
	margin: 0 0 0.25rem;
	font-size: 0.85rem;
	color: rgb(45 50 55 / 0.75);
}

.mq-drawer__empty {
	display: grid;
	justify-items: center;
	gap: 0.25rem;
	padding: 3rem 0.5rem;
	text-align: center;
}

.mq-drawer__empty p {
	margin: 0;
}

.mq-drawer__empty-title {
	margin-top: 1rem !important;
	font: 700 1.25rem/1.2 var(--mq-heading);
}

.mq-drawer__empty-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem;
	margin-top: 1.25rem !important;
}

/* Buscador */
.mq-searchbox {
	position: fixed;
	inset: 0;
	width: 100vw;
	height: 100dvh;
	margin: 0;
	opacity: 0;
	transform: translateY(-12px);
	transition: opacity 0.2s, transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1), overlay 0.25s allow-discrete, display 0.25s allow-discrete;
}

.mq-searchbox[open] {
	opacity: 1;
	transform: none;
}

@starting-style {
	.mq-searchbox[open] {
		opacity: 0;
		transform: translateY(-12px);
	}
}

.mq-searchbox__panel {
	display: flex;
	flex-direction: column;
	width: min(720px, calc(100vw - 2rem));
	max-height: min(80dvh, 720px);
	margin: clamp(0.75rem, 8vh, 6rem) auto 0;
	overflow: hidden;
	border: 2px solid var(--mq-ink);
	border-radius: var(--mq-radius);
	background: var(--mq-cream);
	box-shadow: 8px 8px 0 var(--mq-ink);
}

.mq-searchbox__form {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.75rem 0.75rem 0.75rem 1rem;
	border-bottom: 2px solid var(--mq-ink);
	background: #fff;
}

.mq-searchbox__icon .mq-icon {
	width: 22px;
	height: 22px;
}

.mq-searchbox__input {
	flex: 1;
	min-width: 0;
	min-height: var(--mq-btn-h);
	border: 0;
	background: transparent;
	color: var(--mq-ink);
	font: 500 1.25rem/1.2 var(--mq-heading);
}

.mq-searchbox__input:focus {
	outline: none;
}

.mq-searchbox__input::-webkit-search-cancel-button {
	display: none;
}

.mq-searchbox__body {
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 1rem;
}

.mq-searchbox__label {
	margin: 0.5rem 0.25rem 0.5rem;
	font: 700 0.8rem/1.2 var(--mq-heading);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgb(45 50 55 / 0.7);
}

.mq-searchbox__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
}

.mq-searchbox__results[aria-busy="true"] {
	opacity: 0.6;
}

.mq-searchbox__list {
	margin: 0 0 0.75rem;
	padding: 0;
	list-style: none;
}

.mq-result {
	display: grid;
	grid-template-columns: 56px 1fr auto;
	align-items: center;
	gap: 0.85rem;
	padding: 0.5rem;
	border-radius: var(--mq-radius-sm);
	color: var(--mq-ink);
	text-decoration: none;
}

.mq-result:hover,
.mq-result:focus-visible {
	outline: none;
	background: #fff;
	box-shadow: inset 0 0 0 2px var(--mq-ink);
}

.mq-result__img {
	display: block;
	width: 56px;
	height: 56px;
	overflow: hidden;
	border: 2px solid var(--mq-ink);
	border-radius: var(--mq-radius-sm);
	background: var(--wp--preset--color--blush) url(../img/blog-mqnft-2.png) center / cover;
}

.mq-result__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mq-result__text {
	display: grid;
	gap: 0.15rem;
	min-width: 0;
}

.mq-result__title {
	overflow: hidden;
	font: 600 1rem/1.3 var(--mq-heading);
	text-overflow: ellipsis;
	white-space: nowrap;
}

.mq-result__title mark {
	padding: 0 0.1em;
	border-radius: 3px;
	background: var(--wp--preset--color--pink);
	color: inherit;
}

.mq-result__meta {
	font-size: 0.85rem;
	color: rgb(45 50 55 / 0.75);
}

.mq-result__price {
	font: 700 0.95rem/1.2 var(--mq-heading);
	white-space: nowrap;
}

.mq-result.is-soldout .mq-result__price {
	color: rgb(45 50 55 / 0.6);
}

.mq-searchbox__all {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	margin-top: 0.25rem;
	padding: 0.75rem;
	border-top: 1px solid var(--mq-line);
	color: var(--mq-ink);
	font: 600 0.95rem/1.2 var(--mq-heading);
}

.mq-searchbox__empty {
	margin: 0.5rem 0.25rem 1rem;
}

@media (max-width: 599px) {
	.mq-searchbox__panel {
		width: 100vw;
		max-height: 100dvh;
		height: 100dvh;
		margin: 0;
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}
}

/* Tienda: interruptor "Solo disponibles" */
.mq-shopbar__row {
	gap: 0.5rem 1.25rem;
}

.mq-toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-right: auto;
	color: var(--mq-ink);
	font: 500 0.95rem/1.2 var(--wp--preset--font-family--body);
	text-decoration: none;
}

.mq-toggle__track {
	position: relative;
	width: 38px;
	height: 22px;
	border: 2px solid var(--mq-ink);
	border-radius: 999px;
	background: #fff;
	transition: background-color 0.2s;
}

.mq-toggle__track::after {
	content: "";
	position: absolute;
	top: 2px;
	left: 2px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--mq-ink);
	transition: transform 0.2s;
}

.mq-toggle[aria-checked="true"] .mq-toggle__track {
	background: var(--wp--preset--color--green);
}

.mq-toggle[aria-checked="true"] .mq-toggle__track::after {
	background: #fff;
	transform: translateX(16px);
}

/* Resultados de búsqueda */
.mq-products__heading {
	margin-top: var(--wp--preset--spacing--30);
}

.mq-search-posts .mq-products__heading {
	margin-bottom: var(--wp--preset--spacing--30);
}

.mq-main--search .mq-search-products + .mq-search-posts {
	margin-top: var(--wp--preset--spacing--50);
}

.mq-result__price {
	display: grid;
	justify-items: end;
}

.mq-result__price del {
	font-size: 0.8rem;
	font-weight: 400;
	opacity: 0.55;
}

/* ==========================================================================
   v1.8 · Movimiento y refinamientos
   --------------------------------------------------------------------------
   Reglas: solo transform/opacity (fluido, sin saltos de layout), curvas
   suaves, duraciones cortas, y nada si el usuario prefiere menos movimiento
   (la clase .mq-js solo existe cuando el movimiento está permitido).
   ========================================================================== */

:root {
	--mq-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
	--mq-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
	--mq-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
	--mq-dur-fast: 0.16s;
	--mq-dur: 0.28s;
	--mq-dur-slow: 0.6s;
	--mq-announce-h: 34px;
}

/* --- Barra de anuncios -------------------------------------------------- */
.mq-announce {
	position: relative;
	height: var(--mq-announce-h);
	overflow: hidden;
	background: var(--mq-ink);
	color: var(--mq-cream);
	font: 500 0.8125rem/var(--mq-announce-h) var(--wp--preset--font-family--body);
	letter-spacing: 0.02em;
	text-align: center;
}

.mq-announce__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mq-announce__list li {
	position: absolute;
	inset: 0;
	padding-inline: 1rem;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	opacity: 0;
	transform: translateY(100%);
	transition: opacity var(--mq-dur) var(--mq-ease), transform 0.5s var(--mq-ease-out);
}

.mq-announce__list li.is-active {
	opacity: 1;
	transform: none;
}

.mq-announce__list li:not(.is-active) {
	transform: translateY(-100%);
}

.mq-announce a {
	color: inherit;
	text-underline-offset: 2px;
}

html {
	scroll-padding-top: calc(var(--mq-announce-h) + var(--mq-header-h) + 16px);
}

/* El panel del menú móvil arranca debajo de anuncios + encabezado */
.mq-nav--primary .mq-nav__panel {
	inset: calc(var(--mq-announce-h) + var(--mq-header-h) + 2px + var(--wp-admin--admin-bar--height, 0px)) 0 0 0;
}

/* --- Encabezado: sombra al bajar, se oculta al bajar y vuelve al subir --- */
.mq-header-part {
	transition: transform 0.4s var(--mq-ease-out);
	will-change: transform;
}

.mq-header-part.is-hidden {
	transform: translateY(-100%);
}

.mq-header {
	transition: box-shadow var(--mq-dur) var(--mq-ease);
}

.mq-header-part.is-scrolled .mq-header {
	box-shadow: 0 8px 24px -16px rgb(45 50 55 / 0.45);
}

/* Galería fija de la ficha: acompaña al encabezado */
@media (min-width: 900px) {
	.mq-main--product div.product div.images {
		top: calc(var(--mq-announce-h) + var(--mq-header-h) + var(--wp-admin--admin-bar--height, 0px) + 1.5rem);
		transition: top 0.4s var(--mq-ease-out);
	}
}

/* --- Botones: transición y respuesta táctil ----------------------------- */
.mq-btn,
.wp-element-button,
.wp-block-button__link,
.mq-chip,
.mq-swatch,
.mq-icon-btn,
.mq-cart,
.mq-search-trigger,
.mq-nav__toggle {
	transition:
		background-color var(--mq-dur-fast) var(--mq-ease),
		color var(--mq-dur-fast) var(--mq-ease),
		border-color var(--mq-dur-fast) var(--mq-ease),
		box-shadow var(--mq-dur) var(--mq-ease),
		transform var(--mq-dur-fast) var(--mq-ease);
}

.mq-btn:active,
.wp-element-button:active,
.wp-block-button__link:active,
.mq-chip:active,
.mq-swatch:active,
.mq-cart:active,
.mq-search-trigger:active {
	transform: scale(0.97);
}

/* Flechas que se mueven al pasar el mouse */
.mq-btn .mq-icon,
.mq-searchbox__all .mq-icon,
.mq-path__go .mq-icon {
	transition: transform var(--mq-dur) var(--mq-ease-out);
}

.mq-searchbox__all:hover .mq-icon,
.mq-path:hover .mq-path__go .mq-icon {
	transform: translateX(3px);
}

/* Confirmación "Agregado" */
.mq-btn.is-added {
	border-color: var(--wp--preset--color--green);
	background: var(--wp--preset--color--green);
	color: #fff;
}

.mq-btn.is-loading {
	cursor: progress;
}

/* Contador del carrito: pequeño rebote al sumar */
.mq-js .mq-cart.is-bumped {
	animation: mq-bump 0.5s var(--mq-ease-spring);
}

.mq-js .mq-cart.is-bumped .mq-cart__count {
	animation: mq-pop 0.5s var(--mq-ease-spring);
}

@keyframes mq-bump {
	30% { transform: scale(1.12) rotate(-6deg); }
	60% { transform: scale(0.96) rotate(3deg); }
}

@keyframes mq-pop {
	0% { transform: scale(0.4); }
	60% { transform: scale(1.25); }
	100% { transform: scale(1); }
}

/* --- Menú: subrayado que crece ----------------------------------------- */
@media (min-width: 1080px) {
	.mq-nav--primary .mq-nav__list a {
		text-decoration: none !important;
		background: linear-gradient(currentColor, currentColor) 0 100% / 0 2px no-repeat;
		transition: background-size var(--mq-dur) var(--mq-ease-out);
	}

	.mq-nav--primary .mq-nav__list a:hover,
	.mq-nav--primary .mq-nav__list a[aria-current="page"] {
		background-size: 100% 2px;
	}

	.mq-nav--primary .mq-nav__list a[aria-current="page"] {
		background-image: linear-gradient(var(--wp--preset--color--orange), var(--wp--preset--color--orange));
		background-size: 100% 3px;
	}
}

/* Menú móvil: los links entran escalonados */
.mq-js .mq-nav.is-open .mq-nav__list li {
	animation: mq-rise 0.45s var(--mq-ease-out) both;
}

.mq-js .mq-nav.is-open .mq-nav__list li:nth-child(2) { animation-delay: 40ms; }
.mq-js .mq-nav.is-open .mq-nav__list li:nth-child(3) { animation-delay: 80ms; }
.mq-js .mq-nav.is-open .mq-nav__list li:nth-child(4) { animation-delay: 120ms; }
.mq-js .mq-nav.is-open .mq-nav__list li:nth-child(5) { animation-delay: 160ms; }
.mq-js .mq-nav.is-open .mq-nav__list li:nth-child(6) { animation-delay: 200ms; }
.mq-js .mq-nav.is-open .mq-nav__cta { animation: mq-rise 0.45s 0.24s var(--mq-ease-out) both; }

/* --- Apariciones al hacer scroll ---------------------------------------- */
@keyframes mq-rise {
	from {
		opacity: 0;
		transform: translateY(14px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

.mq-js .mq-reveal {
	opacity: 0;
	transform: translateY(22px);
	transition:
		opacity 0.7s var(--mq-ease-out) var(--mq-delay, 0ms),
		transform 0.8s var(--mq-ease-out) var(--mq-delay, 0ms);
}

.mq-js .mq-reveal.is-in {
	opacity: 1;
	transform: none;
}

/* El marcador de color de los títulos crece al aparecer */
.mq-js .is-style-mqnft-section.mq-reveal::before {
	transform: scaleY(0);
	transform-origin: bottom;
	transition: transform 0.6s var(--mq-ease-spring) calc(var(--mq-delay, 0ms) + 0.25s);
}

.mq-js .is-style-mqnft-section.mq-reveal.is-in::before {
	transform: scaleY(1);
}

/* --- Imágenes: aparecen suave al cargar -------------------------------- */
.mq-card__img,
.mq-post-card__img img,
.mq-episode__media > img:first-child,
.mq-line__img img {
	transition: opacity 0.5s var(--mq-ease), transform 0.7s var(--mq-ease-out);
}

.mq-img-loading {
	opacity: 0 !important;
}

/* Hover de tarjetas: más lento y suave */
.mq-card,
.mq-post-card,
.mq-episode,
.mq-path {
	transition: transform 0.35s var(--mq-ease), box-shadow 0.35s var(--mq-ease);
}

@media (hover: hover) {
	.mq-card:hover .mq-card__img,
	.mq-post-card:hover .mq-post-card__img img,
	.mq-episode:hover .mq-episode__media > img:first-child {
		transform: scale(1.045);
	}
}

/* --- Hero: el texto de la primera diapositiva entra al cargar ---------- */
.mq-js .mq-hero > .mq-slide:first-child .wp-block-column:first-child > * {
	animation: mq-rise 0.8s var(--mq-ease-out) both;
}

.mq-js .mq-hero > .mq-slide:first-child .wp-block-column:first-child > :nth-child(2) { animation-delay: 80ms; }
.mq-js .mq-hero > .mq-slide:first-child .wp-block-column:first-child > :nth-child(3) { animation-delay: 160ms; }
.mq-js .mq-hero > .mq-slide:first-child .wp-block-column:first-child > :nth-child(4) { animation-delay: 240ms; }
.mq-js .mq-hero > .mq-slide:first-child .wp-block-column:first-child > :nth-child(5) { animation-delay: 320ms; }

.mq-js .mq-hero > .mq-slide:first-child .mq-slide__img {
	animation: mq-hero-img 1.1s var(--mq-ease-out) both;
}

@keyframes mq-hero-img {
	from {
		opacity: 0;
		transform: translateY(24px) rotate(-2deg) scale(0.97);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

/* Los libros del hero "flotan" muy levemente */
@media (hover: hover) {
	.mq-slide__img img {
		transition: transform 0.6s var(--mq-ease-out);
	}

	.mq-slide:hover .mq-slide__img img {
		transform: translateY(-6px) rotate(-1deg);
	}
}

/* --- Cinta de frases ---------------------------------------------------- */
.mq-marquee {
	overflow: hidden;
	padding-block: 1rem;
	border-block: 2px solid var(--mq-ink);
	background: var(--wp--preset--color--pink);
	color: var(--mq-ink);
}

.mq-marquee__track {
	display: flex;
	width: max-content;
	animation: mq-marquee 38s linear infinite;
}

.mq-marquee:hover .mq-marquee__track {
	animation-play-state: paused;
}

.mq-marquee__group {
	display: flex;
	flex: none;
	align-items: center;
	gap: 1.75rem;
	margin: 0;
	padding: 0 1.75rem 0 0;
	list-style: none;
	font: 400 clamp(1.5rem, 1.1rem + 1.5vw, 2.25rem) / 1 var(--mq-display);
	text-transform: uppercase;
	white-space: nowrap;
}

.mq-marquee__star {
	color: var(--wp--preset--color--orange);
	font-family: var(--wp--preset--font-family--body);
}

@keyframes mq-marquee {
	to {
		transform: translateX(-50%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.mq-marquee__track {
		animation: none;
		width: auto;
		flex-wrap: wrap;
		justify-content: center;
	}

	.mq-marquee__group[aria-hidden="true"] {
		display: none;
	}
}

/* --- Preguntas frecuentes: apertura suave ------------------------------ */
.mq-faq__item {
	interpolate-size: allow-keywords;
}

.mq-faq__item::details-content {
	block-size: 0;
	overflow: clip;
	transition: block-size 0.35s var(--mq-ease-out), content-visibility 0.35s allow-discrete;
}

.mq-faq__item[open]::details-content {
	block-size: auto;
}

.mq-faq__item summary::after {
	content: "+" !important;
	transition: transform var(--mq-dur) var(--mq-ease-out), background-color var(--mq-dur-fast);
}

.mq-faq__item[open] summary::after {
	transform: translateY(-50%) rotate(45deg);
}

.mq-faq__item summary:hover::after {
	background: var(--wp--preset--color--orange);
	color: var(--mq-ink);
}

/* --- Carrito lateral y buscador ---------------------------------------- */
.mq-js .mq-line.is-entering {
	animation: mq-slide-in 0.45s var(--mq-ease-out) both;
	animation-delay: calc(var(--i, 0) * 50ms + 0.12s);
}

@keyframes mq-slide-in {
	from {
		opacity: 0;
		transform: translateX(24px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

.mq-js .mq-drawer__notice:not(:empty) {
	animation: mq-rise 0.35s var(--mq-ease-out) both;
}

.mq-js .mq-searchbox__results > * {
	animation: mq-rise 0.3s var(--mq-ease-out) both;
}

.mq-js .mq-searchbox__results > :nth-child(2) { animation-delay: 30ms; }
.mq-js .mq-searchbox__results > :nth-child(3) { animation-delay: 60ms; }
.mq-js .mq-searchbox__results > :nth-child(4) { animation-delay: 90ms; }
.mq-js .mq-searchbox__results > :nth-child(5) { animation-delay: 120ms; }

/* Aviso flotante */
.mq-toast {
	transition: transform 0.4s var(--mq-ease-spring), opacity var(--mq-dur);
}

/* --- Transición entre páginas: fundido con leve desplazamiento --------- */
::view-transition-old(root) {
	animation: mq-vt-out 0.18s var(--mq-ease) both;
}

::view-transition-new(root) {
	animation: mq-vt-in 0.32s var(--mq-ease-out) both;
}

@keyframes mq-vt-out {
	to {
		opacity: 0;
	}
}

@keyframes mq-vt-in {
	from {
		opacity: 0;
		transform: translateY(8px);
	}
}

/* --- Accesibilidad: sin movimiento si se pidió --------------------------- */
@media (prefers-reduced-motion: reduce) {
	.mq-header-part,
	.mq-header-part.is-hidden {
		transform: none !important;
	}

	.mq-announce__list li {
		transition: none;
	}
}

/* Carrito lateral: accesos secundarios y confianza */
.mq-drawer__links {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding-inline: 0.25rem;
}

.mq-drawer__links a,
.mq-drawer__links button {
	padding: 0.35rem 0;
	border: 0;
	background: none;
	color: var(--mq-ink);
	font: 500 0.95rem/1.2 var(--wp--preset--font-family--body);
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.mq-drawer__links a:hover,
.mq-drawer__links button:hover {
	text-decoration-thickness: 2px;
}

.mq-drawer__trust {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.35rem 1.25rem;
	margin: 0.25rem 0 0;
	padding: 0.75rem 0 0;
	border-top: 1px solid var(--mq-line);
	list-style: none;
	font-size: 0.8rem;
	color: rgb(45 50 55 / 0.75);
}

.mq-drawer__trust li {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

.mq-drawer__trust .mq-icon {
	width: 15px;
	height: 15px;
	color: var(--wp--preset--color--green);
}

/* Sin el espacio automático de WordPress entre encabezado, contenido y pie:
   cada sección ya define su propio aire (el hero va pegado al encabezado). */
.wp-site-blocks > * + * {
	margin-block-start: 0;
}

.mq-main--landing > .wp-block-post-content > :first-child {
	margin-block-start: 0;
}

/* ==========================================================================
   v1.9 · Ajustes puntuales
   ========================================================================== */

/* Tarjetas de producto/evento: sin línea divisoria sobre precio y botón */
.mq-card__foot {
	padding-top: 0.25rem;
	border-top: 0;
}

/* Apoyanos: los dos botones de cada plan apilados y a todo el ancho */
.mq-tier__actions.wp-block-buttons {
	display: flex !important;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 0.5rem;
	margin-top: auto;
}

.mq-tier__actions > .wp-block-button,
.mq-tier__actions > .wp-block-button.has-custom-width {
	display: block;
	flex: none;
	width: 100% !important;
	margin: 0;
}

.mq-tier__actions .wp-block-button__link {
	width: 100%;
	min-height: var(--mq-btn-h);
	white-space: nowrap;
}

.mq-tier .mq-tier__perks {
	margin-bottom: 1rem;
}

/* Ficha: selector de cantidad compacto (− 1 +) a la altura del botón de compra */
.mq-main--product form.cart .quantity.has-stepper {
	display: inline-grid !important;
	grid-template-columns: 44px 48px 44px;
	width: auto;
	height: var(--mq-btn-h-lg);
	min-height: 0;
}

.mq-main--product form.cart .quantity.has-stepper .qty {
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}

.mq-main--product form.cart .quantity.has-stepper .mq-qty-btn {
	height: 100%;
	font-size: 1.35rem;
}

.mq-main--product form.cart button.single_add_to_cart_button {
	flex: 1 1 220px;
	min-height: var(--mq-btn-h-lg);
	padding: 0 var(--mq-btn-px-lg) !important;
	font-size: var(--mq-btn-fs-lg) !important;
}

/* Boletín: campos y botón con la misma altura, alineados en una fila */
.mq-newsletter__form {
	align-items: end;
	gap: 0.75rem;
}

.mq-field input {
	box-sizing: border-box;
	height: var(--mq-btn-h-lg);
	min-height: 0;
	padding: 0 0.95rem;
	font: 400 1rem/1.2 var(--wp--preset--font-family--body);
}

.mq-newsletter__form .mq-btn {
	min-height: var(--mq-btn-h-lg);
	padding: 0 var(--mq-btn-px-lg) !important;
	font-size: var(--mq-btn-fs-lg) !important;
}

@media (min-width: 640px) {
	.mq-newsletter {
		max-width: 720px;
	}

	.mq-newsletter__form {
		grid-template-columns: 1fr 1.35fr auto;
	}
}

@media (max-width: 639px) {
	.mq-newsletter__form .mq-btn {
		width: 100%;
	}
}

.mq-newsletter__note {
	margin-top: 0.85rem;
}

/* Ficha con variaciones: sin hueco entre las opciones y la cantidad */
.mq-main--product table.variations {
	margin-bottom: 0.5rem !important;
}

.mq-main--product table.variations tr:last-child {
	margin-bottom: 0;
}

.mq-main--product .reset_variations[style*="hidden"] {
	display: none !important;
}

.mq-main--product .woocommerce-variation.single_variation:empty,
.mq-main--product .woocommerce-variation-description:empty {
	display: none;
}

.mq-main--product .single_variation_wrap {
	margin-top: 0.75rem;
}

/* ==========================================================================
   v2.0 · Blog y notas
   ========================================================================== */

/* --- Índice del blog --------------------------------------------------- */

/* Grilla propia (la de WordPress calculaba con otro espacio y quedaban 2 columnas) */
.mq-posts .wp-block-post-template {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: clamp(1rem, 2vw, 1.5rem) !important;
}

@media (min-width: 640px) {
	.mq-posts .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (min-width: 1000px) {
	.mq-posts .wp-block-post-template {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

.mq-blog-intro .mq-lead {
	margin: 0.75rem 0 0;
	max-width: 52ch;
}

.mq-page-head--split {
	align-items: flex-end !important;
}

/*
 * Notas sin imagen: en lugar de repetir el mismo placeholder, una tarjeta
 * tipográfica con color propio (alterna entre 4 colores de la marca).
 */
.mq-post-card:not(:has(.mq-post-card__img))::before {
	display: none;
}

.mq-post-card:not(:has(.mq-post-card__img)) {
	--mq-paper: var(--wp--preset--color--blush);
	background: var(--mq-paper);
}

.mq-posts .wp-block-post:nth-child(4n + 1) .mq-post-card:not(:has(.mq-post-card__img)) { --mq-paper: #f7d6e8; }
.mq-posts .wp-block-post:nth-child(4n + 2) .mq-post-card:not(:has(.mq-post-card__img)) { --mq-paper: #d6eefc; }
.mq-posts .wp-block-post:nth-child(4n + 3) .mq-post-card:not(:has(.mq-post-card__img)) { --mq-paper: #efe6e1; }
.mq-posts .wp-block-post:nth-child(4n + 4) .mq-post-card:not(:has(.mq-post-card__img)) { --mq-paper: #d9efe3; }

.mq-post-card:not(:has(.mq-post-card__img)) .mq-post-card__body {
	padding: 1.5rem 1.4rem 1.25rem;
}

.mq-post-card:not(:has(.mq-post-card__img)) .mq-post-card__body::before {
	content: "“";
	display: block;
	height: 2.6rem;
	font: 400 4.5rem/1 var(--mq-display);
	color: var(--mq-ink);
	opacity: 0.85;
}

.mq-post-card:not(:has(.mq-post-card__img)) .mq-post-card__title {
	font-size: clamp(1.375rem, 1.1rem + 0.8vw, 1.75rem);
	line-height: 1.15;
}

.mq-post-card:not(:has(.mq-post-card__img)) .mq-post-card__excerpt p {
	-webkit-line-clamp: 5;
}

.mq-post-card:not(:has(.mq-post-card__img)) .mq-post-card__foot {
	border-top-color: rgb(45 50 55 / 0.15);
}

/* Pie de la tarjeta: fecha · minutos ……… Leer nota */
.mq-post-card__foot {
	flex-wrap: wrap !important;
	gap: 0.25rem 0.6rem !important;
}

.mq-post-card__time {
	margin: 0 auto 0 0 !important;
	font-size: var(--wp--preset--font-size--small);
	color: rgb(45 50 55 / 0.7);
}

.mq-post-card__time::before {
	content: "·";
	margin-right: 0.6rem;
}

.mq-post-card__date {
	margin: 0 !important;
}

/* Nota destacada: etiqueta "Última nota" */
body:not(.paged) .mq-posts--featured .wp-block-post:first-child .mq-post-card__body::before {
	content: "Última nota";
	display: inline-block;
	align-self: flex-start;
	height: auto;
	margin-bottom: 0.25rem;
	padding: 0.2rem 0.65rem;
	border-radius: 999px;
	background: var(--wp--preset--color--pink);
	font: 700 0.75rem/1.4 var(--mq-heading);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	opacity: 1;
}

@media (min-width: 900px) {
	body:not(.paged) .mq-posts--featured .wp-block-post:first-child .mq-post-card:not(:has(.mq-post-card__img)) .mq-post-card__body {
		padding: clamp(2rem, 4vw, 3.5rem);
	}

	body:not(.paged) .mq-posts--featured .wp-block-post:first-child .mq-post-card:not(:has(.mq-post-card__img)) .mq-post-card__title {
		font-size: var(--wp--preset--font-size--display);
	}
}

/* --- Nota individual --------------------------------------------------- */

/* Barra de progreso de lectura (CSS puro; donde no hay soporte, no aparece) */
.mq-progress {
	display: none;
}

@supports (animation-timeline: scroll()) {
	.mq-progress {
		position: fixed;
		inset: 0 0 auto;
		z-index: 70;
		display: block;
		height: 3px;
		background: var(--wp--preset--color--orange);
		transform: scaleX(0);
		transform-origin: 0 50%;
		animation: mq-progress linear both;
		animation-timeline: scroll(root);
	}

	@keyframes mq-progress {
		to {
			transform: scaleX(1);
		}
	}
}

.mq-article__head {
	padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40);
	text-align: center;
}

.mq-article__head > * {
	margin-inline: auto !important;
}

.mq-article__title,
.mq-article__head .wp-block-post-title {
	margin-block: 1rem 1.25rem !important;
	font-size: clamp(2.25rem, 1.4rem + 3.4vw, 4rem) !important;
	line-height: 1.04;
	letter-spacing: -0.01em;
	text-wrap: balance;
}

.mq-article__meta {
	gap: 0.25rem 0.75rem !important;
	font-size: 0.95rem !important;
}

.mq-article__meta > * + *::before {
	content: "·";
	margin-right: 0.75rem;
	opacity: 0.6;
}

/* Imagen de portada: ancha pero contenida */
.mq-article__image {
	margin-block: 0 var(--wp--preset--spacing--50) !important;
	overflow: hidden;
	border: 2px solid var(--mq-ink);
	border-radius: var(--mq-radius);
	background: var(--wp--preset--color--blush);
}

.mq-article__image img {
	display: block;
	width: 100%;
	height: auto;
	max-height: min(68vh, 680px);
	border-radius: 0 !important;
	object-fit: cover;
	aspect-ratio: 16 / 9;
}

/* Cuerpo: medida y ritmo de lectura cómodos */
.mq-article__content {
	font-size: clamp(1.0625rem, 1rem + 0.3vw, 1.1875rem);
	line-height: 1.75;
}

.mq-article__content > p:empty,
.mq-article__content > p:has(> br:only-child) {
	display: none;
}

.mq-article__content > * {
	margin-block: 0 1.1em !important;
}

.mq-article__content > :is(h2, h3, h4) {
	margin-block: 2em 0.6em !important;
	line-height: 1.2;
}

.mq-article__content > h2 { font-size: var(--wp--preset--font-size--large); }
.mq-article__content > h3 { font-size: var(--wp--preset--font-size--medium); }

.mq-article__content a {
	text-decoration-color: var(--wp--preset--color--orange);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

.mq-article__content a:hover {
	text-decoration-color: currentColor;
}

.mq-article__content :is(img, .wp-block-image img) {
	border-radius: var(--mq-radius-sm);
}

.mq-article__content > .wp-block-image,
.mq-article__content > figure {
	margin-block: 2em !important;
}

.mq-article__content figcaption {
	margin-top: 0.6rem;
	font-size: var(--wp--preset--font-size--small);
	color: rgb(45 50 55 / 0.7);
	text-align: center;
}

.mq-article__content > blockquote,
.mq-article__content > .wp-block-quote {
	margin-block: 2em !important;
	padding: 0.25rem 0 0.25rem 1.5rem;
	border-left: 6px solid var(--wp--preset--color--pink);
	font: 600 clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem) / 1.45 var(--mq-heading);
}

.mq-article__content > hr,
.mq-article__content > .wp-block-separator {
	width: 80px;
	margin: 2.5em auto !important;
	border: 0;
	border-top: 3px solid var(--wp--preset--color--pink);
	opacity: 1;
}

.mq-article__content > ul,
.mq-article__content > ol {
	padding-left: 1.25rem;
}

.mq-article__content li + li {
	margin-top: 0.4em;
}

.mq-article__content > p:first-of-type:not(:empty) {
	font-size: inherit; /* el primer párrafo suele ser la firma ("De …") */
}

/* Debajo del texto */
.mq-article__after {
	margin-top: var(--wp--preset--spacing--40);
}

.mq-article__after > * {
	margin-block: 0 var(--wp--preset--spacing--30) !important;
}

/* Anterior / siguiente como tarjetas */
.mq-article__nav {
	display: grid !important;
	gap: 1rem;
	margin-block: var(--wp--preset--spacing--30) 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

@media (min-width: 640px) {
	.mq-article__nav {
		grid-template-columns: 1fr 1fr;
	}
}

.mq-article__nav .wp-block-post-navigation-link {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding: 1rem 1.15rem;
	border: 2px solid var(--mq-ink);
	border-radius: var(--mq-radius);
	background: #fff;
	transition: transform 0.35s var(--mq-ease), box-shadow 0.35s var(--mq-ease);
}

.mq-article__nav .post-navigation-link-next {
	grid-column: 2;
	text-align: right;
}

.mq-article__nav .post-navigation-link-previous:only-child {
	grid-column: 1;
}

@media (max-width: 639px) {
	.mq-article__nav .post-navigation-link-next {
		grid-column: auto;
	}
}

.mq-article__nav .post-navigation-link__label {
	font: 700 0.75rem/1.2 var(--mq-heading);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgb(45 50 55 / 0.65);
}

.mq-article__nav .post-navigation-link-previous .post-navigation-link__label::before {
	content: "← ";
}

.mq-article__nav .post-navigation-link-next .post-navigation-link__label::after {
	content: " →";
}

.mq-article__nav a {
	color: var(--mq-ink);
	font: 700 1.05rem/1.3 var(--mq-heading);
	text-decoration: none;
}

.mq-article__nav a::after {
	content: "";
	position: absolute;
	inset: 0;
}

@media (hover: hover) {
	.mq-article__nav .wp-block-post-navigation-link:hover {
		transform: translateY(-3px);
		box-shadow: 6px 6px 0 var(--mq-ink);
	}
}

/* Compartir: centrado bajo el texto */
.mq-article .mq-share {
	justify-content: center;
}

/* "Seguí leyendo" con aire propio */
.mq-article .mq-section {
	padding-top: var(--wp--preset--spacing--50);
	border-top: 2px solid var(--mq-ink);
	margin-top: var(--wp--preset--spacing--40);
}

/* Sin nota anterior/siguiente: no se muestra la caja vacía */
.mq-article__nav .wp-block-post-navigation-link:not(:has(a)) {
	display: none;
}

.mq-article__nav:not(:has(a)) {
	display: none !important;
}

/* ==========================================================================
   v2.1 · Detalles más limpios
   ========================================================================== */

:root {
	--mq-orange-strong: #c9430e; /* naranja de marca más profundo: texto blanco con contraste AA */
	--mq-shadow-soft: 0 18px 40px -22px rgb(45 50 55 / 0.45);
	--mq-shadow-panel: 0 30px 80px -30px rgb(45 50 55 / 0.55);
	--mq-hover-tint: rgb(45 50 55 / 0.08);
}

/* --- Encabezado: íconos sin caja, línea inferior suave ------------------ */
.mq-header {
	border-bottom: 1px solid rgb(45 50 55 / 0.16);
}

.mq-header__inner {
	gap: 0.5rem;
}

.mq-search-trigger,
.mq-cart,
.mq-nav__toggle {
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--mq-ink);
}

.mq-search-trigger:hover,
.mq-cart:hover,
.mq-nav__toggle:hover,
.mq-nav.is-open .mq-nav__toggle {
	background: var(--mq-hover-tint);
	color: var(--mq-ink);
}

.mq-search-trigger .mq-icon,
.mq-cart .mq-icon,
.mq-nav__toggle .mq-icon {
	width: 22px;
	height: 22px;
}

.mq-cart__count {
	top: 4px;
	right: 2px;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 9px;
	font-size: 0.6875rem;
	line-height: 18px;
}

@media (min-width: 1080px) {
	.mq-nav--primary .mq-nav__panel {
		gap: 1rem;
	}

	.mq-nav__cta {
		margin-right: 0.25rem;
	}
}

/* Botón "Apoyanos" del encabezado: oscuro, alto contraste */
.mq-nav__cta.mq-btn--orange,
.mq-nav__cta {
	border-color: var(--mq-ink);
	background: var(--mq-ink);
	color: var(--mq-cream);
	font-weight: 500;
}

.mq-nav__cta.mq-btn--orange:hover,
.mq-nav__cta:hover {
	border-color: var(--mq-ink);
	background: transparent;
	color: var(--mq-ink);
}

/* Botones naranjas del club: naranja profundo + texto blanco */
.mq-btn--orange,
.wp-block-button.is-style-mqnft-orange .wp-block-button__link {
	border-color: var(--mq-orange-strong);
	background: var(--mq-orange-strong);
	color: #fff;
}

.mq-btn--orange:hover,
.wp-block-button.is-style-mqnft-orange .wp-block-button__link:hover {
	border-color: var(--mq-ink);
	background: var(--mq-ink);
	color: #fff;
}

/* --- Botones de ícono en paneles: sin caja ------------------------------ */
.mq-icon-btn {
	border: 0;
	border-radius: 50%;
	background: transparent;
}

.mq-icon-btn:hover {
	background: var(--mq-hover-tint);
	color: var(--mq-ink);
}

/* Flechas del carrusel: círculos limpios */
.mq-slider__arrow {
	border: 0;
	border-radius: 50%;
	background: rgb(255 254 249 / 0.85);
	box-shadow: 0 4px 14px -6px rgb(45 50 55 / 0.4);
}

.mq-slider__arrow:hover {
	background: var(--mq-ink);
	color: var(--mq-cream);
}

/* Redes en el pie: íconos sueltos */
.mq-social a {
	border: 0;
	border-radius: 50%;
}

.mq-social a:hover {
	background: var(--mq-hover-tint);
	color: var(--mq-ink);
}

/* --- Sombras suaves en lugar de las duras -------------------------------- */
@media (hover: hover) {
	.mq-card:hover,
	.mq-post-card:hover,
	.mq-episode:hover,
	.mq-path:hover,
	.mq-article__nav .wp-block-post-navigation-link:hover {
		transform: translateY(-4px);
		box-shadow: var(--mq-shadow-soft);
	}
}

.mq-tier.is-featured {
	box-shadow: var(--mq-shadow-soft);
}

.mq-post-end {
	box-shadow: none;
}

.mq-searchbox__panel {
	box-shadow: var(--mq-shadow-panel);
}

/* Etiquetas y fecha sobre la imagen: sin borde ni sombra extra */
.mq-badge {
	border: 0;
	padding: 0.32rem 0.65rem;
}

.mq-card__date {
	border-width: 0;
	box-shadow: 0 4px 14px -6px rgb(45 50 55 / 0.45);
}

/* Imagen de tarjeta: línea interna más fina */
.mq-card__media,
.mq-episode__media,
.mq-post-card__img {
	border-bottom-width: 1px !important;
}

/* Encabezado sin borde ni sombra (también al hacer scroll) */
.mq-header,
.mq-header-part.is-scrolled .mq-header {
	border-bottom: 0;
	box-shadow: none;
}

/* ==========================================================================
   v2.2 · Escala tipográfica y espaciado unificados
   --------------------------------------------------------------------------
   Una sola escala para todo el sitio. Cada rol tiene un tamaño; los
   componentes eligen un rol en lugar de inventar su propio valor.
   ========================================================================== */

:root {
	/* Display (KG Bless, mayúsculas) */
	--mq-fs-display-xl: clamp(2.5rem, 1.55rem + 3.4vw, 4rem);
	--mq-fs-display-l: clamp(2.375rem, 1.7rem + 2.5vw, 3.5rem);
	--mq-fs-display-m: clamp(2rem, 1.55rem + 1.7vw, 2.75rem);
	--mq-fs-display-s: clamp(1.625rem, 1.5rem + 0.5vw, 1.875rem);
	/* Títulos (Be Vietnam 700) */
	--mq-fs-h-xl: clamp(2.125rem, 1.4rem + 2.7vw, 3.25rem);
	--mq-fs-h-l: clamp(1.75rem, 1.4rem + 1.3vw, 2.25rem);
	--mq-fs-h-m: clamp(1.375rem, 1.25rem + 0.5vw, 1.625rem);
	--mq-fs-h-s: 1.25rem;
	--mq-fs-h-xs: 1.125rem;
	/* Texto (DIN) */
	--mq-fs-lead: clamp(1.125rem, 1.07rem + 0.25vw, 1.25rem);
	--mq-fs-body: 1.0625rem;
	--mq-fs-small: 0.9375rem;
	--mq-fs-caption: 0.875rem;
	--mq-fs-label: 0.8125rem;
	/* Espaciado de títulos */
	--mq-page-top: clamp(2rem, 1.5rem + 2vw, 3rem);
	--mq-title-gap: 1.75rem;
	--mq-muted: rgb(45 50 55 / 0.72);
}

/* --- Display ----------------------------------------------------------- */
.mq-slide__title {
	font-size: var(--mq-fs-display-xl) !important;
}

h1.is-style-mqnft-section,
.mq-page-head h1.is-style-mqnft-section,
.mq-main--shop .mq-page-head .is-style-mqnft-section {
	font-size: var(--mq-fs-display-l) !important;
}

/* Carrito y checkout: título un escalón menor (foco en completar la compra) */
.woocommerce-cart .mq-page-head h1.is-style-mqnft-section,
.woocommerce-checkout .mq-page-head h1.is-style-mqnft-section {
	font-size: var(--mq-fs-display-m) !important;
}

h2.is-style-mqnft-section,
.is-style-mqnft-section:not(h1),
.mq-display,
.mq-band .mq-display,
.mq-newsletter__title.is-style-mqnft-section,
.mq-related h2.is-style-mqnft-section {
	font-size: var(--mq-fs-display-m) !important;
}

.mq-tier__name,
.mq-drawer__head h2 {
	font-size: var(--mq-fs-display-s) !important;
}

/* --- Títulos sans ------------------------------------------------------ */
.mq-article__title,
.mq-article__head .wp-block-post-title {
	font-size: var(--mq-fs-h-xl) !important;
	line-height: 1.06;
}

.mq-intro__title,
.mq-main--product .product_title,
body:not(.paged) .mq-posts--featured .wp-block-post:first-child .mq-post-card__title,
body:not(.paged) .mq-posts--featured .wp-block-post:first-child .mq-post-card:not(:has(.mq-post-card__img)) .mq-post-card__title {
	font-size: var(--mq-fs-h-l) !important;
	line-height: 1.12;
}

main h2.wp-block-heading:not([class*="is-style-"]):not(.mq-display):not(.mq-slide__title):not(.mq-tier__name),
.mq-post-end__title,
.mq-product-desc h2,
.mq-empty-cart__head h2,
.mq-post-card:not(:has(.mq-post-card__img)) .mq-post-card__title {
	font-size: var(--mq-fs-h-m) !important;
	line-height: 1.2;
}

main h3.wp-block-heading:not(.mq-card__title),
.mq-steps h3,
.mq-empty-cart__more,
.mq-path__title,
.mq-article__content > h3,
.mq-product-desc__body h3 {
	font-size: var(--mq-fs-h-s) !important;
	line-height: 1.25;
}

.mq-card__title,
.mq-card--product .mq-card__title,
.mq-episode__title,
.mq-post-card__title,
.mq-faq__item summary,
.mq-article__nav a {
	font-size: var(--mq-fs-h-xs) !important;
	line-height: 1.3;
}

.mq-price,
.mq-pdp-price .price {
	font-size: var(--mq-fs-h-xs);
}

.mq-main--product div.product p.price,
.mq-main--product .mq-pdp-price .price {
	font-size: var(--mq-fs-h-m) !important;
}

/* --- Texto ------------------------------------------------------------- */
.mq-lead,
p.has-medium-font-size,
.mq-main--product .woocommerce-product-details__short-description {
	font-size: var(--mq-fs-lead) !important;
	line-height: 1.55;
}

body,
.mq-newsletter__text,
.mq-tier__perks,
.mq-shopbar__count,
.mq-note {
	font-size: var(--mq-fs-body);
}

.mq-card__meta,
.mq-episode__summary,
.mq-post-card__excerpt,
.mq-event-meta__cal,
.mq-assure,
.mq-path__text,
.mq-drawer__notice,
.mq-toggle,
.mq-share__label {
	font-size: var(--mq-fs-small) !important;
}

.mq-post-card__date,
.mq-post-card__time,
.mq-reading-time,
.mq-article__meta,
.mq-footer__pay,
.mq-newsletter__note:not(.is-success),
.mq-drawer__note,
.mq-line__details,
.mq-result__meta,
.mq-card__notify,
p.has-small-font-size,
.woocommerce-breadcrumb,
.wc-block-breadcrumbs {
	font-size: var(--mq-fs-caption) !important;
}

.mq-post-card__date,
.mq-post-card__time,
.mq-reading-time,
.mq-article__meta,
.mq-footer__pay,
.mq-drawer__note,
.mq-line__details,
.mq-result__meta {
	color: var(--mq-muted);
}

/* Etiquetas en mayúsculas: un solo estilo */
.mq-kicker,
.mq-label,
.mq-footer__title,
.mq-tier__flag,
.mq-listen__label,
.mq-searchbox__label,
.mq-article__cat,
.mq-article__nav .post-navigation-link__label,
.mq-qty-label,
body:not(.paged) .mq-posts--featured .wp-block-post:first-child .mq-post-card__body::before {
	font-family: var(--mq-heading) !important;
	font-size: var(--mq-fs-label) !important;
	font-weight: 700 !important;
	letter-spacing: 0.06em !important;
	line-height: 1.3 !important;
	text-transform: uppercase;
}

.mq-share__label {
	font-family: var(--mq-heading);
	font-weight: 700;
}

/* --- Espaciado de títulos ---------------------------------------------- */

/* Mismo aire arriba del título de página en todos los tipos de página */
.mq-section--first,
.mq-section.mq-section--first {
	padding-top: var(--mq-page-top);
}

.mq-page-head {
	padding-block: var(--mq-page-top) var(--mq-title-gap) !important;
}

.mq-page-head .is-style-mqnft-section,
.mq-page-head .wp-block-query-title {
	margin-bottom: 0 !important;
}

/* Título → contenido: siempre el mismo espacio */
.is-style-mqnft-section {
	margin-bottom: var(--mq-title-gap) !important;
}

/* Título seguido de bajada: más juntos; bajada → contenido: espacio normal */
.is-style-mqnft-section:has(+ .mq-lead),
.mq-blog-intro .is-style-mqnft-section {
	margin-bottom: 1rem !important;
}

.is-style-mqnft-section + .mq-lead {
	margin-top: 0 !important;
	margin-bottom: var(--mq-title-gap) !important;
}

.mq-blog-intro .mq-lead {
	margin: 0 !important;
}

/* Kicker → título */
.mq-kicker + :is(h1, h2, h3) {
	margin-top: 0.6rem !important;
}

/* Bandas: título → texto → botones con ritmo fijo */
.mq-band .mq-display {
	margin-bottom: 1.25rem !important;
}

.mq-band p {
	margin-block: 0 1rem;
}

.mq-band .wp-block-buttons {
	margin-top: 1.75rem !important;
}

/* Línea de título en la ficha */
.mq-main--product .product_title {
	margin-bottom: 0.75rem !important;
}

body:not(.paged) .mq-posts--featured .wp-block-post:first-child .mq-post-card__excerpt p {
	font-size: var(--mq-fs-body) !important;
}

.mq-tag-save {
	font-size: var(--mq-fs-small);
}

.mq-tier__price {
	font-size: var(--mq-fs-h-m);
}

/* =========================================================================
 * v2.3 · Ficha estructurada, cupón, pasos y gira
 * ====================================================================== */

.mq-label {
	margin: 0 0 0.5rem;
	color: var(--mq-muted);
}

/* Datos de la ficha */
.mq-facts {
	display: grid;
	gap: 1rem;
	margin: 1.25rem 0;
}

.mq-facts__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mq-facts__chips li,
.mq-facts__chips a {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	text-decoration: none;
}

.mq-facts__chips li {
	padding: 0.3rem 0.7rem;
	border-radius: 999px;
	background: rgb(45 50 55 / 0.06);
	font-size: var(--mq-fs-small);
}

.mq-facts__chips li:has(a) {
	padding: 0;
}

.mq-facts__chips a {
	padding: 0.3rem 0.7rem;
	border-radius: 999px;
}

.mq-facts__chips a:hover {
	background: rgb(45 50 55 / 0.06);
}

.mq-facts__chips .mq-icon {
	width: 16px;
	height: 16px;
}

.mq-facts__people {
	display: grid;
	gap: 0.15rem;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: var(--mq-fs-small);
}

.mq-facts__people span {
	color: var(--mq-muted);
}

.mq-facts__includes ul {
	display: grid;
	gap: 0.4rem;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: var(--mq-fs-small);
}

.mq-facts__includes li {
	display: flex;
	gap: 0.55rem;
	align-items: flex-start;
}

.mq-facts__includes .mq-icon {
	flex: none;
	margin-top: 0.1em;
	color: var(--wp--preset--color--green);
}

/* Aviso antes de comprar */
.mq-notice {
	display: grid;
	gap: 0.15rem;
	margin: 0 0 1rem;
	padding: 0.75rem 1rem;
	border-left: 3px solid var(--wp--preset--color--orange);
	border-radius: 0 8px 8px 0;
	background: rgb(251 90 22 / 0.07);
	font-size: var(--mq-fs-small);
}

.mq-notice strong {
	font-size: var(--mq-fs-label);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* Preventa / exterior */
.mq-pdp-presale {
	margin: 0.25rem 0 0;
	color: var(--mq-orange-strong);
	font-size: var(--mq-fs-small);
	font-weight: 700;
}

.mq-pdp-abroad {
	margin: 0.25rem 0 0;
	color: var(--mq-muted);
	font-size: var(--mq-fs-small);
}

.mq-pdp-abroad strong {
	color: var(--wp--preset--color--ink);
}

/* Cupón de socia */
.mq-coupon {
	margin: 0.5rem 0 1rem;
}

.mq-coupon__toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.25rem 0;
	border: 0;
	background: none;
	color: var(--wp--preset--color--ink);
	font: inherit;
	font-size: var(--mq-fs-small);
	text-decoration: underline;
	text-decoration-color: rgb(45 50 55 / 0.3);
	text-underline-offset: 0.2em;
	cursor: pointer;
}

.mq-coupon__toggle:hover {
	text-decoration-color: currentColor;
}

.mq-coupon__toggle .mq-icon {
	width: 16px;
	height: 16px;
	color: var(--wp--preset--color--pink, var(--wp--preset--color--orange));
}

.mq-coupon__form {
	display: flex;
	gap: 0.5rem;
	margin-top: 0.5rem;
}

.mq-coupon__form[hidden] {
	display: none;
}

.mq-coupon__form input {
	flex: 1;
	min-width: 0;
	height: var(--mq-btn-h-sm);
	padding: 0 0.75rem;
	border: 1px solid var(--mq-line);
	border-radius: 8px;
	background: #fff;
	font: inherit;
	font-size: var(--mq-fs-small);
	text-transform: uppercase;
}

.mq-coupon__msg {
	margin: 0.35rem 0 0;
	font-size: var(--mq-fs-small);
}

.mq-coupon__msg:empty {
	display: none;
}

.mq-coupon__msg.is-ok {
	color: var(--wp--preset--color--green);
	font-weight: 600;
}

.mq-coupon__msg.is-error {
	color: #b3261e;
}

/* Qué pasa después de comprar */
.mq-after {
	margin: 1.5rem 0 0;
}

.mq-after ol {
	display: grid;
	gap: 0.85rem;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: mq-step;
}

.mq-after li {
	position: relative;
	display: grid;
	gap: 0.1rem;
	padding-left: 2.25rem;
	font-size: var(--mq-fs-small);
	counter-increment: mq-step;
}

.mq-after li::before {
	content: counter(mq-step);
	position: absolute;
	left: 0;
	top: 0.05rem;
	display: grid;
	place-items: center;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 50%;
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--cream);
	font: 700 0.75rem/1 var(--mq-heading);
}

.mq-after li:not(:last-child)::after {
	content: "";
	position: absolute;
	left: 0.72rem;
	top: 1.7rem;
	bottom: -0.7rem;
	width: 1px;
	background: var(--mq-line);
}

.mq-after strong {
	font-weight: 700;
}

.mq-after span {
	color: var(--mq-muted);
}

/* Ficha técnica */
.mq-specs {
	max-width: 44rem;
	margin-top: 2rem;
}

.mq-specs h2 {
	margin-bottom: 0.75rem;
	font-size: var(--mq-fs-h-s);
}

.mq-specs dl {
	display: grid;
	margin: 0;
	font-size: var(--mq-fs-small);
}

.mq-specs dl div {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.55rem 0;
	border-bottom: 1px solid var(--mq-line);
}

.mq-specs dt {
	color: var(--mq-muted);
}

.mq-specs dd {
	margin: 0;
	text-align: right;
}

/* Gira */
.mq-gira {
	margin-block: 2.5rem;
}

.mq-gira__heading {
	margin: 0 0 1.25rem;
	font-size: var(--mq-fs-h-m);
}

.mq-gira__list {
	display: grid;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mq-gira__row {
	display: grid;
	grid-template-columns: 4.25rem 1fr auto auto;
	gap: 1rem;
	align-items: center;
	padding: 1rem 0;
	border-bottom: 1px solid var(--mq-line);
}

.mq-gira__row:first-child {
	border-top: 1px solid var(--mq-line);
}

.mq-gira__date {
	display: grid;
	place-items: center;
	align-content: center;
	width: 4.25rem;
	height: 4.25rem;
	border-radius: 12px;
	background: var(--wp--preset--color--cream);
	box-shadow: inset 0 0 0 1px var(--mq-line);
	color: inherit;
	text-align: center;
	text-decoration: none;
	line-height: 1.1;
}

.mq-gira__date strong {
	font: 700 1.5rem/1 var(--mq-heading);
}

.mq-gira__date span {
	font-size: var(--mq-fs-label);
	font-weight: 700;
	text-transform: uppercase;
}

.mq-gira__info :is(h2, h3) {
	margin: 0;
	font-size: var(--mq-fs-h-xs);
}

.mq-gira__info :is(h2, h3) a {
	color: inherit;
	text-decoration: none;
}

.mq-gira__info :is(h2, h3) a:hover {
	text-decoration: underline;
}

.mq-gira__info p {
	margin: 0.15rem 0 0;
	color: var(--mq-muted);
	font-size: var(--mq-fs-small);
}

.mq-gira__side {
	display: grid;
	justify-items: end;
	gap: 0.2rem;
	font-size: var(--mq-fs-small);
}

.mq-gira__price {
	font-weight: 700;
}

.mq-gira__status {
	padding: 0.15rem 0.55rem;
	border-radius: 999px;
	background: rgb(45 50 55 / 0.07);
	font-size: var(--mq-fs-label);
	font-weight: 700;
}

.mq-gira__status.is-low {
	background: rgb(251 90 22 / 0.12);
	color: var(--mq-orange-strong);
}

.mq-gira__row.is-past {
	opacity: 0.6;
}

.mq-gira__past {
	margin-top: 1.5rem;
}

.mq-gira__past summary {
	cursor: pointer;
	font-size: var(--mq-fs-small);
	font-weight: 600;
}

.mq-gira__empty {
	color: var(--mq-muted);
}

.mq-drawer__discount {
	margin: 0 0 0.35rem;
	color: var(--wp--preset--color--green);
	font-size: var(--mq-fs-small);
	font-weight: 600;
}

@media (max-width: 640px) {
	.mq-gira__row {
		grid-template-columns: 3.5rem 1fr auto;
		gap: 0.75rem;
	}

	.mq-gira__date {
		width: 3.5rem;
		height: 3.5rem;
	}

	.mq-gira__row > .mq-btn {
		grid-column: 1 / -1;
	}

	.mq-gira__side {
		grid-column: 3;
	}
}

@media (min-width: 900px) {
	.mq-main--product div.product > .mq-gira,
	.mq-main--product div.product > .mq-specs {
		grid-column: 1 / -1;
	}
}

.mq-main--product .mq-gira {
	max-width: 56rem;
	margin-top: 1rem;
}


/* =========================================================================
 * v2.4 · Moneda
 * ====================================================================== */

.mq-cur {
	position: relative;
}

.mq-cur summary {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	min-height: 40px;
	padding: 0 0.5rem;
	border-radius: 8px;
	color: var(--wp--preset--color--ink);
	font: 700 var(--mq-fs-label) var(--mq-heading);
	letter-spacing: 0.04em;
	list-style: none;
	cursor: pointer;
}

.mq-cur summary::-webkit-details-marker {
	display: none;
}

.mq-cur summary:hover,
.mq-cur[open] summary {
	background: rgb(45 50 55 / 0.08);
}

.mq-cur.is-foreign summary {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--cream);
}

.mq-cur__menu {
	position: absolute;
	right: 0;
	top: calc(100% + 0.5rem);
	z-index: 60;
	width: min(22rem, calc(100vw - 2rem));
	padding: 1rem;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 12px 40px rgb(45 50 55 / 0.18), 0 0 0 1px rgb(45 50 55 / 0.06);
	animation: mq-cur-in 0.2s var(--mq-ease, ease-out);
}

@keyframes mq-cur-in {
	from {
		opacity: 0;
		transform: translateY(-6px);
	}
}

.mq-cur__title {
	margin: 0 0 0.5rem;
	font: 700 var(--mq-fs-small) var(--mq-heading);
}

.mq-cur__menu ul {
	display: grid;
	gap: 0.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mq-cur__menu a {
	position: relative;
	display: grid;
	gap: 0.1rem;
	padding: 0.6rem 2rem 0.6rem 0.75rem;
	border-radius: 10px;
	color: inherit;
	font-size: var(--mq-fs-small);
	text-decoration: none;
}

.mq-cur__menu a:hover,
.mq-cur__menu a[aria-current] {
	background: rgb(45 50 55 / 0.06);
}

.mq-cur__hint {
	color: var(--mq-muted);
	font-size: var(--mq-fs-caption);
}

.mq-cur__menu a .mq-icon {
	position: absolute;
	right: 0.7rem;
	top: 50%;
	translate: 0 -50%;
	color: var(--wp--preset--color--green);
}

.mq-cur__note {
	margin: 0.75rem 0 0;
	padding-top: 0.75rem;
	border-top: 1px solid var(--mq-line);
	color: var(--mq-muted);
	font-size: var(--mq-fs-caption);
}

/* Aviso de bienvenida para quienes están afuera */
.mq-curbar {
	position: fixed;
	left: 1rem;
	bottom: 1rem;
	z-index: 55;
	display: grid;
	gap: 0.5rem;
	max-width: min(22rem, calc(100vw - 2rem));
	padding: 0.9rem 1rem;
	border-radius: 14px;
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--cream);
	box-shadow: 0 12px 40px rgb(45 50 55 / 0.3);
	font-size: var(--mq-fs-small);
	animation: mq-cur-in 0.4s var(--mq-ease, ease-out);
}

.mq-curbar[hidden] {
	display: none;
}

.mq-curbar p {
	margin: 0;
}

.mq-curbar a {
	color: inherit;
	font-weight: 700;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.2em;
}

.mq-curbar button {
	justify-self: start;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	opacity: 0.75;
	text-decoration: underline;
	cursor: pointer;
}

.single-product .mq-curbar {
	bottom: 5.5rem;
}

@media (min-width: 900px) {
	.single-product .mq-curbar {
		bottom: 1rem;
	}
}

/* Precio / avisos */
.mq-price__note {
	color: var(--mq-muted);
	font-size: var(--mq-fs-small);
	font-weight: 600;
}

.mq-notice--soft {
	border-left-color: var(--wp--preset--color--ink);
	background: rgb(45 50 55 / 0.06);
}

.mq-notice--soft ul {
	display: grid;
	gap: 0.2rem;
	margin: 0.4rem 0 0;
	padding-left: 1.1rem;
}

.mq-notice--soft a {
	margin-top: 0.4rem;
	font-weight: 700;
}

.mq-pdp-abroad a {
	color: inherit;
	font-weight: 700;
}

/* Apoyanos: precio y botones según moneda */
.mq-cur-intl {
	display: none;
}

.mq-foreign .mq-cur-ar {
	display: none;
}

.mq-foreign .mq-cur-intl {
	display: inline;
}

.mq-foreign .mq-tier__actions {
	flex-direction: column-reverse;
}

.mq-foreign .mq-tier__actions .wp-block-button:first-child .wp-block-button__link {
	border: 2px solid var(--wp--preset--color--ink);
	background: transparent;
	color: var(--wp--preset--color--ink);
}

.mq-foreign .mq-tier__actions .wp-block-button:last-child .wp-block-button__link {
	border: 2px solid var(--wp--preset--color--ink);
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--cream);
}

/* Transferencia: último paso */
.mq-transfer {
	display: grid;
	gap: 0.75rem;
	justify-items: start;
	max-width: 40rem;
	margin: 0 0 2rem;
	padding: 1.25rem 1.5rem;
	border-radius: 14px;
	background: rgb(251 90 22 / 0.08);
}

.mq-transfer h2 {
	margin: 0;
	font-size: var(--mq-fs-h-s);
}

.mq-transfer ol {
	margin: 0;
	padding-left: 1.25rem;
}

.mq-tier__price .mq-cur-ar,
.mq-tier__price .mq-cur-intl {
	font-size: inherit;
	font-weight: inherit;
}

.mq-tier__price .mq-cur-ar > span,
.mq-tier__price .mq-cur-intl > span {
	font-size: 1rem;
	font-weight: 500;
}

.single-product .mq-pdp-price .mq-price__note {
	display: none;
}

/* v2.5 · QA
 * El CSS de maquetación de Woo usa `.woocommerce #content div.product div.images`
 * (con id) y gana a las reglas de arriba: se iguala la especificidad. */
body #content.mq-main--product div.product div.images,
body #content.mq-main--product div.product div.summary {
	float: none;
	width: 100%;
	max-width: none;
	margin: 0;
	justify-self: stretch;
}

/* El cartel "¡Oferta!" de Woo: el precio ya muestra el descuento */
.mq-main--product span.onsale,
.single-product span.onsale {
	display: none;
}

/* Contraste (WCAG AA) */
del,
.mq-price del,
.mq-pdp-price del {
	color: #5f6367;
}

.post-navigation-link__label {
	color: rgb(45 50 55 / 0.85);
}

/* Áreas táctiles y tamaños mínimos */
.mq-curbar button {
	min-height: 32px;
}

.mq-toggle {
	min-height: 36px;
}

.mq-slider__dot {
	position: relative;
}

.mq-slider__dot::after {
	content: "";
	position: absolute;
	inset: -10px -4px;
}

.mq-badge,
.mq-pill,
.mq-card__date span {
	font-size: max(0.6875rem, 11px);
}

@media (max-width: 899px) {
	.mq-footer a {
		display: inline-block;
		padding-block: 0.4rem;
	}

	.mq-pill {
		min-height: 28px;
		display: inline-flex;
		align-items: center;
	}
}

del,
.mq-price del,
.mq-pdp-price del,
.mq-buybar__price del,
.mq-gira__price del {
	color: #5f6367;
	opacity: 1;
}

.price del,
p.price del {
	color: #5f6367;
	opacity: 1;
}

.mq-article__nav .post-navigation-link__label,
.post-navigation-link__label {
	color: #5f6367 !important;
}

body .price del,
body p.price del {
	color: #5f6367 !important;
	opacity: 1 !important;
}


/* Lista de espera */
.mq-waitlist {
	margin: 1.25rem 0;
	padding: 1.1rem 1.25rem;
	border-radius: 14px;
	background: rgb(45 50 55 / 0.06);
	scroll-margin-top: calc(var(--mq-header-h) + 24px);
}

.mq-waitlist h2 {
	margin: 0 0 0.35rem;
	font-size: var(--mq-fs-h-xs);
}

.mq-waitlist p {
	margin: 0 0 0.75rem;
	font-size: var(--mq-fs-small);
}

.mq-waitlist__form {
	display: flex;
	gap: 0.5rem;
}

.mq-waitlist__form[hidden] {
	display: none;
}

.mq-waitlist__form input[type="email"] {
	flex: 1;
	min-width: 0;
	height: var(--mq-btn-h-md);
	padding: 0 0.85rem;
	border: 1px solid var(--mq-line);
	border-radius: 8px;
	background: #fff;
	font: inherit;
}

.mq-hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.mq-waitlist__msg {
	margin: 0.5rem 0 0 !important;
	font-weight: 600;
}

.mq-waitlist__msg:empty {
	display: none;
}

.mq-waitlist__msg.is-ok {
	color: var(--wp--preset--color--green);
}

.mq-waitlist__msg.is-error {
	color: #b3261e;
}

.mq-waitlist.is-done {
	background: rgb(11 129 89 / 0.1);
}

.mq-waitlist.is-done p:first-of-type {
	display: none;
}

@media (max-width: 480px) {
	.mq-waitlist__form {
		flex-direction: column;
	}
}


/* Precio: una sola historia a la vez */
.mq-pdp-save {
	display: none;
}

.mq-pdp-pre {
	padding: 0.2rem 0.65rem;
	border: 2px solid var(--mq-orange-strong);
	border-radius: 999px;
	color: var(--mq-orange-strong);
	font: 700 var(--mq-fs-label) var(--mq-heading);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.mq-pdp-presale {
	color: var(--wp--preset--color--ink);
	font-weight: 600;
}


/* =========================================================================
 * v2.6 · Design QA
 * ====================================================================== */

/* Imágenes cuadradas: llenan el marco (sin franja vacía abajo) */
.mq-card.mq-card--square .mq-card__media {
	aspect-ratio: 1 / 1;
}

.mq-card.mq-card--square .mq-card__img {
	object-fit: cover;
}

/* Aviso de stock: una etiqueta discreta, no una barra negra */
.mq-main--product p.stock,
.mq-main--product .stock.out-of-stock {
	display: inline-flex;
	align-items: center;
	width: auto;
	margin: 0 0 0.75rem;
	padding: 0.3rem 0.8rem;
	border: 0;
	border-radius: 999px;
	background: rgb(179 38 30 / 0.1);
	color: #8f1d16;
	font: 700 var(--mq-fs-label) var(--mq-heading);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.mq-main--product p.stock.in-stock {
	background: rgb(11 129 89 / 0.1);
	color: var(--wp--preset--color--green);
}

/* 404: mismo encabezado que el resto de las páginas */
.mq-404__body {
	max-width: 720px;
}

/* Boletín: el formulario no choca con las ilustraciones de los costados */
.mq-newsletter__form {
	max-width: 40rem;
	margin-inline: auto;
}

/* Fecha a definir (gira) */
.mq-gira__date span:only-child {
	font-size: 0.6875rem;
	line-height: 1.15;
}

/* Ficha: la galería se queda fija al hacer scroll, sin empujarse hacia abajo.
 * El CSS de Woo le pone `position: relative` con más especificidad, y entonces el
 * `top` de la galería fija la desplazaba ~166px. */
@media (min-width: 900px) {
	body #content.mq-main--product div.product div.images.woocommerce-product-gallery {
		position: sticky;
	}
}

@media (max-width: 899px) {
	body #content.mq-main--product div.product div.images.woocommerce-product-gallery {
		position: relative;
		top: auto;
	}
}

/* Migas de pan con aire debajo del encabezado */
.mq-main--product .wc-block-breadcrumbs,
.mq-main--product .woocommerce-breadcrumb {
	margin-top: 1.5rem;
	margin-bottom: 1.25rem;
}


/* La galería de la ficha ya no queda fija al hacer scroll */
@media (min-width: 900px) {
	body #content.mq-main--product div.product div.images.woocommerce-product-gallery {
		position: relative;
		top: auto;
	}
}

/* Subtítulos y etiquetas: sin espaciado entre letras */
.mq-kicker,
.mq-label,
.mq-footer__title,
.mq-tier__flag,
.mq-listen__label,
.mq-searchbox__label,
.mq-article__cat,
.mq-article__nav .post-navigation-link__label,
.post-navigation-link__label,
.mq-qty-label,
.mq-card__date span,
.mq-badge,
.mq-notice strong,
.mq-pdp-pre,
.mq-cur summary,
.mq-main--product p.stock,
.mq-main--product .stock.out-of-stock,
body:not(.paged) .mq-posts--featured .wp-block-post:first-child .mq-post-card__body::before {
	letter-spacing: 0 !important;
}


/* Carrito lateral: calcular el envío con el código postal */
.mq-ship {
	margin: 0 0 0.85rem;
	padding: 0.85rem 0 0;
	border-top: 1px solid var(--mq-line);
}

.mq-ship[hidden] {
	display: none;
}

.mq-ship label[for="mq-ship-zip"] {
	display: block;
	margin-bottom: 0.4rem;
	font: 700 var(--mq-fs-small) var(--mq-heading);
}

.mq-ship__row {
	display: flex;
	gap: 0.5rem;
}

.mq-ship__row input {
	flex: 1;
	min-width: 0;
	height: var(--mq-btn-h-sm);
	padding: 0 0.75rem;
	border: 1px solid var(--mq-line);
	border-radius: 8px;
	background: #fff;
	font: inherit;
	font-size: var(--mq-fs-small);
	text-transform: uppercase;
}

.mq-ship__result {
	margin-top: 0.5rem;
	transition: opacity 0.2s;
}

.mq-ship__result.is-busy {
	opacity: 0.5;
	pointer-events: none;
}

.mq-ship__msg {
	margin: 0;
	font-size: var(--mq-fs-small);
}

.mq-ship__msg.is-error {
	color: #b3261e;
}

.mq-ship__rates {
	display: grid;
	gap: 0.35rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mq-ship__rates li {
	position: relative;
}

.mq-ship__rates input {
	position: absolute;
	opacity: 0;
}

.mq-ship__rates label {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 0.1rem 0.75rem;
	padding: 0.55rem 0.75rem;
	border: 2px solid var(--mq-line);
	border-radius: 10px;
	font-size: var(--mq-fs-small);
	cursor: pointer;
	transition: border-color 0.18s, background-color 0.18s;
}

.mq-ship__rates input:checked + label {
	border-color: var(--mq-ink);
	background: rgb(45 50 55 / 0.04);
}

.mq-ship__rates input:focus-visible + label {
	outline: 3px solid var(--wp--preset--color--orange);
	outline-offset: 2px;
}

.mq-ship__time {
	grid-column: 1;
	color: var(--mq-muted);
	font-size: var(--mq-fs-caption);
}

.mq-ship__price {
	grid-column: 2;
	grid-row: 1;
}

.mq-drawer__shipline {
	display: flex;
	justify-content: space-between;
	margin: 0;
	font-size: var(--mq-fs-small);
}

.mq-drawer__total strong {
	font-size: 1.35rem;
}

/* Subtotal con el mismo tamaño que Envío; el Total estimado es el que destaca.
 * Si no hay envío calculado (no hay fila de total), el subtotal vuelve a ser el importe principal. */
.mq-drawer__foot .mq-drawer__subtotal:not(.mq-drawer__total) {
	font: 400 var(--mq-fs-small) / 1.3 var(--wp--preset--font-family--body);
}

.mq-drawer__foot .mq-drawer__subtotal:not(.mq-drawer__total) strong,
.mq-drawer__shipline strong {
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--mq-fs-small);
	font-weight: 700;
}

.mq-drawer__foot:has(.mq-drawer__total[hidden]) .mq-drawer__subtotal:not(.mq-drawer__total) {
	font: 600 1.05rem / 1.2 var(--mq-heading);
}

.mq-drawer__foot:has(.mq-drawer__total[hidden]) .mq-drawer__subtotal:not(.mq-drawer__total) strong {
	font-family: var(--mq-heading);
	font-size: 1.35rem;
}

/* El <select> de variaciones (oculto detrás de los botones de color) no puede ensanchar la página */
.mq-visually-hidden {
	width: 1px !important;
	min-width: 0 !important; /* WooCommerce le pone min-width: 75% a los <select> de variaciones */
	max-width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

/* =========================================================================
 * v3.0 · Checkout (bloques de WooCommerce)
 * ====================================================================== */

/* Pasos numerados, con el mismo estilo de títulos del resto del sitio */
.wc-block-checkout__main {
	counter-reset: mq-co;
}

.wc-block-components-checkout-step {
	margin: 0 0 2rem;
	padding: 0;
	border: 0;
}

.wc-block-components-checkout-step__heading {
	margin: 0 0 1rem;
}

.wc-block-components-checkout-step__title {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	margin: 0;
	font: 700 var(--mq-fs-h-s) / 1.2 var(--mq-heading) !important;
	letter-spacing: 0 !important;
	text-transform: none;
}

.wc-block-components-checkout-step__title::before {
	counter-increment: mq-co;
	content: counter(mq-co);
	display: grid;
	flex: none;
	place-items: center;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 50%;
	background: var(--mq-ink);
	color: var(--mq-cream);
	font: 700 0.8125rem / 1 var(--mq-heading);
}

.wc-block-components-checkout-step__description {
	color: var(--mq-muted);
	font-size: var(--mq-fs-small);
}

/* Campos: mismas esquinas que los botones, borde claro y foco visible */
.wc-block-components-text-input input,
.wc-block-components-text-input input[type],
.wc-block-components-textarea,
.wc-block-components-country-input select,
.wc-block-components-state-input select,
.wc-blocks-components-select__select,
.wc-block-components-combobox .components-combobox-control__input {
	min-height: 52px;
	border: 1.5px solid rgb(45 50 55 / 0.4) !important;
	border-radius: 8px !important;
	background-color: #fff !important;
	color: var(--mq-ink);
	font-family: var(--wp--preset--font-family--body);
	box-shadow: none !important;
}

.wc-block-components-text-input input:focus,
.wc-blocks-components-select__select:focus,
.wc-block-components-combobox .components-combobox-control__input:focus {
	border-color: var(--mq-ink) !important;
	box-shadow: 0 0 0 3px rgb(251 90 22 / 0.28) !important;
	outline: 0;
}

.wc-block-components-text-input.has-error input,
.wc-block-components-text-input.has-error input:focus {
	border-color: #b3261e !important;
}

.wc-block-components-text-input label,
.wc-blocks-components-select__label {
	color: var(--mq-muted);
}

/* Opciones de envío y de pago: tarjetas con la misma lógica del carrito lateral */
.wc-block-components-radio-control__option {
	margin: 0 0 0.5rem !important;
	padding: 0.9rem 1rem 0.9rem 3rem !important;
	border: 2px solid var(--mq-line) !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	transition: border-color 0.18s, background-color 0.18s;
}

.wc-block-components-radio-control__option-checked,
.wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	border-color: var(--mq-ink) !important;
	background: rgb(45 50 55 / 0.04);
}

.wc-block-components-radio-control__option:focus-within {
	outline: 3px solid var(--wp--preset--color--orange);
	outline-offset: 2px;
}

.wc-block-components-radio-control__label,
.wc-block-components-radio-control__secondary-label {
	font-size: var(--mq-fs-small);
}

.wc-block-components-radio-control__secondary-label {
	font-weight: 700;
}

/* Resumen del pedido: tarjeta fija al hacer scroll, sin la descripción larga del producto */
.wp-block-woocommerce-checkout-order-summary-block {
	border: 1px solid var(--mq-line) !important;
	border-radius: 12px !important;
	background: #fff;
}

.wc-block-components-product-metadata__description {
	display: none;
}

.wc-block-components-order-summary-item__image {
	width: 64px;
}

.wc-block-components-order-summary-item__image img {
	border-radius: 6px;
}

.wc-block-components-product-metadata {
	color: var(--mq-muted);
	font-size: var(--mq-fs-caption);
}

@media (min-width: 782px) {
	.wc-block-checkout__sidebar {
		position: sticky;
		top: 1.5rem;
		align-self: flex-start;
	}
}

/* En el celular el resumen ya está arriba (plegado, con el total): no repetirlo al final */
@media (max-width: 781px) {
	.checkout-order-summary-block-fill-wrapper {
		display: none;
	}
}

/* Notas, términos y botón de pago */
.wc-block-checkout__terms,
.wc-block-checkout__add-note {
	color: var(--mq-muted);
	font-size: var(--mq-fs-small);
}

.wc-block-components-checkout-place-order-button {
	min-height: var(--mq-btn-h-lg);
	font-size: var(--mq-btn-fs-lg);
}

.mq-co-assure {
	margin: 0.9rem 0 0;
	color: var(--mq-muted);
	font-size: var(--mq-fs-small);
	text-align: center;
}

.mq-co-assure span::before {
	content: "🔒 ";
}

.mq-co-assure a {
	color: inherit;
}

/* Checkout · detalles */

/* Sin el borde doble que WooCommerce dibuja con ::after: la tarjeta es la que definimos arriba */
.wc-block-components-radio-control--highlight-checked::after,
.wc-block-components-radio-control .wc-block-components-radio-control__option::after,
.wc-block-components-radio-control__option-checked::after,
.wc-block-components-radio-control-accordion-option::after {
	display: none !important;
	border: 0 !important;
	box-shadow: none !important;
}

.wc-block-components-radio-control,
.wc-block-components-radio-control-accordion-option,
.wc-block-checkout__shipping-option .wc-block-components-radio-control {
	border: 0 !important;
	box-shadow: none !important;
}

/* Aire entre campos */
.wc-block-components-address-form > *,
.wc-block-components-address-form-wrapper .wc-block-components-text-input,
.wc-block-components-address-form-wrapper .wc-block-components-country-input,
.wc-block-components-address-form-wrapper .wc-block-components-state-input {
	margin-top: 0 !important;
	margin-bottom: 0.75rem;
}

.wc-block-components-address-form {
	column-gap: 0.75rem;
}

/* Candado propio (no el emoji) */
.mq-co-assure span::before {
	content: "";
	display: inline-block;
	width: 1.05em;
	height: 1.05em;
	margin-right: 0.4em;
	vertical-align: -0.2em;
	background: var(--wp--preset--color--green);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='9' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='9' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Menos aire entre el título de la página y el primer paso */
.woocommerce-checkout .mq-page-head {
	margin-bottom: 0;
	padding-bottom: 0;
}

/* Los desplegables (provincia, país) quedan alineados con los campos de texto de al lado */
.wc-block-components-address-form .wc-blocks-components-select,
.wc-block-components-address-form .wc-block-components-state-input,
.wc-block-components-address-form .wc-block-components-country-input {
	margin-top: 0 !important;
}

.wc-block-components-address-form {
	align-items: flex-start;
}
