/*
 * High Gamma: estilos que theme.json no cubre.
 * Mismo lenguaje que la app: fondo blanco, tarjetas gris claro de 22px, pastillas negras y
 * categorías con color propio.
 */

:root {
	--hg-radius: 22px;
	--hg-radius-small: 14px;
	--hg-surface: var(--wp--preset--color--surface);
	--hg-line: var(--wp--preset--color--line);
	--hg-muted: var(--wp--preset--color--muted);
	--hg-ink: var(--wp--preset--color--contrast);
	--hg-announce-h: 36px;
	--hg-ease: cubic-bezier(0.25, 0.1, 0.25, 1);
}

html {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	scroll-padding-top: 80px;
}

body {
	overflow-x: clip;
}

img {
	height: auto;
}

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

::selection {
	background: rgba(0, 113, 227, 0.18);
}

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

.hg-header {
	position: sticky;
	top: calc(var(--hg-announce-h) * -1);
	z-index: 100;
}

.admin-bar .hg-header {
	top: calc(32px - var(--hg-announce-h));
}

@media (max-width: 782px) {
	.admin-bar .hg-header {
		top: calc(46px - var(--hg-announce-h));
	}
}

.hg-announcement {
	min-height: var(--hg-announce-h);
	align-items: center;
	text-align: center;
}

.hg-announcement p {
	margin: 0;
	color: var(--hg-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.hg-announcement a {
	font-weight: 500;
}

.hg-nav {
	background: rgba(255, 255, 255, 0.82);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	backdrop-filter: saturate(180%) blur(20px);
	border-bottom: 1px solid transparent;
	transition: border-color 0.2s var(--hg-ease), box-shadow 0.2s var(--hg-ease);
}

.hg-header.is-scrolled .hg-nav {
	border-bottom-color: var(--hg-line);
}

.hg-nav__row {
	min-height: 60px;
	gap: 1.5rem;
}

.hg-brand {
	flex-shrink: 0;
}

.hg-brand .wp-block-site-title a {
	color: var(--hg-ink);
	text-decoration: none;
}

.hg-brand .wp-block-site-logo,
.hg-brand .wp-block-site-logo a {
	display: block;
	width: 30px;
	height: 30px;
	flex: 0 0 30px;
}

/* El logo de la tienda es una imagen grande; en la cabecera siempre mide 30px
   (Jetpack puede reescribir el ancho y alto de la imagen). */
.hg-brand .wp-block-site-logo img {
	width: 30px !important;
	height: 30px !important;
	max-width: 30px !important;
	object-fit: contain;
	border-radius: 8px;
}

.hg-menu {
	flex: 1;
}

.hg-menu .wp-block-navigation-item__content {
	padding: 0.35rem 0;
	opacity: 0.86;
	transition: opacity 0.15s var(--hg-ease);
}

.hg-menu .wp-block-navigation-item__content:hover {
	opacity: 1;
}

.hg-actions {
	flex-shrink: 0;
}

.hg-actions > * {
	margin: 0;
}

.hg-actions a,
.hg-actions button {
	color: var(--hg-ink) !important;
}

.hg-actions svg {
	width: 22px;
	height: 22px;
}

/* Botones de icono (buscar, cuenta, carrito): círculos de 40px. */
.hg-search .wp-block-search__button,
.hg-icon-button .wc-block-customer-account__account-icon,
.hg-actions .wc-block-customer-account a,
.hg-actions .wc-block-mini-cart__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 0.5rem;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--hg-ink);
	transition: background-color 0.15s var(--hg-ease);
}

.hg-search .wp-block-search__button:hover,
.hg-actions .wc-block-customer-account a:hover,
.hg-actions .wc-block-mini-cart__button:hover {
	background: var(--hg-surface);
}

.hg-search .wp-block-search__button svg {
	width: 22px;
	height: 22px;
	fill: currentColor;
}

.hg-search.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper {
	border: 0;
	background: transparent;
}

.hg-search:not(.wp-block-search__searchfield-hidden) .wp-block-search__inside-wrapper {
	background: var(--hg-surface);
	border: 0;
	border-radius: 999px;
	padding: 0 0 0 0.9rem;
}

.hg-search:not(.wp-block-search__searchfield-hidden) .wp-block-search__input {
	border: 0;
	background: transparent;
	min-width: 12rem;
	font-size: 0.9375rem;
}

.hg-actions .wc-block-mini-cart__badge {
	background: var(--hg-ink);
	color: #fff;
	border: 2px solid #fff;
	font-size: 0.6875rem;
	font-weight: 700;
}

.hg-actions .wc-block-mini-cart__amount {
	display: none;
}

/* Menú móvil a pantalla completa, como una hoja de la app. */
.hg-menu .wp-block-navigation__responsive-container.is-menu-open {
	padding: 1.25rem clamp(1rem, 4vw, 2.5rem) 2rem;
	background: #fff;
}

.hg-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 3.5rem;
	gap: 0;
}

.hg-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	width: 100%;
	border-bottom: 1px solid var(--hg-line);
}

.hg-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding: 1rem 0;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	opacity: 1;
}

.hg-menu .wp-block-navigation__responsive-container-open,
.hg-menu .wp-block-navigation__responsive-container-close {
	width: 40px;
	height: 40px;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
}

/*
 * El menú completo no cabe junto al logo y los íconos por debajo de ~1080px (iPad vertical,
 * ventanas angostas). WordPress solo cambia a hamburguesa por debajo de 600px, así que aquí
 * se adelanta ese cambio.
 */
@media (max-width: 1079px) {
	.hg-nav__row {
		gap: 0.25rem;
	}

	/* El botón del menú va a la derecha, junto al carrito. */
	.hg-menu {
		flex: 0 0 auto;
		order: 3;
	}

	.hg-menu .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex !important;
	}

	.hg-menu .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none !important;
	}

	.hg-brand {
		flex: 1 1 auto;
		min-width: 0;
	}
}

@media (max-width: 599px) {
	.hg-brand .wp-block-site-title {
		font-size: 1rem !important;
	}
}

/* ------------------------------------------------------------------ */
/* Secciones de la portada                                             */
/* ------------------------------------------------------------------ */

.hg-home > .hg-section,
.hg-product > .hg-section {
	margin-top: var(--wp--preset--spacing--60);
}

.hg-home > .hg-section--tight {
	margin-top: var(--wp--preset--spacing--50);
}

.hg-section-header {
	margin-bottom: var(--wp--preset--spacing--30);
	gap: 0.75rem 1.5rem;
}

.hg-section-header h2 {
	margin: 0;
}

.hg-section-header p {
	margin: 0;
}

.hg-see-all a {
	font-weight: 500;
	white-space: nowrap;
}

.hg-see-all a::after {
	content: " ›";
}

.hg-eyebrow {
	margin: 0;
	font-size: 0.8125rem !important;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	opacity: 0.8;
}

/* Portada */
.hg-hero__title {
	letter-spacing: -0.035em;
	line-height: 1.02;
	text-wrap: balance;
}

.hg-hero p {
	text-wrap: balance;
	margin-top: 0.75rem;
}

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

.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--hg-ink);
	color: #fff;
}

.hg-promos {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 1.25rem;
	margin-top: var(--wp--preset--spacing--40);
}

/* En el teléfono las tres tarjetas se deslizan de lado, como en la app. */
@media (max-width: 781px) {
	.hg-promos {
		grid-template-columns: none !important;
		grid-auto-flow: column;
		grid-auto-columns: 84%;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		margin-inline: calc(var(--wp--style--root--padding-left) * -1) !important;
		padding-inline: var(--wp--style--root--padding-left);
		scroll-padding-inline: var(--wp--style--root--padding-left);
	}

	.hg-promos::-webkit-scrollbar {
		display: none;
	}

	.hg-promo {
		scroll-snap-align: start;
		min-height: 380px !important;
	}
}

.hg-promo,
.hg-feature {
	overflow: hidden;
	padding: clamp(1.5rem, 3vw, 2.25rem) !important;
	isolation: isolate;
}

.hg-promo .wp-block-cover__image-background,
.hg-feature .wp-block-cover__image-background {
	transition: transform 0.8s var(--hg-ease);
}

/* Degradado para que el texto se lea sobre cualquier foto (usa la capa de fondo del bloque). */
.wp-block-cover.hg-promo > .wp-block-cover__background {
	opacity: 1 !important;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.78) 0%, rgba(0, 0, 0, 0.35) 42%, rgba(0, 0, 0, 0) 68%) !important;
}

