/* ==========================================================================
   Mi Mundo Gourmet – Rediseño
   Inspiración: loliferrer.com (estética) + calidadgourmet.com (sencillez y menú)
   ========================================================================== */

:root {
	--mmg-green: #9cb332;
	--mmg-green-dark: #7f9425;
	--mmg-ink: #1c1c1c;
	--mmg-text: #4a4750;
	--mmg-muted: #8a8790;
	--mmg-line: #e9e6e1;
	--mmg-cream: #f6f3ee;
	--mmg-white: #ffffff;
	--mmg-serif: 'IBM Plex Serif', Georgia, serif;
	--mmg-sans: 'Inter', -apple-system, 'Segoe UI', sans-serif;
	--mmg-track: 0.14em;
}

/* ---------- Barra superior (negra, estilo Loliferrer) ---------- */
.ast-above-header-bar {
	background: var(--mmg-ink) !important;
	border-bottom: 0 !important;
}
.ast-above-header-bar,
.ast-above-header-bar a,
.ast-above-header-bar .ast-header-html,
.ast-above-header-bar .ast-builder-html-element,
.ast-above-header-bar .menu-link {
	color: #e9e6e1 !important;
	font-family: var(--mmg-sans);
	font-size: 12px !important;
	letter-spacing: 0.04em;
}
.ast-above-header-bar a:hover,
.ast-above-header-bar .menu-link:hover {
	color: var(--mmg-green) !important;
}
.ast-above-header-bar .ast-builder-html-element p { margin: 0; }
.mmg-topbar-item { display: inline-block; }
.mmg-topbar-item + .mmg-topbar-item::before {
	content: "|";
	margin: 0 12px;
	color: #5c5a60;
}
.ast-above-header-bar .main-header-menu .menu-item > .menu-link {
	font-size: 11px !important;
	font-weight: 400 !important;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	padding: 0 12px !important;
	line-height: 38px;
}
.ast-above-header-bar .ast-header-social-wrap .ast-builder-social-element {
	margin-left: 4px;
}
.ast-above-header-bar .ast-header-social-wrap svg {
	fill: #e9e6e1 !important;
	width: 14px !important;
	height: 14px !important;
}
.ast-above-header-bar .ast-header-social-wrap a:hover svg { fill: var(--mmg-green) !important; }

/* ---------- Cabecera principal: buscador · logo · cuenta/carrito ---------- */
.ast-primary-header-bar {
	background: var(--mmg-white) !important;
	border-bottom: 1px solid var(--mmg-line) !important;
}
.ast-primary-header-bar .custom-logo-link img,
#ast-mobile-header .custom-logo-link img {
	height: auto;
	max-height: 80px;
	width: auto;
	max-width: 260px;
}
.ast-site-identity { padding: 8px 0 !important; }
.site-title,
.site-title a,
.site-title a:hover {
	font-family: var(--mmg-serif) !important;
	font-weight: 500 !important;
	font-size: 30px !important;
	letter-spacing: 0.02em;
	color: var(--mmg-ink) !important;
	line-height: 1.1 !important;
	margin: 0 !important;
}
.site-title a::after {
	content: "Productos gourmet";
	display: block;
	text-align: center;
	font-family: var(--mmg-sans);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	color: var(--mmg-green);
	margin-top: 4px;
}
.ast-primary-header-bar .ast-header-search .astra-search-icon,
.ast-primary-header-bar .ast-header-account .ahfb-svg-iconset svg,
.ast-primary-header-bar .ast-header-woo-cart .ast-cart-menu-wrap,
.ast-primary-header-bar .ast-site-header-cart .ast-woo-header-cart-info-wrap {
	color: var(--mmg-ink) !important;
	fill: var(--mmg-ink) !important;
}
.ast-primary-header-bar .ast-header-account,
.ast-primary-header-bar .ast-header-woo-cart {
	margin-left: 18px;
}

