/*
Theme Name: YUMM Template Site
Theme URI: https://yumm.com
Author: YUMM Team
Author URI: https://yumm.com
Description: Tema personalizado para YUMM, compatible con Elementor Page Builder
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: yumm-template-site
Tags: elementor, woocommerce, custom-menu, featured-images, full-width-template, translation-ready
*/

/* Reset y estilos base */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	line-height: 1.6;
	color: #333;
	background-color: #fff;
}

/* Contenedor principal */
.site {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

.site-main {
	flex: 1;
}

/* Cargar Dashicons para los iconos */
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined');

/* Header Styles */
.site-header {
	background: #fff;
	padding: 1rem 2rem;
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);
	position: sticky;
	top: 0;
	z-index: 1000;
	overflow: visible;
}

.site-header .header-container {
	max-width: 1400px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
}

/* Logo con gradiente */
.site-logo {
	font-size: 2rem;
	font-weight: 700;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	text-decoration: none;
}

/* Iconos del header */
.header-icons {
	display: flex;
	gap: 1.5rem;
	align-items: center;
	margin-left: 0;
}

.header-icons a,
.header-icons button {
	color: #333;
	font-size: 1.5rem;
	text-decoration: none;
	transition: color 0.3s;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
}

.header-icons a:hover,
.header-icons button:hover {
	color: #667eea;
}

.header-icons .dashicons {
	font-size: 24px;
	width: 24px;
	height: 24px;
}

/* Menú hamburguesa - oculto en desktop por defecto */
.header-icon-menu {
	display: none;
}

/* En desktop (mayor a 768px), asegurar que el menú de navegación se muestre */
@media (min-width: 769px) {
	.main-navigation {
		display: block !important;
	}
	
	.header-icon-menu {
		display: none !important;
	}
}

/* Estilos para el contador del carrito */
.header-icon-cart {
	position: relative;
}

.cart-count {
	position: absolute;
	top: -8px;
	right: -8px;
	background: #e91e63;
	color: #fff;
	border-radius: 50%;
	width: 20px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: bold;
	line-height: 1;
}

/* Contenedor para menú e iconos juntos */
.header-nav-wrapper {
	display: flex;
	align-items: center;
	gap: 2rem;
	margin-left: auto;
}

/* Estilos para el menú de navegación */
.main-navigation {
	margin: 0;
}

.main-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 2rem;
	align-items: center;
}

.main-navigation li {
	margin: 0;
}

.main-navigation a {
	color: #333;
	text-decoration: none;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	transition: color 0.3s;
}

.main-navigation a:hover {
	color: #667eea;
}

/* Formulario de búsqueda en el header */
.header-search-form {
	background: #fff;
	padding: 1rem 0;
	box-shadow: 0 2px 10px rgba(0,0,0,0.1);
	z-index: 1001;
}

.header-search-form .search-form {
	margin: 0;
	max-width: 600px;
	margin: 0 auto;
	display: flex;
	gap: 0.5rem;
}

.header-search-form input[type="search"] {
	flex: 1;
	padding: 0.75rem;
	border: 1px solid #ddd;
	border-radius: 4px;
}

.header-search-form button[type="submit"] {
	padding: 0.75rem 1.5rem;
	background: #667eea;
	color: #fff;
	border: none;
	border-radius: 4px;
	cursor: pointer;
}

.header-search-form button[type="submit"]:hover {
	background: #5568d3;
}

/* Footer Styles */
.site-footer {
	background: transparent !important;
	color: #fff !important;
	padding: 2rem !important;
	margin-top: auto;
}

.site-footer .footer-container {
	max-width: 1400px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 2rem;
}

.footer-social {
	display: flex;
    gap: 1rem;
    align-items: center;
    width: 100%;
    justify-content: center;
}

.footer-social a {
	width: 40px !important;
	height: 40px !important;
	border-radius: 50% !important;
	background: #4A90E2 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-decoration: none !important;
	transition: transform 0.3s, opacity 0.3s;
}