.hg-promo .wp-block-cover__inner-container,
.hg-feature .wp-block-cover__inner-container {
	position: relative;
	z-index: 2;
	color: #fff;
}

.hg-promo .wp-block-cover__inner-container > *,
.hg-feature .wp-block-cover__inner-container > * {
	margin-block: 0;
}

.hg-promo .wp-block-cover__inner-container > * + *,
.hg-feature .wp-block-cover__inner-container > * + * {
	margin-top: 0.5rem;
}

.hg-promo__title,
.hg-feature__title {
	color: #fff;
	font-size: clamp(1.625rem, 2.6vw, 2rem);
}

.hg-feature__title {
	font-size: clamp(2.5rem, 6vw, 4.5rem);
}

.hg-promo__text,
.hg-feature__text {
	color: rgba(255, 255, 255, 0.86);
	max-width: 30ch;
}

.hg-promo__link a {
	color: #fff;
	font-weight: 600;
}

.hg-promo__link a::after {
	content: " ›";
}

.hg-promo {
	cursor: pointer;
}

.wp-block-button.hg-button-light > .wp-block-button__link {
	background: #fff;
	color: var(--hg-ink);
}

.wp-block-button.hg-button-light > .wp-block-button__link:hover {
	background: rgba(255, 255, 255, 0.86);
}

/* Categorías: burbujas de color como en la app. */
.hg-categories {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 6.75rem;
	gap: 1rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding: 0.25rem 0 1rem;
	margin: 0;
	scrollbar-width: none;
	-webkit-mask-image: linear-gradient(to right, #000 92%, transparent);
	mask-image: linear-gradient(to right, #000 92%, transparent);
}

.hg-categories::-webkit-scrollbar {
	display: none;
}

@media (min-width: 1100px) {
	.hg-categories {
		grid-auto-flow: row;
		grid-template-columns: repeat(auto-fit, minmax(6.25rem, 1fr));
		overflow: visible;
		-webkit-mask-image: none;
		mask-image: none;
	}
}

.hg-category {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.35rem;
	text-align: center;
	color: var(--hg-ink);
	text-decoration: none !important;
	scroll-snap-align: start;
}

.hg-category__bubble {
	position: relative;
	display: grid;
	place-items: center;
	width: 5.75rem;
	aspect-ratio: 1;
	border-radius: 50%;
	background: radial-gradient(circle at 30% 25%, color-mix(in srgb, var(--hg-tint) 16%, #fff), color-mix(in srgb, var(--hg-tint) 30%, #fff));
	box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--hg-tint) 35%, transparent);
	transition: transform 0.25s var(--hg-ease), box-shadow 0.25s var(--hg-ease);
	overflow: hidden;
}

.hg-category:hover .hg-category__bubble {
	transform: translateY(-3px) scale(1.03);
	box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--hg-tint) 60%, transparent), 0 10px 24px color-mix(in srgb, var(--hg-tint) 25%, transparent);
}