/* ---------- Barra de categorías con desplegables (estilo Calidad Gourmet) ---------- */
.ast-below-header-bar {
	background: var(--mmg-white) !important;
	border-bottom: 1px solid var(--mmg-line) !important;
}
.ast-below-header-bar .main-header-menu > .menu-item > .menu-link {
	font-family: var(--mmg-sans);
	font-size: 12.5px !important;
	font-weight: 500;
	letter-spacing: var(--mmg-track);
	text-transform: uppercase;
	color: var(--mmg-ink) !important;
	padding: 0 18px !important;
	line-height: 54px;
	position: relative;
}
.ast-below-header-bar .main-header-menu > .menu-item > .menu-link::after {
	content: "";
	position: absolute;
	left: 18px;
	right: 18px;
	bottom: 14px;
	height: 1px;
	background: var(--mmg-green);
	transform: scaleX(0);
	transition: transform .25s ease;
}
.ast-below-header-bar .main-header-menu > .menu-item:hover > .menu-link::after,
.ast-below-header-bar .main-header-menu > .current-menu-item > .menu-link::after,
.ast-below-header-bar .main-header-menu > .current-menu-ancestor > .menu-link::after {
	transform: scaleX(1);
}
.ast-below-header-bar .main-header-menu > .menu-item:hover > .menu-link,
.ast-below-header-bar .main-header-menu > .current-menu-item > .menu-link,
.ast-below-header-bar .main-header-menu > .current-menu-ancestor > .menu-link {
	color: var(--mmg-green-dark) !important;
}
.ast-below-header-bar .main-header-menu > .mmg-menu-tienda > .menu-link {
	color: var(--mmg-green-dark) !important;
	font-weight: 600;
}
/* Separador entre categorías y páginas informativas (Recetas, Quiénes somos, Contacto) */
.ast-below-header-bar .main-header-menu > .mmg-menu-recetas {
	margin-left: 10px;
	padding-left: 10px;
	position: relative;
}
.ast-below-header-bar .main-header-menu > .mmg-menu-recetas::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	height: 16px;
	margin-top: -8px;
	width: 1px;
	background: var(--mmg-line);
}
.ast-below-header-bar .main-header-menu > .mmg-menu-recetas > .menu-link,
.ast-below-header-bar .main-header-menu > .mmg-menu-info > .menu-link {
	color: var(--mmg-muted) !important;
}
@media (max-width: 1400px) {
	.ast-below-header-bar .main-header-menu > .menu-item > .menu-link {
		padding: 0 12px !important;
		letter-spacing: 0.1em;
	}
	.ast-below-header-bar .main-header-menu > .menu-item > .menu-link::after { left: 12px; right: 12px; }
}

/* Desplegables */
.ast-below-header-bar .main-header-menu .sub-menu {
	width: 240px;
	background: var(--mmg-white) !important;
	border: 1px solid var(--mmg-line) !important;
	border-top: 2px solid var(--mmg-green) !important;
	box-shadow: 0 14px 30px rgba(28, 28, 28, 0.08);
	padding: 10px 0;
}
.ast-below-header-bar .main-header-menu .sub-menu .menu-link {
	font-family: var(--mmg-sans);
	font-size: 13.5px !important;
	letter-spacing: 0.01em;
	text-transform: none;
	color: var(--mmg-text) !important;
	padding: 9px 22px !important;
	border: 0 !important;
}
.ast-below-header-bar .main-header-menu .sub-menu .menu-item:hover > .menu-link {
	color: var(--mmg-green-dark) !important;
	background: var(--mmg-cream) !important;
}
.ast-below-header-bar .main-header-menu .sub-menu .sub-menu {
	border-top-width: 1px !important;
	margin-top: -11px;
}
.ast-below-header-bar .main-header-menu .dropdown-menu-toggle,
.ast-below-header-bar .main-header-menu .ast-header-navigation-arrow {
	color: var(--mmg-muted);
}

