/*
 * ALHI JEANS – capa de diseño minimalista.
 * Blanco y negro, tipografía fina en mayúsculas, fotos grandes y sin adornos.
 */

:root {
	--alhi-negro: #000;
	--alhi-blanco: #fff;
	--alhi-gris: #6b6b6b;
	--alhi-linea: #e3e3e3;
	--alhi-suave: #f6f6f6;
	--alhi-fuente: "Jost", "Helvetica Neue", Arial, sans-serif;
	--alhi-espaciado: 0.08em;
}

/* ---------- Base ---------- */

body {
	font-family: var(--alhi-fuente);
	font-weight: 400;
	color: var(--alhi-negro);
	-webkit-font-smoothing: antialiased;
	/* La portada ocupa todo el ancho: evita la barra de desplazamiento lateral. */
	overflow-x: clip;
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.page-title,
.woocommerce-products-header__title {
	font-family: var(--alhi-fuente);
	font-weight: 400;
	letter-spacing: var(--alhi-espaciado);
	text-transform: uppercase;
	color: var(--alhi-negro);
}

a {
	transition: opacity 0.2s ease;
}

/* Efectos al pasar el ratón solo en pantallas con ratón (en el celular se quedarían "pegados"). */
@media (hover: hover) {
	a:hover {
		opacity: 0.7;
	}
}

/* Sin esquinas redondeadas ni sombras: líneas limpias. */
body .button,
body button,
body input,
body select,
body textarea,
body img,
body .onsale,
body .woocommerce-message,
body .woocommerce-info,
body .woocommerce-error {
	border-radius: 0 !important;
	box-shadow: none !important;
}

/* ---------- Barra de aviso ---------- */

.alhi-aviso {
	background: var(--alhi-blanco);
	color: var(--alhi-negro);
	border-bottom: 1px solid var(--alhi-linea);
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	overflow: hidden;
	position: relative;
	z-index: 100;
}

.alhi-aviso__pista {
	display: flex;
	justify-content: center;
	gap: 48px;
	padding: 9px 16px;
	white-space: nowrap;
}

/* En el celular solo cabe un mensaje: se muestra el primero, centrado. */
@media (max-width: 767px) {
	.alhi-aviso {
		font-size: 10px;
		letter-spacing: 0.14em;
	}

	.alhi-aviso__pista span:not(:first-child) {
		display: none;
	}
}

/* ---------- Cabecera y menú ---------- */

.site-header,
.bhfb-header {
	font-family: var(--alhi-fuente);
}

.site-header .menu a,
.bhfb-header .menu a,
.main-navigation a {
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

/* ---------- Botones ---------- */

.woocommerce .button,
.woocommerce-page .button,
.woocommerce button.button,
.woocommerce input.button,
.single_add_to_cart_button,
.checkout-button,
#place_order,
.alhi-boton,
.wpcf7-submit,
.wpforms-submit {
	background: var(--alhi-negro) !important;
	color: var(--alhi-blanco) !important;
	border: 1px solid var(--alhi-negro) !important;
	font-family: var(--alhi-fuente) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	padding: 16px 28px !important;
	line-height: 1.2 !important;
	transition: background 0.2s ease, color 0.2s ease;
}

.woocommerce .button:hover,
.woocommerce-page .button:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover,
#place_order:hover,
.alhi-boton:hover,
.wpcf7-submit:hover,
.wpforms-submit:hover {
	background: var(--alhi-blanco) !important;
	color: var(--alhi-negro) !important;
	opacity: 1;
}

.alhi-boton {
	display: inline-block;
	text-decoration: none;
}

.alhi-boton--claro {
	background: var(--alhi-blanco) !important;
	color: var(--alhi-negro) !important;
	border-color: var(--alhi-blanco) !important;
}

.alhi-boton--claro:hover {
	background: transparent !important;
	color: var(--alhi-blanco) !important;
}

/* ---------- Campos ---------- */

.woocommerce input.input-text,
.woocommerce select,
.woocommerce textarea,
.woocommerce-page input.input-text,
.woocommerce-page select,
.woocommerce-page textarea {
	border: 1px solid var(--alhi-linea) !important;
	background: var(--alhi-blanco);
	padding: 12px 14px;
	font-family: var(--alhi-fuente);
}

.woocommerce input.input-text:focus,
.woocommerce select:focus,
.woocommerce textarea:focus {
	border-color: var(--alhi-negro) !important;
	outline: none;
}

/* ---------- Catálogo (tarjetas de producto) ---------- */

.woocommerce-products-header__title,
.woocommerce .page-title {
	font-size: 20px;
	text-align: center;
	margin: 32px 0 24px;
}

ul.products li.product {
	text-align: left !important;
}

ul.products li.product img {
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	background: var(--alhi-suave);
	margin-bottom: 0 !important;
	transition: transform 0.6s ease;
}

@media (hover: hover) {
	ul.products li.product a:hover img {
		transform: scale(1.02);
	}
}

ul.products li.product .woocommerce-loop-product__title,
ul.products li.product h2 {
	font-size: 12px !important;
	font-weight: 400 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase;
	padding: 12px 0 2px !important;
	margin: 0 !important;
}

ul.products li.product .price {
	font-size: 12px !important;
	font-weight: 400 !important;
	color: var(--alhi-negro) !important;
	letter-spacing: 0.04em;
}

ul.products li.product .price del {
	color: var(--alhi-gris) !important;
}

/* Como en las grandes tiendas de moda: la tarjeta solo enseña foto, nombre y precio. */
ul.products li.product .button,
ul.products li.product .add_to_cart_button,
ul.products li.product .star-rating {
	display: none !important;
}

.onsale {
	background: var(--alhi-negro) !important;
	color: var(--alhi-blanco) !important;
	font-size: 10px !important;
	font-weight: 500 !important;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	min-height: 0 !important;
	min-width: 0 !important;
	line-height: 1 !important;
	padding: 6px 10px !important;
}

.woocommerce-ordering select,
.woocommerce-result-count {
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--alhi-gris);
}

.woocommerce-breadcrumb {
	font-size: 11px !important;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--alhi-gris) !important;
}