.hg-category__bubble img {
	width: 72%;
	height: 72%;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.hg-category__initial {
	font-size: 2rem;
	font-weight: 700;
	color: color-mix(in srgb, var(--hg-tint) 80%, #000);
}

.hg-category__name {
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.2;
}

.hg-category__count {
	font-size: 0.75rem;
	color: var(--hg-muted);
}

/* Beneficios */
.hg-benefits {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
	gap: 1rem;
}

.hg-benefit {
	padding: 1.5rem;
	border-radius: var(--hg-radius);
	background: var(--hg-surface);
}

.hg-benefit__icon {
	color: var(--wp--preset--color--accent);
}

.hg-benefit__title {
	margin: 0.75rem 0 0.25rem;
	font-size: 1.125rem;
}

.hg-benefit__text {
	margin: 0;
	color: var(--hg-muted);
	font-size: 0.9375rem;
}

/* Banner de la app: texto a la izquierda y el ícono en una tarjeta blanca a la derecha. */
.hg-app-banner {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: clamp(2rem, 5vw, 5rem) !important;
	overflow: hidden;
	padding: clamp(2rem, 5vw, 4rem) clamp(1.5rem, 6vw, 5rem) !important;
	background: radial-gradient(120% 160% at 100% 50%, #3a3a3c 0%, #1d1d1f 55%) !important;
}

.hg-app-banner__copy {
	max-width: 34rem;
	gap: 1rem !important;
}

.hg-app-banner__copy > * {
	margin: 0 !important;
}

.hg-app-banner__copy h2 {
	text-wrap: balance;
	line-height: 1.08;
}

.hg-app-banner__text {
	color: rgba(255, 255, 255, 0.72);
	max-width: 30rem;
}

.hg-app-banner__copy .wp-block-buttons {
	margin-top: 0.5rem !important;
}

.hg-app-banner__icon {
	margin: 0 !important;
	width: clamp(7.5rem, 14vw, 10.5rem);
	aspect-ratio: 1;
	display: grid;
	place-items: center;
	border-radius: 22.5%;
	background: #fff;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.12), 0 24px 60px rgba(0, 0, 0, 0.5);
	transform: rotate(-6deg);
}

.hg-app-banner__icon img {
	width: 64%;
	height: auto;
}

@media (max-width: 781px) {
	.hg-app-banner {
		grid-template-columns: minmax(0, 1fr);
	}

	.hg-app-banner__icon {
		order: -1;
		width: 6rem;
		transform: none;
	}
}

/* Marcas */
.hg-brands__title {
	color: var(--hg-muted);
	margin-bottom: 1.25rem !important;
}

.hg-brands {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 1.5rem clamp(1.5rem, 5vw, 3.5rem);
}

.hg-brands img {
	height: 34px;
	width: auto;
	max-width: 130px;
	object-fit: contain;
	filter: grayscale(1);
	opacity: 0.6;
	transition: opacity 0.2s var(--hg-ease), filter 0.2s var(--hg-ease);
}

.hg-brands img:hover {
	filter: none;
	opacity: 1;
}

/* ------------------------------------------------------------------ */
/* Tarjetas de producto                                                */
/* ------------------------------------------------------------------ */

.hg-products .wc-block-product-template {
	gap: clamp(1rem, 2vw, 1.5rem) !important;
	row-gap: 2rem !important;
}

/* Rejilla fija: 4 columnas en escritorio, 3 en tableta y 2 en el teléfono (como la app). */
.hg-products ul.wc-block-product-template {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 2rem clamp(1rem, 2vw, 1.5rem) !important;
	margin: 0;
	padding: 0;
}

.hg-products ul.wc-block-product-template > li {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
}

@media (max-width: 999px) {
	.hg-products ul.wc-block-product-template {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 599px) {
	.hg-products ul.wc-block-product-template {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 1.5rem 0.75rem !important;
	}
}

.hg-products .wc-block-product {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	text-align: left;
}

.hg-products .wc-block-components-product-image {
	position: relative;
	margin: 0 0 0.5rem !important;
	border-radius: var(--hg-radius);
	background: var(--hg-surface);
	overflow: hidden;
	aspect-ratio: 1;
}

.hg-products .wc-block-components-product-image a {
	display: block;
	height: 100%;
}

.hg-products .wc-block-components-product-image img {
	width: 100% !important;
	height: 100% !important;
	aspect-ratio: 1 !important;
	object-fit: contain !important;
	box-sizing: border-box;
	padding: 10%;
	mix-blend-mode: multiply;
	transition: transform 0.4s var(--hg-ease);
}

.hg-products .wc-block-components-product-sale-badge {
	top: 0.75rem !important;
	left: 0.75rem !important;
	right: auto !important;
	margin: 0 !important;
	padding: 0.25rem 0.6rem;
	border: 0;
	border-radius: 999px;
	background: var(--wp--preset--color--sale);
	color: #fff;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: none;
	z-index: 2;
}

.hg-card__title,
.hg-products .wp-block-post-title {
	margin: 0 !important;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	letter-spacing: -0.01em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-align: left !important;
}

.hg-products .wp-block-post-title a {
	color: var(--hg-ink);
	text-decoration: none;
}

/* Toda la tarjeta es un enlace (el del título). */
.hg-products .wp-block-post-title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.hg-card__price,
.hg-products .wc-block-components-product-price {
	margin: 0 !important;
	font-size: 0.9375rem !important;
	font-weight: 500;
	color: var(--hg-ink);
	text-align: left !important;
}

.hg-products .wc-block-components-product-price del,
.hg-product__price del {
	color: var(--hg-muted);
	font-weight: 400;
	margin-right: 0.35rem;
	opacity: 1;
}

.hg-products .wc-block-components-product-price ins,
.hg-product__price ins {
	text-decoration: none;
	color: var(--wp--preset--color--sale);
}

.hg-products .wc-block-product.outofstock .wc-block-components-product-image::after {
	content: "Agotado";
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	padding: 0.25rem 0.6rem;
	border-radius: 999px;
	background: rgba(29, 29, 31, 0.8);
	color: #fff;
	font-size: 0.75rem;
	font-weight: 600;
}

.hg-products .wc-block-product.outofstock .wc-block-components-product-image img {
	opacity: 0.55;
}

/* ------------------------------------------------------------------ */
/* Tienda                                                              */
/* ------------------------------------------------------------------ */

.hg-breadcrumbs {
	font-size: 0.8125rem;
	color: var(--hg-muted);
}

.hg-breadcrumbs a {
	color: var(--hg-muted);
}

.hg-shop__title {
	margin-top: 0.5rem;
	font-size: clamp(2.25rem, 5vw, 3.5rem) !important;
}

.hg-chips {
	display: flex;
	gap: 0.5rem;
	overflow-x: auto;
	scrollbar-width: none;
	padding: 0.25rem 0 0.5rem;
	margin: 0;
}

.hg-chips::-webkit-scrollbar {
	display: none;
}

@media (min-width: 1000px) {
	.hg-chips {
		flex-wrap: wrap;
		overflow: visible;
	}
}

.hg-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	flex-shrink: 0;
	padding: 0.5rem 0.95rem;
	border-radius: 999px;
	background: var(--hg-surface);
	color: var(--hg-ink);
	font-size: 0.875rem;
	font-weight: 500;
	text-decoration: none !important;
	transition: background-color 0.15s var(--hg-ease);
}

.hg-chip:hover {
	background: var(--hg-line);
}

.hg-chip__dot {
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 50%;
	background: var(--hg-tint, var(--hg-ink));
}

.hg-chip.is-active {
	background: var(--hg-ink);
	color: #fff;
}

.hg-shop__toolbar {
	margin-top: var(--wp--preset--spacing--30) !important;
	margin-bottom: var(--wp--preset--spacing--30) !important;
	color: var(--hg-muted);
	font-size: 0.875rem;
}

.hg-shop__toolbar .woocommerce-result-count {
	margin: 0;
}

.hg-shop__toolbar select.orderby {
	appearance: none;
	-webkit-appearance: none;
	padding: 0.55rem 2.25rem 0.55rem 1rem;
	border: 0;
	border-radius: 999px;
	background: var(--hg-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%231d1d1f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 0.9rem center;
	color: var(--hg-ink);
	font: inherit;
	font-weight: 500;
	cursor: pointer;
}

.hg-shop__toolbar .woocommerce-ordering {
	margin: 0;
}

.hg-pagination {
	margin-top: var(--wp--preset--spacing--50) !important;
	gap: 0.35rem;
}

.hg-pagination a,
.hg-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0 0.9rem;
	border-radius: 999px;
	background: var(--hg-surface);
	color: var(--hg-ink);
	font-weight: 500;
	text-decoration: none;
}

.hg-pagination .page-numbers.current {
	background: var(--hg-ink);
	color: #fff;
}

/* ------------------------------------------------------------------ */
/* Ficha de producto                                                   */
/* ------------------------------------------------------------------ */

.hg-product__top {
	margin-top: var(--wp--preset--spacing--20) !important;
	align-items: flex-start;
}

@media (min-width: 782px) {
	.hg-product__summary {
		position: sticky;
		top: 90px;
	}
}

.hg-product__media .woocommerce-product-gallery {
	margin: 0;
	position: relative;
}

.hg-product__media .woocommerce-product-gallery__wrapper,
.hg-product__media .flex-viewport {
	border-radius: var(--hg-radius);
	background: var(--hg-surface);
	overflow: hidden;
}

.hg-product__media .woocommerce-product-gallery__image img {
	aspect-ratio: 1;
	object-fit: contain;
	box-sizing: border-box;
	padding: 8%;
	mix-blend-mode: multiply;
}

.hg-product__media .flex-control-thumbs {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(4.5rem, 1fr));
	gap: 0.6rem;
	margin: 0.75rem 0 0 !important;
	padding: 0 !important;
	list-style: none;
}

.hg-product__media .flex-control-thumbs li {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
}

.hg-product__media .flex-control-thumbs img {
	aspect-ratio: 1;
	object-fit: contain;
	box-sizing: border-box;
	padding: 10%;
	border-radius: var(--hg-radius-small);
	background: var(--hg-surface);
	mix-blend-mode: multiply;
	opacity: 0.6;
	cursor: pointer;
	transition: opacity 0.15s var(--hg-ease), box-shadow 0.15s var(--hg-ease);
}

.hg-product__media .flex-control-thumbs img.flex-active,
.hg-product__media .flex-control-thumbs img:hover {
	opacity: 1;
	box-shadow: inset 0 0 0 2px var(--hg-ink);
}

.hg-product__media .woocommerce-product-gallery__trigger {
	position: absolute;
	top: 1rem;
	right: 1rem;
	z-index: 5;
	width: 40px;
	height: 40px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.hg-product__summary > * + * {
	margin-top: 1rem;
}

.hg-product__category {
	color: var(--hg-muted);
}

.hg-product__category a {
	color: var(--hg-muted);
}

.hg-product__title {
	margin-top: 0.35rem !important;
	font-size: clamp(2rem, 3.4vw, 2.75rem) !important;
	letter-spacing: -0.03em;
	line-height: 1.08 !important;
	text-wrap: balance;
}

.hg-product__price,
.hg-product__price .wc-block-components-product-price {
	font-size: 1.5rem !important;
	font-weight: 600;
}

.hg-product__excerpt {
	color: var(--hg-muted);
}

.hg-product__excerpt p {
	margin: 0;
}

.hg-product__stock .stock,
.hg-product__stock {
	font-size: 0.875rem;
	font-weight: 600;
}

.hg-product__stock .in-stock,
.hg-product__stock.in-stock {
	color: var(--wp--preset--color--success);
}

.hg-product__stock .out-of-stock {
	color: var(--wp--preset--color--sale);
}

/* Formulario de compra: variaciones como pastillas y botón negro grande. */
.hg-product__buy form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0.75rem;
	margin: 0;
}

.hg-product__buy form.variations_form {
	display: block;
}

.hg-product__buy table.variations {
	width: 100%;
	border: 0;
	margin-bottom: 1rem;
}

.hg-product__buy table.variations th,
.hg-product__buy table.variations td {
	display: block;
	padding: 0;
	border: 0;
	text-align: left;
}

.hg-product__buy table.variations label {
	display: block;
	margin-bottom: 0.5rem;
	font-size: 0.875rem;
	font-weight: 600;
}

.hg-product__buy table.variations select {
	width: 100%;
	padding: 0.85rem 1rem;
	border: 1.5px solid var(--hg-line);
	border-radius: var(--hg-radius-small);
	background: #fff;
	font: inherit;
}

.hg-product__buy .reset_variations {
	display: inline-block;
	margin-top: 0.5rem;
	font-size: 0.875rem;
}

.hg-product__buy .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.hg-product__buy .quantity {
	display: flex;
}

.hg-product__buy .quantity .qty {
	width: 4.5rem;
	height: 100%;
	min-height: 3.25rem;
	border: 1.5px solid var(--hg-line);
	border-radius: 999px;
	text-align: center;
	font: inherit;
	font-weight: 600;
}

.hg-product__buy .single_add_to_cart_button,
.hg-product__buy button[type="submit"] {
	flex: 1 1 12rem;
	min-height: 3.25rem;
	padding: 0.9rem 1.75rem;
	border: 0;
	border-radius: 999px;
	background: var(--hg-ink) !important;
	color: #fff !important;
	font: inherit;
	font-size: 1.0625rem;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.15s var(--hg-ease), transform 0.1s var(--hg-ease);
}

.hg-product__buy .single_add_to_cart_button:hover {
	background: #000 !important;
}

.hg-product__buy .single_add_to_cart_button:active {
	transform: scale(0.98);
}

.hg-product__buy .single_add_to_cart_button.disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

.hg-assurances {
	margin: 1.5rem 0 0;
	padding: 0.25rem 1.25rem;
	list-style: none;
	border-radius: var(--hg-radius);
	background: var(--hg-surface);
}

.hg-assurances li {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	padding: 0.9rem 0;
	font-size: 0.9375rem;
}

.hg-assurances li + li {
	border-top: 1px solid var(--hg-line);
}

.hg-assurances span {
	color: var(--hg-muted);
}

.hg-product .wp-block-woocommerce-product-meta {
	font-size: 0.8125rem;
	color: var(--hg-muted);
}

/* Descripción: pestañas convertidas en una sección limpia. */
.hg-product__details {
	margin-top: var(--wp--preset--spacing--50) !important;
}

.hg-product__details .wc-tabs,
.hg-product__details ul.tabs {
	display: flex;
	gap: 0.5rem;
	padding: 0 !important;
	margin: 0 0 1.5rem !important;
	list-style: none;
	border: 0 !important;
	overflow-x: auto;
}

.hg-product__details .wc-tabs::before,
.hg-product__details .wc-tabs::after,
.hg-product__details .wc-tabs li::before,
.hg-product__details .wc-tabs li::after {
	display: none !important;
}

.hg-product__details .wc-tabs li {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
}

.hg-product__details .wc-tabs li a {
	display: inline-block;
	padding: 0.55rem 1.1rem !important;
	border-radius: 999px;
	background: var(--hg-surface);
	color: var(--hg-ink);
	font-weight: 500;
	font-size: 0.9375rem;
	text-decoration: none;
}

.hg-product__details .wc-tabs li.active a {
	background: var(--hg-ink);
	color: #fff;
}

.hg-product__details .woocommerce-Tabs-panel {
	max-width: 760px;
	font-size: 1.0625rem;
	line-height: 1.6;
}

.hg-product__details .woocommerce-Tabs-panel > h2:first-child {
	display: none;
}

.hg-product__details .woocommerce-Tabs-panel img {
	border-radius: var(--hg-radius);
}

.hg-product__details table.shop_attributes {
	width: 100%;
	border-collapse: collapse;
	border: 0;
}

.hg-product__details table.shop_attributes th,
.hg-product__details table.shop_attributes td {
	padding: 0.85rem 0;
	border: 0;
	border-bottom: 1px solid var(--hg-line);
	background: none;
	text-align: left;
	font-style: normal;
}

/* ------------------------------------------------------------------ */
/* Páginas, carrito y pago                                             */
/* ------------------------------------------------------------------ */

.hg-page__title {
	font-size: clamp(2.25rem, 5vw, 3.5rem) !important;
}

.wc-block-cart,
.wc-block-checkout {
	--hg-panel: var(--hg-surface);
}

.wp-block-woocommerce-cart .wc-block-cart__submit-button,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button,
.wc-block-mini-cart__footer-checkout,
.wc-block-components-button:not(.is-link) {
	border-radius: 999px !important;
	background: var(--hg-ink) !important;
	color: #fff !important;
	font-weight: 600 !important;
	min-height: 3.25rem;
}

.wc-block-mini-cart__footer-cart.wc-block-components-button {
	background: var(--hg-surface) !important;
	color: var(--hg-ink) !important;
}

.wc-block-components-sidebar-layout .wc-block-components-sidebar {
	padding: 1.5rem !important;
	border-radius: var(--hg-radius);
	background: var(--hg-surface);
}

.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-block-components-select select,
.wc-blocks-components-select__select {
	border-radius: var(--hg-radius-small) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: inline-block;
	padding: 0.5rem 1rem;
	border-radius: 999px;
	background: var(--hg-surface);
	color: var(--hg-ink);
	text-decoration: none;
	font-weight: 500;
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
	background: var(--hg-ink);
	color: #fff;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	padding: 0.8rem 1rem;
	border: 1.5px solid var(--hg-line);
	border-radius: var(--hg-radius-small);
}

.woocommerce .button,
.woocommerce button.button {
	border-radius: 999px !important;
	background: var(--hg-ink) !important;
	color: #fff !important;
	padding: 0.8rem 1.5rem !important;
	font-weight: 600 !important;
}

.woocommerce-message,
.woocommerce-info,
.wc-block-components-notice-banner {
	border-radius: var(--hg-radius-small) !important;
}

/* 404 */
.hg-404 h1 {
	font-size: clamp(2.25rem, 5vw, 3.5rem) !important;
	text-wrap: balance;
}

.hg-search-field .wp-block-search__inside-wrapper {
	border: 0;
	border-radius: 999px;
	background: var(--hg-surface);
	padding: 0.25rem 0.25rem 0.25rem 1.1rem;
}

.hg-search-field .wp-block-search__input {
	border: 0;
	background: transparent;
}

.hg-search-field .wp-block-search__button {
	border-radius: 999px;
	margin-left: 0.25rem;
}

/* ------------------------------------------------------------------ */
/* Pie de página                                                       */
/* ------------------------------------------------------------------ */

.hg-footer__title {
	margin: 0 0 0.75rem !important;
	font-size: 0.8125rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--hg-muted) !important;
}

.hg-footer__links {
	list-style: none;
	padding: 0;
	margin: 0;
	font-size: 0.9375rem;
}

.hg-footer__links li + li {
	margin-top: 0.5rem;
}

.hg-footer__links a {
	color: var(--hg-ink);
}

.hg-footer .wp-block-site-title a {
	color: var(--hg-ink);
	text-decoration: none;
}

.hg-footer .wp-block-separator {
	margin-top: var(--wp--preset--spacing--40) !important;
	margin-bottom: 0 !important;
	border-top: 1px solid var(--hg-line);
	opacity: 1;
}

.hg-footer .hg-appstore-button .wp-block-button__link {
	font-size: 0.9375rem;
	padding: 0.65rem 1.25rem;
}

/* ------------------------------------------------------------------ */
/* Accesibilidad                                                       */
/* ------------------------------------------------------------------ */

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

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

/* ------------------------------------------------------------------ */
/* Tarjeta dividida (Beats): texto sobre negro y foto a la derecha      */
/* ------------------------------------------------------------------ */

.hg-split {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	gap: 0 !important;
	overflow: hidden;
	background: radial-gradient(120% 120% at 0% 100%, #2c2c2e 0%, #0b0b0c 60%) !important;
}

.hg-split__copy {
	padding: clamp(2rem, 5vw, 4rem);
	justify-content: center;
}

.hg-split__copy > * {
	margin: 0 !important;
}

.hg-split__title {
	font-size: clamp(3rem, 7vw, 5.5rem) !important;
	letter-spacing: -0.04em;
	line-height: 1 !important;
}

.hg-split__text {
	color: rgba(255, 255, 255, 0.72);
	max-width: 32ch;
}

.hg-split__copy .wp-block-buttons {
	margin-top: 0.75rem !important;
}

.hg-split__media {
	margin: 0 !important;
	height: 100%;
	min-height: 320px;
}

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

@media (max-width: 781px) {
	.hg-split {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.hg-split__media {
		order: -1;
		min-height: 0;
		aspect-ratio: 4 / 3;
	}
}

.hg-actions .wc-block-customer-account__account-icon {
	width: 24px !important;
	height: 24px !important;
}

/* Ficha: la galería ocupa toda su columna (WooCommerce la deja en 48%). */
.hg-product__media .woocommerce-product-gallery,
.woocommerce .hg-product__media div.images {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

/* La disponibilidad ya sale arriba como pastilla; el formulario no la repite. */
.hg-product__buy .stock {
	display: none;
}

.hg-product__stock .wc-block-components-product-stock-indicator,
.hg-product__stock {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	width: fit-content;
	padding: 0.3rem 0.75rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--wp--preset--color--success) 12%, #fff);
	color: var(--wp--preset--color--success);
	font-size: 0.8125rem;
	font-weight: 600;
}

.hg-product__stock.wc-block-components-product-stock-indicator--out-of-stock,
.hg-product__stock .wc-block-components-product-stock-indicator--out-of-stock {
	background: color-mix(in srgb, var(--wp--preset--color--sale) 10%, #fff);
	color: var(--wp--preset--color--sale);
}

.hg-product__stock.wc-block-components-product-stock-indicator--available-on-backorder {
	background: color-mix(in srgb, #ff9f0a 14%, #fff);
	color: #a35a00;
}

.hg-product__details .wc-tabs li.active a,
.woocommerce .hg-product__details div.product .woocommerce-tabs ul.tabs li.active a {
	color: #fff !important;
}

/* Ficha en dos columnas con rejilla: la galería siempre llena su lado. */
@media (min-width: 782px) {
	.hg-product__top.wp-block-columns {
		display: grid !important;
		grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
		gap: clamp(2rem, 4vw, 4rem) !important;
	}

	.hg-product__top > .wp-block-column {
		flex-basis: auto !important;
		width: auto !important;
	}
}

/* El contenedor de las fotos solo se ajusta cuando no hay carrusel: con varias fotos, el
   carrusel lo pone muy ancho (una foto al lado de otra) y forzarlo al 100% dejaba las fotos
   2, 3… en gris. */
.hg-product__media .wp-block-woocommerce-product-image-gallery,
.hg-product__media .flex-viewport,
.hg-product__media .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
	width: 100% !important;
	max-width: none !important;
}

.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.lost_reset_password {
	padding: clamp(1.25rem, 3vw, 2rem) !important;
	border: 0 !important;
	border-radius: var(--hg-radius) !important;
	background: var(--hg-surface);
}

.woocommerce form .form-row input.input-text {
	background: #fff;
}

/* Tienda: aire entre el título y las categorías. */
.hg-shop .hg-shop__title {
	margin-bottom: 0 !important;
}

.hg-shop .hg-chips {
	margin-top: clamp(1.25rem, 2.5vw, 2rem) !important;
	row-gap: 0.6rem;
}

/* ------------------------------------------------------------------ */
/* Ajustes tras revisar la tienda real                                 */
/* ------------------------------------------------------------------ */

/* Selector de variaciones (color, modelo): texto completo y flecha propia. */
.hg-product__buy table.variations select,
.woocommerce div.product form.cart .variations select {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	max-width: 22rem;
	height: auto !important;
	min-height: 3.25rem;
	padding: 0.8rem 2.75rem 0.8rem 1.1rem !important;
	border: 1.5px solid var(--hg-line);
	border-radius: var(--hg-radius-small);
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%231d1d1f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 1rem center;
	color: var(--hg-ink);
	font: inherit;
	font-size: 1rem !important;
	line-height: 1.4 !important;
	cursor: pointer;
}

.hg-product__buy table.variations select:focus {
	border-color: var(--hg-ink);
	outline: none;
}

.hg-product__buy table.variations tr + tr th {
	padding-top: 1rem;
}

/* Descripciones: mismo tamaño en todos los productos aunque el texto venga pegado con otros estilos. */
.hg-product__excerpt,
.hg-product__excerpt :where(p, span, li, div, strong, em, b) {
	font-size: 1.0625rem !important;
	line-height: 1.55 !important;
	font-family: inherit !important;
}

.hg-product__excerpt :where(h1, h2, h3, h4, h5, h6) {
	font-size: 1.0625rem !important;
	font-weight: 600;
	margin: 0.5rem 0 0.25rem;
}

.hg-product__details .woocommerce-Tabs-panel :where(p, span, li, td, th, div, font) {
	font-size: 1.0625rem !important;
	line-height: 1.6 !important;
	font-family: inherit !important;
}

.hg-product__details .woocommerce-Tabs-panel :where(h1, h2) {
	font-size: 1.75rem !important;
	line-height: 1.2 !important;
	margin: 2rem 0 0.75rem;
}

.hg-product__details .woocommerce-Tabs-panel :where(h3, h4, h5, h6) {
	font-size: 1.25rem !important;
	line-height: 1.3 !important;
	margin: 1.5rem 0 0.5rem;
}

.hg-product__details .woocommerce-Tabs-panel :where(ul, ol) {
	padding-left: 1.25rem;
}

/* Cualquier rejilla de productos de WooCommerce: títulos negros, nunca azules. */
.wc-block-product .wp-block-post-title a,
.wc-block-grid__product-title,
.wc-block-grid__product-link,
.woocommerce-loop-product__title,
.wc-block-components-product-name {
	color: var(--hg-ink) !important;
	text-decoration: none !important;
}

.hg-breadcrumbs a,
.woocommerce-breadcrumb a {
	color: var(--hg-muted) !important;
}

/* Mi cuenta: menú en pastillas arriba y contenido a lo ancho. */
.woocommerce-account .woocommerce {
	display: block;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	float: none !important;
	width: 100% !important;
	margin: 0 0 2rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
	text-decoration: none !important;
}

.woocommerce-account .woocommerce-MyAccount-content {
	float: none !important;
	width: 100% !important;
}

.woocommerce-account .woocommerce-MyAccount-content a {
	color: var(--hg-ink);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Foto de perfil en la cabecera: del tamaño de los demás íconos. */
.hg-actions .wc-block-customer-account__visual,
.hg-actions .wc-block-customer-account__avatar,
.hg-actions img.avatar {
	width: 26px !important;
	height: 26px !important;
	border-radius: 50%;
	position: static !important;
	transform: none !important;
}

/* Pie de página en rejilla: nunca se sale de la pantalla. */
.hg-footer .wp-block-columns {
	display: grid !important;
	grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr));
	gap: 2rem clamp(1.5rem, 4vw, 3rem) !important;
}

.hg-footer .wp-block-column {
	flex-basis: auto !important;
	min-width: 0;
}

@media (max-width: 900px) {
	.hg-footer .wp-block-columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	.hg-footer .wp-block-columns {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Mientras carga una foto de producto: brillo suave sobre el gris (como la app). */
@keyframes hg-shimmer {
	from { background-position: 150% 0; }
	to { background-position: -50% 0; }
}

.hg-img-pending {
	background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 0.75) 50%, rgba(255, 255, 255, 0) 70%) !important;
	background-size: 200% 100% !important;
	background-repeat: no-repeat !important;
	animation: hg-shimmer 1.3s ease-in-out infinite;
}

.hg-img-fade img {
	transition: opacity 0.35s ease;
}

@media (prefers-reduced-motion: reduce) {
	.hg-img-pending {
		animation: none;
	}
}

/* La galería de WooCommerce empieza invisible hasta que su JavaScript carga; si tarda o no
   carga, la foto principal se ve igual. */
.hg-product__media .woocommerce-product-gallery {
	opacity: 1 !important;
}

/* ------------------------------------------------------------------ */
/* POTV (página de la marca; todo sale del patrón patterns/potv.php)    */
/* ------------------------------------------------------------------ */

.hg-potv-section {
	margin-top: var(--wp--preset--spacing--60) !important;
}

.hg-potv-hero .hg-split__title {
	font-size: clamp(3.5rem, 9vw, 7rem) !important;
}

.hg-potv-hero .hg-split__media {
	min-height: 440px;
}

.hg-potv-hero__logo {
	margin-bottom: 0.5rem !important;
}

.hg-potv-hero__logo img {
	display: block;
	border-radius: 50%;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.18);
}

.wp-block-button.hg-button-ghost > .wp-block-button__link {
	background: transparent;
	color: #fff;
	box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, 0.55);
}

.wp-block-button.hg-button-ghost > .wp-block-button__link:hover {
	background: rgba(255, 255, 255, 0.1);
}

/* Tarjetas de producto: las mismas de la tienda (foto sobre gris, nombre y precio). */
.hg-potv-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 2rem clamp(1rem, 2vw, 1.5rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

.hg-potv-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 999px) {
	.hg-potv-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 599px) {
	.hg-potv-grid,
	.hg-potv-grid--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.5rem 0.75rem;
	}
}