.footer-social a:hover {
	transform: scale(1.1);
	opacity: 0.9;
}

.footer-social .dashicons {
	font-size: 30px !important;
	width: 30px !important;
	height: 30px !important;
	color: white !important;
}

.footer-copyright {
	color: #4A90E2 !important;
	font-size: 0.9rem;
	margin: 0;
	text-align: center;
	justify-content: center;
	width: 100%;
}

.footer-copyright p {
	color: #4A90E2 !important;
	margin: 0 !important;
}

/* Footer variante blanca */
.site-footer.footer-white {
	background: #fff;
	color: #333;
}

.site-footer.footer-white .footer-social a {
	background: #3B82F6 !important;
	color: #fff;
}

.site-footer.footer-white .footer-copyright {
	color: white;
}

/* Contenido de página */
.entry-content {
	max-width: 100%;
}

/* Elementor compatibility */
.elementor-page .site-main {
	padding: 0;
}

.elementor-page .entry-content {
	max-width: 100%;
	padding: 0;
}

/* Responsive */
@media (max-width: 768px) {
	.site-header .header-container {
		flex-wrap: wrap;
		position: relative;
	}
	
	/* Mostrar menú hamburguesa en móvil */
	.header-icon-menu {
		display: flex !important;
		align-items: center;
		justify-content: center;
	}
	
	/* Reorganizar el wrapper en móvil */
	.header-nav-wrapper {
		margin-left: auto;
		flex-direction: row;
		gap: 1rem;
		align-items: center;
		position: relative;
	}
	
	/* Ocultar menú de navegación por defecto en móvil */
	.header-nav-wrapper .main-navigation {
		display: none;
		position: absolute;
		top: calc(100% + 1rem);
		right: 0;
		width: calc(100vw - 4rem);
		max-width: 300px;
		background: #fff;
		box-shadow: 0 2px 10px rgba(0,0,0,0.1);
		z-index: 999;
		padding: 1rem;
		margin: 0;
	}
	
	/* Mostrar menú cuando está activo */
	.header-nav-wrapper .main-navigation.menu-open {
		display: block;
	}
	
	.main-navigation ul {
		flex-direction: column;
		align-items: flex-start;
		gap: 1rem;
		width: 100%;
	}
	
	.header-icons {
		gap: 1rem;
		display: flex;
		flex-direction: row;
	}
	
	.site-footer .footer-container {
		flex-direction: column;
		text-align: center;
	}
}

/* ============================================
   WOOCOMMERCE PRODUCT CUSTOM STYLES
   ============================================ */

/* Estilos para información de proteína */
.yumm-protein-info {
	font-size: 1.5rem;
	margin: 1rem 0;
	line-height: 1.6;
}

.yumm-protein-info strong {
	color: #e91e63;
	font-size: 1.8rem;
	font-weight: bold;
}

/* Estilos para beneficios */
.yumm-benefits {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
	margin: 2rem 0;
}

.yumm-benefit-item {
	padding: 1rem;
	text-align: center;
	background: #f5f5f5;
	border-radius: 8px;
}

/* Estilos para certificaciones */
.yumm-certifications {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin: 2rem 0;
	justify-content: center;
}

.yumm-certification-item {
	padding: 0.75rem 1.5rem;
	background: #fff;
	border: 2px solid #ddd;
	border-radius: 50px;
	font-size: 0.9rem;
	font-weight: 600;
	text-align: center;
}

/* Estilos para información nutricional */
.yumm-nutritional-info {
	margin: 2rem 0;
}

.yumm-nutrition-table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.yumm-nutrition-table tr {
	border-bottom: 1px solid #eee;
}

.yumm-nutrition-table td {
	padding: 0.75rem 1rem;
}

.yumm-nutrition-table tr:nth-child(even) {
	background: #f9f9f9;
}

.yumm-nutrition-table td:first-child {
	font-weight: 600;
	width: 60%;
}

/* Estilos para ingredientes */
.yumm-ingredients {
	margin: 2rem 0;
	padding: 1.5rem;
	background: #f9f9f9;
	border-radius: 8px;
	line-height: 1.8;
}

