/* Tienda Home — páginas de WooCommerce con el estilo de la portada (producto, colecciones, carrito, pago). */

body.tmh-woo {
	/* Colores y botones del tema (Blocksy): negro y recto, como la portada */
	--theme-palette-color-1: #111111;
	--theme-palette-color-2: #3a3a3a;
	--theme-link-hover-color: #111111;
	--theme-button-background-initial-color: #111111;
	--theme-button-background-hover-color: #3a3a3a;
	--theme-button-text-initial-color: #ffffff;
	--theme-button-text-hover-color: #ffffff;
	--theme-button-border-radius: 0px;
	--theme-button-min-height: 50px;
	--theme-form-field-border-radius: 0px;
	--theme-font-family: var(--tmh-sans);
}

.tmh-woo .button,
.tmh-woo button.button,
.tmh-woo .single_add_to_cart_button,
.tmh-woo .checkout-button,
.tmh-woo #place_order {
	font-family: var(--tmh-sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .18em;
	text-transform: uppercase;
}

/* ---------- Títulos de página ---------- */

.tmh-woo .hero-section .page-title,
.tmh-woo .hero-section h1,
.tmh-woo .woocommerce-cart-form ~ * h2,
.tmh-woo .cart_totals h2,
.tmh-woo #order_review_heading,
.tmh-woo .woocommerce-billing-fields h3 {
	font-family: var(--tmh-serif);
	font-style: italic;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
}

.tmh-woo .hero-section .page-title { font-size: clamp(36px, 5vw, 60px); line-height: 1; }

.tmh-woo .ct-breadcrumbs {
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--tmh-muted);
}

.tmh-woo .ct-breadcrumbs a { color: var(--tmh-ink); }

.tmh-woo .hero-section[data-type="type-2"] { background-color: var(--tmh-soft); }

/* ---------- Colecciones y tienda (listado de productos) ---------- */

.tmh-woo ul.products {
	--grid-columns-gap: 20px;
	row-gap: 36px;
}

.tmh-woo ul.products li.product figure {
	position: relative;
	margin-bottom: 14px;
	background: none;
}

.tmh-woo ul.products li.product .ct-media-container {
	display: block;
	overflow: hidden;
	line-height: 0;
	background: var(--tmh-soft);
	border-radius: 0;
}

.tmh-woo ul.products li.product .ct-media-container img {
	width: 100%;
	aspect-ratio: 3 / 4 !important; /* Blocksy pone 4/3 en línea; las prendas se ven mejor verticales */
	object-fit: cover;
	border-radius: 0;
	transition: transform .9s ease;
}

.tmh-woo ul.products li.product:hover .ct-media-container img { transform: scale(1.03); }

.tmh-woo ul.products li.product .woocommerce-loop-product__title {
	margin: 0 0 6px;
	font-family: var(--tmh-sans);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.tmh-woo ul.products li.product .woocommerce-loop-product__title a { color: var(--tmh-ink); }

.tmh-woo ul.products li.product .price {
	font-family: var(--tmh-sans);
	font-size: 14px;
	color: var(--tmh-ink);
}

.tmh-woo .price del { margin-right: 6px; color: var(--tmh-muted); opacity: 1; }
.tmh-woo .price ins { color: var(--tmh-sale); text-decoration: none; background: none; }

.tmh-woo ul.products li.product .entry-meta { display: none; }

.tmh-woo ul.products li.product .ct-woo-card-actions { margin-top: 12px; }

.tmh-woo ul.products li.product .ct-woo-card-actions .button {
	width: 100%;
	min-height: 44px;
	padding: 12px 14px;
	font-size: 11px;
	color: var(--tmh-ink);
	background: transparent;
	border: 1px solid var(--tmh-ink);
}

.tmh-woo ul.products li.product .ct-woo-card-actions .button:hover {
	color: #ffffff;
	background: var(--tmh-ink);
}

.tmh-woo .onsale {
	top: 10px;
	left: 10px;
	right: auto;
	min-width: 0;
	min-height: 0;
	padding: 5px 9px;
	font-family: var(--tmh-sans);
	font-size: 11px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: .08em;
	color: #ffffff;
	background: var(--tmh-sale);
	border-radius: 0;
}

.tmh-woo .out-of-stock-badge,
.tmh-woo .ct-woo-badge-out-of-stock {
	font-family: var(--tmh-sans);
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #ffffff;
	background: var(--tmh-ink);
	border-radius: 0;
}

.tmh-woo .woo-listing-top {
	margin-bottom: 28px;
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--tmh-muted);
}

.tmh-woo .woocommerce-ordering select { border-radius: 0; font-size: 12px; }

/* ---------- Página de producto ---------- */

