/*
Theme Name: MBEST
Theme URI:
Author: CLOSE Marketing
Author URI: https://close.marketing
Description: Tema de bloques personalizado para la web de MBEST.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: close-mbest-theme
Tags: block-theme, full-site-editing, woocommerce, ecommerce, custom-colors
*/

/**
 * Estilos del tema MBEST.
 *
 * La tipografía, los colores, los tamaños, el espaciado, los encabezados,
 * los botones y los anchos globales se definen en theme.json.
 *
 * Este archivo contiene únicamente ajustes generales, accesibilidad,
 * compatibilidad y pequeñas utilidades estructurales.
 */

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

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
}

img,
video {
	max-width: 100%;
	height: auto;
}

iframe {
	max-width: 100%;
}

input,
button,
textarea,
select {
	font: inherit;
}

button,
input[type="button"],
input[type="submit"],
input[type="reset"] {
	cursor: pointer;
}

/* --------------------------------------------------------------
   Buttons movement
-------------------------------------------------------------- */

.wp-block-button__link,
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.gform_wrapper .gform_button,
.gform_wrapper input[type="submit"],
.gform_wrapper button[type="submit"] {
	transition: transform 0.2s ease;
}

.wp-block-button__link:hover,
.wp-block-button__link:focus-visible,
button:hover,
button:focus-visible,
input[type="button"]:hover,
input[type="button"]:focus-visible,
input[type="submit"]:hover,
input[type="submit"]:focus-visible,
input[type="reset"]:hover,
input[type="reset"]:focus-visible,
.gform_wrapper .gform_button:hover,
.gform_wrapper .gform_button:focus-visible,
.gform_wrapper input[type="submit"]:hover,
.gform_wrapper input[type="submit"]:focus-visible,
.gform_wrapper button[type="submit"]:hover,
.gform_wrapper button[type="submit"]:focus-visible {
	transform: translateY(-2px);
}

/* --------------------------------------------------------------
   Alignments
-------------------------------------------------------------- */

.alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	box-sizing: border-box;
}

/* --------------------------------------------------------------
   Enlaces
-------------------------------------------------------------- */

.wp-site-blocks a,
.editor-styles-wrapper a {
	text-underline-offset: 0.18em;
}

.wp-site-blocks a {
	transition:
		color 0.2s ease,
		background-color 0.2s ease,
		border-color 0.2s ease,
		opacity 0.2s ease;
}

/* --------------------------------------------------------------
   Accesibilidad
-------------------------------------------------------------- */

:where(a, button, input, textarea, select, summary):focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus {
	position: fixed;
	top: var(--wp--preset--spacing--4);
	left: var(--wp--preset--spacing--4);
	z-index: 100000;
	width: auto;
	height: auto;
	padding:
		var(--wp--preset--spacing--3)
		var(--wp--preset--spacing--4);
	clip: auto;
	white-space: normal;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--primary);
	border: 1px solid var(--wp--preset--color--border);
}

/* --------------------------------------------------------------
   Utilidades de ancho
-------------------------------------------------------------- */

.mbest-content-width {
	width: 100%;
	max-width: var(--wp--style--global--content-size);
	margin-inline: auto;
}

.mbest-wide-width {
	width: 100%;
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
}

.mbest-hidden {
	display: none !important;
}

/* --------------------------------------------------------------
   Ajustes generales WooCommerce
-------------------------------------------------------------- */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	border-radius: var(--wp--preset--border-radius--md);
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--white);
	font-weight: 700;
	text-decoration: none;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--white);
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-top-color: var(--wp--preset--color--accent);
}

.woocommerce-message::before,
.woocommerce-info::before {
	color: var(--wp--preset--color--accent);
}

/* --------------------------------------------------------------
   Home hero
-------------------------------------------------------------- */

.mbest-home-hero__media-card {
	position: relative;
	max-width: 610px;
	margin-left: auto;
	box-shadow: var(--wp--preset--shadow--md);
}

.mbest-home-hero__product-image img {
	display: block;
	width: 100%;
}

.mbest-home-hero__badge {
	position: absolute;
	z-index: 2;
	box-shadow: var(--wp--preset--shadow--md);
}

.mbest-home-hero__badge--compatibility {
	top: -18px;
	left: -16px;
}

.mbest-home-hero__badge--saving {
	right: -34px;
	bottom: -24px;
}

.mbest-home-hero__badge-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 34px;
	border-radius: 4px;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--body);
	font-weight: 600;
	line-height: 1;
}

.mbest-home-hero__badge-icon--yellow {
	background: var(--wp--preset--color--yellow);
	color: var(--wp--preset--color--primary);
}

.mbest-home-features__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 34px;
	min-width: 52px;
	border-radius: 4px;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--white);
}

.mbest-home-features__icon svg {
	display: block;
	width: 18px;
	height: 18px;
}

@media (max-width: 781px) {
	.mbest-home-hero__media-card {
		margin-left: 0;
	}

	.mbest-home-hero__badge--compatibility {
		top: 12px;
		left: 12px;
	}

	.mbest-home-hero__badge--saving {
		right: 12px;
		bottom: 12px;
	}

	.mbest-home-features__icon {
		width: 46px;
		height: 32px;
		min-width: 46px;
	}
}

/* --------------------------------------------------------------
   Footer
-------------------------------------------------------------- */

.mbest-footer-social .wp-social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid var(--wp--preset--color--accent);
	border-radius: 4px;
	background: transparent !important;
}

.mbest-footer-social .wp-social-link a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 0;
}

.mbest-footer-social .wp-social-link svg {
	width: 16px;
	height: 16px;
}

/* --------------------------------------------------------------
   Header
-------------------------------------------------------------- */

.mbest-site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.mbest-site-header__inner {
	min-height: 58px;
}

.mbest-site-header__nav a {
	text-decoration: none;
}

.mbest-site-header__actions {
	gap: var(--wp--preset--spacing--2);
}

.mbest-header-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}

.mbest-header-icon svg {
	display: block;
	width: 36px;
	height: 36px;
}

.mbest-header-icon:hover {
	color: var(--wp--preset--color--accent);
}

@media (max-width: 781px) {
	.mbest-site-header__inner {
		min-height: 54px;
	}

	.mbest-site-header__logo img {
		max-width: 86px;
	}

	.mbest-header-icon,
	.mbest-header-icon svg {
		width: 34px;
		height: 34px;
	}
}

/* --------------------------------------------------------------
   Header spacing fix
-------------------------------------------------------------- */

.wp-site-blocks > .wp-block-template-part:first-child,
.wp-site-blocks > header,
.mbest-site-header {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
}

.wp-site-blocks > .wp-block-template-part:first-child + main,
.wp-site-blocks > header + main,
.mbest-site-header + main {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
}

/* --------------------------------------------------------------
   Home categories
-------------------------------------------------------------- */

.mbest-category-card {
	overflow: hidden;
	background: var(--wp--preset--color--white);
}

.mbest-category-card__image img {
	display: block;
	width: 100%;
	height: 180px;
	object-fit: cover;
}

@media (max-width: 781px) {
	.mbest-category-card__image img {
		height: 200px;
	}
}

/* --------------------------------------------------------------
   Home ink finder
-------------------------------------------------------------- */

.mbest-ink-finder {
	position: relative;
	overflow: hidden;
}

.mbest-ink-finder::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -120px;
	width: 360px;
	height: 360px;
	background: radial-gradient(circle, rgba(16, 182, 174, 0.75) 0%, rgba(16, 182, 174, 0.28) 35%, rgba(16, 182, 174, 0) 70%);
	transform: translateY(-50%);
	pointer-events: none;
}

.mbest-ink-finder__inner {
	position: relative;
	z-index: 1;
}

.mbest-ink-finder__form {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--3);
	width: 100%;
	padding: var(--wp--preset--spacing--2);
	border: 1px solid var(--wp--preset--color--white);
	border-radius: var(--wp--preset--border-radius--md);
	background: rgba(255, 255, 255, 0.04);
	color: var(--wp--preset--color--white);
}

.mbest-ink-finder__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--white);
}

.mbest-ink-finder__form input {
	flex: 1;
	min-width: 0;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	outline: none;
}

.mbest-ink-finder__form input::placeholder {
	color: var(--wp--preset--color--white);
	opacity: 0.9;
}

.mbest-ink-finder__form button {
	border: 0;
	border-radius: 4px;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 800;
	padding: 0.8em 1.15em;
	text-transform: uppercase;
}

.mbest-ink-finder__form button:hover,
.mbest-ink-finder__form button:focus {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--primary);
}

@media (max-width: 600px) {
	.mbest-ink-finder__form {
		flex-wrap: wrap;
	}

	.mbest-ink-finder__form button {
		width: 100%;
	}
}

/* --------------------------------------------------------------
   Product cards
-------------------------------------------------------------- */

.wc-block-grid__products,
.wc-block-product-template,
.woocommerce ul.products {
	gap: var(--wp--preset--spacing--6);
}