/* Estilos para "Sin" */
.yumm-without {
	margin: 2rem 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
}

.yumm-without-label {
	font-size: 2rem;
	font-weight: bold;
	color: #2196F3;
}

.yumm-without-items {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.yumm-without-item {
	padding: 0.5rem 1rem;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-weight: 600;
	font-size: 0.9rem;
}

/* Estilos para productos recomendados */
.yumm-recommended-products {
	margin: 3rem 0;
	padding: 2rem 0;
}

.yumm-recommended-title {
	text-align: center;
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 2rem;
}

.yumm-recommended-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 2rem;
	max-width: 1200px;
	margin: 0 auto;
}

.yumm-recommended-product {
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 6px rgba(0,0,0,0.1);
	transition: transform 0.3s, box-shadow 0.3s;
}

.yumm-recommended-product:hover {
	transform: translateY(-5px);
	box-shadow: 0 6px 12px rgba(0,0,0,0.15);
}

.yumm-recommended-link {
	text-decoration: none;
	color: inherit;
	display: block;
}

.yumm-recommended-product img {
	width: 100%;
	height: auto;
	display: block;
}

.yumm-recommended-product-title {
	padding: 1rem;
	font-size: 1.1rem;
	font-weight: 600;
	margin: 0;
	color: #333;
}

.yumm-recommended-product-price {
	padding: 0 1rem;
	font-size: 1.25rem;
	font-weight: bold;
	color: #4caf50;
	margin-bottom: 1rem;
}

.yumm-recommended-product-button {
	width: calc(100% - 2rem);
	margin: 0 1rem 1rem;
	padding: 0.75rem;
	background: #667eea;
	color: #fff;
	border: none;
	border-radius: 6px;
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.3s;
}

.yumm-recommended-product-button:hover {
	background: #5568d3;
}

/* Responsive para productos recomendados */
@media (max-width: 768px) {
	.yumm-benefits {
		grid-template-columns: 1fr;
	}
	
	.yumm-recommended-grid {
		grid-template-columns: 1fr;
	}
	
	.yumm-without {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* Estilos para página de producto con Elementor */
.elementor-page .woocommerce {
	padding: 0;
}

.elementor-page .site-main {
	max-width: 100%;
	padding: 0;
}

/* Ocultar sidebar en productos individuales */
.single-product .site-main {
	width: 100%;
}

.single-product #sidebar {
	display: none;
}

/* ============================================
   ESTILOS PARA INFORMACIÓN DEL PRODUCTO
   (Lado derecho - como en la captura)
   ============================================ */

/* Contenedor principal del producto */
.single-product .woocommerce-product-gallery,
.single-product .summary {
	margin-bottom: 2rem;
}

/* Título del producto */
.single-product .product_title.entry-title {
	font-size: 2rem;
	font-weight: 700;
	color: #333;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 1rem;
	line-height: 1.2;
}

/* Descripción del producto */
.single-product .woocommerce-product-details__short-description {
	font-size: 1rem;
	color: #333;
	line-height: 1.6;
	margin-bottom: 1.5rem;
}

/* Precio */
.single-product .price {
	font-size: 1.5rem;
	font-weight: 700;
	color: #333;
	margin-bottom: 2rem;
}

.single-product .price .woocommerce-Price-amount {
	font-size: 1.5rem;
	font-weight: 400;
}

.woocommerce-Price-currencySymbol {
	margin-right: 15px;
}
/* Selector de tamaño (variaciones) */
.single-product .variations {
	margin-bottom: 2rem;
}

.single-product .variations tr {
	display: flex;
	flex-direction: column;
	margin-bottom: 1.5rem;
}

.single-product .variations label {
	font-size: 0.875rem;
	font-weight: 600;
	text-transform: uppercase;
	color: #333;
	letter-spacing: 0.5px;
	margin-bottom: 0.5rem;
	display: block;
}

.single-product .variations select {
	display: none !important;
}

.single-product .variations .reset_variations {
	margin-bottom: 1rem;
}

/* Botones de variación personalizados */
.single-product .variations_form .variations .value {
	position: relative;
}

/* Estilos para variaciones personalizadas */
.single-product .yumm-variation-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 0.5rem;
}