.hg-potv-card__link {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	color: inherit;
	text-decoration: none;
}

.hg-potv-card__media {
	position: relative;
	display: block;
	margin-bottom: 0.5rem;
	aspect-ratio: 1;
	border-radius: var(--hg-radius);
	background: var(--hg-surface);
	overflow: hidden;
}

.hg-potv-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	box-sizing: border-box;
	padding: 10%;
	mix-blend-mode: multiply;
	transition: transform 0.4s var(--hg-ease);
}

.hg-potv-card__link:hover .hg-potv-card__media img {
	transform: scale(1.04);
}

.hg-potv-card__badge {
	position: absolute;
	top: 0.75rem;
	left: 0.75rem;
	padding: 0.25rem 0.6rem;
	border-radius: 999px;
	background: var(--hg-ink);
	color: #fff;
	font-size: 0.75rem;
	font-weight: 600;
}

.hg-potv-card__title {
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -0.01em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.hg-potv-card__price {
	font-size: 0.9375rem;
	font-weight: 500;
}

.hg-potv-card__price del {
	color: var(--hg-muted);
	font-weight: 400;
	margin-right: 0.35rem;
}

.hg-potv-card__price ins {
	text-decoration: none;
	color: var(--wp--preset--color--sale);
}

/* Por qué vaporizar: dos fotos con el texto abajo (como la portada) y una cita. */
.hg-potv-reasons {
	margin-top: 0 !important;
}

.hg-potv-quote {
	min-height: 420px;
	padding: clamp(1.5rem, 3vw, 2.25rem) !important;
	border-radius: var(--hg-radius);
	background: radial-gradient(120% 120% at 100% 0%, #1f3d2b 0%, #0b0b0c 62%);
	color: #fff;
	justify-content: space-between !important;
}

.hg-potv-quote > * {
	position: relative;
	z-index: 1;
	margin: 0 !important;
}

.hg-potv-quote {
	position: relative;
	overflow: hidden;
}

/* Foto del LOBO (fondo transparente) arriba a la derecha, detrás del texto. */
.hg-potv-quote > .hg-potv-quote__media {
	position: absolute;
	z-index: 0;
	top: 6%;
	right: 4%;
	height: 52%;
	margin: 0 !important;
	pointer-events: none;
}

.hg-potv-quote__media img {
	height: 100%;
	width: auto;
	transform: rotate(-12deg);
	filter: drop-shadow(0 24px 40px rgba(0, 0, 0, 0.55));
}

.hg-potv-quote__text {
	margin: 0;
	font-size: clamp(1.75rem, 2.8vw, 2.25rem);
	font-weight: 600;
	line-height: 1.12;
	letter-spacing: -0.02em;
	text-wrap: balance;
}

.hg-potv-quote__cite {
	margin: 0.75rem 0 0;
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.9375rem;
}

@media (max-width: 781px) {
	.hg-potv-quote {
		scroll-snap-align: start;
		min-height: 380px;
	}
}

/* Accesorios: tarjeta gris con el recorte de las manos a la derecha. */
.hg-potv-acc {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	align-items: center;
	gap: 1rem;
	margin-bottom: var(--wp--preset--spacing--40);
	padding: clamp(1.75rem, 4vw, 3rem) clamp(1.5rem, 5vw, 3.5rem) 0;
	border-radius: var(--hg-radius);
	background: var(--hg-surface);
	overflow: hidden;
}

.hg-potv-acc__copy {
	padding-bottom: clamp(1.75rem, 4vw, 3rem);
}

.hg-potv-acc__copy > * {
	margin: 0 !important;
}

.hg-potv-acc__copy h2 {
	text-wrap: balance;
}

.hg-potv-acc__media {
	margin: 0 !important;
	align-self: end;
}

.hg-potv-acc__media img {
	display: block;
	width: 100%;
	height: auto;
}

@media (max-width: 781px) {
	.hg-potv-acc {
		grid-template-columns: minmax(0, 1fr);
	}

	.hg-potv-acc__copy {
		padding-bottom: 0;
	}
}

/* Cómo llega tu pedido: cuatro pasos numerados. */
.hg-potv-steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: hg-step;
}

@media (max-width: 999px) {
	.hg-potv-steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 480px) {
	.hg-potv-steps {
		grid-template-columns: minmax(0, 1fr);
	}
}

.hg-potv-step {
	position: relative;
	padding: 1.5rem;
	border-radius: var(--hg-radius);
	background: var(--hg-surface);
	counter-increment: hg-step;
}

.hg-potv-step::before {
	content: counter(hg-step);
	display: grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: var(--hg-ink);
	color: #fff;
	font-size: 0.875rem;
	font-weight: 600;
}

.hg-potv-step__title {
	margin: 1rem 0 0.25rem;
	font-size: 1.125rem;
}

.hg-potv-step__text {
	margin: 0;
	color: var(--hg-muted);
	font-size: 0.9375rem;
}

/* En el teléfono cada paso es una fila: número a la izquierda y texto a la derecha. */
@media (max-width: 480px) {
	.hg-potv-steps {
		gap: 0.5rem;
	}

	.hg-potv-step {
		display: grid;
		grid-template-columns: 2rem minmax(0, 1fr);
		column-gap: 1rem;
		padding: 1rem 1.25rem;
	}

	.hg-potv-step::before {
		grid-row: span 2;
	}

	.hg-potv-step__title {
		margin: 0.2rem 0 0.15rem;
		font-size: 1rem;
	}
}

.hg-potv-community {
	margin-top: var(--wp--preset--spacing--60) !important;
}

/* ------------------------------------------------------------------ */
/* Pago (checkout clásico de WooCommerce)                              */
/* ------------------------------------------------------------------ */

.hg-checkout .woocommerce {
	--hg-field-h: 3.25rem;
}

.hg-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
.hg-checkout .woocommerce-form-login-toggle .woocommerce-info {
	margin: 0 0 1.25rem;
	padding: 0.9rem 1.25rem !important;
	border: 0 !important;
	border-radius: var(--hg-radius-small);
	background: var(--hg-surface) !important;
	color: var(--hg-ink);
	font-size: 0.9375rem;
}

.hg-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before,
.hg-checkout .woocommerce-form-login-toggle .woocommerce-info::before {
	display: none;
}

.hg-checkout .woocommerce-info a {
	color: var(--hg-ink);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.hg-checkout form.checkout_coupon {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	padding: 1.25rem !important;
	border: 0 !important;
	border-radius: var(--hg-radius);
	background: var(--hg-surface);
}

.hg-checkout form.checkout_coupon p:not(.form-row) {
	width: 100%;
	margin: 0;
}

.hg-checkout form.checkout_coupon .form-row {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

.hg-checkout form.checkout_coupon .form-row-first {
	flex: 1 1 14rem;
}

/* Dos columnas: datos a la izquierda, resumen fijo a la derecha. */
.hg-checkout form.woocommerce-checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
	grid-template-rows: auto auto 1fr;
	gap: 0 clamp(1.5rem, 4vw, 3.5rem);
	align-items: start;
}

.hg-checkout form.woocommerce-checkout > .woocommerce-NoticeGroup,
.hg-checkout form.woocommerce-checkout > .woocommerce-notices-wrapper {
	grid-column: 1 / -1;
}

.hg-checkout #customer_details {
	grid-column: 1;
	grid-row: 1 / span 3;
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	width: 100%;
}

.hg-checkout #customer_details .col-1,
.hg-checkout #customer_details .col-2 {
	float: none !important;
	width: 100% !important;
	padding: clamp(1.25rem, 3vw, 2rem);
	border-radius: var(--hg-radius);
	background: #fff;
	box-shadow: inset 0 0 0 1px var(--hg-line);
}