.wc-block-grid__product,
.wc-block-product,
.woocommerce ul.products li.product {
	position: relative;
	overflow: hidden;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--md);
}

.wc-block-grid__product-image,
.wc-block-components-product-image,
.woocommerce ul.products li.product .woocommerce-loop-product__link img {
	display: block;
	margin: 0;
	background: var(--wp--preset--color--surface);
}

.wc-block-grid__product-image img,
.wc-block-components-product-image img,
.woocommerce ul.products li.product img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	background: var(--wp--preset--color--surface);
}

.wc-block-grid__product-title,
.wc-block-components-product-name,
.woocommerce-loop-product__title {
	margin: var(--wp--preset--spacing--4) var(--wp--preset--spacing--4) var(--wp--preset--spacing--2);
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--body);


	text-decoration: none;
}

.wc-block-grid__product-title a,
.wc-block-components-product-name a,
.woocommerce-loop-product__title a {
	color: inherit;
	text-decoration: none;
}

.wc-block-grid__product-title a:hover,
.wc-block-components-product-name a:hover,
.woocommerce-loop-product__title a:hover {
	color: var(--wp--preset--color--accent);
}

.wc-block-grid__product-price,
.wc-block-components-product-price,
.woocommerce ul.products li.product .price {
	display: block;
	margin: var(--wp--preset--spacing--2) var(--wp--preset--spacing--4) var(--wp--preset--spacing--4);
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--small);

}

.wc-block-grid__product-rating,
.wc-block-components-product-rating,
.woocommerce .star-rating {
	margin: 0 var(--wp--preset--spacing--4) var(--wp--preset--spacing--3);
	color: var(--wp--preset--color--yellow);
	font-size: var(--wp--preset--font-size--x-small);
}

.wc-block-grid__product-add-to-cart,
.wp-block-button.wc-block-components-product-button,
.woocommerce ul.products li.product .button {
	margin: 0 var(--wp--preset--spacing--4) var(--wp--preset--spacing--4);
}

.wc-block-grid__product-add-to-cart .wp-block-button__link,
.wc-block-components-product-button .wp-block-button__link,
.woocommerce ul.products li.product .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--wp--preset--border-radius--sm);
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	text-decoration: none;
}

.wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
.wc-block-components-product-button .wp-block-button__link:hover,
.woocommerce ul.products li.product .button:hover {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--white);
}

.wc-block-components-product-sale-badge,
.wc-block-grid__product-onsale,
.woocommerce span.onsale {
	position: absolute;
	top: var(--wp--preset--spacing--3);
	left: var(--wp--preset--spacing--3);
	z-index: 2;
	min-width: auto;
	min-height: auto;
	padding: 0.45em 0.65em;
	border: 0;
	border-radius: var(--wp--preset--border-radius--sm);
	background: var(--wp--preset--color--yellow);
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	
}

/* --------------------------------------------------------------
   MBEST products grid
-------------------------------------------------------------- */

.mbest-products-grid-section {
	margin: 0;
	padding: var(--wp--preset--spacing--section) var(--wp--preset--spacing--container);
}

.mbest-products-grid-section__inner {
	width: 100%;
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
}

.mbest-products-grid-section__header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--6);
	margin-bottom: var(--wp--preset--spacing--8);
}

.mbest-products-grid-section__title {
	margin: 0;
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--h-3);
	font-weight: 600;
	
}

.mbest-products-grid-section__title span {
	display: block;
}

.mbest-products-grid-section__title-accent {
	color: var(--wp--preset--color--accent);
}

.mbest-products-grid-section__view-all {
	color: var(--wp--preset--color--accent);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	
	text-decoration: none;
}

.mbest-products-grid-section__view-all:hover,
.mbest-products-grid-section__view-all:focus {
	color: var(--wp--preset--color--primary);
}

.mbest-products-grid-section__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--6);
}

.mbest-products-grid-section--columns-1 .mbest-products-grid-section__grid {
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

.mbest-products-grid-section--columns-2 .mbest-products-grid-section__grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mbest-products-grid-section--columns-3 .mbest-products-grid-section__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mbest-products-grid-section--columns-4 .mbest-products-grid-section__grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mbest-product-card {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	min-height: 100%;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--md);
}

.mbest-product-card__media {
	position: relative;
	display: block;
	overflow: hidden;
	height: 175px;
	background: var(--wp--preset--color--surface);
	text-decoration: none;
}

.mbest-product-card__image,
.mbest-product-card__image-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	background: var(--wp--preset--color--surface);
}

.mbest-product-card__badge {
	position: absolute;
	top: var(--wp--preset--spacing--3);
	left: var(--wp--preset--spacing--3);
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.4em 0.55em;
	background: var(--wp--preset--color--yellow);
	color: var(--wp--preset--color--primary);
	border-radius: 4px;
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 500;
	
}

.mbest-product-card__body {
	flex: 1;
	padding: var(--wp--preset--spacing--5) var(--wp--preset--spacing--5) var(--wp--preset--spacing--4);
}

.mbest-product-card__title {
	margin: 0 0 var(--wp--preset--spacing--1);
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--h-5);
	font-weight: 600;
	
}

.mbest-product-card__title a {
	color: inherit;
	text-decoration: none;
}

.mbest-product-card__title a:hover,
.mbest-product-card__title a:focus {
	color: var(--wp--preset--color--accent);
}

.mbest-product-card__subtitle {
	margin: 0;
	color: var(--wp--preset--color--accent);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 400;
	
}

.mbest-product-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--3);
	padding: var(--wp--preset--spacing--4) var(--wp--preset--spacing--5);
	border-top: 1px solid var(--wp--preset--color--border);
}

.mbest-product-card__price {
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--body);

}

.mbest-product-card__price del {
	display: none;
}

.mbest-product-card__price ins {
	text-decoration: none;
}

.mbest-product-card__add {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	min-width: 36px;
	border-radius: 4px;
	background: var(--wp--preset--color--light);
	color: var(--wp--preset--color--accent);
	font-size: var(--wp--preset--font-size--large);

	text-decoration: none;
}

.mbest-product-card__add:hover,
.mbest-product-card__add:focus {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--white);
}

@media (max-width: 1024px) {
	.mbest-products-grid-section__grid,
	.mbest-products-grid-section--columns-4 .mbest-products-grid-section__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.mbest-products-grid-section__header {
		align-items: flex-start;
		flex-direction: column;
	}

	.mbest-products-grid-section__grid,
	.mbest-products-grid-section--columns-2 .mbest-products-grid-section__grid,
	.mbest-products-grid-section--columns-3 .mbest-products-grid-section__grid,
	.mbest-products-grid-section--columns-4 .mbest-products-grid-section__grid {
		grid-template-columns: 1fr;
	}
}
/* --------------------------------------------------------------
   Shop archive
-------------------------------------------------------------- */

.mbest-shop-main {
	margin-top: 0;
	margin-bottom: 0;
}

.mbest-shop-hero {
	overflow: hidden;
}

.mbest-shop-hero .wp-block-cover__background {
	opacity: 0.82;
}

.mbest-shop-hero .wp-block-cover__image-background {
	filter: saturate(0.95);
}

.mbest-shop-layout {
	margin-top: 0;
	margin-bottom: 0;
}

.mbest-shop-chips {
	position: relative;
	z-index: 2;
}

.mbest-shop-chip {
	display: inline-flex;
	align-items: center;
	margin: 0;
}

.mbest-shop-chip a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.7em 1em;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 999px;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--primary);

	text-decoration: none;
}

.mbest-shop-chip a:hover,
.mbest-shop-chip a:focus {
	border-color: var(--wp--preset--color--accent);
	background: var(--wp--preset--color--light);
	color: var(--wp--preset--color--accent);
}

.mbest-shop-content {
	align-items: flex-start;
}

.mbest-shop-sidebar {
	position: relative;
}

.mbest-shop-filters {
	padding: var(--wp--preset--spacing--5);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--md);
	background: var(--wp--preset--color--white);
}

.mbest-shop-filters__header {
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.mbest-shop-filters a {
	color: var(--wp--preset--color--accent);
	text-decoration: none;
}

.mbest-shop-filters a:hover,
.mbest-shop-filters a:focus {
	color: var(--wp--preset--color--primary);
}

.mbest-shop-filter-list {
	display: grid;
	gap: var(--wp--preset--spacing--2);
	margin: 0;
	padding: 0;
	list-style: none;
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--small);
}

.mbest-shop-filter-list li {
	position: relative;
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--2);
	margin: 0;
	
}

.mbest-shop-filter-list li::before {
	content: "";
	display: inline-flex;
	width: 15px;
	height: 15px;
	min-width: 15px;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 3px;
	background: var(--wp--preset--color--white);
}

.mbest-shop-filter-list a {
	color: var(--wp--preset--color--secondary);
	text-decoration: none;
}

.mbest-shop-filter-list a:hover,
.mbest-shop-filter-list a:focus {
	color: var(--wp--preset--color--accent);
}