.tmh-woo.single-product .product-entry-wrapper {
	column-gap: clamp(24px, 5vw, 80px);
	align-items: start;
}

.tmh-woo.single-product .woocommerce-product-gallery .ct-media-container,
.tmh-woo.single-product .woocommerce-product-gallery img {
	border-radius: 0;
	background: var(--tmh-soft);
}

.tmh-woo.single-product .woocommerce-product-gallery .ct-media-container img {
	width: 100%;
	aspect-ratio: 3 / 4 !important;
	object-fit: cover;
}

.tmh-woo.single-product .entry-summary {
	position: sticky;
	top: 32px;
}

.tmh-woo.single-product .product_title {
	margin: 0 0 12px;
	font-family: var(--tmh-serif);
	font-size: clamp(34px, 4vw, 52px);
	font-style: italic;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
	color: var(--tmh-ink);
}

.tmh-woo.single-product .summary .price {
	margin-bottom: 16px;
	font-family: var(--tmh-sans);
	font-size: 20px;
	color: var(--tmh-ink);
}

.tmh-woo.single-product .woocommerce-product-details__short-description {
	font-size: 14px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--tmh-muted);
}

.tmh-woo.single-product .ct-product-divider { border-color: var(--tmh-line); }

.tmh-woo.single-product .ct-cart-actions { gap: 12px; }

.tmh-woo.single-product .quantity,
.tmh-woo.single-product .quantity input.qty {
	border-radius: 0;
}

.tmh-woo.single-product .quantity { --quantity-height: 52px; }

.tmh-woo.single-product .single_add_to_cart_button {
	flex: 1;
	min-height: 52px;
}

.tmh-woo.single-product .stock.out-of-stock {
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--tmh-sale);
}

.tmh-woo.single-product .product_meta {
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--tmh-muted);
}

.tmh-woo.single-product .product_meta a { color: var(--tmh-ink); }

/* Acordeón de detalles */
.tmh-accordion { margin-top: 8px; border-top: 1px solid var(--tmh-line); }

.tmh-accordion__item { border-bottom: 1px solid var(--tmh-line); }

.tmh-accordion__item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 0;
	font-family: var(--tmh-sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--tmh-ink);
	cursor: pointer;
	list-style: none;
}

.tmh-accordion__item summary::-webkit-details-marker { display: none; }

.tmh-accordion__item summary::after {
	content: "+";
	font-size: 18px;
	font-weight: 300;
	letter-spacing: 0;
	transition: transform .2s ease;
}

.tmh-accordion__item[open] summary::after { transform: rotate(45deg); }

.tmh-accordion__body {
	padding: 0 0 18px;
	font-size: 14px;
	line-height: 1.7;
	color: var(--tmh-muted);
}

.tmh-accordion__body p { margin: 0 0 .8em; }
.tmh-accordion__body table { width: 100%; margin: 0; border: 0; }
.tmh-accordion__body th,
.tmh-accordion__body td { padding: 6px 0; text-align: left; background: none; border: 0; }

/* También te puede gustar (Blocksy lo oculta en celular; aquí se muestra) */
.tmh-woo section.related.products.ct-hidden-sm,
.tmh-woo section.related.products.ct-hidden-md { display: block !important; }

.tmh-woo section.related > h2,
.tmh-woo section.up-sells > h2 {
	margin-bottom: 28px;
	font-family: var(--tmh-serif);
	font-size: clamp(30px, 4vw, 46px);
	font-style: italic;
	font-weight: 400;
	text-transform: none;
}

@media (max-width: 999px) {
	.tmh-woo.single-product .entry-summary { position: static; }
}

/* En celular, dos prendas por fila como en las tiendas de moda */
@media (max-width: 689px) {
	.tmh-woo ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		column-gap: 12px;
		row-gap: 28px;
	}
	.tmh-woo ul.products li.product .woocommerce-loop-product__title { font-size: 11px; letter-spacing: .08em; }
	.tmh-woo ul.products li.product .price { font-size: 13px; }
	.tmh-woo ul.products li.product .ct-woo-card-actions .button {
		min-height: 40px;
		padding: 10px 6px;
		font-size: 9px;
		letter-spacing: .1em;
	}
}

/* ---------- Carrito, pago y cuenta ---------- */

.tmh-woo .woocommerce-cart-form table.shop_table,
.tmh-woo table.shop_table {
	border-radius: 0;
	font-size: 14px;
}

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

.tmh-woo .product-name a { color: var(--tmh-ink); }

.tmh-woo input.input-text,
.tmh-woo select,
.tmh-woo textarea,
.tmh-woo .select2-container .select2-selection {
	border-radius: 0;
}

.tmh-woo .woocommerce-message,
.tmh-woo .woocommerce-info {
	border-radius: 0;
	border-top-color: var(--tmh-ink);
}