.hg-checkout #order_review_heading {
	grid-column: 2;
	grid-row: 1;
	margin: 0 0 1rem !important;
	font-size: 1.375rem !important;
}

.hg-checkout #order_review {
	grid-column: 2;
	grid-row: 2;
	position: sticky;
	top: 90px;
	padding: clamp(1.25rem, 3vw, 1.75rem);
	border-radius: var(--hg-radius);
	background: var(--hg-surface);
}

@media (max-width: 900px) {
	.hg-checkout form.woocommerce-checkout {
		grid-template-columns: minmax(0, 1fr);
	}

	.hg-checkout #customer_details,
	.hg-checkout #order_review_heading,
	.hg-checkout #order_review {
		grid-column: 1;
		grid-row: auto;
	}

	.hg-checkout #order_review_heading {
		margin-top: 2rem !important;
	}

	.hg-checkout #order_review {
		position: static;
	}
}

.hg-checkout #customer_details h3 {
	margin: 0 0 1.25rem !important;
	font-size: 1.375rem !important;
	letter-spacing: -0.02em;
}

/* Campos: dos por fila cuando WooCommerce los marca como "primero/último". */
.hg-checkout .woocommerce-billing-fields__field-wrapper,
.hg-checkout .woocommerce-shipping-fields__field-wrapper,
.hg-checkout .woocommerce-additional-fields__field-wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.hg-checkout .woocommerce-billing-fields__field-wrapper > .form-row,
.hg-checkout .woocommerce-shipping-fields__field-wrapper > .form-row,
.hg-checkout .woocommerce-additional-fields__field-wrapper > .form-row {
	grid-column: 1 / -1;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

.hg-checkout .form-row-first {
	grid-column: 1 !important;
}

.hg-checkout .form-row-last {
	grid-column: 2 !important;
}

@media (max-width: 560px) {
	.hg-checkout .woocommerce-billing-fields__field-wrapper,
	.hg-checkout .woocommerce-shipping-fields__field-wrapper,
	.hg-checkout .woocommerce-additional-fields__field-wrapper {
		grid-template-columns: minmax(0, 1fr);
	}

	.hg-checkout .form-row-first,
	.hg-checkout .form-row-last {
		grid-column: 1 !important;
	}
}

.hg-checkout .form-row label {
	display: block;
	margin-bottom: 0.4rem;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--hg-ink);
}