.mbest-shop-results {
	min-width: 0;
}

/* --------------------------------------------------------------
   Shop search
-------------------------------------------------------------- */

.mbest-shop-search {
	position: relative;
}

.mbest-shop-search__form {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--3);
	width: 100%;
	max-width: 680px;
	padding: var(--wp--preset--spacing--2);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--md);
	background: var(--wp--preset--color--white);
	box-shadow: var(--wp--preset--shadow--sm);
}

.mbest-shop-search__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--secondary);
}

.mbest-shop-search__form input {
	flex: 1;
	min-width: 0;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--primary);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 400;
	outline: none;
}

.mbest-shop-search__form input::placeholder {
	color: var(--wp--preset--color--secondary);
	opacity: 0.9;
}

.mbest-shop-search__form button {
	border: 0;
	border-radius: 4px;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--white);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--small);


}

.mbest-shop-search__form button:hover,
.mbest-shop-search__form button:focus {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--white);
}

/* --------------------------------------------------------------
   Shop products block
-------------------------------------------------------------- */

.mbest-shop-products {
	width: 100%;
}

.mbest-shop-products__toolbar {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: var(--wp--preset--spacing--4);
	margin-bottom: var(--wp--preset--spacing--5);
}

.mbest-shop-products__count {
	margin: 0;
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--small);

}

.mbest-shop-products__ordering {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--2);
	margin: 0;
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--small);
	
}

.mbest-shop-products__ordering select {
	min-height: 38px;
	padding: 0 2.4em 0 1em;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--sm);
	background-color: var(--wp--preset--color--white);
	color: var(--wp--preset--color--primary);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--small);

}

.mbest-shop-products__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--6);
}

.mbest-shop-products--columns-1 .mbest-shop-products__grid {
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

.mbest-shop-products--columns-2 .mbest-shop-products__grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mbest-shop-products--columns-3 .mbest-shop-products__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mbest-shop-products--columns-4 .mbest-shop-products__grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mbest-shop-products__empty {
	margin: 0;
	padding: var(--wp--preset--spacing--6);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--md);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--small);

}

.mbest-shop-products__pagination {
	margin-top: var(--wp--preset--spacing--8);
}

.mbest-shop-products__pagination ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--wp--preset--spacing--2);
	margin: 0;
	padding: 0;
	list-style: none;
}

.mbest-shop-products__pagination li {
	margin: 0;
}

.mbest-shop-products__pagination a,
.mbest-shop-products__pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 0.9em;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--sm);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--small);
	text-decoration: none;
}

.mbest-shop-products__pagination .current,
.mbest-shop-products__pagination a:hover,
.mbest-shop-products__pagination a:focus {
	border-color: var(--wp--preset--color--accent);
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--white);
}

/* --------------------------------------------------------------
   Shop responsive
-------------------------------------------------------------- */

@media (max-width: 1024px) {
	.mbest-shop-content {
		display: block;
	}

	.mbest-shop-sidebar {
		margin-bottom: var(--wp--preset--spacing--8);
	}

	.mbest-shop-filters {
		position: static;
	}

	.mbest-shop-products__grid,
	.mbest-shop-products--columns-3 .mbest-shop-products__grid,
	.mbest-shop-products--columns-4 .mbest-shop-products__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.mbest-shop-hero {
		min-height: 280px !important;
	}

	.mbest-shop-search__form {
		flex-wrap: wrap;
	}

	.mbest-shop-search__form button {
		width: 100%;
	}

	.mbest-shop-products__toolbar {
		align-items: flex-start;
		flex-direction: column;
	}

	.mbest-shop-products__ordering,
	.mbest-shop-products__ordering select {
		width: 100%;
	}

	.mbest-shop-products__grid,
	.mbest-shop-products--columns-2 .mbest-shop-products__grid,
	.mbest-shop-products--columns-3 .mbest-shop-products__grid,
	.mbest-shop-products--columns-4 .mbest-shop-products__grid {
		grid-template-columns: 1fr;
	}
}

/* --------------------------------------------------------------
   Home promo
-------------------------------------------------------------- */

.mbest-home-promo {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at center, rgba(255, 201, 60, 0.18) 0%, rgba(255, 201, 60, 0.08) 32%, rgba(255, 201, 60, 0) 62%),
		var(--wp--preset--color--primary);
}

.mbest-home-promo::before,
.mbest-home-promo::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 32%;
	pointer-events: none;
}

.mbest-home-promo::before {
	left: 0;
	background: linear-gradient(90deg, var(--wp--preset--color--primary), rgba(12, 26, 25, 0));
}

.mbest-home-promo::after {
	right: 0;
	background: linear-gradient(270deg, var(--wp--preset--color--primary), rgba(12, 26, 25, 0));
}

.mbest-home-promo__inner {
	position: relative;
	z-index: 1;
}

.mbest-home-promo__code {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.55em 0.85em;
	border: 1px dashed var(--wp--preset--color--yellow);
	border-radius: 4px;
	color: var(--wp--preset--color--yellow);
	font-size: var(--wp--preset--font-size--x-small);

}

.mbest-home-promo__button .wp-block-button__link {
	padding: 0.65em 1em;
	text-transform: uppercase;
}

.mbest-home-promo__button .wp-block-button__link:hover,
.mbest-home-promo__button .wp-block-button__link:focus {
	background: var(--wp--preset--color--white) !important;
	color: var(--wp--preset--color--primary) !important;
}

/* --------------------------------------------------------------
   Home custom products
-------------------------------------------------------------- */

.mbest-home-custom__list {
	display: grid;
	gap: var(--wp--preset--spacing--2);
	padding: 0;
	list-style: none;
}

.mbest-home-custom__list li {
	position: relative;
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--2);
}

.mbest-home-custom__list li::before {
	content: "✓";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	min-width: 18px;
	border-radius: 4px;
	background: var(--wp--preset--color--yellow);
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--x-small);

}

.mbest-home-custom__button .wp-block-button__link {
	padding: 0.75em 1.1em;
	text-transform: uppercase;
}

.mbest-home-custom__button .wp-block-button__link:hover,
.mbest-home-custom__button .wp-block-button__link:focus {
	background: var(--wp--preset--color--accent) !important;
	color: var(--wp--preset--color--white) !important;
}

.mbest-home-custom__gallery {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	align-items: stretch;
}

.mbest-home-custom__stack {
	display: grid;
	gap: var(--wp--preset--spacing--6);
}

.mbest-home-custom__image {
	overflow: hidden;
	margin: 0;
	border-radius: var(--wp--preset--border-radius--md);
	box-shadow: var(--wp--preset--shadow--sm);
}

.mbest-home-custom__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mbest-home-custom__image--large {
	height: 390px;
}

.mbest-home-custom__image--small {
	height: 180px;
}

@media (max-width: 900px) {
	.mbest-home-custom__gallery {
		grid-template-columns: 1fr;
	}

	.mbest-home-custom__image--large,
	.mbest-home-custom__image--small {
		height: 260px;
	}
}

/* --------------------------------------------------------------
   Page header
-------------------------------------------------------------- */

.mbest-page-header {
	position: relative;
	overflow: hidden;
}

.mbest-page-header::before,
.mbest-page-header::after {
	content: "";
	position: absolute;
	width: 360px;
	height: 360px;
	border-radius: 999px;
	background: radial-gradient(circle, rgba(16, 182, 174, 0.25) 0%, rgba(16, 182, 174, 0.08) 38%, rgba(16, 182, 174, 0) 70%);
	pointer-events: none;
}

.mbest-page-header::before {
	left: -140px;
	bottom: -210px;
}

.mbest-page-header::after {
	top: -210px;
	right: -120px;
}

.mbest-page-header__inner {
	position: relative;
	z-index: 1;
}

.mbest-page-header .wp-block-post-title,
.mbest-page-header .wp-block-heading {
	max-width: 760px;
	margin-inline: auto;
}

.mbest-page-header mark {
	background: transparent;
	color: var(--wp--preset--color--accent);
}

.mbest-page-header .wp-block-post-excerpt,
.mbest-page-header p {
	max-width: 560px;
	margin-inline: auto;
}

.mbest-page-header .wp-block-post-excerpt__excerpt {
	margin: 0;
}

.mbest-page-header .wp-block-post-excerpt__more-text {
	display: none;
}

@media (max-width: 781px) {
	.mbest-page-header {
		padding-top: var(--wp--preset--spacing--10) !important;
		padding-bottom: var(--wp--preset--spacing--10) !important;
	}
}

/* --------------------------------------------------------------
   Imagen texto
-------------------------------------------------------------- */

.mbest-image-text__image,
.mbest-image-text__image figure {
	margin: 0;
}

.mbest-image-text__image img {
	display: block;
	width: 100%;
	height: 420px;
	object-fit: cover;
}

.mbest-image-text__content {
	margin-right: auto;
	margin-left: 0;
}