.alhi-proximamente {
	text-align: center;
	padding: 48px 16px !important;
	background: var(--alhi-suave) !important;
	border: 0 !important;
	letter-spacing: 0.04em;
}

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

.single-product .product_title {
	font-size: 18px !important;
	font-weight: 400 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase;
	margin-bottom: 8px !important;
}

.single-product .summary .price {
	font-size: 16px !important;
	font-weight: 400 !important;
	color: var(--alhi-negro) !important;
	margin-bottom: 24px !important;
}

.single-product .woocommerce-product-details__short-description {
	color: var(--alhi-gris);
	font-size: 14px;
	line-height: 1.7;
}

.single-product .variations {
	border: 0 !important;
	margin-bottom: 8px !important;
}

.single-product .variations th,
.single-product .variations td {
	display: block;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	text-align: left;
}

.single-product .variations th label,
.single-product .variations .label label {
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	margin: 16px 0 8px;
	display: block;
}

.single-product .single_add_to_cart_button {
	width: 100%;
	padding: 18px 28px !important;
}

.single-product form.cart:not(.variations_form) .quantity,
.single-product .woocommerce-variation-add-to-cart .quantity {
	margin-bottom: 12px;
}

.single-product .quantity .qty {
	border: 1px solid var(--alhi-linea) !important;
	height: 52px;
	width: 72px;
}

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

.woocommerce-tabs ul.tabs li {
	background: none !important;
	border: 0 !important;
}

.woocommerce-tabs ul.tabs li a {
	font-size: 12px !important;
	font-weight: 400 !important;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.woocommerce-tabs ul.tabs li.active a {
	text-decoration: underline;
	text-underline-offset: 6px;
}

.related.products > h2,
.upsells.products > h2 {
	font-size: 14px !important;
	text-align: center;
	margin: 48px 0 24px !important;
}

/* Botones de talla y color */

.alhi-con-tallas .variations select {
	display: none !important;
}

.alhi-tallas {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.alhi-talla {
	min-width: 52px;
	height: 44px;
	padding: 0 14px !important;
	background: var(--alhi-blanco) !important;
	color: var(--alhi-negro) !important;
	border: 1px solid var(--alhi-linea) !important;
	font-family: var(--alhi-fuente) !important;
	font-size: 13px !important;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	cursor: pointer;
	transition: border-color 0.15s ease;
}

.alhi-talla:hover {
	border-color: var(--alhi-negro) !important;
}

.alhi-talla.is-activa {
	background: var(--alhi-negro) !important;
	color: var(--alhi-blanco) !important;
	border-color: var(--alhi-negro) !important;
}

.alhi-talla.is-agotada {
	color: #b5b5b5 !important;
	text-decoration: line-through;
	cursor: not-allowed;
}

.single-product .reset_variations {
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--alhi-gris);
}

.alhi-ventajas {
	list-style: none;
	margin: 24px 0 0 !important;
	padding: 20px 0 0 !important;
	border-top: 1px solid var(--alhi-linea);
	font-size: 12px;
	letter-spacing: 0.04em;
	color: var(--alhi-gris);
}

.alhi-ventajas li {
	padding: 4px 0 4px 22px;
	position: relative;
}

.alhi-ventajas li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 10px;
	height: 1px;
	background: var(--alhi-negro);
}