/* Menú móvil */
.ast-mobile-popup-drawer .ast-mobile-popup-inner { background: var(--mmg-white); }
.ast-mobile-popup-drawer .main-header-menu .menu-link {
	font-family: var(--mmg-sans);
	font-size: 14px;
	letter-spacing: 0.06em;
	color: var(--mmg-ink) !important;
	border-bottom: 1px solid var(--mmg-line) !important;
}
.ast-mobile-popup-drawer .main-header-menu > .menu-item > .menu-link { text-transform: uppercase; }
.ast-mobile-popup-drawer .main-header-menu .sub-menu .menu-link {
	color: var(--mmg-text) !important;
	text-transform: none;
}
@media (max-width: 921px) {
	#ast-mobile-header .ast-woo-header-cart-info-wrap { display: none !important; }
	#ast-mobile-header .ast-header-woo-cart,
	#ast-mobile-header .ast-header-search { margin-left: 8px; }
	.site-title, .site-title a { font-size: 22px !important; }
	.site-title a::after { font-size: 8px; letter-spacing: 0.26em; }
	#ast-mobile-header .custom-logo-link img { max-height: 52px; max-width: 170px; }
}
.mmg-footer-logo { margin: 0 0 18px !important; }
.mmg-footer-logo img { width: 200px; height: auto; display: block; }
.mmg-footer-logo + .mmg-footer-brand { display: none; }

/* ==========================================================================
   Portada
   ========================================================================== */
.mmg-eyebrow .elementor-heading-title {
	font-family: var(--mmg-sans) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.28em !important;
	text-transform: uppercase;
	color: var(--mmg-green-dark) !important;
}
.mmg-title .elementor-heading-title {
	font-family: var(--mmg-serif) !important;
	font-weight: 400 !important;
	color: var(--mmg-ink) !important;
	letter-spacing: 0.01em;
	line-height: 1.2 !important;
}
.mmg-lead,
.mmg-lead p {
	font-family: var(--mmg-sans);
	font-size: 16px;
	line-height: 1.75;
	color: var(--mmg-text);
}
.mmg-lead p:last-child { margin-bottom: 0; }