.mbest-image-text mark {
	background: transparent;
	color: var(--wp--preset--color--accent);
}

@media (max-width: 781px) {
	.mbest-image-text__image img {
		height: 260px;
	}

	.mbest-image-text__content {
		max-width: none;
	}
}

/* --------------------------------------------------------------
   Proceso
-------------------------------------------------------------- */

.mbest-proceso__steps {
	position: relative;
}

.mbest-proceso__steps::before {
	content: "";
	position: absolute;
	top: 22px;
	left: 12.5%;
	right: 12.5%;
	height: 1px;
	background: var(--wp--preset--color--accent);
}

.mbest-proceso__step {
	position: relative;
	z-index: 1;
}

.mbest-proceso__number {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0 auto var(--wp--preset--spacing--4);
	padding: 0;
	border-radius: 999px;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--h-5);
	font-weight: 600;
	line-height: 1;
	text-align: center;
}

.mbest-proceso__step > .mbest-proceso__number {
	max-width: none;
}

.mbest-proceso mark {
	background: transparent;
	color: var(--wp--preset--color--accent);
}

@media (max-width: 781px) {
	.mbest-proceso__steps::before {
		display: none;
	}
}

/* --------------------------------------------------------------
   Contacto
-------------------------------------------------------------- */

.mbest-contact-cards {
	position: relative;
	z-index: 2;
	margin-top: -100px;
	background: transparent;
}

.mbest-contact-cards__grid {
	margin-top: 0;
}

.mbest-contact-card {
	height: 100%;
	border-radius: var(--wp--preset--border-radius--md);
	box-shadow: var(--wp--preset--shadow--md);
	text-align: center;
}

.mbest-contact-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin-inline: auto;
	border-radius: 6px;
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--white);
}

.mbest-contact-card__icon svg {
	display: block;
	width: 32px;
	height: 32px;
}

@media (max-width: 781px) {
	.mbest-contact-cards {
		margin-top: -60px;
	}

	.mbest-contact-card {
		height: auto;
	}
}

/* --------------------------------------------------------------
   Contact form
-------------------------------------------------------------- */

.mbest-contact-form-card,
.mbest-contact-info-card {
	height: 100%;
	border-radius: var(--wp--preset--border-radius--md);
	box-shadow: var(--wp--preset--shadow--md);
	overflow: hidden;
}

.mbest-contact-info-card {
	display: flex;
	flex-direction: column;
}

.mbest-contact-info-card__content {
	flex: 1;
}

.gform_wrapper {
	margin: 0;
}

.gform_wrapper .gform_fields {
	row-gap: var(--wp--preset--spacing--3);
	column-gap: var(--wp--preset--spacing--3);
}

.gform_wrapper .gfield {
	margin: 0;
}

.gform_wrapper .gfield_label {
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}

.gform_wrapper .gfield_required,
.gform_wrapper .gfield_required_text {
	color: var(--wp--preset--color--accent);
	font-size: var(--wp--preset--font-size--small);
}

.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="number"],
.gform_wrapper select,
.gform_wrapper textarea {
	width: 100%;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--sm);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--body);
}

.gform_wrapper textarea {
	min-height: 150px;
}

.gform_wrapper .gfield_description,
.gform_wrapper .ginput_counter,
.gform_wrapper .gform-field-label--type-sub {
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--small);
}

.gform_wrapper .gform_footer {
	margin-top: var(--wp--preset--spacing--4);
	padding: 0;
}

.gform_wrapper .gform_button,
.gform_wrapper input[type="submit"],
.gform_wrapper button[type="submit"] {
	border: 0;
	border-radius: var(--wp--preset--border-radius--sm);
	background: var(--wp--preset--color--yellow);
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	padding: 0.8em 1.2em;
}

.mbest-contact-info-item {
	align-items: flex-start;
	width: 100%;
}

.mbest-contact-info-item__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	min-width: 28px;
	color: var(--wp--preset--color--accent);
}

.mbest-contact-info-item__icon svg {
	display: block;
	width: 20px;
	height: 20px;
}

.mbest-contact-info-item__content {
	flex: 1;
}

.mbest-contact-info-item__title {
	color: var(--wp--preset--color--primary);
}

.mbest-contact-info-item__text {
	color: var(--wp--preset--color--secondary);
}

.mbest-contact-info-item__text a {
	color: var(--wp--preset--color--accent);
	text-decoration: none;
}

.mbest-contact-info-item__text a:hover,
.mbest-contact-info-item__text a:focus {
	color: var(--wp--preset--color--primary);
}

.mbest-contact-hours {
	margin-top: auto;
	border-radius: 0 0 var(--wp--preset--border-radius--md) var(--wp--preset--border-radius--md);
}

.mbest-contact-hours__title {
	color: var(--wp--preset--color--white);
}

.mbest-contact-hours__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--accent);
}

.mbest-contact-hours__icon svg {
	display: block;
	width: 18px;
	height: 18px;
}

.mbest-contact-hours__rows {
	width: 100%;
}

.mbest-contact-hours__row {
	width: 100%;
	gap: var(--wp--preset--spacing--4);
}

@media (max-width: 781px) {
	.mbest-contact-form-card,
	.mbest-contact-info-card {
		height: auto;
	}

	.mbest-contact-hours {
		margin-top: var(--wp--preset--spacing--8);
	}

	.mbest-contact-hours__row {
		align-items: flex-start;
		flex-direction: column;
		gap: 0;
	}
}

/* --------------------------------------------------------------
   Map
-------------------------------------------------------------- */

.mbest-map__iframe {
	display: block;
	width: 100%;
	height: 340px;
	border: 0;
}

@media (max-width: 781px) {
	.mbest-map__iframe {
		height: 300px;
	}
}

/* --------------------------------------------------------------
   Blog
-------------------------------------------------------------- */

.mbest-blog-main {
	background: var(--wp--preset--color--white);
}

.mbest-blog-content {
	position: relative;
	z-index: 2;
	overflow: visible;
	background: transparent;
}

.mbest-blog-content .mbest-blog-featured {
	position: relative;
	z-index: 3;
	margin-top: -70px;
	margin-block-start: -70px;
	margin-bottom: var(--wp--preset--spacing--10);
	margin-block-end: var(--wp--preset--spacing--10);
}

.mbest-blog-featured .wp-block-post-template,
.mbest-blog-grid.wp-block-post-template {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mbest-blog-featured .wp-block-post-template > li,
.mbest-blog-grid.wp-block-post-template > li {
	margin: 0;
}

.mbest-blog-featured-card {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	overflow: hidden;
	border-radius: var(--wp--preset--border-radius--md);
	background: var(--wp--preset--color--white);
	box-shadow: var(--wp--preset--shadow--md);
}

.mbest-blog-featured-card__image {
	height: 100%;
	margin: 0;
}

.mbest-blog-featured-card__image a {
	display: block;
	height: 100%;
}

.mbest-blog-featured-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 360px;
	object-fit: cover;
	object-position: center;
}

.mbest-blog-featured-card__content {
	align-self: center;
}

.mbest-blog-featured-card__content .wp-block-post-title,
.mbest-blog-card .wp-block-post-title {
	margin: 0;
}

.mbest-blog-featured-card__content .wp-block-post-title a,
.mbest-blog-card .wp-block-post-title a {
	color: inherit;
	text-decoration: none;
}

.mbest-blog-featured-card__content .wp-block-post-title a:hover,
.mbest-blog-featured-card__content .wp-block-post-title a:focus,
.mbest-blog-card .wp-block-post-title a:hover,
.mbest-blog-card .wp-block-post-title a:focus {
	color: var(--wp--preset--color--accent);
}

.mbest-blog-featured-card__meta {
	gap: var(--wp--preset--spacing--3);
}

.mbest-blog-grid-query {
	margin-top: 0;
}

.mbest-blog-grid.wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--6);
}

.mbest-blog-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	height: 100%;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--md);
	background: var(--wp--preset--color--white);
	box-shadow: var(--wp--preset--shadow--sm);
}

.mbest-blog-card__image {
	margin: 0;
	background: var(--wp--preset--color--surface);
}

.mbest-blog-card__image a {
	display: block;
}

.mbest-blog-card__image img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	height: auto;
	object-fit: cover;
	object-position: center;
}

.mbest-blog-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
}

.mbest-blog-card .wp-block-post-excerpt {
	margin-bottom: auto;
}

.mbest-blog-read-more {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	text-decoration: none;
}

.mbest-blog-read-more:hover,
.mbest-blog-read-more:focus {
	color: var(--wp--preset--color--primary);
}

.mbest-blog-pagination {
	margin-top: var(--wp--preset--spacing--8);
}

.mbest-blog-pagination .wp-block-query-pagination-next {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--wp--preset--color--accent);
	border-radius: var(--wp--preset--border-radius--sm);
	color: var(--wp--preset--color--accent);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	padding: 0.75em 1em;
	text-decoration: none;
}