.hg-checkout .form-row label .optional {
	font-weight: 400;
	color: var(--hg-muted);
}

.hg-checkout .form-row .required {
	color: var(--wp--preset--color--sale);
	text-decoration: none;
	border: 0;
}

.hg-checkout .form-row input.input-text,
.hg-checkout .form-row textarea,
.hg-checkout .form-row select,
.hg-checkout .select2-container .select2-selection--single {
	width: 100%;
	min-height: var(--hg-field-h);
	padding: 0.75rem 1rem !important;
	border: 1.5px solid var(--hg-line) !important;
	border-radius: var(--hg-radius-small) !important;
	background: #fff !important;
	color: var(--hg-ink);
	font: inherit;
	font-size: 1rem;
	line-height: 1.4;
	box-shadow: none;
	transition: border-color 0.15s var(--hg-ease), box-shadow 0.15s var(--hg-ease);
}

.hg-checkout .form-row textarea {
	min-height: 6rem;
}

.hg-checkout .form-row input.input-text:focus,
.hg-checkout .form-row textarea:focus,
.hg-checkout .form-row select:focus,
.hg-checkout .select2-container--open .select2-selection--single,
.hg-checkout .select2-container--focus .select2-selection--single {
	outline: none;
	border-color: var(--hg-ink) !important;
	box-shadow: 0 0 0 4px rgba(29, 29, 31, 0.08);
}