.single-product .yumm-variation-button {
	padding: 0.75rem 1.5rem;
	border: 1px solid #2196F3;
	border-radius: 50px;
	background: #E3F2FD;
	color: #fff;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.3s;
	font-size: 0.875rem;
	text-transform: uppercase;
}

.single-product .yumm-variation-button.selected,
.single-product .yumm-variation-button.active {
	background: #2196F3;
	color: #fff;
}

.single-product .yumm-variation-button:hover {
	background: #1976D2;
	border-color: #1976D2;
	color: #fff;
}

/* Selector de cantidad personalizado */
.single-product .quantity {
	display: flex;
	flex-direction: column;
	margin-bottom: 1.5rem;
}

.single-product .quantity label {
	font-size: 0.875rem;
	font-weight: 600;
	text-transform: uppercase;
	color: #333;
	letter-spacing: 0.5px;
	margin-bottom: 0.75rem;
	display: block;
	width: 100%;
}
.woocommerce div.product form.cart .variations label {
    font-weight: 900 !important;
    text-align: left;
    font-size: 1.2em !important;
	line-height: .5 !important;
}
.single-product .quantity .yumm-quantity-selector {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}
.yumm-quantity-selector{
	position: relative;
}
.yumm-quantity-selector::before {
	position: absolute;
	top: -30px;
	left: 0;
	font-family: "Poppins", Sans-serif;
	content: 'CANTIDAD';
	font-size: 1.2em;
	font-weight: 700;
	text-transform: uppercase;
	color: #333;
	letter-spacing: 0.5px;
	margin-bottom: 0.75rem;
}

.single-product .quantity .qty {
	display: none; /* Ocultar input original */
}

.single-product .yumm-qty-button {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: none;
	background: #2196F3;
	color: #fff;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.2rem;
	transition: background 0.3s;
	padding: 0;
}

.single-product .yumm-qty-button:hover {
	background: #1976D2;
}

.single-product .yumm-qty-button.decrease::before {
	content: '−';
	font-weight: bold;
}

.single-product .yumm-qty-button.increase::before {
	content: '+';
	font-weight: bold;
}

.single-product .yumm-qty-display {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #fff;
	border: 1px solid #ddd;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1rem;
	font-weight: 600;
	color: #333;
}

/* Contenedor de botones de acción */
.single-product .yumm-product-actions {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-top: 1.5rem;
}

/* Botón de favoritos */
.single-product .yumm-wishlist-button {
	width: 48px;
	height: 48px;
	border: 2px solid #2196F3;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
	color: #2196F3;
	transition: all 0.3s;
	padding: 0;
}
.yumm-wishlist-button {
	margin-left: 20px !important;
}

.single-product .yumm-wishlist-button:hover {
	background: #2196F3;
	color: #fff;
}

.single-product .yumm-wishlist-button .dashicons {
	width: 24px;
	height: 24px;
	font-size: 24px;
}

/* Botón Añadir al carrito */
.single-product .single_add_to_cart_button.button.alt,
.single-product button.single_add_to_cart_button.button {
	padding: 0.875rem 2rem;
	border: 2px solid #2196F3;
	border-radius: 50px;
	background: transparent;
	color: #2196F3;
	font-size: 0.875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	transition: all 0.3s;
	cursor: pointer;
	flex: 1;
}

.single-product .single_add_to_cart_button.button.alt:hover,
.single-product button.single_add_to_cart_button.button:hover {
	background: #2196F3;
	border-color: #2196F3;
	color: #fff;
}

/* Botón Comprar */
.single-product .yumm-buy-now-button {
	padding: 0.875rem 2rem;
	border: 2px solid #2196F3;
	border-radius: 50px;
	background: transparent;
	color: #2196F3;
	font-size: 0.875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	transition: all 0.3s;
	cursor: pointer;
	flex: 1;
}