.mbest-blog-pagination .wp-block-query-pagination-next:hover,
.mbest-blog-pagination .wp-block-query-pagination-next:focus {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--white);
}

.mbest-blog-newsletter__form {
	display: flex;
	gap: var(--wp--preset--spacing--2);
	max-width: 520px;
	margin-inline: auto;
}

.mbest-blog-newsletter__form input {
	flex: 1;
	min-width: 0;
	border: 1px solid rgba(255, 255, 255, 0.6);
	border-radius: var(--wp--preset--border-radius--sm);
	background: transparent;
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--body);
	padding: 0.8em 1em;
}

.mbest-blog-newsletter__form input::placeholder {
	color: var(--wp--preset--color--white);
	opacity: 0.85;
}

.mbest-blog-newsletter__form button {
	border: 0;
	border-radius: var(--wp--preset--border-radius--sm);
	background: var(--wp--preset--color--yellow);
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	padding: 0.8em 1em;
}

@media (max-width: 1024px) {
	.mbest-blog-featured-card {
		grid-template-columns: 1fr;
	}

	.mbest-blog-featured-card__image img {
		min-height: 320px;
	}

	.mbest-blog-grid.wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 781px) {
	.mbest-blog-content .mbest-blog-featured {
		margin-top: -48px;
		margin-block-start: -48px;
	}

	.mbest-blog-grid.wp-block-post-template {
		grid-template-columns: 1fr;
	}

	.mbest-blog-card__image img {
		aspect-ratio: 16 / 10;
	}

	.mbest-blog-newsletter__form {
		flex-direction: column;
	}
}

/* --------------------------------------------------------------
   Single article
-------------------------------------------------------------- */

.mbest-single-main {
	background: var(--wp--preset--color--white);
}

.mbest-single-content {
	background: var(--wp--preset--color--white);
}

.mbest-single-hero__title {
	max-width: 760px;
	margin-inline: auto;
	color: var(--wp--preset--color--accent);
}

.mbest-single-hero__title::first-line {
	color: var(--wp--preset--color--white);
}

.mbest-single-hero__excerpt {
	max-width: 620px;
	margin-inline: auto;
}

.mbest-single-hero__excerpt .wp-block-post-excerpt__excerpt {
	margin: 0;
}

.mbest-single-hero__excerpt .wp-block-post-excerpt__more-text {
	display: none;
}

.mbest-single-hero__meta {
	gap: var(--wp--preset--spacing--2);
}

.mbest-single-hero__meta p {
	margin: 0;
}

.mbest-single-featured-image {
	margin: 0;
}

.mbest-single-featured-image img {
	display: block;
	width: 100%;
	height: 360px;
	object-fit: cover;
	object-position: center;
}

.mbest-single-layout {
	align-items: flex-start;
}

.mbest-single-sidebar {
	position: sticky;
	top: calc(72px + var(--wp--preset--spacing--6));
}

.mbest-single-author {
	color: var(--wp--preset--color--primary);
}

.mbest-single-share__links {
	display: flex;
	gap: var(--wp--preset--spacing--2);
}

.mbest-single-share__links a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: var(--wp--preset--border-radius--sm);
	color: var(--wp--preset--color--accent);
	text-decoration: none;
}

.mbest-single-share__links a:hover,
.mbest-single-share__links a:focus {
	background: var(--wp--preset--color--light);
	color: var(--wp--preset--color--primary);
}

.mbest-single-share__links svg {
	display: block;
	width: 16px;
	height: 16px;
}

.mbest-single-article {
	color: var(--wp--preset--color--primary);
}

.mbest-single-article > * {
	max-width: 760px;
	margin-inline: 0;
}

.mbest-single-article p {
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--body);
}

.mbest-single-article a {
	color: var(--wp--preset--color--accent);
}

.mbest-single-article a:hover,
.mbest-single-article a:focus {
	color: var(--wp--preset--color--primary);
}

.mbest-single-article img {
	border-radius: var(--wp--preset--border-radius--md);
}

.mbest-single-article .alignwide {
	max-width: var(--wp--style--global--wide-size);
}

.mbest-single-article .alignfull {
	max-width: 100vw;
}

.mbest-single-navigation {
	gap: var(--wp--preset--spacing--6);
	padding-top: var(--wp--preset--spacing--8);
	border-top: 1px solid var(--wp--preset--color--border);
}

.mbest-single-navigation a {
	color: var(--wp--preset--color--accent);
	font-weight: 600;
	text-decoration: none;
}

.mbest-single-navigation a:hover,
.mbest-single-navigation a:focus {
	color: var(--wp--preset--color--primary);
}

@media (max-width: 1024px) {
	.mbest-single-sidebar {
		position: static;
	}

	.mbest-single-featured-image img {
		height: 320px;
	}
}

@media (max-width: 781px) {
	.mbest-single-featured-image img {
		height: 260px;
	}

	.mbest-single-navigation {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* --------------------------------------------------------------
   Page header spacing
-------------------------------------------------------------- */

.mbest-page-header--dynamic,
.mbest-page-header--manual {
	margin-bottom: 50px !important;
	margin-block-end: 50px !important;
}

@media (max-width: 781px) {
	.mbest-page-header--dynamic,
	.mbest-page-header--manual {
		margin-bottom: 34px !important;
		margin-block-end: 34px !important;
	}
}

/* --------------------------------------------------------------
   Shop filters - Figma
-------------------------------------------------------------- */

.mbest-shop-filters {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.mbest-shop-filters__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 0 0 24px;
	padding: 0 0 10px;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.mbest-shop-filters__header p {
	margin: 0;
	color: var(--wp--preset--color--primary);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.2;
}

.mbest-shop-filters__header a {
	color: var(--wp--preset--color--accent);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.2;
	text-decoration: none;
}

.mbest-shop-filter-group {
	margin: 0 0 28px;
}

.mbest-shop-filter-group:last-child {
	margin-bottom: 0;
}

.mbest-shop-filters .mbest-shop-filter-group h3 {
	margin: 0 0 12px;
	color: var(--wp--preset--color--primary);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
}

.mbest-shop-filter-list {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 12px;
	line-height: 1.25;
}

.mbest-shop-filter-list li {
	display: block;
	margin: 0;
	padding: 0;
}

.mbest-shop-filter-list li::before {
	display: none;
	content: none;
}

.mbest-shop-filter-option {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}

.mbest-shop-filter-option__control {
	display: inline-flex;
	flex: 0 0 14px;
	align-items: center;
	justify-content: center;
	width: 14px;
	height: 14px;
	border: 1px solid var(--wp--preset--color--accent);
	border-radius: 3px;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--white);
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
}

.mbest-shop-filter-option.is-active .mbest-shop-filter-option__control {
	background: var(--wp--preset--color--accent);
}

.mbest-shop-filter-option__label {
	min-width: 0;
}

.mbest-shop-filter-option:hover,
.mbest-shop-filter-option:focus {
	color: var(--wp--preset--color--accent);
}

@media (max-width: 1024px) {
	.mbest-shop-sidebar,
	.mbest-shop-results {
		flex-basis: 100% !important;
	}
}

/* --------------------------------------------------------------
   Single product
-------------------------------------------------------------- */

.mbest-single-product {
	background: var(--wp--preset--color--white);
}

.mbest-single-product__main {
	overflow: hidden;
}

.mbest-single-product__breadcrumbs {
	margin: 0 0 var(--wp--preset--spacing--5);
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--x-small);
}

.mbest-single-product__breadcrumbs a {
	color: var(--wp--preset--color--secondary);
}

.mbest-single-product__breadcrumbs a:hover,
.mbest-single-product__breadcrumbs a:focus {
	color: var(--wp--preset--color--accent);
}

.mbest-single-product__main .mbest-single-product__top {
	align-items: flex-start;
	gap: 38px;
}

.mbest-single-product__gallery,
.mbest-single-product__summary {
	min-width: 0;
}


/* --------------------------------------------------------------
   Product gallery
-------------------------------------------------------------- */

.mbest-single-product__gallery .woocommerce-product-gallery,
.mbest-single-product__gallery .wp-block-woocommerce-product-image-gallery {
	width: 100% !important;
	max-width: 480px !important;
	margin: 0 auto !important;
}

.mbest-single-product__gallery .woocommerce-product-gallery__wrapper {
	margin: 0;
}

.mbest-single-product__gallery .woocommerce-product-gallery__image {
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--accent);
	border-radius: var(--wp--preset--border-radius--md);
	background: var(--wp--preset--color--surface);
}

.mbest-single-product__gallery .woocommerce-product-gallery__image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 0.94;
	object-fit: contain;
}

.mbest-single-product__gallery .flex-control-thumbs {
	display: grid !important;
	grid-template-columns: repeat(2, 150px);
	justify-content: start;
	gap: 14px;
	margin: var(--wp--preset--spacing--4) 0 0 !important;
	padding: 0 !important;
	list-style: none;
}

.mbest-single-product__gallery .flex-control-thumbs li {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}