.hg-checkout .select2-container .select2-selection--single {
	display: flex;
	align-items: center;
	height: auto;
}

.hg-checkout .select2-container .select2-selection__rendered {
	padding: 0 !important;
	line-height: 1.4 !important;
	color: var(--hg-ink) !important;
}

.hg-checkout .select2-container .select2-selection__arrow {
	top: 50% !important;
	right: 0.75rem !important;
	transform: translateY(-50%);
}

.select2-dropdown {
	border: 1.5px solid var(--hg-line) !important;
	border-radius: var(--hg-radius-small) !important;
	overflow: hidden;
}

.select2-results__option--highlighted[aria-selected],
.select2-results__option--highlighted[data-selected] {
	background: var(--hg-ink) !important;
}

.hg-checkout .woocommerce-invalid input.input-text,
.hg-checkout .woocommerce-invalid .select2-selection {
	border-color: var(--wp--preset--color--sale) !important;
}

.hg-checkout #ship-to-different-address {
	margin: 0 0 1rem !important;
	font-size: 1.125rem !important;
}

.hg-checkout #ship-to-different-address label {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	cursor: pointer;
	font-weight: 600;
}

.hg-checkout input[type="checkbox"],
.hg-checkout input[type="radio"] {
	width: 1.15rem;
	height: 1.15rem;
	accent-color: var(--hg-ink);
}

/* Resumen del pedido */
.hg-checkout table.shop_table {
	width: 100%;
	margin: 0 0 1.25rem !important;
	border: 0 !important;
	border-collapse: collapse;
	font-size: 0.9375rem;
}

.hg-checkout table.shop_table th,
.hg-checkout table.shop_table td {
	padding: 0.8rem 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--hg-line) !important;
	background: none !important;
	text-align: left;
	vertical-align: top;
}

.hg-checkout table.shop_table td:last-child,
.hg-checkout table.shop_table th:last-child {
	text-align: right;
}

.hg-checkout table.shop_table thead {
	display: none;
}

.hg-checkout table.shop_table .product-quantity {
	color: var(--hg-muted);
	font-weight: 500;
}

.hg-checkout table.shop_table tfoot .order-total th,
.hg-checkout table.shop_table tfoot .order-total td {
	border-bottom: 0 !important;
	padding-top: 1rem !important;
	font-size: 1.25rem;
	font-weight: 700;
}

.hg-checkout #shipping_method {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Métodos de pago como tarjetas */
.hg-checkout #payment {
	border-radius: 0 !important;
	background: none !important;
}

.hg-checkout #payment ul.payment_methods {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	margin: 0 0 1rem !important;
	padding: 0 !important;
	border: 0 !important;
	list-style: none;
}

.hg-checkout #payment ul.payment_methods li {
	margin: 0 !important;
	padding: 1rem 1.1rem !important;
	border-radius: var(--hg-radius-small);
	background: #fff;
	box-shadow: inset 0 0 0 1.5px var(--hg-line);
	line-height: 1.4;
	transition: box-shadow 0.15s var(--hg-ease);
}

.hg-checkout #payment ul.payment_methods li:has(input:checked) {
	box-shadow: inset 0 0 0 2px var(--hg-ink);
}

.hg-checkout #payment ul.payment_methods li > label {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin-left: 0.4rem;
	font-weight: 600;
	cursor: pointer;
}

.hg-checkout #payment ul.payment_methods li img {
	max-height: 1.6rem;
	width: auto;
	margin: 0 !important;
	vertical-align: middle;
}

.hg-checkout #payment div.payment_box {
	margin: 0.75rem 0 0 !important;
	padding: 0.9rem 1rem !important;
	border-radius: 10px;
	background: var(--hg-surface) !important;
	color: var(--hg-muted);
	font-size: 0.875rem;
}

.hg-checkout #payment div.payment_box::before {
	display: none !important;
}

.hg-checkout #payment div.form-row.place-order {
	margin: 0 !important;
	padding: 0 !important;
}

.hg-checkout .woocommerce-terms-and-conditions-wrapper {
	margin-bottom: 1rem;
	font-size: 0.8125rem;
	color: var(--hg-muted);
}

.hg-checkout .woocommerce-privacy-policy-text p {
	margin: 0 0 0.75rem;
}

.hg-checkout #place_order {
	width: 100%;
	min-height: 3.5rem;
	border: 0;
	border-radius: 999px !important;
	background: var(--hg-ink) !important;
	color: #fff !important;
	font: inherit;
	font-size: 1.0625rem !important;
	font-weight: 600 !important;
	cursor: pointer;
	transition: background-color 0.15s var(--hg-ease), transform 0.1s var(--hg-ease);
}

.hg-checkout #place_order:hover {
	background: #000 !important;
}

.hg-checkout #place_order:active {
	transform: scale(0.99);
}

.hg-checkout .blockUI.blockOverlay {
	border-radius: var(--hg-radius);
}

/* Carrito clásico */
.hg-cart table.shop_table {
	border: 0 !important;
	border-radius: var(--hg-radius);
	background: #fff;
	box-shadow: inset 0 0 0 1px var(--hg-line);
	overflow: hidden;
}

.hg-cart table.shop_table th,
.hg-cart table.shop_table td {
	border-color: var(--hg-line) !important;
	padding: 1rem !important;
}

.hg-cart .cart_totals {
	padding: clamp(1.25rem, 3vw, 1.75rem);
	border-radius: var(--hg-radius);
	background: var(--hg-surface);
}

.hg-cart .checkout-button {
	display: block !important;
	width: 100%;
	text-align: center;
	border-radius: 999px !important;
	background: var(--hg-ink) !important;
	color: #fff !important;
	padding: 1rem 1.5rem !important;
	font-weight: 600 !important;
}

.hg-checkout #customer_details,
.hg-checkout #customer_details .col-1,
.hg-checkout #customer_details .col-2,
.hg-checkout #order_review {
	box-sizing: border-box;
	min-width: 0;
}

/* Avisos (cupón, producto añadido): neutros, sin el azul de WooCommerce. */
.hg-checkout .wc-block-components-notice-banner.is-info,
.hg-cart .wc-block-components-notice-banner.is-info {
	border: 0 !important;
	background: var(--hg-surface) !important;
	color: var(--hg-ink);
}

.hg-checkout .wc-block-components-notice-banner.is-info > svg,
.hg-cart .wc-block-components-notice-banner.is-info > svg {
	background: var(--hg-ink) !important;
}

.hg-checkout .wc-block-components-notice-banner a,
.hg-cart .wc-block-components-notice-banner a {
	color: var(--hg-ink) !important;
	font-weight: 600;
}

.hg-checkout #billing_country_field strong,
.hg-checkout #shipping_country_field strong {
	display: block;
	padding: 0.75rem 1rem;
	border-radius: var(--hg-radius-small);
	background: var(--hg-surface);
	font-weight: 600;
}

/* ------------------------------------------------------------------ */
/* Popup "Descarga la app" (inc/app-popup.php)                         */
/* Tarjeta centrada en computador; en el celular sube desde abajo.     */
/* ------------------------------------------------------------------ */

html:has(.hg-app-popup[open]) {
	overflow: hidden;
}