.single-product .yumm-buy-now-button:hover {
	background: #2196F3;
	border-color: #2196F3;
	color: #fff;
}

/* Formulario del producto */
.single-product form.cart {
	margin-top: 2rem;
}

/* Agrupar tamaño y cantidad */
.single-product .yumm-product-options {
	margin-bottom: 2rem;
}

.single-product .yumm-product-options > div {
	margin-bottom: 1.5rem;
}

/* Responsive */
@media (max-width: 768px) {
	.single-product .product_title.entry-title {
		font-size: 1.5rem;
	}
	
	.single-product .yumm-product-actions {
		flex-wrap: wrap;
	}
	
	.single-product .yumm-wishlist-button {
		order: -1;
	}
	
	.single-product .single_add_to_cart_button.button.alt,
	.single-product button.single_add_to_cart_button.button,
	.single-product .yumm-buy-now-button {
		flex: 1 1 calc(50% - 0.5rem);
		min-width: 140px;
	}
}

/* ============================================
   ESTILOS PARA ELEMENTOR (Mayor especificidad)
   ============================================ */

/* Título del producto en Elementor */
.elementor-widget-woocommerce-product-title .elementor-heading-title,
.elementor-page .elementor-widget-woocommerce-product-title .elementor-heading-title,
.elementor-813 .elementor-widget-woocommerce-product-title .elementor-heading-title {
	font-size: 2rem !important;
	font-weight: 700 !important;
	color: #333 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	line-height: 1.2 !important;
}

/* Precio en Elementor */
.elementor-widget-woocommerce-product-price .price,
.elementor-page .elementor-widget-woocommerce-product-price .price,
.elementor-813 .elementor-widget-woocommerce-product-price .price,
.woocommerce .elementor-widget-woocommerce-product-price .price {
	font-size: 1.5rem !important;
	font-weight: 700 !important;
	color: #333 !important;
	margin-bottom: 2rem !important;
}

/* Descripción corta en Elementor */
.woocommerce .elementor-widget-woocommerce-product-short-description .woocommerce-product-details__short-description,
.elementor-page .woocommerce-product-details__short-description {
	font-size: 1rem !important;
	color: #333 !important;
	line-height: 1.6 !important;
	margin-bottom: 1.5rem !important;
}

/* Variaciones en Elementor */
.elementor-page .variations label,
.elementor-813 .variations label,
.woocommerce .elementor-page .variations label {
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	color: #333 !important;
	letter-spacing: 0.5px !important;
	margin-bottom: 0.5rem !important;
	display: block !important;
}

.elementor-page .variations select,
.elementor-813 .variations select {
	display: none !important;
}

/* Botones de variación personalizados en Elementor */
.elementor-page .yumm-variation-buttons,
.elementor-813 .yumm-variation-buttons {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0.75rem !important;
	margin-top: 0.5rem !important;
}

.elementor-page .yumm-variation-button,
.elementor-813 .yumm-variation-button {
	padding: 0.75rem 1.5rem !important;
	border: 1px solid #2196F3 !important;
	border-radius: 50px !important;
	background: #E3F2FD !important;
	color: #2196F3 !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	transition: all 0.3s !important;
	font-size: 0.875rem !important;
	text-transform: uppercase !important;
}

.elementor-page .yumm-variation-button.selected,
.elementor-page .yumm-variation-button.active,
.elementor-813 .yumm-variation-button.selected,
.elementor-813 .yumm-variation-button.active {
	background: #2196F3 !important;
	color: #fff !important;
}

.elementor-page .yumm-variation-button:hover,
.elementor-813 .yumm-variation-button:hover {
	background: #1976D2 !important;
	border-color: #1976D2 !important;
	color: #fff !important;
}

/* Selector de cantidad en Elementor */
.elementor-page .quantity label,
.elementor-813 .quantity label {
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	color: #333 !important;
	letter-spacing: 0.5px !important;
	margin-bottom: 0.5rem !important;
	display: block !important;
	width: 100% !important;
}