/* ---------- Carrito y pago ---------- */

.woocommerce table.shop_table {
	border: 0 !important;
	border-collapse: collapse !important;
}

.woocommerce table.shop_table th {
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.woocommerce table.shop_table td,
.woocommerce table.shop_table th {
	border-color: var(--alhi-linea) !important;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	background: var(--alhi-suave) !important;
	border-top: 2px solid var(--alhi-negro) !important;
	color: var(--alhi-negro) !important;
	font-size: 13px;
}

.woocommerce-message::before,
.woocommerce-info::before {
	color: var(--alhi-negro) !important;
}

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

.site-footer,
.bhfb-footer {
	font-size: 12px;
	letter-spacing: 0.06em;
}

.site-footer .widget-title,
.bhfb-footer .widget-title {
	font-size: 12px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

/* ---------- Márgenes iguales para todos los títulos y bloques ---------- */

:root {
	--alhi-margen: 20px;
}

@media (min-width: 768px) {
	:root {
		--alhi-margen: 40px;
	}
}

.alhi-contenedor {
	padding-left: var(--alhi-margen) !important;
	padding-right: var(--alhi-margen) !important;
	box-sizing: border-box;
}

/* Páginas hechas con Elementor: mismo margen lateral en todos los bloques del celular. */
@media (max-width: 767px) {
	.elementor > .e-con,
	.elementor > .elementor-section > .elementor-container {
		--padding-left: var(--alhi-margen) !important;
		--padding-right: var(--alhi-margen) !important;
		padding-left: var(--alhi-margen) !important;
		padding-right: var(--alhi-margen) !important;
	}

	.elementor .e-con .e-con,
	.elementor .elementor-column > .elementor-widget-wrap {
		--padding-left: 0px !important;
		--padding-right: 0px !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

/* Títulos de Elementor con la tipografía de la marca. */
.elementor .elementor-heading-title {
	font-family: var(--alhi-fuente) !important;
	font-weight: 400 !important;
	letter-spacing: 0.06em !important;
	-webkit-text-stroke: 0 !important;
}

/* ---------- Efectos ---------- */

.alhi-js .alhi-revela {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.alhi-js .alhi-revela.is-visible {
	opacity: 1;
	transform: none;
}

/* Segunda foto al pasar el ratón */
.alhi-img2__marco {
	position: relative;
	display: block;
	overflow: hidden;
}

.alhi-img2__foto {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.5s ease;
}

@media (hover: hover) {
	li.product:hover .alhi-img2__foto {
		opacity: 1;
	}
}

/* Botones con relleno que se desliza */
@media (hover: hover) {
	.alhi-boton {
		background-image: linear-gradient(var(--alhi-negro), var(--alhi-negro)) !important;
		background-size: 0 100% !important;
		background-repeat: no-repeat !important;
		transition: background-size 0.4s ease, color 0.4s ease !important;
	}

	.alhi-boton--claro {
		background-color: var(--alhi-blanco) !important;
	}

	.alhi-boton--claro:hover {
		background-size: 100% 100% !important;
		color: var(--alhi-blanco) !important;
		border-color: var(--alhi-negro) !important;
	}
}

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

.alhi-portada {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-top: 0;
}

.alhi-portada h2 {
	margin: 0;
}

/* Foto principal a pantalla completa */
.alhi-hero {
	position: relative;
	height: calc(100vh - 140px);
	height: calc(100svh - 140px);
	min-height: 520px;
	max-height: 960px;
	overflow: hidden;
	background: #1a1f26;
	color: var(--alhi-blanco);
	display: flex;
	align-items: flex-end;
}

.alhi-hero__foto {
	position: absolute;
	inset: 0;
	animation: alhi-acerca 2.4s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.alhi-hero__foto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--alhi-pos, center);
	transform: scale(1.05);
	will-change: transform;
}

.alhi-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.15) 45%, rgba(0, 0, 0, 0) 70%);
	pointer-events: none;
}

.alhi-hero__texto {
	position: relative;
	z-index: 1;
	width: 100%;
	padding-bottom: 64px;
	max-width: 760px;
}

.alhi-hero__sub {
	font-size: 11px;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	margin: 0 0 14px;
}

.alhi-portada .alhi-hero__titulo {
	color: var(--alhi-blanco);
	font-size: clamp(34px, 6vw, 76px);
	font-weight: 300;
	letter-spacing: 0.04em;
	line-height: 1.02;
	margin: 0 0 16px;
}

.alhi-hero__lead {
	font-size: 13px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	margin: 0 0 28px;
	opacity: 0.9;
}

.alhi-hero__desliza {
	position: absolute;
	z-index: 1;
	right: var(--alhi-margen);
	bottom: 64px;
	font-size: 10px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	writing-mode: vertical-rl;
	padding-bottom: 56px;
}

.alhi-hero__desliza::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 1px;
	height: 44px;
	background: currentColor;
	transform-origin: top;
	animation: alhi-linea 2s ease-in-out infinite;
}