.hg-app-popup {
	box-sizing: border-box;
	width: min(400px, calc(100vw - 2rem));
	max-width: none;
	max-height: calc(100dvh - 2rem);
	margin: auto;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--hg-ink);
	overflow: visible;
}

.hg-app-popup::backdrop {
	background: rgba(0, 0, 0, 0.42);
	-webkit-backdrop-filter: blur(8px) saturate(1.2);
	backdrop-filter: blur(8px) saturate(1.2);
}

.hg-app-popup__card {
	overflow: hidden;
	border-radius: 28px;
	background: #fff;
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(0, 0, 0, 0.04);
}

.hg-app-popup__hero {
	position: relative;
	display: grid;
	place-items: center;
	height: 190px;
	background:
		radial-gradient(60% 90% at 50% 110%, rgba(255, 255, 255, 0.16) 0%, transparent 70%),
		radial-gradient(120% 160% at 100% 0%, #3a3a3c 0%, #1d1d1f 60%);
}

/* Brillo suave detrás del ícono. */
.hg-app-popup__hero::before {
	content: "";
	position: absolute;
	width: 220px;
	height: 220px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.18) 0%, transparent 65%);
}

.hg-app-popup__icon {
	position: relative;
	width: 112px;
	height: 112px;
	filter: drop-shadow(0 18px 30px rgba(0, 0, 0, 0.55));
}

.hg-app-popup__hero form {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 1;
	margin: 0;
}

.hg-app-popup__close {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
	cursor: pointer;
	transition: background 0.2s var(--hg-ease);
}

.hg-app-popup__close:hover {
	background: rgba(255, 255, 255, 0.26);
}

.hg-app-popup__close svg {
	width: 16px;
	height: 16px;
}

.hg-app-popup__body {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 1.75rem 1.75rem 1.25rem;
	text-align: center;
}

.hg-app-popup__eyebrow {
	margin: 0 0 0.5rem;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--hg-muted);
}

.hg-app-popup__title {
	margin: 0;
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.02em;
	text-wrap: balance;
}

.hg-app-popup__list {
	display: grid;
	gap: 0.625rem;
	margin: 1.375rem 0 1.625rem;
	padding: 0;
	list-style: none;
	text-align: left;
	font-size: 0.9375rem;
}

.hg-app-popup__list li {
	display: flex;
	align-items: center;
	gap: 0.625rem;
}

.hg-app-popup__list svg {
	flex: none;
	width: 22px;
	height: 22px;
	padding: 3px;
	border-radius: 50%;
	background: var(--hg-surface);
	color: var(--hg-ink);
}

.hg-app-popup__cta {
	display: block;
	box-sizing: border-box;
	width: 100%;
	padding: 0.9375rem 1.25rem;
	border-radius: 999px;
	background: var(--hg-ink);
	color: #fff !important;
	font-size: 1.0625rem;
	font-weight: 600;
	text-decoration: none !important;
	transition: background 0.2s var(--hg-ease), transform 0.2s var(--hg-ease);
}

.hg-app-popup__cta:hover {
	background: #000;
}

.hg-app-popup__cta:active {
	transform: scale(0.98);
}

.hg-app-popup__body form {
	width: 100%;
	margin: 0.25rem 0 0;
}

.hg-app-popup__later {
	box-sizing: border-box;
	width: 100%;
	padding: 0.75rem;
	border: 0;
	background: none;
	color: var(--hg-muted);
	font: inherit;
	font-size: 0.9375rem;
	font-weight: 500;
	cursor: pointer;
}

.hg-app-popup__later:hover {
	color: var(--hg-ink);
}

.hg-app-popup :focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
}

/* La tarjeta recibe el foco al abrir (hg.js) pero no se marca. */
.hg-app-popup .hg-app-popup__card:focus {
	outline: none;
}

.hg-app-popup[open] .hg-app-popup__card {
	animation: hg-popup-in 0.45s cubic-bezier(0.2, 0.9, 0.3, 1.1) both;
}

.hg-app-popup[open]::backdrop {
	animation: hg-popup-fade 0.3s ease both;
}

@keyframes hg-popup-in {
	from { opacity: 0; transform: translateY(16px) scale(0.96); }
}

@keyframes hg-popup-fade {
	from { opacity: 0; }
}

/* Celular: hoja que sube desde abajo, a todo el ancho. */
@media (max-width: 600px) {
	.hg-app-popup {
		width: 100%;
		max-height: 100dvh;
		margin: auto 0 0;
	}

	.hg-app-popup__card {
		border-radius: 28px 28px 0 0;
		padding-bottom: env(safe-area-inset-bottom);
	}

	.hg-app-popup__hero {
		height: 160px;
	}

	.hg-app-popup[open] .hg-app-popup__card {
		animation: hg-sheet-in 0.45s cubic-bezier(0.2, 0.9, 0.3, 1) both;
	}

	@keyframes hg-sheet-in {
		from { transform: translateY(100%); }
	}
}

@media (prefers-reduced-motion: reduce) {
	.hg-app-popup[open] .hg-app-popup__card,
	.hg-app-popup[open]::backdrop {
		animation: none;
	}
}

/* Soporte: tarjeta de contacto (patrón high-gamma/support). */
.hg-support {
	margin-block: var(--wp--preset--spacing--50);
	padding: 2.25rem 1.5rem 1.75rem;
	border-radius: var(--hg-radius);
	background: var(--hg-surface);
}

.hg-support__title.wp-block-heading {
	margin: 0;
	font-size: var(--wp--preset--font-size--x-large);
	letter-spacing: -0.02em;
}

.hg-support__text {
	margin-top: 0.5rem;
	color: var(--hg-muted);
}

.hg-support__buttons {
	justify-content: center;
	gap: 0.75rem;
	margin-top: 1.5rem;
}

.hg-support__btn .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-width: 9.5rem;
	justify-content: center;
}

.hg-support__btn .wp-block-button__link::before {
	content: "";
	width: 1.15rem;
	height: 1.15rem;
	flex: none;
	background: currentColor;
	-webkit-mask: var(--hg-support-icon) center / contain no-repeat;
	mask: var(--hg-support-icon) center / contain no-repeat;
}

.hg-support__btn--whatsapp .wp-block-button__link {
	background: #25d366;
	color: #fff;
	--hg-support-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2Zm5.4 14c-.2.6-1.3 1.2-1.8 1.3-.5 0-1 .2-3.3-.7-2.8-1.1-4.6-4-4.7-4.2-.1-.2-1.1-1.5-1.1-2.9s.7-2.1 1-2.4c.3-.3.6-.3.8-.3h.6c.2 0 .4 0 .6.5l.9 2.1c.1.2.1.3 0 .5l-.3.5-.4.5c-.1.1-.3.3-.1.6.2.3.8 1.3 1.7 2.1 1.2 1 2.1 1.4 2.4 1.5.3.1.5.1.6-.1l.9-1c.2-.3.4-.2.6-.1l2 1c.3.1.5.2.5.3.1.1.1.6-.1 1.2Z'/%3E%3C/svg%3E");
}

.hg-support__btn--whatsapp .wp-block-button__link:hover {
	background: #1ebe5b;
}

.hg-support__btn--imessage .wp-block-button__link {
	background: var(--wp--preset--color--accent);
	color: #fff;
	--hg-support-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3C6.5 3 2 6.8 2 11.5c0 2.6 1.4 5 3.7 6.5-.2 1.2-.8 2.4-1.7 3.3 1.9 0 3.6-.7 4.8-1.8 1 .3 2.1.5 3.2.5 5.5 0 10-3.8 10-8.5S17.5 3 12 3Z'/%3E%3C/svg%3E");
}

.hg-support__btn--imessage .wp-block-button__link:hover {
	background: #0062c4;
}

.hg-support__btn--email .wp-block-button__link {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	box-shadow: inset 0 0 0 1px var(--hg-line);
	--hg-support-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");
}

.hg-support__btn--email .wp-block-button__link:hover {
	background: var(--hg-line);
}

.hg-support__privacy {
	margin-top: 1.5rem;
	font-size: var(--wp--preset--font-size--small);
	color: var(--hg-muted);
}

.hg-support__privacy a {
	color: var(--wp--preset--color--accent);
}

@media (max-width: 599px) {
	.hg-support {
		padding: 1.75rem 1.25rem 1.5rem;
	}

	.hg-support__title.wp-block-heading {
		font-size: 1.5rem;
	}

	.hg-support__buttons {
		flex-direction: column;
		align-items: stretch;
	}

	.hg-support__btn,
	.hg-support__btn .wp-block-button__link {
		width: 100%;
	}
}