.mbest-single-product__gallery .flex-control-thumbs img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--md);
	background: var(--wp--preset--color--surface);
	opacity: 1;
	cursor: pointer;
}

.mbest-single-product__gallery .flex-control-thumbs img.flex-active {
	border-color: var(--wp--preset--color--accent);
}


/* --------------------------------------------------------------
   Product summary
-------------------------------------------------------------- */

.mbest-single-product__summary {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.mbest-single-product__rating {
	margin: 0 0 4px;
}

.mbest-single-product__title {
	margin: 0 0 8px;
	color: var(--wp--preset--color--primary);
	font-size: clamp(36px, 4vw, 52px);
	font-weight: 700;
	line-height: 0.95;
}

.mbest-single-product__price {
	margin: 0;
	color: var(--wp--preset--color--accent);
	font-size: 34px;
	font-weight: 700;
	line-height: 1;
}

.mbest-single-product__price .woocommerce-Price-amount {
	color: var(--wp--preset--color--accent);
}

.mbest-single-product__price del {
	margin-left: var(--wp--preset--spacing--2);
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 400;
	opacity: 0.7;
}

.mbest-single-product__price ins {
	text-decoration: none;
}

.mbest-single-product__excerpt {
	max-width: 500px;
	margin: 18px 0 0;
	color: var(--wp--preset--color--primary);
	font-size: 14px;
	line-height: 1.35;
}

.mbest-single-product__excerpt p {
	margin: 0;
}


/* --------------------------------------------------------------
   Variations / add to cart
-------------------------------------------------------------- */

.mbest-single-product__cart {
	width: 100%;
	margin-top: 22px;
}

.mbest-single-product__cart form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--3);
	margin: 0 !important;
}

.mbest-single-product__cart table.variations {
	width: 100%;
	margin: 0 0 var(--wp--preset--spacing--5) !important;
	border: 0;
}

.mbest-single-product__cart table.variations tbody,
.mbest-single-product__cart table.variations tr {
	display: block;
	width: 100%;
}

.mbest-single-product__cart table.variations tr {
	margin-bottom: var(--wp--preset--spacing--4);
}

.mbest-single-product__cart table.variations th,
.mbest-single-product__cart table.variations td {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	text-align: left;
}

.mbest-single-product__cart table.variations th {
	margin-bottom: var(--wp--preset--spacing--2);
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}

.mbest-single-product__cart table.variations select {
	width: auto;
	max-width: 100%;
	min-height: 38px;
	padding: 0.5em 2.2em 0.5em 0.8em;
	border: 1px solid var(--wp--preset--color--primary);
	border-radius: var(--wp--preset--border-radius--sm);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--small);
}

.mbest-single-product__cart .reset_variations {
	display: inline-block;
	margin-top: var(--wp--preset--spacing--2);
	color: var(--wp--preset--color--accent);
	font-size: var(--wp--preset--font-size--x-small);
}

.mbest-single-product__cart .woocommerce-variation {
	width: 100%;
}

.mbest-single-product__cart .woocommerce-variation-price {
	margin-bottom: var(--wp--preset--spacing--3);
	color: var(--wp--preset--color--accent);
	font-weight: 600;
}

.mbest-single-product__cart .quantity {
	display: inline-flex;
	align-items: center;
}

.mbest-single-product__cart .quantity .qty {
	width: 64px;
	min-height: 42px;
	padding: 0.5em;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--sm);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--primary);
	text-align: center;
}

.mbest-single-product .mbest-single-product__cart button.single_add_to_cart_button {
	min-height: 42px;
	padding: 0.7em 1.3em;
	border: 1px solid var(--wp--preset--color--accent);
	border-radius: var(--wp--preset--border-radius--sm);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--accent);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 600;
	text-transform: uppercase;
}

.mbest-single-product .mbest-single-product__cart button.single_add_to_cart_button:hover,
.mbest-single-product .mbest-single-product__cart button.single_add_to_cart_button:focus {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--white);
}


/* --------------------------------------------------------------
   Product meta
-------------------------------------------------------------- */

.mbest-single-product__meta {
	margin-top: 14px;
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--x-small);
}

.mbest-single-product__meta a {
	color: var(--wp--preset--color--accent);
	text-decoration: none;
}


/* --------------------------------------------------------------
   Product details / tabs
-------------------------------------------------------------- */

.mbest-product-details {
	margin: 0 !important;
}

.mbest-product-details .woocommerce-Tabs-panel > :first-child {
	margin-top: 0;
}

.mbest-product-details .woocommerce-Tabs-panel > :last-child {
	margin-bottom: 0;
}


/* --------------------------------------------------------------
   Benefits
-------------------------------------------------------------- */

.mbest-product-benefits {
	border-top: 1px solid rgba(255, 255, 255, 0.25);
	border-bottom: 1px solid rgba(255, 255, 255, 0.25);
	color: var(--wp--preset--color--white);
}

.mbest-product-benefits__grid {
	margin: 0 !important;
}

.mbest-product-benefits__grid > .wp-block-column {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	border-right: 1px solid rgba(255, 255, 255, 0.3);
}

.mbest-product-benefits__grid > .wp-block-column:last-child {
	border-right: 0;
}

.mbest-product-benefits p {
	color: var(--wp--preset--color--white);
	font-size: 13px;
	font-weight: 600;
}


/* --------------------------------------------------------------
   Related products
-------------------------------------------------------------- */

.mbest-single-product__related-title {
	line-height: 1;
}

.mbest-single-product__related .wp-block-woocommerce-product-collection {
	margin-top: 0;
}

.mbest-single-product__related ul.wp-block-woocommerce-product-template {
	align-items: stretch;
}

.mbest-single-product__related ul.wp-block-woocommerce-product-template > li {
	height: 100%;
}


/* --------------------------------------------------------------
   Single product responsive
-------------------------------------------------------------- */

@media (max-width: 900px) {
	.mbest-single-product__top {
		flex-wrap: wrap !important;
	}

	.mbest-single-product__gallery,
	.mbest-single-product__summary {
		flex-basis: 100% !important;
	}

	.mbest-single-product__summary {
		margin-top: var(--wp--preset--spacing--6);
	}

	.mbest-product-details ul.tabs,
	.mbest-product-details ul.wc-tabs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mbest-product-benefits__grid {
		flex-wrap: wrap !important;
	}

	.mbest-product-benefits__grid > .wp-block-column {
		flex-basis: calc(50% - 1px) !important;
	}
}

@media (max-width: 640px) {
	.mbest-single-product__gallery .flex-control-thumbs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mbest-product-details ul.tabs,
	.mbest-product-details ul.wc-tabs {
		grid-template-columns: 1fr;
	}

	.mbest-product-details ul.tabs li,
	.mbest-product-details ul.wc-tabs li {
		border-right: 0 !important;
		border-bottom: 1px solid var(--wp--preset--color--border) !important;
	}

	.mbest-product-benefits__grid > .wp-block-column {
		flex-basis: 100% !important;
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	}

	.mbest-product-benefits__grid > .wp-block-column:last-child {
		border-bottom: 0;
	}
}

/* --------------------------------------------------------------
   Single product - Figma refinements
-------------------------------------------------------------- */

.mbest-single-product__main > .wp-block-columns {
	max-width: 1120px;
	margin-left: auto;
	margin-right: auto;
}


/* Summary */

.mbest-single-product__summary {
	padding-top: 10px;
}


/* --------------------------------------------------------------
   Product tabs
-------------------------------------------------------------- */

.mbest-single-product__details {
	max-width: 1120px;
	margin-left: auto !important;
	margin-right: auto !important;
	border: 1px solid var(--wp--preset--color--border);
}

.mbest-product-details .woocommerce-tabs {
	width: 100%;
}


/*
 * Cancel old accordion behaviour/styles from the previous theme.
 */
.mbest-product-details .woocommerce-Tabs-panel {
	display: none !important;
	padding: 28px 64px !important;
	border: 0 !important;
}

.mbest-product-details .woocommerce-Tabs-panel[style*="display: block"],
.mbest-product-details .woocommerce-Tabs-panel.active,
.mbest-product-details .woocommerce-Tabs-panel.is-open {
	display: block !important;
}


/*
 * WooCommerce repeats the tab name as an H2 inside the panel.
 * Figma does not show it.
 */
.mbest-product-details .woocommerce-Tabs-panel > h2:first-child {
	display: none;
}


/* Tabs navigation */