.alhi-entra {
	animation: alhi-sube 1s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.alhi-entra:nth-child(1) { animation-delay: 0.3s; }
.alhi-entra:nth-child(2) { animation-delay: 0.45s; }
.alhi-entra:nth-child(3) { animation-delay: 0.6s; }
.alhi-entra:nth-child(4) { animation-delay: 0.75s; }

@keyframes alhi-acerca {
	from { opacity: 0; transform: scale(1.08); }
	to { opacity: 1; transform: scale(1); }
}

@keyframes alhi-sube {
	from { opacity: 0; transform: translateY(24px); }
	to { opacity: 1; transform: none; }
}

@keyframes alhi-linea {
	0% { transform: scaleY(0); }
	50% { transform: scaleY(1); }
	100% { transform: scaleY(0); transform-origin: bottom; }
}

/* Cinta en movimiento */
.alhi-cinta {
	background: var(--alhi-negro);
	color: var(--alhi-blanco);
	overflow: hidden;
	padding: 16px 0;
}

.alhi-cinta__pista {
	display: flex;
	width: max-content;
	animation: alhi-cinta 40s linear infinite;
}

.alhi-cinta span {
	font-size: 13px;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	white-space: nowrap;
	padding: 0 28px;
}

.alhi-cinta span::after {
	content: "✦";
	margin-left: 56px;
	font-size: 10px;
}

@keyframes alhi-cinta {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

/* Categorías */
.alhi-categorias {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	padding-top: 72px;
}

.alhi-categoria {
	position: relative;
	display: block;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: var(--alhi-suave);
	color: var(--alhi-negro);
	text-decoration: none;
}

.alhi-categoria img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1.2s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.alhi-categoria__pie {
	position: absolute;
	left: 24px;
	right: 24px;
	bottom: 24px;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}

.alhi-categoria__nombre {
	font-size: clamp(24px, 3vw, 44px);
	font-weight: 300;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	line-height: 1;
	color: var(--alhi-negro);
}

/* Botón negro bien visible sobre la foto */
.alhi-categoria__cta {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--alhi-negro);
	color: var(--alhi-blanco);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	padding: 14px 20px;
	transition: gap 0.3s ease, background 0.3s ease, color 0.3s ease;
}

.alhi-categoria__cta--claro {
	background: var(--alhi-blanco);
	color: var(--alhi-negro);
}

@media (hover: hover) {
	a.alhi-categoria:hover {
		opacity: 1;
	}

	a.alhi-categoria:hover img {
		transform: scale(1.06);
	}

	a.alhi-categoria:hover .alhi-categoria__cta {
		gap: 18px;
	}
}

/* "Muy pronto" de Hombre */
.alhi-categoria--pronto {
	background: var(--alhi-negro);
	color: var(--alhi-blanco);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.alhi-pronto__fondo {
	position: absolute;
	inset: -20% -40%;
	display: flex;
	flex-direction: column;
	justify-content: space-around;
	transform: rotate(-12deg);
	pointer-events: none;
}

.alhi-pronto__fondo span {
	font-size: clamp(56px, 9vw, 140px);
	font-weight: 300;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	white-space: nowrap;
	color: transparent;
	-webkit-text-stroke: 1px rgba(255, 255, 255, 0.14);
	animation: alhi-cinta 30s linear infinite;
}

.alhi-pronto__fondo span:nth-child(2) {
	animation-direction: reverse;
}

.alhi-pronto__centro {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	padding: 24px;
	max-width: 360px;
}

.alhi-pronto__etiqueta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 1px solid rgba(255, 255, 255, 0.5);
	border-radius: 999px;
	padding: 7px 14px;
	font-size: 10px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.alhi-pronto__punto {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--alhi-blanco);
	animation: alhi-latido 1.6s ease-in-out infinite;
}

.alhi-pronto__titulo {
	font-size: clamp(34px, 4.5vw, 64px);
	font-weight: 300;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	line-height: 1;
}

.alhi-pronto__texto {
	font-size: 13px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.75);
}