.elementor-page .quantity .yumm-quantity-selector,
.elementor-813 .quantity .yumm-quantity-selector {
	display: flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
}

.elementor-page .quantity .qty,
.elementor-813 .quantity .qty {
	display: none !important;
}

.elementor-page .yumm-qty-button,
.elementor-813 .yumm-qty-button {
	width: 40px !important;
	height: 40px !important;
	border-radius: 50% !important;
	border: none !important;
	background: #2196F3 !important;
	color: #fff !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 1.2rem !important;
	transition: background 0.3s !important;
	padding: 0 !important;
}

.elementor-page .yumm-qty-button:hover,
.elementor-813 .yumm-qty-button:hover {
	background: #1976D2 !important;
}

.elementor-page .yumm-qty-display,
.elementor-813 .yumm-qty-display {
	width: 40px !important;
	height: 40px !important;
	border-radius: 50% !important;
	background: #fff !important;
	border: 1px solid #ddd !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	color: #333 !important;
}

/* Botones de acción en Elementor */
.elementor-page .yumm-product-actions,
.elementor-813 .yumm-product-actions {
	display: flex !important;
	align-items: center !important;
	gap: 1rem !important;
	margin-top: 1.5rem !important;
}

.elementor-page .yumm-wishlist-button,
.elementor-813 .yumm-wishlist-button {
	width: 48px !important;
	height: 48px !important;
	border: none !important;
	border-radius: 50% !important;
	background: transparent !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 1.5rem !important;
	-webkit-text-stroke: 2px #2196F3;
	transition: all 0.3s !important;
	padding: 0 !important;
}

.elementor-page .yumm-wishlist-button:hover,
.elementor-813 .yumm-wishlist-button:hover {
	background: #2196F3 !important;
	color: #fff !important;
}

.elementor-page .yumm-wishlist-button .dashicons,
.elementor-813 .yumm-wishlist-button .dashicons {
	width: 24px !important;
	height: 24px !important;
	font-size: 24px !important;
}

/* Botón Añadir al carrito en Elementor */
.elementor-page .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button,
.elementor-813 .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button,
.elementor-page .cart button.single_add_to_cart_button,
.elementor-813 .cart button.single_add_to_cart_button {
	padding: 0.875rem 2rem !important;
	border: 2px solid #2196F3 !important;
	border-radius: 50px !important;
	background: transparent !important;
	color: #2196F3 !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	transition: all 0.3s !important;
	cursor: pointer !important;
	flex: 1 !important;
}

.elementor-page .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button:hover,
.elementor-813 .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button:hover,
.elementor-page .cart button.single_add_to_cart_button:hover,
.elementor-813 .cart button.single_add_to_cart_button:hover {
	background: #2196F3 !important;
	border-color: #2196F3 !important;
	color: #fff !important;
}

/* Botón Comprar en Elementor */
.elementor-page .yumm-buy-now-button,
.elementor-813 .yumm-buy-now-button {
	padding: 0.875rem 2rem !important;
	border: 2px solid #2196F3 !important;
	border-radius: 50px !important;
	background: transparent !important;
	color: #2196F3 !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	transition: all 0.3s !important;
	cursor: pointer !important;
	flex: 1 !important;
}

.elementor-page .yumm-buy-now-button:hover,
.elementor-813 .yumm-buy-now-button:hover {
	background: #2196F3 !important;
	border-color: #2196F3 !important;
	color: #fff !important;
}

:is(.elementor-widget-woocommerce-product-add-to-cart,.woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart,.elementor-widget-wc-add-to-cart,.woocommerce div.product .elementor-widget-wc-add-to-cart) form.cart.variations_form .woocommerce-variation-add-to-cart, :is(.elementor-widget-woocommerce-product-add-to-cart,.woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart,.elementor-widget-wc-add-to-cart,.woocommerce div.product .elementor-widget-wc-add-to-cart) form.cart:not(.grouped_form):not(.variations_form) {
	display: table !important;
}
.woocommerce div.product form.cart div.quantity {
	float: none !important;
	margin: 0px 4px 40px 0px;
}
:is(.elementor-widget-woocommerce-product-add-to-cart,.woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart,.elementor-widget-wc-add-to-cart,.woocommerce div.product .elementor-widget-wc-add-to-cart) form.cart .button:where(:not(:first-child)), :is(.elementor-widget-woocommerce-product-add-to-cart,.woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart,.elementor-widget-wc-add-to-cart,.woocommerce div.product .elementor-widget-wc-add-to-cart) form.cart button:where(:not(:first-child)) {
	margin-inline-start: 0 !important;
}