/* Botones */
.mmg-btn .elementor-button {
	font-family: var(--mmg-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	padding: 16px 30px;
	border-radius: 0;
	background: var(--mmg-ink);
	color: var(--mmg-white);
	border: 1px solid var(--mmg-ink);
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.mmg-btn .elementor-button:hover {
	background: var(--mmg-green);
	border-color: var(--mmg-green);
	color: var(--mmg-white);
}
.mmg-btn--ghost .elementor-button {
	background: transparent;
	color: var(--mmg-ink);
}
.mmg-btn--ghost .elementor-button:hover {
	background: var(--mmg-ink);
	border-color: var(--mmg-ink);
	color: var(--mmg-white);
}

/* Fondos de sección */
.mmg-categories,
.mmg-products,
.mmg-benefits,
.mmg-about { background: var(--mmg-white); }

/* Hero: tres productos en tarjeta, el central destacado */
.mmg-hero { background: var(--mmg-cream); }
.mmg-hero-products { padding: 30px 0; }
.mmg-hero-products > .elementor-widget-image { flex: 1 1 0; min-width: 0; position: relative; }
.mmg-hero-products .elementor-widget-image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	object-position: center 55%;
	background: var(--mmg-white);
	border: 8px solid var(--mmg-white);
	box-shadow: 0 18px 40px rgba(28, 28, 28, 0.10);
}
.mmg-hero-products > .elementor-widget-image:nth-child(1) { transform: translate(14px, 24px) rotate(-3deg); z-index: 1; }
.mmg-hero-products > .elementor-widget-image:nth-child(2) { transform: scale(1.12); z-index: 2; }
.mmg-hero-products > .elementor-widget-image:nth-child(3) { transform: translate(-14px, 24px) rotate(3deg); z-index: 1; }

/* Mosaico de categorías */
.mmg-tiles-row > .mmg-tile { flex: 1 1 0 !important; min-width: 0; }
.mmg-tiles-row > .mmg-tile--wide { flex: 2 1 0 !important; }
@media (max-width: 767px) {
	.mmg-tiles-row { flex-direction: row !important; flex-wrap: wrap !important; gap: 12px !important; }
	.mmg-tiles-row > .mmg-tile,
	.mmg-tiles-row > .mmg-tile--wide { flex: 1 1 calc(50% - 6px) !important; }
	.mmg-tiles-row > .mmg-tile--wide { flex-basis: 100% !important; }
	.mmg-tiles { gap: 12px !important; }
	.mmg-tile .elementor-heading-title { font-size: 13px !important; letter-spacing: 0.2em !important; }
}
.mmg-tile {
	position: relative;
	overflow: hidden;
	background: var(--mmg-cream);
	text-decoration: none !important;
}
.mmg-tile .elementor-widget-image {
	position: absolute !important;
	inset: 0;
	margin: 0 !important;
	width: 100% !important;
	max-width: none !important;
}
.mmg-tile .elementor-widget-image .elementor-widget-container,
.mmg-tile .elementor-widget-image img {
	width: 100%;
	height: 100%;
}
.mmg-tile .elementor-widget-image img {
	object-fit: cover;
	mix-blend-mode: multiply;
	transform: scale(1.5);
	transition: transform .6s ease;
}
.mmg-tile::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(28, 28, 28, 0.38);
	transition: background .3s ease;
	pointer-events: none;
	z-index: 1;
}
.mmg-tile:hover::after { background: rgba(28, 28, 28, 0.55); }
.mmg-tile:hover .elementor-widget-image img { transform: scale(1.6); }
.mmg-tile .elementor-widget-heading {
	position: relative;
	z-index: 2;
}
.mmg-tile .elementor-heading-title {
	font-family: var(--mmg-sans) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	letter-spacing: 0.3em !important;
	text-transform: uppercase;
	color: var(--mmg-white) !important;
	text-align: center;
}
.mmg-tile--dark { background: var(--mmg-ink); }
.mmg-tile--green { background: var(--mmg-green); }
.mmg-tile--dark::after,
.mmg-tile--green::after { background: rgba(0, 0, 0, 0); }
.mmg-tile--dark:hover::after,
.mmg-tile--green:hover::after { background: rgba(0, 0, 0, 0.15); }
.mmg-tile .mmg-tile-sub .elementor-heading-title {
	font-size: 11px !important;
	letter-spacing: 0.2em !important;
	color: rgba(255, 255, 255, 0.8) !important;
}

/* Productos destacados (shortcode de WooCommerce) */
.mmg-products ul.products { margin-bottom: 0 !important; }
.mmg-products ul.products li.product { text-align: center; }
.mmg-products ul.products li.product .astra-shop-thumbnail-wrap {
	background: var(--mmg-white);
	border: 1px solid var(--mmg-line);
	margin-bottom: 14px;
	overflow: hidden;
}
.mmg-products ul.products li.product .astra-shop-thumbnail-wrap img { transition: transform .5s ease; }
.mmg-products ul.products li.product:hover .astra-shop-thumbnail-wrap img { transform: scale(1.05); }
.mmg-products ul.products li.product .ast-woo-product-category {
	font-family: var(--mmg-sans);
	font-size: 10px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--mmg-muted);
}
.mmg-products ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--mmg-sans) !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	color: var(--mmg-ink) !important;
	line-height: 1.4;
}
.mmg-products ul.products li.product .price {
	font-family: var(--mmg-sans);
	font-weight: 600;
	color: var(--mmg-ink) !important;
}
.mmg-products ul.products li.product .button {
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	border-radius: 0;
	background: transparent !important;
	color: var(--mmg-ink) !important;
	border: 1px solid var(--mmg-ink) !important;
	padding: 10px 18px !important;
}
.mmg-products ul.products li.product .button:hover {
	background: var(--mmg-ink) !important;
	color: var(--mmg-white) !important;
}