.mbest-product-details ul.tabs,
.mbest-product-details ul.wc-tabs {
	display: grid !important;
	grid-template-columns: repeat(
		auto-fit,
		minmax(160px, 1fr)
	);
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.mbest-product-details ul.tabs li,
.mbest-product-details ul.wc-tabs li {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-right: 1px solid var(--wp--preset--color--border) !important;
	border-radius: 0 !important;
	background: transparent !important;
}

.mbest-product-details ul.tabs li:last-child,
.mbest-product-details ul.wc-tabs li:last-child {
	border-right: 0 !important;
}

.mbest-product-details ul.tabs li::before,
.mbest-product-details ul.tabs li::after,
.mbest-product-details ul.wc-tabs li::before,
.mbest-product-details ul.wc-tabs li::after {
	display: none !important;
}

.mbest-product-details ul.tabs li a,
.mbest-product-details ul.wc-tabs li a {
	display: block;
	padding: 16px 12px !important;
	color: var(--wp--preset--color--muted) !important;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
}

.mbest-product-details ul.tabs li.active a,
.mbest-product-details ul.wc-tabs li.active a {
	color: var(--wp--preset--color--accent) !important;
}


/* Panel content */

.mbest-product-details .woocommerce-Tabs-panel p {
	max-width: 920px;
	margin-top: 0;
	font-size: 14px;
	line-height: 1.45;
}


/* --------------------------------------------------------------
   Responsive
-------------------------------------------------------------- */

@media (max-width: 900px) {
	.mbest-single-product__gallery .woocommerce-product-gallery {
		max-width: 560px !important;
	}

	.mbest-product-details .woocommerce-Tabs-panel {
		padding: 28px !important;
	}
}

@media (max-width: 600px) {
	.mbest-product-details ul.tabs,
	.mbest-product-details ul.wc-tabs {
		grid-template-columns: 1fr 1fr;
	}

	.mbest-product-details .woocommerce-Tabs-panel {
		padding: 22px !important;
	}
}

/* --------------------------------------------------------------
   Single product - sacar upsells fuera de las tabs
-------------------------------------------------------------- */

.mbest-single-product__details {
	border: 0 !important;
}

/* El marco pertenece solo a las pestañas */
.mbest-product-details .woocommerce-tabs {
	border: 1px solid var(--wp--preset--color--border);
}

/* Las recomendaciones de WooCommerce quedan fuera del marco */
.mbest-product-details .up-sells,
.mbest-product-details .upsells {
	margin-top: var(--wp--preset--spacing--12) !important;
	padding: 0 !important;
	border: 0 !important;
}

/* Título de recomendaciones */
.mbest-product-details .up-sells > h2,
.mbest-product-details .upsells > h2 {
	margin: 0 0 var(--wp--preset--spacing--6);
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--h-3);
	font-weight: 600;
	line-height: 1;
}

/* Evitar que herede tamaños o estilos raros de las tabs */
.mbest-product-details .up-sells ul.products,
.mbest-product-details .upsells ul.products {
	margin-top: 0 !important;
}



/* --------------------------------------------------------------
   Single product - ajustes finales
-------------------------------------------------------------- */

/* Imagen principal: limpia, sin marco turquesa */
.mbest-single-product__gallery .woocommerce-product-gallery__image {
	border: 0;
	border-radius: var(--wp--preset--border-radius--md);
	background: var(--wp--preset--color--surface);
}

.mbest-single-product__gallery .woocommerce-product-gallery__image img {
	border-radius: var(--wp--preset--border-radius--md);
}

/* Miniaturas */
.mbest-single-product__gallery .flex-control-thumbs img {
	border-color: transparent;
	background: var(--wp--preset--color--surface);
}

.mbest-single-product__gallery .flex-control-thumbs img.flex-active {
	border-color: var(--wp--preset--color--accent);
}


/* --------------------------------------------------------------
   Descripción / valoraciones
-------------------------------------------------------------- */

/* Fuera el cuadro grande */
.mbest-product-details .woocommerce-tabs {
	border: 0 !important;
}

/* Tabs más naturales, sin dividir todo el ancho en cajas */
.mbest-product-details ul.tabs,
.mbest-product-details ul.wc-tabs {
	display: flex !important;
	align-items: center;
	gap: 28px;
	width: 100%;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.mbest-product-details ul.tabs li,
.mbest-product-details ul.wc-tabs li {
	width: auto !important;
	border: 0 !important;
	background: transparent !important;
}

/* Quitamos las divisiones verticales */
.mbest-product-details ul.tabs li:last-child,
.mbest-product-details ul.wc-tabs li:last-child {
	border-right: 0 !important;
}

.mbest-product-details ul.tabs li a,
.mbest-product-details ul.wc-tabs li a {
	position: relative;
	padding: 0 0 14px !important;
	color: var(--wp--preset--color--muted) !important;
	font-size: var(--wp--preset--font-size--small);
	text-align: left;
}

.mbest-product-details ul.tabs li.active a,
.mbest-product-details ul.wc-tabs li.active a {
	color: var(--wp--preset--color--accent) !important;
}

.mbest-product-details ul.tabs li.active a::after,
.mbest-product-details ul.wc-tabs li.active a::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -1px;
	left: 0;
	height: 2px;
	background: var(--wp--preset--color--accent);
}

/* Contenido de la descripción sin caja */
.mbest-product-details .woocommerce-Tabs-panel {
	padding: 28px 0 0 !important;
	background: transparent;
}

.mbest-product-details .woocommerce-Tabs-panel p {
	max-width: 820px;
	margin-bottom: var(--wp--preset--spacing--3);
	color: var(--wp--preset--color--secondary);
}


/* --------------------------------------------------------------
   Barra de beneficios
-------------------------------------------------------------- */

/* Mismo ancho que la ficha de producto y centrada */
.mbest-product-benefits__grid {
	width: 100%;
	max-width: 1120px;
	margin-right: auto !important;
	margin-left: auto !important;
}

.mbest-product-benefits__grid > .wp-block-column {
	display: flex;
	flex: 1 1 25% !important;
	align-items: stretch;
	justify-content: center;
}

.mbest-product-benefits__grid > .wp-block-column > .wp-block-group {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: center !important;
	gap: var(--wp--preset--spacing--3);
}

.mbest-product-benefits .wp-block-image {
	flex: 0 0 auto;
	margin: 0 !important;
}

.mbest-product-benefits p {
	margin: 0 !important;
	text-align: left;
}


/* --------------------------------------------------------------
   Responsive
-------------------------------------------------------------- */

@media (max-width: 640px) {
	.mbest-product-details ul.tabs,
	.mbest-product-details ul.wc-tabs {
		display: flex !important;
		flex-wrap: wrap;
		gap: 18px;
	}

	.mbest-product-details ul.tabs li,
	.mbest-product-details ul.wc-tabs li {
		border-bottom: 0 !important;
	}

	.mbest-product-benefits__grid > .wp-block-column {
		flex-basis: 100% !important;
	}

	.mbest-product-benefits__grid > .wp-block-column > .wp-block-group {
		justify-content: flex-start !important;
	}
}

/* --------------------------------------------------------------
   Single product - ancho general
-------------------------------------------------------------- */

/* Breadcrumbs, ficha y descripción con el mismo ancho */
.mbest-single-product__breadcrumbs,
.mbest-single-product__top,
.mbest-single-product__details {
	width: 100%;
	max-width: var(--wp--style--global--wide-size) !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

/* Anula el límite antiguo de 1120px */
.mbest-single-product__main > .wp-block-columns {
	width: 100%;
	max-width: var(--wp--style--global--wide-size) !important;
}

/* La galería ocupa toda la columna izquierda */
.mbest-single-product__gallery .woocommerce-product-gallery,
.mbest-single-product__gallery .wp-block-woocommerce-product-image-gallery {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

/* Imagen principal más grande */
.mbest-single-product__gallery .woocommerce-product-gallery__image {
	width: 100%;
}

.mbest-single-product__gallery .woocommerce-product-gallery__image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 0.85;
	object-fit: contain;
}

/* Miniaturas de la galería */
.mbest-single-product__gallery .flex-control-thumbs {
	display: flex !important;
	flex-wrap: wrap;
	gap: 14px;
	width: 100%;
	margin-top: 16px !important;
}

.mbest-single-product__gallery .flex-control-thumbs li {
	flex: 0 0 110px;
	width: 110px !important;
}

.mbest-single-product__gallery .flex-control-thumbs img {
	display: block;
	width: 110px;
	height: 110px;
	aspect-ratio: auto;
	object-fit: cover;
	border: 1px solid transparent;
	border-radius: var(--wp--preset--border-radius--md);
	background: var(--wp--preset--color--surface);
}

.mbest-single-product__gallery .flex-control-thumbs img.flex-active {
	border-color: var(--wp--preset--color--accent);
}

/* --------------------------------------------------------------
   Product personalization
-------------------------------------------------------------- */

.mbest-product-personalization {
	flex: 0 0 100%;
	width: 100%;
	margin: 0 0 var(--wp--preset--spacing--5);
	padding: var(--wp--preset--spacing--5) 0 0;
	border-top: 1px solid var(--wp--preset--color--border);
}

.mbest-product-personalization__title {
	margin: 0 0 var(--wp--preset--spacing--4) !important;
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--h-5);
	font-weight: 700;
	line-height: 1.1;
}

.mbest-product-personalization__field {
	width: 100%;
	margin-bottom: var(--wp--preset--spacing--4);
}