/* Estilos producto widgets*/
.title-whey-yuum {
	font-family: "Poppins", Sans-serif;
	font-size: 2.3rem;
	font-weight: bold;
	color: #4e4d4d;
	letter-spacing: 0.5px;
	line-height: 1.2;
	margin-bottom: 1rem;
	text-align: center;
}

/* Estilos infografia */
.product-infographic {
    position: relative;
    width: 100%;
    max-width: 1200px;
    min-height: 600px;
    background: linear-gradient(135deg, #0a0e27 0%, #1a1a3e 50%, #0f1419 100%);
    border-radius: 25px;
    overflow: hidden;
	margin: 0 auto;
}
.product-infographic::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 95%;
    height: 5px;
    border-radius: 10px;
    background-color: #4a9eff;
	z-index: 10;
}
.product-infographic::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 95%;
    height: 5px;
    border-radius: 10px;
    background-color: #4a9eff;
	z-index: 10;
}

.background-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.blurred-image {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 120%;
    height: 120%;
    background-size: cover;
    background-position: center;
    opacity: 1;
    z-index: 0;
}

.content-wrapper {
    position: relative;
    z-index: 2;
    padding: 40px 35px;
    display: flex;
    flex-direction: column;
    gap: 50px;
}

.main-title {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    text-align: center;
    justify-content: center;
}

.title-number {
    font-size: 72px;
    font-weight: 900;
    color: #ff1744;
    line-height: 1;
    -webkit-text-stroke: 1px #fff;
}

.title-text {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.title-line-1,
.title-line-2 {
    font-size: 48px;
    font-weight: 800;
    color: #ffffff;
    line-height:.8;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

.title-line-2 {
    font-size: 28px;
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 35px 25px;
}

.feature-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

.feature-icon {
    position: relative;
    width: 100px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.feature-icon svg {
    width: 100%;
    height: 100%;
}

.feature-icon-text {
    position: relative;
}

.icon-label {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 10px;
    font-weight: 800;
    color: #ffffff;
    text-align: center;
    white-space: nowrap;
    letter-spacing: 0.5px;
}

.feature-text {
    font-size: 16px;
    font-weight: 900;
    color: #ffffff;
    text-align: center;
    line-height: 1.3;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .product-infographic {
        max-width: 100%;
        border-radius: 20px;
        min-height: 500px;
    }
    
    .content-wrapper {
        padding: 30px 25px;
        gap: 40px;
    }
    
    .title-number {
        font-size: 56px;
    }
    
    .title-line-1 {
        font-size: 24px;
    }
    
    .title-line-2 {
        font-size: 20px;
    }
    
    .features-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px 20px;
    }
    
    .feature-icon {
        width: 80px;
        height: 80px;
    }
    
    .icon-label {
        font-size: 8px;
    }
    
    .feature-text {
        font-size: 12px;
    }
}

@media (max-width: 480px) {
    .features-grid {
        grid-template-columns: 1fr;
        gap: 25px;
    }
    
    .main-title {
        flex-direction: column;
        gap: 10px;
    }
    
    .title-number {
        font-size: 48px;
    }
    
    .title-line-1 {
        font-size: 20px;
    }
    
    .title-line-2 {
        font-size: 18px;
    }
}

#container_infografia .elementor-element{
	width: 100% !important;
}

/* estlos certificados*/
.certifications-container {
    width: 100%;
    max-width: 1200px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 50px;
}

.main-heading {
    font-size: 21px;
    font-weight: 600;
    color: #575857;
    text-align: center;
    line-height: 1.4;
    margin-bottom: 20px;
}

.badges-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 40px;
    flex-wrap: wrap;
}