@keyframes alhi-latido {
	0%, 100% { opacity: 1; transform: scale(1); }
	50% { opacity: 0.3; transform: scale(0.6); }
}

/* Novedades */
.alhi-seccion {
	max-width: none;
	padding-top: 80px;
	padding-bottom: 24px;
}

.alhi-seccion__cabecera {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 24px;
}

.alhi-seccion__cabecera h2 {
	font-size: 14px;
	letter-spacing: 0.16em;
}

.alhi-seccion__cabecera a {
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--alhi-negro);
	text-decoration: underline;
	text-underline-offset: 4px;
}

.alhi-carrusel .woocommerce {
	margin: 0;
}

/* Ventajas */
.alhi-beneficios {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	margin-top: 56px;
	padding-top: 48px;
	padding-bottom: 48px;
	border-top: 1px solid var(--alhi-linea);
	border-bottom: 1px solid var(--alhi-linea);
}

.alhi-beneficios strong,
.alhi-portada .alhi-beneficios h3 {
	display: block;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	margin-bottom: 6px;
}

.alhi-beneficios span,
.alhi-beneficios a {
	font-size: 13px;
	color: var(--alhi-gris);
}

/* Contacto: Instagram + formulario */
.alhi-contacto {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
	padding-top: 96px;
	padding-bottom: 96px;
	align-items: start;
}

.alhi-contacto h2 {
	font-size: clamp(36px, 5vw, 72px);
	font-weight: 300;
	letter-spacing: 0.02em;
	text-transform: none;
	line-height: 1;
}

.alhi-contacto h2 a {
	color: var(--alhi-negro);
	text-decoration: none;
}

.alhi-redes__texto {
	margin: 16px 0 28px;
	color: var(--alhi-gris);
	font-size: 14px;
	max-width: 420px;
}

.alhi-contacto__botones {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px 28px;
}

.alhi-enlace {
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--alhi-negro);
	text-decoration: underline;
	text-underline-offset: 5px;
}

.alhi-contacto__form {
	background: var(--alhi-suave);
	padding: 40px;
}

.alhi-contacto__form h3 {
	font-size: 18px;
	letter-spacing: 0.06em;
	margin: 0 0 24px;
}

/* Formulario de Contact Form 7 con el estilo de la marca */
.alhi-contacto .wpcf7 p {
	margin: 0 0 18px;
}

.alhi-contacto .wpcf7 label {
	display: block;
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--alhi-gris);
}

.alhi-contacto .wpcf7 input:not([type="submit"]),
.alhi-contacto .wpcf7 textarea {
	width: 100%;
	box-sizing: border-box;
	margin-top: 6px;
	padding: 10px 0;
	border: 0 !important;
	border-bottom: 1px solid #b9b9b9 !important;
	background: transparent;
	font-family: var(--alhi-fuente);
	font-size: 15px;
	color: var(--alhi-negro);
	transition: border-color 0.2s ease;
}

.alhi-contacto .wpcf7 textarea {
	height: 110px;
	resize: vertical;
}

.alhi-contacto .wpcf7 input:not([type="submit"]):focus,
.alhi-contacto .wpcf7 textarea:focus {
	outline: none;
	border-bottom-color: var(--alhi-negro) !important;
}

.alhi-contacto .wpcf7-submit {
	width: 100%;
	cursor: pointer;
}

.alhi-contacto .wpcf7-response-output {
	margin: 16px 0 0 !important;
	padding: 12px !important;
	font-size: 13px;
}

/* Pie de página: franja inferior limpia */
.bhfb-below_footer_row {
	background-color: var(--alhi-blanco) !important;
	border-top: 1px solid var(--alhi-linea) !important;
}