/* Ventajas */
.mmg-benefits {
	border-top: 1px solid var(--mmg-line);
	border-bottom: 1px solid var(--mmg-line);
}
.mmg-benefit .elementor-icon {
	color: var(--mmg-green) !important;
	fill: var(--mmg-green) !important;
	font-size: 32px !important;
}
.mmg-benefit .elementor-icon svg { fill: var(--mmg-green) !important; width: 32px; height: 32px; }
.mmg-benefit .elementor-icon-box-title,
.mmg-benefit .elementor-icon-box-title a {
	font-family: var(--mmg-serif) !important;
	font-size: 18px !important;
	font-weight: 500 !important;
	color: var(--mmg-ink) !important;
	margin-bottom: 4px !important;
}
.mmg-benefit .elementor-icon-box-description {
	font-family: var(--mmg-sans);
	font-size: 14px;
	color: var(--mmg-muted);
}

/* Quiénes somos / Visítanos */
.mmg-visit-card { background: var(--mmg-ink); }
.mmg-visit-card .mmg-title .elementor-heading-title { color: var(--mmg-white) !important; }
.mmg-visit-card .mmg-lead,
.mmg-visit-card .mmg-lead p { color: #cfccc6; }
.mmg-visit-card .mmg-lead strong { color: var(--mmg-white); font-weight: 600; }
.mmg-visit-card .mmg-btn .elementor-button {
	background: var(--mmg-green);
	border-color: var(--mmg-green);
}
.mmg-visit-card .mmg-btn .elementor-button:hover {
	background: var(--mmg-white);
	border-color: var(--mmg-white);
	color: var(--mmg-ink);
}
.mmg-map iframe {
	filter: grayscale(1) contrast(1.05);
	display: block;
}

/* Testimonios */
.mmg-reviews { background: var(--mmg-cream); }

/* ==========================================================================
   Pie
   ========================================================================== */
.site-primary-footer-wrap,
.site-below-footer-wrap,
.site-above-footer-wrap {
	background: var(--mmg-ink) !important;
}
.site-primary-footer-wrap {
	padding-top: 70px !important;
	padding-bottom: 50px !important;
	border-top: 0 !important;
}
.site-footer,
.site-footer p,
.site-footer li,
.site-footer .textwidget {
	font-family: var(--mmg-sans);
	font-size: 14px;
	line-height: 1.8;
	color: #b9b6b0 !important;
}
.site-footer a,
.site-footer .menu-link {
	color: #e9e6e1 !important;
	text-decoration: none;
}
.site-footer a:hover,
.site-footer .menu-link:hover { color: var(--mmg-green) !important; }
.site-footer .widget-title,
.site-footer h2.widget-title {
	font-family: var(--mmg-sans) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--mmg-white) !important;
	margin-bottom: 18px !important;
}
.site-footer .widget_nav_menu ul { margin: 0; list-style: none; }
.site-footer .widget_nav_menu li { padding: 2px 0; }
.mmg-footer-brand {
	font-family: var(--mmg-serif) !important;
	font-size: 24px !important;
	color: var(--mmg-white) !important;
	margin-bottom: 10px !important;
}
.mmg-footer-claim { max-width: 280px; }
.site-footer .ast-footer-social-wrap svg { fill: #e9e6e1 !important; }
.site-footer .ast-footer-social-wrap a:hover svg { fill: var(--mmg-green) !important; }
.site-below-footer-wrap { border-top: 1px solid #333 !important; }
.site-below-footer-wrap .ast-footer-copyright,
.site-below-footer-wrap .ast-footer-copyright p {
	font-size: 12px !important;
	letter-spacing: 0.04em;
	color: #8a8790 !important;
}