.certification-badge {
    position: relative;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.badge-content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 20px;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
    .badges-wrapper {
        gap: 30px;
    }
    
    .certification-badge {
        width: 180px;
        height: 180px;
    }
}

@media (max-width: 768px) {
    .main-heading {
        font-size: 26px;
    }
    
    .badges-wrapper {
        gap: 25px;
    }
    
    .certification-badge {
        width: 160px;
        height: 160px;
    }
}

@media (max-width: 480px) {
    .main-heading {
        font-size: 22px;
        padding: 0 10px;
    }
    
    .badges-wrapper {
        gap: 20px;
    }
    
    .certification-badge {
        width: 140px;
        height: 140px;
    }
}
/* estilos reviews */
.reviews-container {
    width: 100%;
    max-width: 1200px;
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 30px;
    flex-wrap: wrap;
}

.review-card {
    flex: 1;
    min-width: 280px;
    max-width: 350px;
    background-color: #4a4a4a;
    border-radius: 12px;
    padding: 20px 15px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.review-text {
    flex: 1;
    margin-bottom: 0px;
	min-height: 80px !important;
}

.review-text p {
	font-family: "Poppins", Sans-serif;
    color: #ffffff;
    font-size: 16px;
    line-height: 1.2;
    text-align: center;
    margin: 0;
}

.review-separator {
    width: 100%;
    height: 1px;
    background-color: #ffffff;
    margin: 20px 0;
}

.review-author {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
}

.author-name {
    color: #ffffff;
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    margin: 0;
}

.author-title {
    color: #ffffff;
    font-size: 14px;
    font-weight: 400;
    text-align: center;
    margin: 0;
    opacity: 0.9;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .reviews-container {
        gap: 25px;
    }
    
    .review-card {
        min-width: 100%;
        max-width: 100%;
    }
    
    .review-text p {
        font-size: 15px;
    }
    
    .author-name {
        font-size: 17px;
    }
    
    .author-title {
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    body {
        padding: 30px 15px;
    }
    
    .review-card {
        padding: 25px 20px;
    }
    
    .review-text p {
        font-size: 14px;
    }
    
    .author-name {
        font-size: 16px;
    }
    
    .author-title {
        font-size: 12px;
    }
}
/* estilos nutrimental */
.nutrimental-container {
    width: 100%;
    max-width: 1400px;
    display: flex;
    gap: 30px;
    align-items: flex-start;
}

.column {
    flex: 1;
    display: flex;
    flex-direction: column;
}


.image-wrapper {
    width: 100%;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f5f5f5;
    border-radius: 8px;
    overflow: hidden;
}

.image-wrapper img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
    .nutrimental-container {
        gap: 25px;
    }
}

@media (max-width: 768px) {
    .nutrimental-container {
        flex-direction: column;
        gap: 30px;
    }
    
    .column {
        width: 100%;
    }
}


@media (max-width: 480px) {
    body {
        padding: 20px 15px;
    }    
    .nutrimental-container {
        gap: 20px;
    }
}

.elementor-813 .elementor-element.elementor-element-785aed3e {
    --row-gap: 10px !important;
}

.elementor-813 .elementor-element.elementor-element-31f13150.elementor-wc-products .attachment-woocommerce_thumbnail{
    border-radius: 30px;
}


.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .woocommerce-loop-product__title{
	font-size: 1.5em !important;
	font-weight: 700 !important;
	color: #333 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	line-height: 1.2 !important;
	margin-bottom: 0 !important;
	text-align: center !important;
}

.woocommerce ul.products li.product .price{
	font-size: 1.3em !important;
	font-weight: 400 !important;
	color: #333 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	line-height: 1.2 !important;
	margin-bottom: 1rem !important;
	text-align: center !important;
}

.woocommerce-loop-product__buttons{
	text-align: center !important;
}