@media (max-width: 767px) {
	.alhi-hero {
		height: calc(100svh - 130px);
		min-height: 480px;
	}

	.alhi-hero__foto img {
		object-position: var(--alhi-pos-movil, center);
	}

	.alhi-hero__texto {
		padding-bottom: 40px;
	}

	.alhi-hero__desliza {
		display: none;
	}

	.alhi-categorias {
		gap: 8px;
		padding-top: 48px;
	}

	.alhi-categoria {
		aspect-ratio: 3 / 4;
	}

	.alhi-categoria__pie {
		left: 12px;
		right: 12px;
		bottom: 12px;
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}

	.alhi-categoria__cta {
		padding: 11px 14px;
		font-size: 10px;
		letter-spacing: 0.14em;
	}

	.alhi-pronto__centro {
		gap: 10px;
		padding: 12px;
	}

	.alhi-pronto__texto {
		display: none;
	}

	.alhi-pronto__titulo {
		font-size: 26px;
	}

	.alhi-seccion {
		padding-top: 56px;
	}

	/* Novedades: cuadrícula fija de 2 columnas (sin carrusel ni movimientos). */
	.alhi-carrusel ul.products {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 24px 10px !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible !important;
	}

	.alhi-carrusel ul.products::before,
	.alhi-carrusel ul.products::after {
		display: none !important;
	}

	.alhi-carrusel ul.products li.product {
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
		float: none !important;
	}

	/* En el celular los productos no se animan al aparecer: quedan quietos. */
	.alhi-js ul.products li.product.alhi-revela {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}

	.alhi-beneficios {
		grid-template-columns: 1fr 1fr;
		gap: 28px 16px;
		margin-top: 40px;
		padding-top: 36px;
		padding-bottom: 36px;
	}

	.alhi-contacto {
		grid-template-columns: 1fr;
		gap: 40px;
		padding-top: 64px;
		padding-bottom: 64px;
	}

	.alhi-contacto__form {
		padding: 28px 20px;
		margin: 0 calc(var(--alhi-margen) * -1);
	}
}

@media (prefers-reduced-motion: reduce) {
	.alhi-hero__foto,
	.alhi-entra,
	.alhi-cinta__pista,
	.alhi-hero__desliza::after,
	.alhi-pronto__fondo span,
	.alhi-pronto__punto {
		animation: none !important;
	}
}

/* Con letra menor de 16 px, el iPhone y el iPad hacen zoom al escribir (por ejemplo, en el pago). */
@media (max-width: 1024px) and (hover: none) {
	input,
	select,
	textarea {
		font-size: 16px !important;
	}
}

@media (max-width: 767px) {
	.single-product .product_title {
		font-size: 16px !important;
	}
}

@media (min-width: 768px) {
	.alhi-categoria {
		aspect-ratio: 4 / 3;
	}
}

/* ---------- Cabecera: "ALHI JEANS" centrado respecto a toda la página ---------- */
@media (min-width: 1025px) {
	.bhfb-main_header_row {
		position: relative;
	}

	.bhfb-main_header_row .bhfb-component-logo {
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		margin: 0 !important;
		z-index: 2;
	}
}

/* ---------- Pie: logo en blanco y textos visibles sobre el negro ---------- */
.alhi-logo-pie {
	display: block !important;
	width: 120px !important;
	max-width: 100%;
	height: auto !important;
	margin: 0 0 18px;
	opacity: 1 !important;
	/* Siempre blanco, aunque el tema aplique otros estilos a las imágenes. */
	filter: brightness(0) invert(1) !important;
}

.bhfb-main_footer_row .textwidget,
.bhfb-main_footer_row .textwidget p,
.alhi-lema-pie {
	color: var(--alhi-blanco) !important;
}

.alhi-lema-pie {
	font-size: 13px;
	letter-spacing: 0.06em;
	margin: 0;
}

.alhi-marca-pie {
	margin-bottom: 24px;
}

/* ---------- SEO: textos y encabezados ---------- */

/* Encabezado solo para Google y lectores de pantalla. */
.alhi-oculto {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	white-space: nowrap !important;
}

/* Sección "Jeans de mujer en México" */
.alhi-seo {
	padding-top: 104px;
	padding-bottom: 40px;
}

.alhi-seo__intro {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: 56px;
	align-items: end;
}

.alhi-seo h2 {
	font-size: clamp(30px, 4.4vw, 64px);
	font-weight: 300;
	letter-spacing: 0.04em;
	line-height: 1.02;
	margin: 0;
}