.mbest-product-personalization__field:last-child {
	margin-bottom: 0;
}

.mbest-product-personalization__field label {
	display: block;
	margin-bottom: var(--wp--preset--spacing--2);
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}

.mbest-product-personalization__field textarea {
	display: block;
	width: 100%;
	min-height: 110px;
	padding: 12px 14px;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--sm);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.4;
	resize: vertical;
}

.mbest-product-personalization__field textarea:focus {
	border-color: var(--wp--preset--color--accent);
	outline: 0;
}

.mbest-product-personalization__field textarea::placeholder {
	color: var(--wp--preset--color--muted);
}

.mbest-product-personalization__field input[type="file"] {
	display: block;
	width: 100%;
	padding: 8px;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--sm);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--small);
}

.mbest-product-personalization__field input[type="file"]::file-selector-button {
	margin-right: 12px;
	padding: 8px 12px;
	border: 0;
	border-radius: var(--wp--preset--border-radius--sm);
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--white);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}

.mbest-product-personalization__field input[type="file"]::file-selector-button:hover {
	background: var(--wp--preset--color--primary);
}

.mbest-product-personalization__help {
	margin: var(--wp--preset--spacing--2) 0 0 !important;
	color: var(--wp--preset--color--muted) !important;
	font-size: var(--wp--preset--font-size--x-small) !important;
	line-height: 1.35;
}

@media (max-width: 640px) {
	.mbest-product-personalization {
		padding-top: var(--wp--preset--spacing--4);
	}

	.mbest-product-personalization__field textarea {
		min-height: 100px;
	}
}


/* --------------------------------------------------------------
   Single product - variaciones
-------------------------------------------------------------- */

.mbest-single-product__cart table.variations {
	display: block;
	width: 100%;
	margin: 0 0 var(--wp--preset--spacing--5) !important;
}

.mbest-single-product__cart table.variations tbody {
	display: block;
	width: 100%;
}

.mbest-single-product__cart table.variations tr {
	display: block;
	width: 100%;
	margin: 0 0 22px;
}

.mbest-single-product__cart table.variations tr:last-child {
	margin-bottom: 0;
}

.mbest-single-product__cart table.variations th.label,
.mbest-single-product__cart table.variations td.value {
	display: block;
	width: 100%;
	padding: 0 !important;
}

.mbest-single-product__cart table.variations th.label {
	margin: 0 0 8px;
}

.mbest-single-product__cart table.variations th.label label {
	display: block;
	margin: 0;
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	line-height: 1.2;
}

/* Select */
.mbest-single-product__cart table.variations select {
	display: block;
	width: 100% !important;
	max-width: none !important;
	height: 46px;
	min-height: 46px;
	margin: 0 !important;
	padding: 0 42px 0 14px !important;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--sm);
	background-color: var(--wp--preset--color--white);
	color: var(--wp--preset--color--primary);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 400;
	line-height: normal;
	cursor: pointer;
}

/* Focus */
.mbest-single-product__cart table.variations select:focus {
	border-color: var(--wp--preset--color--accent);
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}

/* Opciones internas */
.mbest-single-product__cart table.variations select option {
	color: var(--wp--preset--color--primary);
	background: var(--wp--preset--color--white);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--small);
}

/* Limpiar variaciones */
.mbest-single-product__cart .reset_variations {
	display: inline-block;
	margin-top: 8px;
	color: var(--wp--preset--color--accent);
	font-size: var(--wp--preset--font-size--x-small);
	text-decoration: none;
}

/* --------------------------------------------------------------
   Single product - variaciones en columnas
-------------------------------------------------------------- */

.mbest-single-product__cart table.variations tbody {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	width: 100%;
}

.mbest-single-product__cart table.variations tr {
	display: block;
	width: 100%;
	margin: 0;
}

.mbest-single-product__cart table.variations th.label,
.mbest-single-product__cart table.variations td.value {
	display: block;
	width: 100%;
}

.mbest-single-product__cart table.variations select {
	width: 100% !important;
}

/* Tablet */
@media (max-width: 900px) {
	.mbest-single-product__cart table.variations tbody {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Móvil */
@media (max-width: 600px) {
	.mbest-single-product__cart table.variations tbody {
		grid-template-columns: 1fr;
	}
}

/* --------------------------------------------------------------
   Single product - ancho personalización en variables
-------------------------------------------------------------- */

.mbest-single-product__cart .single_variation_wrap {
	flex: 0 0 100%;
	width: 100%;
	max-width: none;
}

.mbest-single-product__cart .woocommerce-variation-add-to-cart {
	width: 100%;
}

.mbest-single-product__cart .mbest-product-personalization {
	width: 100%;
	max-width: none;
	grid-column: 1 / -1;
}

.mbest-single-product__cart .mbest-product-personalization__field,
.mbest-single-product__cart .mbest-product-personalization textarea,
.mbest-single-product__cart .mbest-product-personalization input[type="file"] {
	width: 100%;
	max-width: none;
}
/* Precio ficha de producto */
.mbest-single-product__price,
.mbest-single-product__price .woocommerce-Price-amount {
	font-size: 24px !important;
	font-weight: 700;
	line-height: 1.1;
}

/* --------------------------------------------------------------
   Header search
-------------------------------------------------------------- */

.mbest-site-header__actions {
	position: relative;
	align-items: center;
}

.mbest-header-search {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 36px;
	margin: 0;
}

/* Botón lupa */
.mbest-header-search__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin: 0;
	padding: 0;
	line-height: 0;
	list-style: none;
	cursor: pointer;
}

.mbest-header-search__toggle::-webkit-details-marker {
	display: none;
}

.mbest-header-search__toggle svg {
	display: block;
	width: 36px;
	height: 36px;
}


/* --------------------------------------------------------------
   Panel desplegable
-------------------------------------------------------------- */

.mbest-header-search__panel {
	position: absolute;
	top: calc(100% + 12px);
	right: 0;
	z-index: 100;

	display: block !important;

	width: 360px;
	padding: 10px;

	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--md);

	background: var(--wp--preset--color--white);
	box-shadow: var(--wp--preset--shadow--md);

	opacity: 0;
	visibility: hidden;
	pointer-events: none;

	transform: translateY(-10px);

	transition:
		opacity 0.25s ease,
		transform 0.25s ease,
		visibility 0.25s ease;
}

/* Cuando se abre */
.mbest-header-search[open] .mbest-header-search__panel {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}


/* --------------------------------------------------------------
   Formulario
-------------------------------------------------------------- */

.mbest-header-search__form {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
}

.mbest-header-search__form input {
	flex: 1;
	min-width: 0;
	height: 42px;
	padding: 0 12px;

	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--sm);

	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--primary);

	font-size: var(--wp--preset--font-size--small);
	outline: none;
}

.mbest-header-search__form input:focus {
	border-color: var(--wp--preset--color--accent);
}

.mbest-header-search__form button {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	height: 42px;
	padding: 0 14px;

	border: 0;
	border-radius: var(--wp--preset--border-radius--sm);

	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--white);

	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}


/* --------------------------------------------------------------
   Responsive
-------------------------------------------------------------- */

@media (max-width: 600px) {
	.mbest-header-search__panel {
		right: -88px;
		width: min(320px, calc(100vw - 32px));
	}
}

/* --------------------------------------------------------------
   Shop filter dropdown
-------------------------------------------------------------- */

.mbest-shop-filter-dropdown {
	margin: 0 0 28px;
}

.mbest-shop-filter-dropdown__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 12px;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--sm);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--primary);
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	list-style: none;
}

.mbest-shop-filter-dropdown__summary::-webkit-details-marker {
	display: none;
}

.mbest-shop-filter-dropdown__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.2s ease;
}

.mbest-shop-filter-dropdown[open] .mbest-shop-filter-dropdown__icon {
	transform: rotate(180deg);
}

.mbest-shop-filter-dropdown__content {
	padding: 14px 4px 0;
}

/* --------------------------------------------------------------
   Header navigation
-------------------------------------------------------------- */

.mbest-site-header__nav,
.mbest-site-header__nav .wp-block-navigation-item,
.mbest-site-header__nav .wp-block-navigation-item__content {
	font-weight: 400 !important;
}

.mbest-site-header__nav .wp-block-navigation-item__content:hover,
.mbest-site-header__nav .wp-block-navigation-item__content:focus {
	color: var(--wp--preset--color--accent) !important;
}


/* --------------------------------------------------------------
   Home categories - imágenes enlazadas
-------------------------------------------------------------- */

.mbest-category-card__image {
	width: 100%;
}

.mbest-category-card__image a {
	display: block;
	width: 100%;
	height: 180px;
}

.mbest-category-card__image img {
	display: block;
	width: 100% !important;
	height: 180px !important;
	object-fit: cover;
}

@media (max-width: 781px) {
	.mbest-category-card__image a,
	.mbest-category-card__image img {
		height: 200px !important;
	}
}