/* ==========================================================================
   product.css — Single product: galería, summary, variaciones, acordeones
   ========================================================================== */

.esp-single { padding-block: var(--esp-space-6) var(--esp-space-8); }
.esp-single__breadcrumb { margin-bottom: var(--esp-space-5); }
.woocommerce-breadcrumb { color: var(--esp-text-dim); font-size: var(--esp-fs-300); }
.woocommerce-breadcrumb a { color: var(--esp-text-muted); }
.woocommerce-breadcrumb a:hover { color: var(--esp-dorado); }

.esp-single__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--esp-space-7); align-items: start; }

/* ---- Galería ---- */
.esp-single__gallery {
	position: sticky; top: calc(var(--esp-header-h) + var(--esp-space-4));
	background: radial-gradient(70% 70% at 50% 35%, rgba(255,198,46,.12), transparent 70%), var(--esp-surface);
	border: 1px solid var(--esp-border); border-radius: var(--esp-radius-lg); padding: var(--esp-space-6);
	display: flex; align-items: center; justify-content: center; min-height: 520px;
}
.esp-single__picante-badge {
	position: absolute; top: var(--esp-space-4); left: var(--esp-space-4); z-index: 3;
	display: inline-flex; align-items: center; gap: var(--esp-space-2); background: var(--esp-carbon);
	border: 1px solid var(--esp-border-strong); border-radius: var(--esp-radius-pill); padding: 0.4rem 0.8rem;
	font-size: var(--esp-fs-300); font-weight: 700; text-transform: uppercase; letter-spacing: var(--esp-tracking-caps);
}
.woocommerce-product-gallery { position: relative; width: 100% !important; margin: 0 auto; }
.woocommerce-product-gallery__wrapper { margin: 0; display: flex; align-items: center; justify-content: center; }
.woocommerce-product-gallery__image { text-align: center; width: 100%; }
.woocommerce-product-gallery__image a { display: inline-block; }
.woocommerce-product-gallery__image img {
	width: auto !important; max-width: 100%; max-height: 500px; height: auto !important; object-fit: contain;
	margin: 0 auto !important; border-radius: 0; filter: drop-shadow(0 22px 34px rgba(0,0,0,.55));
	animation: esp-float 7s ease-in-out infinite;
}
/* El zoom queda desactivado; por si algún resto del overlay aparece, lo ocultamos. */
.zoomImg, .woocommerce-product-gallery img.zoomImg { display: none !important; }
.woocommerce-product-gallery__trigger { z-index: 4; }

/* ---- Bloque de conversión ---- */
.esp-single__convert {
	display: grid; gap: var(--esp-space-3); margin: var(--esp-space-5) 0; padding: var(--esp-space-5);
	background: var(--esp-surface); border: 1px solid rgba(255, 198, 46, 0.16); border-radius: var(--radius-lg, 22px);
}
.esp-convert-row { display: flex; align-items: center; gap: var(--esp-space-3); color: var(--esp-text-muted); font-size: var(--esp-fs-400); line-height: 1.3; }
.esp-convert-row svg { flex: 0 0 auto; color: var(--color-gold); }
.esp-convert-row strong { color: var(--color-cream); font-weight: 700; }
.flex-control-thumbs { display: flex; gap: var(--esp-space-2); margin-top: var(--esp-space-3); padding: 0; list-style: none; }
.flex-control-thumbs li { width: 72px; }
.flex-control-thumbs img { border-radius: var(--esp-radius-sm); border: 1px solid var(--esp-border); cursor: pointer; opacity: .6; transition: opacity var(--esp-dur-fast) var(--esp-ease), border-color var(--esp-dur-fast) var(--esp-ease); }
.flex-control-thumbs img.flex-active, .flex-control-thumbs img:hover { opacity: 1; border-color: var(--esp-dorado); }

/* ---- Summary ---- */
.esp-single__summary { display: flex; flex-direction: column; gap: var(--esp-space-4); }
.esp-single__summary .product_title { font-size: var(--esp-fs-800); color: var(--esp-crema); margin: 0; }
.esp-single__summary .price { color: var(--esp-dorado); font-weight: 700; font-size: var(--esp-fs-700); font-family: var(--esp-font-body); }
.esp-single__summary .price del { color: var(--esp-text-dim); font-weight: 400; font-size: var(--esp-fs-500); margin-right: 0.5rem; }
.esp-single__summary .price ins { text-decoration: none; }
.esp-single__summary .woocommerce-product-rating { display: flex; align-items: center; gap: var(--esp-space-3); margin: 0; }
.esp-single__summary .star-rating { color: var(--esp-dorado); }
.esp-single__summary .woocommerce-review-link { color: var(--esp-text-muted); font-size: var(--esp-fs-300); }
.esp-single__summary .woocommerce-product-details__short-description { color: var(--esp-text-muted); }