.alhi-seo__texto p {
	color: var(--alhi-gris);
	font-size: 15px;
	line-height: 1.75;
	margin: 0 0 24px;
}

.alhi-seo__texto a:not(.alhi-boton) {
	color: var(--alhi-negro);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Cifras */
.alhi-cifras {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin: 64px 0 0 !important;
	padding: 0 !important;
	border-top: 1px solid var(--alhi-negro);
	border-bottom: 1px solid var(--alhi-linea);
}

.alhi-cifras li {
	padding: 28px 0 24px;
	border-left: 1px solid var(--alhi-linea);
	padding-left: 24px;
}

.alhi-cifras li:first-child {
	border-left: 0;
	padding-left: 0;
}

.alhi-cifras strong {
	display: block;
	font-size: clamp(34px, 4.2vw, 60px);
	font-weight: 300;
	line-height: 1;
	letter-spacing: 0.02em;
	font-variant-numeric: tabular-nums;
}

.alhi-cifras li > span {
	display: block;
	margin-top: 10px;
	font-size: 10px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--alhi-gris);
}

/* Tarjetas de cortes */
.alhi-cortes {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	margin-top: 48px;
}

.alhi-corte {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 440px;
	padding: 24px;
	background: var(--alhi-suave);
	color: var(--alhi-negro);
	text-decoration: none;
	overflow: hidden;
	transition: background 0.45s ease, color 0.45s ease, transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.alhi-corte__num {
	font-size: 11px;
	letter-spacing: 0.2em;
}

.alhi-corte__dibujo {
	display: block;
	width: auto;
	height: 170px;
	margin: 28px auto 32px;
	overflow: visible;
}

.alhi-corte__dibujo path {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.1;
	stroke-linejoin: round;
	stroke-linecap: round;
	stroke-dasharray: 1;
	stroke-dashoffset: 0;
}

/* La silueta se dibuja sola al aparecer en pantalla. */
.alhi-js .alhi-corte.alhi-revela .alhi-corte__dibujo path {
	stroke-dashoffset: 1;
	transition: stroke-dashoffset 1.6s cubic-bezier(0.6, 0, 0.2, 1) 0.3s;
}

.alhi-js .alhi-corte.alhi-revela.is-visible .alhi-corte__dibujo path {
	stroke-dashoffset: 0;
}

.alhi-corte h3 {
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.16em;
	color: inherit;
	margin: 0 0 10px;
}

.alhi-corte p {
	font-size: 13px;
	line-height: 1.65;
	color: var(--alhi-gris);
	margin: 0 0 20px;
	transition: color 0.45s ease;
}

.alhi-corte__ver {
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	border-bottom: 1px solid currentColor;
	align-self: flex-start;
	margin-top: auto;
	padding-bottom: 4px;
	transition: letter-spacing 0.35s ease;
}

@media (hover: hover) {
	a.alhi-corte:hover {
		background: var(--alhi-negro);
		color: var(--alhi-blanco);
		opacity: 1;
		transform: translateY(-6px);
	}

	a.alhi-corte:hover p {
		color: rgba(255, 255, 255, 0.7);
	}

	a.alhi-corte:hover .alhi-corte__ver {
		letter-spacing: 0.3em;
	}

	a.alhi-corte:hover .alhi-corte__dibujo path {
		animation: alhi-traza 1.2s cubic-bezier(0.6, 0, 0.2, 1);
	}
}

@keyframes alhi-traza {
	from { stroke-dashoffset: 1; }
	to { stroke-dashoffset: 0; }
}

/* Franja negra de ventajas con iconos */
.alhi-portada .alhi-beneficios {
	background: var(--alhi-negro);
	color: var(--alhi-blanco);
	border: 0;
	margin-top: 88px;
	padding-top: 56px;
	padding-bottom: 56px;
	gap: 0;
}

.alhi-portada .alhi-beneficios > div,
.alhi-portada .alhi-beneficios > a {
	padding: 4px 24px;
	border-left: 1px solid rgba(255, 255, 255, 0.18);
	color: var(--alhi-blanco);
	text-decoration: none;
}

.alhi-portada .alhi-beneficios > :nth-child(2) {
	border-left: 0;
	padding-left: 0;
}

.alhi-portada .alhi-beneficios h3 {
	color: var(--alhi-blanco);
	line-height: 1.3;
	margin: 0 0 6px;
}

.alhi-portada .alhi-beneficios span {
	color: rgba(255, 255, 255, 0.65);
}

.alhi-icono {
	width: 28px;
	height: 28px;
	margin-bottom: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.3;
	stroke-linejoin: round;
	stroke-linecap: round;
	transition: transform 0.4s cubic-bezier(0.2, 0.7, 0.2, 1);
}

@media (hover: hover) {
	.alhi-portada .alhi-beneficios > :hover .alhi-icono {
		transform: translateY(-4px) scale(1.08);
	}

	.alhi-portada .alhi-beneficios > a:hover {
		opacity: 1;
	}

	.alhi-portada .alhi-beneficios > a:hover span {
		color: var(--alhi-blanco);
	}
}

/* Introducción de las categorías */
.alhi-intro-categoria {
	max-width: 680px;
	margin: 0 auto 32px;
	text-align: center;
	color: var(--alhi-gris);
	font-size: 14px;
	line-height: 1.7;
}

.alhi-intro-categoria a {
	color: var(--alhi-negro);
}

/* En la categoría la guía va debajo de los productos, a todo el ancho del contenido. */
.tax-product_cat .alhi-seo {
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-top: 40px;
	border-top: 1px solid var(--alhi-linea);
}

@media (max-width: 1024px) {
	.alhi-cortes {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	.alhi-seo {
		padding-top: 64px;
	}

	.alhi-seo__intro {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.alhi-cifras {
		grid-template-columns: 1fr 1fr;
		margin-top: 40px !important;
	}

	.alhi-cifras li:nth-child(3) {
		border-left: 0;
		padding-left: 0;
	}

	.alhi-cifras li:nth-child(n+3) {
		border-top: 1px solid var(--alhi-linea);
	}

	.alhi-cortes {
		gap: 8px;
		margin-top: 32px;
	}

	.alhi-corte {
		min-height: 0;
		padding: 16px;
	}

	.alhi-corte__dibujo {
		height: 110px;
		margin: 16px auto 18px;
	}

	.alhi-corte h3 {
		font-size: 11px;
		letter-spacing: 0.12em;
	}

	.alhi-corte p {
		font-size: 12px;
		margin-bottom: 14px;
	}

	.alhi-portada .alhi-beneficios {
		margin-top: 56px;
		gap: 32px 0;
	}

	.alhi-portada .alhi-beneficios > :nth-child(odd) {
		padding-right: 0;
	}

	.alhi-portada .alhi-beneficios > :nth-child(4) {
		border-left: 0;
		padding-left: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.alhi-js .alhi-corte.alhi-revela .alhi-corte__dibujo path {
		stroke-dashoffset: 0;
		transition: none;
	}
}

/* ---------- Menú del celular (panel lateral de Botiga) ---------- */
/* Botiga pinta textos e iconos en blanco (como la cabecera negra) sobre el fondo blanco del panel. */
.botiga-offcanvas-menu {
	background: var(--alhi-blanco) !important;
	color: var(--alhi-negro) !important;
	font-family: var(--alhi-fuente);
}

.botiga-offcanvas-menu a,
.botiga-offcanvas-menu li,
.botiga-offcanvas-menu button,
.botiga-offcanvas-menu label,
.botiga-offcanvas-menu .site-title,
.botiga-offcanvas-menu .site-title a {
	color: var(--alhi-negro) !important;
}

.botiga-offcanvas-menu svg,
.botiga-offcanvas-menu svg path {
	fill: var(--alhi-negro) !important;
}

.botiga-offcanvas-menu .menu > li {
	border-bottom: 1px solid var(--alhi-linea);
}

.botiga-offcanvas-menu .menu > li > a {
	display: block;
	padding: 16px 0 !important;
	font-size: 20px !important;
	font-weight: 300 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase;
	line-height: 1.2;
}

.botiga-offcanvas-menu .sub-menu a {
	font-size: 14px !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase;
	color: var(--alhi-gris) !important;
}

.botiga-offcanvas-menu .menu a:active,
.botiga-offcanvas-menu .current-menu-item > a {
	text-decoration: underline;
	text-underline-offset: 6px;
}

.botiga-offcanvas-menu input[type="search"] {
	border: 0 !important;
	border-bottom: 1px solid var(--alhi-negro) !important;
	background: transparent !important;
	color: var(--alhi-negro) !important;
}

.botiga-offcanvas-menu input::placeholder {
	color: var(--alhi-gris);
}