/* Variaciones (tamaño 5oz/8oz) */
.variations { width: 100%; border-collapse: collapse; margin-bottom: var(--esp-space-3); }
.variations th.label { text-align: left; padding: var(--esp-space-2) 0; font-weight: 700; text-transform: uppercase; letter-spacing: var(--esp-tracking-caps); font-size: var(--esp-fs-300); color: var(--esp-text-muted); }
.variations td.value { padding: var(--esp-space-2) 0; }
.variations select { width: 100%; }
.reset_variations { display: inline-block; margin-top: var(--esp-space-2); color: var(--esp-text-dim); font-size: var(--esp-fs-300); }

/* Add to cart */
.esp-single__summary form.cart { display: flex; align-items: center; gap: var(--esp-space-3); flex-wrap: wrap; margin: var(--esp-space-2) 0; }
.esp-single__summary form.variations_form { display: block; }
.esp-single__summary form.cart .single_add_to_cart_button {
	flex: 1 1 auto; display: inline-flex; align-items: center; justify-content: center; gap: var(--esp-space-2);
	font-family: var(--esp-font-body); font-weight: 700; text-transform: uppercase; letter-spacing: var(--esp-tracking-caps);
	padding: 1.05rem 1.6rem; border-radius: var(--esp-radius-pill); background: var(--esp-rojo); color: #fff; border: 0; cursor: pointer; will-change: transform;
	box-shadow: 0 8px 22px rgba(226,42,35,.34), inset 0 1px 0 rgba(255,255,255,.18);
	transition: background 160ms var(--esp-ease-emph), box-shadow 200ms var(--esp-ease-emph), transform var(--esp-press) var(--esp-press-ease);
}
.esp-single__summary form.cart .single_add_to_cart_button:hover { background: #ef332c; transform: translateY(-2px); box-shadow: 0 14px 34px rgba(226,42,35,.5), inset 0 1px 0 rgba(255,255,255,.22); }
.esp-single__summary form.cart .single_add_to_cart_button:active { transform: translateY(0) scale(0.985); box-shadow: 0 4px 12px rgba(226,42,35,.4), inset 0 2px 6px rgba(0,0,0,.25); transition-duration: var(--esp-press); }

/* Notas de sabor */
.esp-single__notas { background: color-mix(in srgb, var(--esp-dorado) 7%, var(--esp-surface)); border: 1px solid var(--esp-border-strong); border-radius: var(--esp-radius); padding: var(--esp-space-4); }
.esp-single__notas-title { font-family: var(--esp-font-display); font-size: var(--esp-fs-500); color: var(--esp-dorado); text-transform: uppercase; letter-spacing: var(--esp-tracking-caps); margin-bottom: var(--esp-space-1); }
.esp-single__notas p { color: var(--esp-text-muted); margin: 0; }
.esp-single__badges { display: flex; flex-wrap: wrap; gap: var(--esp-space-2); }
.esp-single__accordion { margin-top: var(--esp-space-2); }
.esp-single__summary .product_meta { color: var(--esp-text-dim); font-size: var(--esp-fs-300); border-top: 1px solid var(--esp-border); padding-top: var(--esp-space-3); }
.esp-single__summary .product_meta a { color: var(--esp-text-muted); }

/* Tabs nativos (Descripción / Reviews) */
.woocommerce-tabs { margin-top: var(--esp-space-8); }
.woocommerce-tabs ul.tabs { display: flex; gap: var(--esp-space-2); flex-wrap: wrap; border-bottom: 1px solid var(--esp-border); margin-bottom: var(--esp-space-5); padding: 0; list-style: none; }
.woocommerce-tabs ul.tabs li a { display: inline-block; padding: var(--esp-space-3) var(--esp-space-4); font-weight: 700; text-transform: uppercase; letter-spacing: var(--esp-tracking-caps); font-size: var(--esp-fs-300); color: var(--esp-text-muted); border-bottom: 2px solid transparent; }
.woocommerce-tabs ul.tabs li.active a { color: var(--esp-dorado); border-bottom-color: var(--esp-rojo); }

/* Related */
.related.products, .upsells.products { margin-top: var(--esp-space-8); }
.related.products > h2, .upsells.products > h2 { font-size: var(--esp-fs-700); margin-bottom: var(--esp-space-5); text-align: center; }
