/*!/wp-content/uploads/css-emmex.css*//* === HEADER === */
	.home .site-header {
		position: absolute!important;
		z-index: 20!important;
		width: 100%!important;
		left: 0!important;
		right: 0!important;
}

/* === FIBOSEARCH EN HEADER === */
	/* === Contenedor de búsqueda ===*/

.dgwt-wcas-search-wrapp {
		display: flex !important;
		align-items: center !important;
		position: relative !important; 
	}

	/* Columna derecha */
	.dgwt-wcas-details-outside.dgwt-wcas-is-details .dgwt-wcas-suggestions-wrapp {
		width: auto;
		min-width: 350px !important;
	}

	.dgwt-wcas-details-wrapp {
		min-width: 400px;
	}

	/* ====* Input de búsqueda (Header) === */
	header .dgwt-wcas-search-input {
		background-color: #001322 !important;
		color: #ffffff !important;
		padding: 12px 20px !important;
		border: 2px solid #0091cb !important;
		border-radius: 50px !important;
		font-size: 0.8rem !important;
		width: calc(100% - 40px) !important;   /* Ajusta ancho para dejar espacio para la lupa */
		position: relative !important;
		z-index: 1 !important;
	}

	/* Placeholder del input */
	.dgwt-wcas-search-input::placeholder {
		color: #ffffff !important;
		opacity: 0.7;
		transition: opacity 0.3s ease !important;
	}
	.dgwt-wcas-search-input:focus::placeholder {
			opacity: 0.9 !important;
	}

	body .dgwt-wcas-suggestions-wrapp {
		border: 0px solid #007CAD !important;
	}

	/* ========================= */
	/*  Resultados de búsqueda     */
	/* ======================= */

	/* Contenedor general de detalles de producto */
	.dgwt-wcas-product-details {
		background-color: #001322 !important;
		border-radius: 8px !important;
		box-shadow: 0 4px 10px rgba(0,0,0,0.1) !important;
	}
	.dgwt-wcas-product-details:hover {
		background-color: #001322 !important;
	}

	/* Título del producto */
	.dgwt-wcas-details-product-title {
		color: #ffffff !important;
		font-size: 1.2rem !important;
		font-weight: 600 !important;
		margin: 10px 0 !important;
		transition: color 0.3s ease !important;
	}
	.dgwt-wcas-details-product-title:hover {
		color: #007CAD !important;
	}

	/* Precio */
	.woocommerce-Price-amount.amount {
		color: #0091cb;
		font-size: 1.3rem;
		font-weight: 700;
        display: flex;
    	/*gap: 3px;*/
    	align-items: baseline;
    	justify-content: center;
	}
	.woocommerce-price-suffix {
		color: #fff !important;
		font-size: 0.8rem !important;
		margin-left: 5px !important;
	}

	/* SKU */
	.dgwt-wcas-details-product-sku {
		color: #fff !important;
		font-size: 0.7rem !important;
		margin: 5px 0 !important;
	}

	/* Descripción */
	.dgwt-wcas-details-desc,
	.dgwt-wcas-details-desc strong {
		color: #ffffff !important;
		font-size: 0.9rem !important;
		line-height: 1.5 !important;
		margin: 10px 0 !important;
	}

	/* Imagen principal del detalle */
	.dgwt-wcas-details-main-image img {
		width: 100% !important;
		height: auto !important;
		object-fit: contain !important;
		background-color: #ffffff;
}

	/* ==================== */
	/*      Selector de cantidad       */
	/* ====================== */

	/* Botones de incremento y decremento */
	.prod-li-minus, 
	.prod-li-plus {
		margin: 0 5px !important;  /* Espaciado entre botones */
	}

	/* ======================= */
	/*   Otras configuraciones      */
	/* ==================== */

	/* Quitar bordes y márgenes de contenedores externos */
	.dgwt-wcas-sf-wrapp {
		border: none !important;
		margin: 0 !important;
	}
	.dgwt-wcas-preloader {
		background-color: transparent;
	}

	/* ====================== */
	/* Contenedor principal AddTC  */
	/* ====================== */
	/* Contenedor para la cantidad + botón */
	.dgwt-wcas-pd-addtc {
		display: flex !important;
		align-items: center !important;
		gap: 10px !important; /* Espacio horizontal entre cantidad y botón */
		margin-top: 5px !important; /* reducir espacio vertical */
		flex-wrap: nowrap;
	}

	/* Formulario interno (apilado) */
	.dgwt-wcas-pd-addtc-form {
		display: flex !important;
		flex-wrap: wrap !important;
		align-items: center !important;
		gap: 8px; /* Espacio interno */
		margin-top: 10px !important;
	}

	/* Alineación de los elementos de cantidad y botón */
	.prod-li-minus,
	.prod-li-plus,
	.qty.text,
.button.product_type_simple.add_to_cart_button {
		display: inline-block;  /* Para ajustar ancho y alto */
		vertical-align: middle; /* Alinea verticalmente todos los elementos */
	}

	/*  Aqui puedes ver mas */
	.dgwt-wcas-suggestion.dgwt-wcas-suggestion-more {
		justify-content: center;
		color: #283346;
		font-size: 1rem;
	}

	/* Precios OFERTA EN FIBO */
/* Nuevo */
body > div.dgwt-wcas-details-wrapp.woocommerce.js-dgwt-wcas-initialized > div.dgwt-wcas-details-inner.dgwt-wcas-details-inner-product.dgwt-wcas-details-inner-active > div > div > div.dgwt-wcas-pd-price > ins > span
{
	color: #ff0000 !important;
		background: transparent !important;
		background-color: transparent !important;
		font-weight: 800 !important; 
		font-size: 1.25rem !important;
		border: none !important;
		text-decoration: none !important;
		border-bottom: none!important;
		border-bottom-color: transparent !important;
}

/* Tachado/Viejo */
body > div.dgwt-wcas-details-wrapp.woocommerce.js-dgwt-wcas-initialized > div.dgwt-wcas-details-inner.dgwt-wcas-details-inner-product.dgwt-wcas-details-inner-active > div > div > div.dgwt-wcas-pd-price > del > span
{
	color: #FFFFFF !important;
		text-decoration: line-through !important;
		text-decoration-color: #ffffff !important;
		font-size: 0.95rem !important;
		font-weight: 600 !important;
		border: none !important;
		padding: 0 !important;
		margin: 0 !important;	
}

/* ======= SECCIONES/ELEMENTOS OCULTOS ======= */
.single_variation_wrap .woocommerce-variation-availability p.stock.out-of-stock:first-of-type, .prod-col-wrap > p:nth-child(1),
.prod-qnt-wrap > p:nth-child(1),
h2.yikes-custom-woo-tab-title,
ul.cont-sections, :is(.e-loop-item .elementor-widget-woocommerce-product-add-to-cart,.woocommerce div.product .e-loop-item .elementor-widget-woocommerce-product-add-to-cart) .added_to_cart,
.maincont-line1, .maincont-line2,
	body .section-top .section-view,
	.prod-items .prod-i .prod-i-actions,
	/*.woof_redraw_zone,*/
	.prod .prod-props,
	.prod-price-wrap > p:first-child,
	a#prod-showdesc,
	.prod-li-compare,
	.prod-compare,
	.woocommerce-checkout .cont-sections.sections-show,
	.prod-items .prod-i .prod-i-categ,
	.prod-info2-stock-label,
	.stock.in-stock,
	.prod-info2-qty-label, 
	.prod-li-infobtn,
	.post-tags, .prod-li-quick-view, #section-filter-toggle-btn {
		display: none !important;
}

	/* Márgenes para títulos */
	.page-styling h1, .page-styling h2, .page-styling h3, .page-styling h4, .page-styling h5, .page-styling h6 {
			margin-bottom: 10px;
	}

	/*========================== */
	/* ESTILOS BASE PARA FORMULARIOS  */
	/* ========================= */

	/* --- Labels Generales --- */
	/* Aplica a labels dentro de formularios comunes (WooCommerce, por defecto) */
	/* Añade selectores para otros plugins si es necesario (ej: .wpcf7-form label) */
	.woocommerce form label:not(.woocommerce-form-login__rememberme):not([class*="button"]), /* Excluir checkbox y botones */
	form label:not(.woocommerce-form-login__rememberme):not([class*="button"]) { /* Un selector más general con exclusiones */
		display: block !important; /* Asegurar bloque */
		margin-bottom: 5px !important; /* Espacio bajo label */
		font-weight: 600 !important;
		font-size: 0.9em !important;
		color: #333 !important;
		text-align: left !important; /* Asegurar alineación */
	}

	/* --- Campos de Input, Select, Textarea (Altura Uniforme) --- */
	/* Aplica a campos comunes (WooCommerce, por defecto) */
	/* Añade selectores para otros plugins si es necesario (ej: .wpcf7-form-control-wrap input, ...) */
	.woocommerce form .input-text,
	.woocommerce form select,
	.woocommerce form textarea,
	form input[type="text"],
	form input[type="email"],
	form input[type="tel"],
	form input[type="password"], /* Input real, no el span */
	form select,
	form textarea, .e-search-form input[type="search"] {
		width: 100% !important;
		/* padding: 18px 12px !important; */
		border: 1px solid #ccc !important;
		border-radius: 4px !important;
		box-sizing: border-box !important;
		font-size: 1rem !important;
		line-height: 1.5 !important;
		background-color: #fff !important;
		color: #333 !important;
		margin: 0 !important; /* Sin margen propio */
		height: 3rem !important; /* ALTURA CONSISTENTE */
		appearance: none !important; /* Resetear estilos navegador */
		-webkit-appearance: none !important;
		-moz-appearance: none !important;
		transition: border-color 0.2s ease, box-shadow 0.2s ease; /* Transición suave para foco */
	}

	/* Ajuste específico para Textarea (puede necesitar altura auto) */
	.woocommerce form textarea,
	form textarea, e-search-input-wrapper {
		height: auto !important; /* Permitir que crezca */
		min-height: 6rem !important; /* Altura mínima (ej: 2 * altura input) */
		line-height: 1.5 !important; /* Asegurar line-height */
	}


	/* --- Estilos Base para Contenedor Contraseña (SPAN) --- */
	/* Selector general para el span, asume estructura HTML consistente */
	form span.password-input {
		display: flex !important;
		align-items: center !important;
		position: relative;
		border: 1px solid #ccc !important;
		border-radius: 4px !important;
		background-color: #fff !important;
		height: 3rem !important; /* ALTURA CONSISTENTE */
		box-sizing: border-box !important;
		padding: 0 !important;
		width: 100% !important; /* Ancho completo */
		margin: 0 !important; /* Sin margen propio */
		transition: border-color 0.2s ease, box-shadow 0.2s ease; /* Transición foco */
	}

	/* --- Input Interno de Contraseña --- */
	form span.password-input input[type="password"] {
		flex-grow: 1;
		border: none !important; /* Sin borde propio */
		box-shadow: none !important;
		outline: none !important;
		background: transparent !important;
		color: #333 !important;
		padding: 0 12px !important; /* Padding horizontal */
		margin: 0 !important;
		height: 100% !important; /* Ocupar altura span */
		font-size: 1rem !important; /* Mismo tamaño fuente */
		line-height: normal !important; /* Resetear line-height */
		appearance: none !important; /* Resetear estilos navegador */
		-webkit-appearance: none !important;
		-moz-appearance: none !important;
	}

	/* --- Botón Mostrar/Ocultar Contraseña (OJO) --- */
	form button.show-password-input {
		border: none !important;
		background: transparent !important;
		cursor: pointer;
		padding: 0 10px !important; /* Padding lateral icono */
		margin: 0 !important; /* Sin márgenes propios */
		opacity: 0.6;
		/* flex-shrink: 0; */ /* QUITADO - Causaba problemas */
		font-size: 1.1em !important; /* Tamaño icono */
		color: #666 !important; /* Color explícito */
		margin-left: auto !important; /* Empujar a la derecha */
		height: 100% !important; /* Ocupar altura span */
		display: flex !important; /* Usar flex para centrar */
		align-items: center !important; /* Centrar icono verticalmente */
		line-height: 1 !important; /* Ajustar línea icono */
	}
	form button.show-password-input:hover {
		opacity: 1 !important; /* Opacidad hover explícita */
		color: #000 !important; /* Color hover explícito */
	}

	/* --- Estilos Base para Filas (Opcional) --- */
	/* Define margen inferior entre filas */
	.woocommerce form .form-row,
	form .form-row { /* Aplica a clases .form-row genéricas */
		margin-bottom: 15px;
		padding: 0;
		/* Clearfix básico por si se usa float interno */
		/* &::after { content: ""; display: table; clear: both; } */
	}
    
    /* --- Estilos para el botón de búsqueda (Opcional) --- */
/* Si quieres que el botón también siga un estilo más uniforme */
/* Puedes añadir estilos aquí. Por ejemplo: */
.e-search-form .e-search-submit {
    padding: 10px 15px !important; /* Ajustar padding */
    border: 1px solid #555 !important; /* Ejemplo de borde */
    border-radius: 4px !important;
    cursor: pointer;
    font-size: 1rem !important;
    margin-left: 5px !important; /* Espacio entre input y botón */
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

/* --- Asegurar que el wrapper del input y el botón se alineen bien --- */
/* Elementor a veces usa flex para el .e-search-form */
.e-search-form {
    display: flex;
    align-items: stretch; /* Asegura que los items se estiren a la misma altura */
}
.e-search-input-wrapper {
    flex-grow: 1; /* Hace que el contenedor del input ocupe el espacio disponible */
}

	/* ========================= FIN ESTILOS BASE FORMULARIOS ===================== */


	/* ==================== PADDING INFERIOR PARA CONTENEDOR PRINCIPAL "AL PIE" ==================== */
	.maincont {
		padding-bottom: 2rem;
	}

	/* Estilos para "Por página", "Ordenar" y "Vista" */
	.section-top .products-per-page {
		float: right;
		font-size: 0.9em;
		color: #001322;
	}

	.section-top .section-sort {
		float: right;
		position: relative;
		font-size: 0.9em;
		color: #001322;
	}


	/* ==================== PRECIO GENERAL ==================== */
	.woocommerce-Price-amount.amount {
		color: #007CAD !important;
		font-size: 1.15rem !important;
		font-weight: 700 !important;
		/* gap: 5px; */
	}

	/* ==================== PRECIO VIEJO (TACHADO) ==================== */
.custom-price-container .prod-i-price del .woocommerce-Price-amount.amount,
.custom-price-container .prod-i-price del bdi,
	.prod-price del .woocommerce-Price-amount.amount,
	p > span.prod-i-price > del > span > bdi,
	.prod-price del .woocommerce-Price-amount.amount {
		color: #001322 !important;
		text-decoration: line-through !important;
		text-decoration-color: #001322 !important;
		font-size: 0.85rem !important;
		font-weight: 600 !important;
		border: none !important;
		padding: 0 !important;
		margin: 0 !important;	
	}

	del {
		text-decoration: none !important;
	}

	/* ==================== PRECIO NUEVO ==================== */
.custom-price-container .prod-i-price ins .woocommerce-Price-amount.amount,
.custom-price-container .prod-i-price ins bdi,
	body .woocommerce .prod-price ins,
	.prod-price ins .woocommerce-Price-amount.amount,
	p > span.prod-i-price > ins > span > bdi,
	.prod-price ins .woocommerce-Price-amount.amount, .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price ins > span {
		color: #ff0000 !important;
		background: transparent !important;
		background-color: transparent !important;
		font-weight: 600 !important; 
		font-size: 1.15rem !important;
		border: none !important;
		text-decoration: none !important;
		border-bottom: none!important;
		border-bottom-color: transparent !important;
	}

	ins {
		text-decoration: none !important;
	}


	/* ==================== QUITAR BORDES/SUBRAYADO EN PRECIOS ==================== */
	.prod-items .prod-i .prod-i-info .button,
	a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart,
	.prod-items .prod-i .prod-i-price del,
	.prod-items .prod-i .prod-i-price ins,
	.prod-items .prod-i .prod-i-price .amount {
		border-bottom: none !important;
	} 

	/* ==================== ESTILO PARA "IVA INCLUIDO" ==================== */
	.woocommerce-price-suffix,
	.prod-price .woocommerce-price-suffix {
		color: #001322 !important;
		font-size: 0.9em; /* Opcional: reduce el tamaño del texto */
		font-weight: 500;
		display: inline-flex !important;
	}

	/* ==================== TEXTO DE DISPONIBLE PARA RESERVA EN FICHA DE PRODUCTO ==================== */
	.woocommerce .product .stock.available-on-backorder {
		color: #007CAD !important;
		font-size: 0.9rem !important;
		font-weight: bold !important;
		padding: 10px 10px !important;
	}


div.prod-info > div.prod-col-wrap.prod-var-wrap > p,
div.prod-info > div.prod-qnt-wrap > p:nth-child(1) {
		margin-bottom: 10px;
}

	/* ======== ESTILO BASE BOTONES =========== */
	body .edit-account button.button, body .woocommerce-address-fields button.button,
	button.woocommerce-button.woocommerce-form-login__submit,
	.woocommerce-Button.woocommerce-form-register__submit,
	.woocommerce div.product form.cart .button,
	.prod-i .prod-i-info .button,
	.prod-i .prod-i-info a.button,
	#place_order,
	.page-styling .wpcf7 input[type=submit],
	body a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart,
	body .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button,
	.single_add_to_cart_button.button.alt.disabled.wc-variation-selection-needed,
	body a.button,
	body .woocommerce a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart, p.form-row.form-row-last > button, .elementor-widget-woocommerce-checkout-page .woocommerce button.woocommerce-button, .woocommerce-Button, .wc-block-cart__submit-button, button.wc-block-components-button.wp-element-button.wc-block-components-totals-coupon__button.contained, #shipping-calculator-form-wrapper > form > button, .wc-block-components-button:not(.is-link), .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link, .comment-form .submit {
		background-color: #007CAD !important;
		color: #fff !important;
		box-sizing: border-box !important; 
		border-radius: 50px !important;
		display: flex !important;
		align-items: center !important;
		text-align: center !important;
		justify-content: center !important;
		height: 2.5rem !important;
		width: auto !important; /* Ancho dinámico */
		min-width: 150px !important; /* Ancho mínimo */
		font-weight: 700 !important;
		text-transform: uppercase !important;
		padding-left: 1.5em !important;
    	padding-right: 1.5em !important;
		font-size: clamp(0.6rem, calc(0.75rem + 0.25vw), 0.8rem) !important;
	}


/* === MEDIA QUERIES DE ESTILOS BASE BOTONES  === */
@media (max-width: 767px) {
body .edit-account button.button, body .woocommerce-address-fields button.button,
    button.woocommerce-button.woocommerce-form-login__submit,
    .woocommerce-Button.woocommerce-form-register__submit,
    .woocommerce div.product form.cart .button,
    .prod-i .prod-i-info .button,
    .prod-i .prod-i-info a.button,
    #place_order,
    .page-styling .wpcf7 input[type=submit],
    body a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart,
    body .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button,
    .single_add_to_cart_button.button.alt.disabled.wc-variation-selection-needed,
    body a.button,
    body .woocommerce a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart, .wp-block-woocommerce-cart-cross-sells-block .wp-block-button .wp-block-button__link {
        /* --- Sobrescribimos las dimensiones para móvil --- */
        height: 2.5rem !important;          /* Altura reducida */
        min-height: 2.5rem !important;     /* Altura mínima reducida */
        padding: 0 0.8em !important;       /* Menos padding horizontal */
		min-width: 140px !important;      /* Ancho mínimo reducido (ajusta si es necesario) */
		/*max-width: 90% !important;*/
		margin-bottom: 12px !important;
    }

    /* Ajuste adicional específico para botones DENTRO de la galería si necesitan algo distinto */
    /* Por ejemplo, si SÓLO los de la galería deben ocupar el ancho completo */
    .prod-items .prod-i .prod-i-info .button,
    .prod-items .prod-i .prod-i-info a.button {
        width: calc(100% - 10px) !important; /* Ocupar ancho - padding contenedor */
        margin-left: 0px !important;
        margin-right: 0px !important;
        margin-bottom: 10px !important; /* Espacio inferior */
    }
}
/* ---- FIN ESTILOS BASE BOTONES MÓVIL ---- */

/* =========================================== */
/* ESTILOS BOTONES ELEMENTOR (BASE + RESPONSIVE) */
/* =========================================== */

/* --- Estilo Base para Botones Elementor --- */
/* Aplicamos fuera de @media query */
.elementor-widget-button .elementor-button,
.elementor-button { /* Selector principal */
    border-radius: 50px !important;       /* Redondeado base */

    /* --- Layout y Dimensiones (Ajustado para Elementor) --- */
    display: inline-flex !important; /* CLAVE: Usar inline-flex */
    align-items: center !important;      /* Centrar contenido verticalmente */
    justify-content: center !important;  /* Centrar contenido horizontalmente */
    text-align: center !important;
    height: 2.5rem !important;             /* Altura base */
    width: auto !important;              /* Ancho automático según contenido */
    /* min-width: 200px !important; */  /* QUITAMOS min-width fijo por defecto */
    padding: 0 1.5em !important;         /* Padding horizontal base */
    box-sizing: border-box !important;
    text-decoration: none !important;
    transition: background-color 0.2s ease;
    /* --- Tipografía --- */
		line-height: normal !important; /* Resetear para inline-flex */
		font-size: clamp(0.6rem, calc(0.75rem + 0.25vw), 0.8rem) !important;
}

/* Ajustes para wrappers internos de Elementor si fueran necesarios */
.elementor-button .elementor-button-content-wrapper {
    display: inherit;
    align-items: inherit;
    justify-content: inherit;
}
.elementor-button .elementor-button-text {
     color: #fff !important; /* Asegurar color texto interno */
     margin: 0; /* Resetear margen */
     padding: 0; /* Resetear padding */
}

/* --- Efecto Hover para Botones Elementor --- */
.elementor-button:hover {
    background-color: #005F85 !important; /* Color hover (ajusta si es otro) */
    color: #fff !important;
}


/* --- Estilos Móviles para Botones Elementor --- */
@media (max-width: 767px) {
    .elementor-widget-button .elementor-button, .elementor-button {
        height: 2.1rem !important;         /* Altura móvil (un poco más que 2.5) */
        min-height: auto !important;       /* Sin altura mínima */
        padding: 0 1em !important;      /* Padding horizontal móvil */
        min-width: auto !important;       /* Sin ancho mínimo */
        max-width: 90% !important; /* Opcional: limitar ancho */
		font-size: 0.7rem !important;
    }
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button {
	 margin-top: 5px !important;
}

/* ============================================================== */
/* === AJUSTES BOTONES PARA MÓVILES MUY PEQUEÑOS (S) ~360px === */
/* ============================================================== */

@media (max-width: 375px) { /* Aplicamos a 375px o menos */

    /* --- Ajustes para Botones Base (WooCommerce, Forms, etc.) --- */
    body .edit-account button.button, body .woocommerce-address-fields button.button,
    button.woocommerce-button.woocommerce-form-login__submit,
    .woocommerce-Button.woocommerce-form-register__submit,
    .woocommerce div.product form.cart .button,
    .prod-i .prod-i-info .button,
    .prod-i .prod-i-info a.button,
    #place_order,
    .page-styling .wpcf7 input[type=submit],
    body a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart,
    body .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button,
    .single_add_to_cart_button.button.alt.disabled.wc-variation-selection-needed,
    body a.button,
    body .woocommerce a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart {
        min-width: 0 !important;         /* CLAVE: Eliminar el ancho mínimo */
        width: auto !important;          /* Asegurar ancho automático */
        max-width: 100% !important;      /* Asegurar que no se desborde (mejor que 90%) */
        height: 2.1rem !important;       /* Altura ligeramente más reducida */
        min-height: auto !important;     /* Sin altura mínima fija */
        font-size: 0.6rem !important;   /* Fuente un poco más pequeña */
        padding: 0 0.8em !important;     /* Padding horizontal (ajusta si necesitas menos) */
        margin-bottom: 10px !important;  /* Ajustar margen inferior si es necesario */
    }


    /* --- Ajustes para Botones Elementor (Móvil S) --- */
    .elementor-button {
        height: 2.5rem !important;       /* Altura móvil reducida */
        font-size: 0.75rem !important;   /* Fuente móvil reducida */
        padding: 0 1em !important;       /* Padding horizontal móvil reducido */
        /* min-width: auto !important; (ya estaba en 767px, así que no hace falta repetirlo) */
        /* max-width: 100% !important; */ /* Opcional: si ves que se salen */
    }

}
/* ---- FIN AJUSTES BOTONES MÓVILES S ---- */



	/* ==================== HOVER PARA ENLACES ==================== */
	.page-styling a,
	.page-styling a:hover {
		border-color: #007CAD !important;
		text-decoration: none !important;
		border-bottom: none !important;
	}

	/* ==================== COLOR TEXTO DESCRIPCION PRODUCTO ==================== */
	.prod-tab-desc {
		padding: 0px 0 0;
		color: #283346 !important;
		font-size: 1rem;
		line-height: 180%;
	}

/* ==================== OCULTAR SVG DEL BOTÓN EN FICHA DE PRODUCTO ==================== */
button.single_add_to_cart_button svg {
    display: none !important;
}

	/* ==================== AJUSTES DE CANTIDAD INPUT, PLUS Y LESS FICHA DE PRODUCTO ==================== */
	/* CONTENEDOR PRINCIPAL (Mismo diseño) */
.prod .prod-info2 .prod-li-qnt,
.qnt-wrap.prod-li-qnt {
		height: 2.5rem;
		border: 1px solid #007CAD !important;			
		border-radius: 50px !important;
		display: inline-flex !important;
		align-items: center !important;
		/*padding: 0.4rem !important;*/
		background-color: white !important;
		transition: all 0.3s ease !important;
		/*width: 140px !important;*/
        margin-bottom: 2px;
	}

	/* SOLUCIÓN SÍMBOLOS DUPLICADOS */
	.qnt-wrap.prod-li-qnt a.qnt-minus,
	.qnt-wrap.prod-li-qnt a.qnt-plus {
		position: relative;
		text-indent: -9999px; /* Oculta texto original */
		overflow: hidden;
	}

	.qnt-wrap.prod-li-qnt a.qnt-minus:before,
	.qnt-wrap.prod-li-qnt a.qnt-plus:before {
		content: "+";
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		text-indent: 0;
		font-weight: 700;
	}

	.qnt-wrap.prod-li-qnt a.qnt-minus:before {
		content: "-";
	}

	/* INPUT (Manteniendo estilo) */
	.qnt-wrap.prod-li-qnt input.input-text.qty.text {
		border: none !important;
		background: transparent !important;
		color: #283346 !important;
		font-weight: 600 !important;
		font-size: clamp(0.875rem, 1.25vw, 1rem); /* Escala responsiva */
		width: 2rem !important; /* Unidad relativa */
		padding: 0 !important;
		margin: 0 !important;
		text-align: center;
	}

	/* BOTONES (Escala responsiva) */
	.qnt-wrap.prod-li-qnt a.qnt-minus,
	.qnt-wrap.prod-li-qnt a.qnt-plus {
		background: #007CAD !important;
		color: white !important;
		border-radius: 50% !important;
		width: 2rem;
		height: 2rem;
		font-size: clamp(1.2rem, 2vw, 1rem); /* Tamaño máximo fuente 18px → 16px */
		display: flex !important;
		align-items: center;
		justify-content: center;
		transition: transform 0.2s ease !important;
		border: #007CAD !important;
	}

/* === BLOQUE CORREGIDO: Eliminar flechas del input number (WebKit y Firefox) === */
.qnt-wrap.prod-li-qnt input[type=number] {
  -moz-appearance: textfield !important; /* Firefox */
  appearance: textfield !important; /* Futuro estándar si se adopta */
}

/* Webkit (Chrome, Safari, Edge, Opera) */
.qnt-wrap.prod-li-qnt input[type=number]::-webkit-outer-spin-button,
.qnt-wrap.prod-li-qnt input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

	/* RESPONSIVE CON MEDIA QUERIES (Para ajustes específicos) */
	@media (max-width: 768px) {
		.qnt-wrap.prod-li-qnt {
		padding: 0.1rem !important;
		min-width: 120px !important;
	  	height: 2.5rem !important;
}

			.qnt-wrap.prod-li-qnt input.input-text.qty.text {
				width: 2rem !important;
			}
		.qnt-wrap.prod-li-qnt a.qnt-minus, .qnt-wrap.prod-li-qnt a.qnt-plus {
		width: 2rem !important;
	 	height: 2rem !important;
	}	
}


/* -------- NUMERACION PIE DE PAGINA PRODUCTOS --------- */

	/* Contenedor de la paginación */
ul.page-numbers {
		display: flex !important;
		justify-content: center !important;
		list-style: none !important;
		padding: 0 !important;
		margin: 20px 0 !important;
	}

	/* Espaciado entre elementos de la paginación */
ul.page-numbers > li {
		margin: 0 5px !important;
	}

	/* Estilos comunes para enlaces y span (estado actual) */
ul.page-numbers > li a,
	ul.page-numbers > li span {
		display: inline-block !important;
		padding: 8px 12px !important;
		font-size: 1rem !important;
		color: #007CAD !important;
		border: 1px solid #007CAD !important;
		border-radius: 4px !important;
		text-decoration: none !important;
		transition: background-color 0.3s, color 0.3s !important;
	}

	/* Estado hover para enlaces */
	ul.page-numbers > li a:hover {
		background-color: #007CAD !important;
		color: #ffffff !important;
	}

	/* Estado activo: página actual */
	ul.page-numbers > li span.current {
		background-color: #007CAD !important;
		color: #ffffff !important;
	}

/* === Paginación en Móviles (Revisión) === */
/* Aplicamos a partir de 767px para consistencia con galería */
@media (max-width: 767px) {

  /* Contenedor (opcional: reducir margen si ocupa mucho) */
  ul.page-numbers {
    margin: 20px 0 15px 0 !important; /* Reducir margen vertical */
    padding: 0 5px !important; /* Añadir padding lateral si se acerca a bordes */
    flex-wrap: wrap !important; /* Permitir que los números bajen de línea si no caben */
    justify-content: center; /* Asegurar centrado */
  }

  /* Botones de paginación más pequeños */
  ul.page-numbers > li {
    margin: 3px 3px !important; /* Ajustar margen entre botones */
  }
  ul.page-numbers > li a,
  ul.page-numbers > li span {
    padding: 5px 9px !important; /* Reducir padding */
    font-size: 0.813rem !important; /* Reducir fuente */
    /* Hereda colores y bordes base, pero forzamos tamaño */
  }
}
/* ---- FIN PAGINACIÓN MÓVILES ---- */

	/* =========================================== */
	/* CSS PERSONALIZADO PARA LA GALERÍA DE PRODUCTOS */
	/* =========================================== */

	/* Contenedor General de Items */
	.prod-items .prod-i {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		text-align: center !important;
		min-height: 400px !important; /* Altura mínima tarjeta completa */
		position: relative;
		padding-top: 0.1rem !important;
		padding-bottom: 0.8rem !important;
		box-sizing: border-box;
	}

 /* Imagen IMG */
   .prod-items .prod-i p.prod-i-img .image-wrap img { 
    width: 100% !important;
    height: 100% !important; /* Llenar contenedor */
    object-fit: contain !important; /* Ajuste de imagen */
    max-width: 100% !important;
	background-color: #ffffff;
   }

	.prod-items .prod-i .prod-i-img {
	margin: 0 0 10px;
	}

	/* --- Título del Producto --- */
	.prod-i-link h3 {
		font-size: 0.9rem !important;
		font-weight: 500 !important;
		color: #001322 !important;
		padding-bottom: 0.8rem !important;
		width: 95% !important;
		margin-left: auto !important;
		margin-right: auto !important;
		display: -webkit-box !important;
		-webkit-line-clamp: 2 !important;
        line-clamp: 2 !important;
		-webkit-box-orient: vertical !important;
		margin-bottom: 0 !important;
		position: relative;
		z-index: 2;
		pointer-events: auto !important;
		margin-bottom: 2px !important;
	}

	.prod-i-link:hover h3 {
		color: #007CAD !important;
	}

	/* --- Contenedor del Precio --- */
	.prod-items .prod-i .custom-price-container {
		font-size: 1rem !important;
		opacity: 1 !important;
		visibility: visible !important;
		position: static !important;
		display: flex !important;
		flex-wrap: nowrap;
		width: 100%;
		box-sizing: border-box;
		height: 1.8rem !important; 
		min-height: unset !important;
		justify-content: center !important; 
		align-items: center !important;
	}

.prod-items .prod-i .custom-price-container .woocommerce-price-suffix {
		display: none !important;
	}

	/* --- Ocultar elementos innecesarios / Limpieza --- */

	.prod-i .prod-i-wrap .prod-i-info-wrap .prod-i-info .prod-addtocart {
		display: none !important;
	}

	.prod-items .prod-i:hover .prod-i-price {
		opacity: 1 !important;
		visibility: visible !important;
	}

	.prod-items .prod-i .added_to_cart.wc-forward {
		display: none !important;
	}

	/* Zoom Sutil en Imagen */
	.prod-items .prod-i .prod-i-link .prod-i-img img {
		transition: transform 0.3s ease; /* Transición suave */
	}
	.prod-items .prod-i .prod-i-link:hover .prod-i-img img {
		transform: scale(1.05); /* Aumenta un 5% el tamaño */
	}

/* =========================================== */
/* GALERÍA PRODUCTOS - VISTA MÓVIL (2 COLUMNAS) - V1 (Basado en Nuevo Base Limpio) */
/* =========================================== */

@media (max-width: 767px) {

  /* 1. Contenedor Principal: Activar Flexbox */
  .prod-items {
    display: flex !important;
    flex-wrap: wrap !important;
    margin-left: -5px !important;
    margin-right: -5px !important;
    align-items: stretch !important; /* Intentar que tarjetas en misma fila tengan igual altura */
	}

  /* 2. Cada Tarjeta de Producto */
  .prod-items .prod-i {
    width: calc(50% - 10px) !important; /* Ancho para 2 columnas */
    margin-left: 5px !important;
    margin-right: 5px !important;
    margin-bottom: 20px !important; /* Espacio vertical entre filas */
    min-height: 150px !important; /* QUITAR altura mínima de escritorio */
	padding: 10px 0px 10px 0px !important; 
	display: flex !important; /* Mantener flex column interno */
    flex-direction: column !important;
    background-color: #fff !important; /* Asegurar por si acaso */
    border: 1px solid #eee !important;
    border-radius: 5px !important;
    overflow: hidden !important;
  }

  /* --- ESTILOS IMAGEN MÓVIL (Altura Fija) --- */
  /* Contenedor P de la imagen */
  .prod-items .prod-i a.prod-i-link p.prod-i-img {
      display: block !important;
      padding: 0 !important;
      margin: 0 !important;
      position: relative !important;
      width: 100% !important;
      height: 180px !important; /* *** AJUSTA ESTA ALTURA PARA MÓVIL *** */
      overflow: hidden !important;
      flex-shrink: 0; /* No encoger verticalmente */
      background-color: #ffffff; /* Fondo mientras carga */
	  line-height: 170px;
  }
  /* Contenedor interno .image-wrap (si existe) */
  .prod-items .prod-i p.prod-i-img .image-wrap {
      display: block !important;
      width: 100% !important;
      height: 100% !important; /* Llenar altura fija del padre */
      overflow: hidden !important;
      position: relative !important;
  }
  /* Imagen IMG */
   .prod-items .prod-i p.prod-i-img .image-wrap img { /* Asume estructura con .image-wrap */
      display: block !important;
      width: 100% !important;
      height: 100% !important; /* Llenar contenedor */
      object-fit: contain !important; /* Ajuste de imagen */
      max-width: 100% !important;
      margin: 0 auto !important;
      padding: 0 !important;
      border: none !important;
		 	background-color: #ffffff;
   }
  /* --- FIN ESTILOS IMAGEN --- */

   /* Contenedor Info (Título, Precio, Botón) */
   .prod-items .prod-i .prod-i-info { /* Asumiendo que sigue siendo la clase */
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important; /* Ocupa espacio vertical restante */
    padding: 5px 8px 8px 8px !important; /* Padding interno móvil */
    width: 100% !important;
    box-sizing: border-box !important;
    text-align: center !important;
    justify-content: center !important; /* Empujar botón abajo */
  }
	

  /* 3. Título: Limitar a 2 líneas */
  .prod-items .prod-i .prod-i-link h3 {
    font-size: 0.8rem !important;
    max-height: 2.5em !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    width: 90% !important; /* Ocupar ancho contenedor info */
    padding: 0 !important;
    flex-shrink: 0; /* No encoger */
	margin-top: 0.3rem !important;
    /* Hereda fuente, color, peso de la base */
	margin-bottom: 0.2rem !important;
  }

  /* 4. Contenedor de precio: Ajustar altura/tamaño */
  .prod-items .prod-i .custom-price-container {
    height: 15px !important; /* Quitar altura fija escritorio */
	margin-top: 0.1rem !important;
    margin-bottom: 0.3rem !important; /* Espacio antes del botón */
    font-size: 0.9rem !important; /* Tamaño fuente base precio móvil */
    /* Hereda display:flex, justify/align:center de base */
    flex-wrap: nowrap !important;
    line-height: 1.2 !important;
	height: 2.0rem !important; /* altura FIJA */
  }
   /* Precio Amount móvil */
   .prod-items .prod-i .custom-price-container .woocommerce-Price-amount {
        font-size: 1.1em !important; /* Heredar 0.9rem */
        /* Hereda inline-block, v-align de base */
   }
   /* Desde móvil */
    .prod-items .prod-i.product-type-variable .custom-price-container .from-text {
        font-size: 0.9em !important; /* Relativo a 0.9rem */ 
   } 
}
/* ---- FIN VISTA MÓVIL (2 COLUMNAS) - V1 (Nuevo Base) ---- */

	/* =========================================== */
	/* ESTILOS PARA PÁGINA "MI CUENTA"             */
	/* USA ESTILOS BASE PARA BOTONES Y FORMULARIOS */
	/* =========================================== */

	/* --- Navegación Lateral --- */
	.woocommerce-account .woocommerce-MyAccount-navigation {
		border: 1px solid #e0e0e0;
		border-radius: 8px;
		padding: 15px;
		background-color: #fff;
		width: 100%;
		box-sizing: border-box;
		margin-bottom: 30px;
		float: none;
	}

	@media (min-width: 768px) {
			.woocommerce-account .woocommerce-MyAccount-navigation { width: 240px; float: left; margin-bottom: 0; margin-right: 30px; }
	}
	.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding-left: 0; margin: 0; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul li { margin-bottom: 4px; position: relative; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul li a { display: block; padding: 10px 15px; text-decoration: none !important; color: #333; font-weight: 500; font-size: clamp(0.7rem, 1vw + 0.4rem, 0.9rem); transition: background-color 0.2s ease, color 0.2s ease, border-left-color 0.2s ease; border-left: 4px solid transparent; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul li:not(.is-active) a:hover { background-color: #f5f5f5; color: #007CAD; border-left-color: #ddd; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a { background-color: #e7f5fc; color: #007CAD; font-weight: 700; border-left-color: #007CAD; }

	/* --- Área de Contenido --- */
	.woocommerce-account .woocommerce-MyAccount-content {
		border: 1px solid #e0e0e0 !important;
		border-radius: 8px !important;
		padding: 30px !important;
		background-color: #fff !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
		text-align: left !important; /* Asegurar alineación */
		margin-right: 2em !important;
	}
	.woocommerce-account .woocommerce-MyAccount-content p {  line-height: 1.7; margin-bottom: 1.2em; color: #333; text-align: left !important; }
	.woocommerce-account .woocommerce-MyAccount-content p:last-child { margin-bottom: 0; }
	.woocommerce-account .woocommerce-MyAccount-content strong { font-weight: 600; color: #001322; }
	.woocommerce-account .woocommerce-MyAccount-content a:not(.button) { color: #007CAD; text-decoration: none; font-weight: 500; border-bottom: 1px dotted #007CAD; transition: color 0.2s ease, border-bottom-color 0.2s ease; }
	.woocommerce-account .woocommerce-MyAccount-content a:not(.button):hover { color: #005a87; border-bottom-color: #005a87; }

	/* --- Formularios (Detalles Cuenta, Direcciones, etc.) --- */
	.woocommerce-account .woocommerce-MyAccount-content form { margin-top: 20px; text-align: left; }
	/* Filas y Labels heredan de BASE */
	/* Layout específico 2 columnas */
	.woocommerce-account .woocommerce-MyAccount-content form .form-row-first { width: 48%; float: left; margin-right: 4%; }
	.woocommerce-account .woocommerce-MyAccount-content form .form-row-last { width: 48%; float: right; margin-right: 0; }
	.woocommerce-account .woocommerce-MyAccount-content form::after, .woocommerce-account .woocommerce-MyAccount-content form .clear { content: ""; display: table; clear: both; }
	@media (max-width: 767px) { .woocommerce-account .woocommerce-MyAccount-content form .form-row-first, .woocommerce-account .woocommerce-MyAccount-content form .form-row-last { width: 100%; float: none; margin-right: 0; } }


.woocommerce-Address-title h2 {
  font-size: clamp(1rem, 1vw + 0.5rem, 1.5rem) !important;
  /* Mín: 1.125rem (18px), Ideal: 2vw + 0.5rem (crece con el viewport), Máx: 1.5rem (24px) */
}

.woocommerce-Address address {
  font-size: clamp(0.875rem, 1.5vw + 0.25rem, 1rem) !important;
  /* Mín: 0.875rem (14px), Ideal: adaptable al ancho, Máx: 1rem (16px) */
  line-height: 1.6;
}

.woocommerce-Address-title .edit {
  font-size: clamp(0.75rem, 1vw + 0.5rem, 0.875rem) !important;
  /* Mín: 0.75rem (12px), Ideal: adaptable, Máx: 0.875rem (14px) */
}

.woocommerce-account .woocommerce-MyAccount-content p {
    font-size: clamp(0.7rem, 1vw + 0.5rem, 1rem) !important;
}

	/* Inputs, Contraseña, Ojo heredan de BASE */

	/* Fieldset y Legend (Específico Mi Cuenta) */
	.woocommerce-account .woocommerce-MyAccount-content form fieldset { border: 1px solid #e0e0e0; padding: 15px 20px; margin-top: 20px; margin-bottom: 10px; border-radius: 5px; text-align: left; }
	.woocommerce-account .woocommerce-MyAccount-content form legend { font-weight: 600; padding: 0 10px; font-size: 1.1em; width: auto; margin-bottom: 15px; /* Aumentar espacio bajo leyenda */ }

	/* Notas descriptivas bajo campos */
	.woocommerce-account .woocommerce-MyAccount-content form span em,
	.woocommerce-account .woocommerce-MyAccount-content form p em {
		font-size: 0.85em;
		color: #666;
		display: block;
		margin-top: 5px;
		text-align: left !important;
		line-height: 1.4;
	}

	/* Botón Guardar Cambios (Solo márgenes) */
	.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm button[type="submit"].button {
		margin-top: 20px !important;
		margin-right: 10px !important;
		margin-bottom: 10px !important;
		/* Apariencia viene de BASE */
	}


	/* =========================================== */
	/* ESTILOS PARA SUBMENU ICONO USUARIO HEADER (OSCURO) */
	/* =========================================== */

	/* Posicionamiento Relativo del Contenedor del Icono */
	li.el-header-icon-profile {
			position: relative !important;
	}

	/* Estilo y Posicionamiento del Submenu Desplegable */
	ul.el-header-icons-submenu {
		position: absolute !important;
		top: 100% !important;
		right: 0 !important;   /* Alineado a la derecha del icono */
		left: auto !important;
		margin: 5px 0 0 0 !important;
		padding: 10px 0 !important; /* Padding vertical */
		min-width: 200px;
		width: max-content;
		max-width: 250px;
		list-style: none !important; /* Quitar puntos lista */
		z-index: 1000 !important;
		border-radius: 4px !important;
		box-shadow: 0 5px 15px rgba(0,0,0,0.1) !important;
		opacity: 0;
		visibility: hidden;
		transform: translateY(5px);
		transition: opacity 0.2s ease, visibility 0s linear 0.2s, transform 0.2s ease;
		pointer-events: none;

		/* --- Estilo Oscuro --- */
		background-color: #001322 !important; /* Fondo oscuro */
		border: 1px solid #334 !important;   /* Borde oscuro */
	}

	/* Estado visible */
	li.el-header-icon-profile:hover > ul.el-header-icons-submenu { /* Asume hover en LI padre */
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
		pointer-events: auto;
		transition-delay: 0s;
	}

	/* Items del Submenu */
	ul.el-header-icons-submenu li {
		margin: 0 !important;
		padding: 0 !important;
		border: none !important; /* Asegurar sin bordes internos */
	}

	/* Enlaces dentro del submenu */
	ul.el-header-icons-submenu li a {
		display: block !important;
		padding: 8px 20px !important; /* Padding interno */
		font-size: 0.9rem !important;
		text-decoration: none !important;
		white-space: nowrap !important;
		transition: background-color 0.2s ease, color 0.2s ease !important;
		border-bottom: none !important; /* Sin subrayado/borde */
		/* --- Estilo Oscuro --- */
		color: #ffffff !important; /* Texto blanco */
	}

	/* Hover en enlaces del submenu */
	ul.el-header-icons-submenu li a:hover {
		background-color: #007CAD !important; /* Fondo azul principal */
		color: #ffffff !important; /* Mantener texto blanco */
	}

	/* Estilo específico para 'Salir' (si es el último) */
	ul.el-header-icons-submenu li:last-child {
		border-top: 1px solid #334 !important; /* Separador oscuro */
		margin-top: 5px !important;
		padding-top: 5px !important;
	}

	/* =========================================== */
	/* ESTILOS PARA LOGIN/REGISTRO (DESCONECTADO) */
	/* USA ESTILOS BASE PARA BOTONES Y FORMULARIOS */
	/* =========================================== */

	/* --- Contenedores de Columna --- */
	#customer_login .u-column1,
	#customer_login .u-column2 {
		border: 1px solid #e0e0e0;
		border-radius: 5px;
		padding: 30px;
		background-color: #fff;
		box-sizing: border-box;
		margin-bottom: 30px;
		width: 100%;
		float: none;
	}
	/* --- Layout Escritorio --- */
	@media (min-width: 768px) {
		#customer_login { display: flex; gap: 30px; }
		#customer_login .u-column1, #customer_login .u-column2 { flex: 1; margin-bottom: 0; }
	}
	/* --- Títulos H2 --- */
	#customer_login h2 { font-size: 1.5em; margin-bottom: 20px; font-weight: 600; color: #001322; text-align: left; }
	/* --- Forzar Alineación Izquierda Columna Acceder --- */
	#customer_login .u-column1,
	#customer_login .u-column1 form label,
	#customer_login .u-column1 form p,
	#customer_login .u-column1 .woocommerce-LostPassword.lost_password { text-align: left !important; }
	/* --- Formularios y Inputs heredan de BASE --- */
	#customer_login form { margin-top: 20px; }
	/* --- Layout Fila Checkbox/Botón en Login (Flujo Normal) --- */
	#customer_login .u-column1 form p.form-row:has(button.woocommerce-form-login__submit) { margin-top: 20px; margin-bottom: 0px; padding: 0; }
	#customer_login .u-column1 form p.form-row .woocommerce-form-login__rememberme { display: block; margin-bottom: 15px; padding-top: 0; font-weight: normal; font-size: 0.9em; }
	#customer_login .u-column1 form p.form-row .woocommerce-form-login__rememberme input { margin-right: 5px; vertical-align: middle; }
	/* Posicionamiento Botón LOGIN (Solo márgenes) */
	#customer_login .u-column1 form p.form-row button.woocommerce-button.woocommerce-form-login__submit { margin-top: 0; margin-bottom: 10px; /* Apariencia/Alineación de BASE */ }
	/* --- Párrafo enlace "¿Olvidaste contraseña?" --- */
	#customer_login .u-column1 .woocommerce-LostPassword.lost_password { margin-top: 5px; margin-bottom: 1.5em; width: 100%; text-align: left !important; clear: both; padding: 0; font-size: 0.9em; }
	#customer_login .u-column1 .woocommerce-LostPassword.lost_password a { border-bottom: 1px dotted #007CAD; font-weight: 500; /* Hereda color/hover base */ }
	/* --- Limpiar floats --- */
	#customer_login .u-column1::after, #customer_login .u-column2::after { content: ""; display: table; clear: both; }



/* ========================= */
/* ELEMENTOR SLIDER CONSISTENCIA (Loop Item 18744) NOVEDADES */
/* ============================= */

/* Contenedor principal del contenido dentro del slide */
/* Hacemos que sea una columna flex que ocupe toda la altura */
.elementor-18744 .elementor-widget-wrap {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important; /* Asegurar que ocupa la altura del slide */
    justify-content: baseline;
}

/* Aplicar borde, sombra, redondeo al item */
.elementor-18744 .elementor-widget-wrap {
     background-color: #ffffff !important; /* Fondo blanco */
     border: 1px solid #e9e9e9 !important; /* Borde gris suave */
     border-radius: 12px !important;       /* Bordes redondeados (ajusta si quieres) */
	 /*margin-top: 20px !important;*/
}

/* --- Ajustes Widgets Internos --- */

/* Widget Imagen Destacada */
.elementor-18744 .elementor-element.elementor-element-34cb80d { /* Contenedor widget imagen */
    order: 1; /* Orden: Imagen primero */
    flex-shrink: 0; /* No encoger */
    /* margin-bottom: 0.75rem !important; */ /* Espacio bajo imagen */
	margin-bottom: 0rem !important; /* Espacio bajo imagen */

}
.elementor-18744 .elementor-element.elementor-element-34cb80d img {
    object-fit: contain;   /* Rellenar espacio */
	background-color: #ffffff;
    max-width: 99% !important;
}

.elementor-18744 .elementor-element.elementor-element-34cb80d>.elementor-widget-container {
	height: 220px;
    width: 100% !important;
    overflow: hidden !important;
}

/* Widget Título del Producto */
.elementor-18744 .elementor-element.elementor-element-6a05f90 { /* Contenedor widget título */
    order: 2; /* Orden: Título segundo */
    flex-shrink: 0; /* No encoger */
    margin-bottom: 0rem !important; /* Espacio bajo título */
}
/* Texto del Título (Párrafo) - Limitar a 2 líneas */
.elementor-18744 .elementor-element-6a05f90 p.product_title {
    font-size: 0.9rem !important; /* Tamaño ajustado */
    line-height: 1.5 !important;  /* Altura línea */
    height: 3em !important;      /* ALTURA FIJA para 2 LÍNEAS */
    max-height: 3em !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: -webkit-box !important; /* Técnica line-clamp */
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important; /* Standard property for compatibility */
    -webkit-box-orient: vertical !important;
    margin: 0 !important; /* Resetear márgenes */
    padding: 0 2px !important; /* Pequeño padding lateral */
    box-sizing: border-box;
    /* Hereda color/fuente base */
	font-weight: 500 !important;
	color: #001322!important;
	margin-top: 5px !important;
	margin-bottom: 5px !important;
}

/* Widget Precio del Producto */
.elementor-18744 .elementor-element.elementor-element-ce6a70d { /* Contenedor widget precio */
    order: 3; /* Orden: Precio tercero */
    flex-shrink: 0; /* No encoger */
	height: 2rem; /* altura FIJA */
	margin-top: 2px;
}

/* Texto del Precio */
.elementor-18744 .elementor-element-ce6a70d p.prod-price {
    line-height: 1.3 !important;
    margin: 0 !important;
    /* display: grid; */   
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 5px !important;
}

#loop-novedades .elementor-widget-woocommerce-product-price .prod-price, .elementor-18744 .elementor-element-ce6a70d .amount {
    font-size: 1.15em !important; /* Tamaño precio */
    font-weight: 600 !important;
    color: #007CAD !important; /* Asegurar color azul */
    /* Otros ajustes si es necesario */
}

/* Ocultar IVA Incluido si no lo hiciste en Elementor */
.elementor-18744 .elementor-element-ce6a70d .woocommerce-price-suffix {
    display: none !important;
}

/* Widget Botón Añadir al Carrito */
.elementor-18744 .elementor-element.elementor-element-b149744 { /* Contenedor widget botón */
    order: 4; /* Orden: Botón al final */
    /* margin-top: auto !important; /* *** CLAVE: Empujar al fondo *** */
    padding-top: 0rem; /* Espacio sobre el botón */
    flex-shrink: 0; /* No encoger */
}
/* Botón en sí */
.elementor-18744 .elementor-element-b149744 .button {
   /* Aplicar estilos del botón móvil que definimos antes */
    height: 2.5rem !important;
    min-height: 2.5rem !important;
    font-size: 0.8rem !important;
    padding: 0 0.8em !important;
    min-width: auto !important; /* Quitar min-width grande */
    max-width: 100%;
    width: auto; /* Ancho según contenido */
    display: inline-flex !important; /* Asegurar inline-flex */
	margin-bottom: 6px !important;
}


/* ================================================================= */
/* RESPONSIVE BARRA SUPERIOR TIENDA (.section-top) - SOLO MOVILES */
/* ================================================================= */

/* Aplicar SOLO hasta 650px de ancho */
@media (max-width: 650px) {

    .section-top {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        padding: 5px !important;
        border-bottom: 1px solid #eee;
        margin-bottom: 15px !important;
    }

    .section-top > *:not(:last-child) {
        margin-bottom: 10px !important;
    }

    /* Filas de Dropdowns (Vista, Ordenar, Mostrar) */
    .section-top .section-view,
    .section-top .section-sort,
    .section-top form.products-per-page {
        width: 100% !important;
        display: flex !important;
        justify-content: space-between !important; /* O flex-start si funcionaba */
        align-items: center !important;
        border-bottom: 1px solid #eee;
        padding-bottom: 8px !important;
        float: none !important;
    }
     /* Quitar borde y padding extra al último elemento (el form) */
     .section-top form.products-per-page {
         border-bottom: none;
         padding-bottom: 0;
         margin-bottom: 0 !important; /* Asegurar sin margen inferior */
     }

    /* Párrafos de Título ('Vista', 'Ordenar', 'Mostrar') */
    .section-top .section-view > p:first-child,
    .section-top .section-sort > p:first-child,
    .section-top form.products-per-page > p:first-child {
        margin: 0;
        font-weight: 600;
        color: #333;
        font-size: 0.9em;
        flex-shrink: 0;
        padding-right: 10px;
    }

    /* Contenedor .dropdown-wrap */
    .section-top .dropdown-wrap {
       position: relative;
       flex-grow: 1;
       text-align: right;
    }

    /* Título visible del dropdown */
    .section-top .dropdown-title {
       margin: 0;
       padding: 5px 0px;
    }

    /* Ocultar el select HTML original dentro del formulario */
    .section-top form.products-per-page select.wppp-select {
        display: none !important;
    }


} /* Fin de @media (max-width: 650px) */


/* =========================================== */
/* TÍTULO H1 RESPONSIVO (Tienda/Categorías)   */
/* =========================================== */

@media (max-width: 767px) {

.archive.woocommerce-page .maincont h1 > span,
	.archive.woocommerce-page h1.page-title,
    .archive.woocommerce-page .maincont h1, 
    .woocommerce-products-header__title /* Otro selector común */ {
        font-size: 1.2rem !important; 
        line-height: 1.2 !important;
        margin-bottom: 15px !important;
    }

    /* Asegurar que el SPAN dentro del H1 herede el tamaño */
    .archive.woocommerce-page h1.page-title span,
    .archive.woocommerce-page .maincont h1 span,
    .woocommerce-products-header__title span {
        font-size: 1.2rem !important;
    }
}


/* ======================================================= */
/* TAMAÑOS RESPONSIVE TÍTULOS Y TEXTO (H1-H6) - MÓVIL     */
/* (Aplicado SOLO DENTRO del área #content) - VERSIÓN FINAL */
/* ======================================================= */

@media (max-width: 767px) {

    /* --- Títulos H1 (Páginas Archivo - Dentro de #content) --- */
    #content .archive.woocommerce-page h1.page-title,
    #content .archive.woocommerce-page .maincont h1,
    #content .woocommerce-products-header__title {
        font-size: 1.2rem !important;
        line-height: 1.2 !important;
    }
    #content .archive.woocommerce-page h1.page-title span,
    #content .archive.woocommerce-page .maincont h1 span,
    #content .woocommerce-products-header__title span {
        font-size: 1.2rem !important;
    }

    /* --- Títulos H2-H6 de Elementor DENTRO de #content --- */
    #content .elementor-widget-heading h2.elementor-heading-title {
        font-size: 1.2rem !important;
        line-height: 1.2 !important;
        margin-bottom: 10px !important;
    }
    #content .elementor-widget-heading h3.elementor-heading-title {
        font-size: 1.1rem !important;
        line-height: 1.4 !important;
        margin-bottom: 8px !important;
    }
    #content .elementor-widget-heading h4.elementor-heading-title {
        font-size: 1rem !important;
        line-height: 1.4 !important;
        margin-bottom: 6px !important;
    }
    #content .elementor-widget-heading h5.elementor-heading-title {
        font-size: 0.9rem !important;
        line-height: 1.4 !important;
        margin-bottom: 5px !important;
    }
    #content .elementor-widget-heading h6.elementor-heading-title {
        font-size: 0.8rem !important;
        line-height: 1.4 !important;
        margin-bottom: 5px !important;
    }

    /* --- Reset Específico para H6 en Top Bar del Header (FUERA de #content) --- */
    .elementor-element-beaf500 h6.elementor-heading-title {
        font-size: 0.75rem !important; /* Ajusta si es necesario */
        line-height: 1.2 !important;
        margin-bottom: 0 !important;
        font-weight: normal !important;
        text-transform: none !important;
    }

    /* --- Ajuste Texto Widgets "Editor de Texto" DENTRO de #content --- */
    /* CORREGIDO: Añadido #content para limitar alcance */
    #content .elementor-widget-text-editor,
    #content .elementor-widget-text-editor p,
    #content .elementor-widget-text-editor div {
         font-size: 0.95rem !important; /* Tamaño reducido para párrafos */
         line-height: 1.6 !important;
    }

} /* Fin @media */

/* === BOTON BACK TO TOP === */
.back-to-top-button {
    position: fixed; /* Fijo en la pantalla */
    bottom: 25px !important;    /* Distancia desde abajo */
    right: 85px;     /* Distancia desde la derecha */
    z-index: 999;    /* Encima de otros elementos */

    /* Apariencia */
    background-color: #007CAD;
    color: white !important;
    border: 2px solid #fff;
    border-radius: 50%; /* Circular */
    width: 40px;        /* Ancho */
    height: 40px;       /* Alto */
    padding: 0;

    /* Centrar icono SVG */
    display: flex;
    align-items: center;
    justify-content: center;
    /* Transiciones y estado inicial */
    cursor: pointer;
    opacity: 0; /* Oculto inicialmente */
    visibility: hidden; /* Oculto inicialmente */
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out, background-color 0.2s ease;
    text-decoration: none !important; /* Quitar subrayado */
    user-select: none; /* Evitar selección */
}

/* Clase que añadirá el JS para mostrarlo */
.back-to-top-button.visible {
    opacity: 0.8; /* Opacidad al mostrarse (puedes poner 1) */
    visibility: visible;
}

/* Efecto Hover */
.back-to-top-button:hover {
    background-color: #005F85;
    opacity: 1;
    color: white !important;
}

/* Estilo del icono SVG */
.back-to-top-button svg {
    width: 24px;
    height: 24px;
    fill: currentColor; /* Hereda color (blanco) */
}

/* Ocultar texto para lectores de pantalla */
.back-to-top-button .screen-reader-text {
   border: 0; clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important;
}

/* Aplicar estos estilos en pantallas hasta 767px de ancho */
@media (max-width: 767px) {
    
    .back-to-top-button {
        right: 60px !important; 
        bottom: 88px !important; 
        width: 35px !important;
        height: 35px !important; 
		border: 1px solid #fff;
    }

    /* Ajustar tamaño del icono si se reduce el botón */
    .back-to-top-button svg {
        width: 20px !important; 
        height: 20px !important;
    }   
} 
/* === Fin de la Media Query === */

/* =========================================== */
/* AJUSTE FOOTER EN PÁGINAS CON POCO CONTENIDO (Ej: Blog) */
/* =========================================== */

/* Aplica solo a la página del blog usando la clase del body */
body.blog #page {
    display: flex;           /* Convertir #page en contenedor flex */
    flex-direction: column;  /* Apilar hijos (header, content, footer) verticalmente */
    min-height: 100vh;       /* Asegurar que #page ocupe AL MENOS el alto de la ventana */
}

body.blog #content {
    flex-grow: 1;            /* Hacer que el área de contenido principal crezca para llenar el espacio sobrante */
    /* Resetear márgenes/paddings inferiores por si acaso */
    /* margin-bottom: 0 !important; */
    /* padding-bottom: 0 !important; */
}

/* ========================================================== */
/* ESTILO SCROLLBAR CARRITO OFFCANVAS (COLORES DE MARCA)     */
/* ========================================================== */

/* Añadir padding a la derecha al contenedor de productos para dejar espacio a la barra de scroll */
.elementor-menu-cart__products {
    padding-right: 15px !important; /* Ajusta este valor si es necesario (un poco más que el ancho de tu scrollbar) */
    box-sizing: border-box; /* Asegura que el padding se incluya correctamente */
}

/* --- Selector Confirmado (Ajustar si es necesario) --- */
.elementor-menu-cart__products {
    /* --- Para Firefox --- */
    scrollbar-width: thin; /* Barra delgada */
    /* [Pulgar]                      [Track/Fondo] */
    scrollbar-color: var(--e-global-color-84e56f9, #007CAD) var(--e-global-color-text, #283346);
}

/* --- Para Webkit (Chrome, Safari, Edge, Opera, etc.) --- */
.elementor-menu-cart__products::-webkit-scrollbar {
    width: 8px; /* Un poco más ancha (8px) para que el color se aprecie */
}

.elementor-menu-cart__products::-webkit-scrollbar-track {
    background: var(--e-global-color-text, #283346); /* Color oscuro del fondo del panel */
    border-radius: 4px; /* Bordes redondeados */
}

.elementor-menu-cart__products::-webkit-scrollbar-thumb {
    background-color: var(--e-global-color-84e56f9, #007CAD); /* Azul principal de la marca */
    border-radius: 4px; /* Bordes redondeados */
}

.elementor-menu-cart__products::-webkit-scrollbar-thumb:hover {
    background-color: var(--e-global-color-b856fc3, #005F85); /* Azul hover de la marca */
}

/* ========================================================== */
/* AJUSTE HOVER BOTÓN CERRAR (OFFCANVAS ELEMENTOR) - CORREGIDO */
/* ========================================================== */

/* Estilo base (asegurar transición para opacidad) */
.elementor-menu-cart__close-button::before,
.elementor-menu-cart__close-button::after {
    background: var(--cart-close-button-color, #69727d); /* Color base */
    transition: opacity 0.3s ease; /* Transición para opacidad */
}

/* Estilo Hover (Bajar opacidad) */
.elementor-menu-cart__close-button:hover::before,
.elementor-menu-cart__close-button:hover::after {
    opacity: 0.95 !important; /* Hacemos la X ligeramente transparente */
}

/* --- AJUSTE RESPONSIVE FUENTE WIDGET ANIMATED HEADLINE (MÓVIL) --- */

@media (max-width: 767px) { 

    /* Aplicar tamaño de fuente a ambas partes: fija y animada */
    /* Usamos el ID del widget para alta especificidad */
    .elementor-element-ab65d4f .elementor-headline-plain-text,
    .elementor-element-ab65d4f .elementor-headline-dynamic-text {
        /* Introduce aquí el tamaño de fuente deseado para móvil */
        font-size: 1.4rem !important; 
        /* line-height: 1.4em !important; */
    }
	
	/* NUEVO: Forzar a una línea */
    .elementor-element-ab65d4f .elementor-headline {
        white-space: nowrap;
		font-size: 1.5rem;
    }
    /* Asegurar que los spans internos se comporten bien en línea */
     .elementor-element-ab65d4f .elementor-headline-text-wrapper {
          display: inline-block;
     }

}


/* ============================================================ */
/* CONSISTENCIA ELEMENTOR LOOP BLOG (CLASE REUTILIZABLE)      */
/* ============================================================ */

/* --- Contenedor Principal del Widget --- */
/* AHORA USAMOS LA CLASE .emmex-post-grid */
.emmex-post-grid .elementor-loop-container, /* Para Grid */
.emmex-post-grid .swiper-wrapper /* Para Carrusel */ {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    justify-content: flex-start;
    gap: 20px !important;
    box-sizing: border-box;
    margin-bottom: 20px !important;
    margin-top: 20px !important;
}

/* --- Cada Item Individual (Slide o Grid Item) --- */
/* AHORA USAMOS LA CLASE .emmex-post-grid */
.emmex-post-grid .e-loop-item,
.emmex-post-grid .swiper-slide {
    width: calc(33.333% - 13.33px) !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    border: 1px solid #eee !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background-color: #fff !important;
    box-sizing: border-box !important;
}
/* Ajuste para item dentro de slide de carrusel */
/* AHORA USAMOS LA CLASE .emmex-post-grid */
.emmex-post-grid .swiper-slide > .e-loop-item {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    flex-grow: 1;
    flex-shrink: 1;
}

/* Contenedor de widgets DENTRO del item */
/* AHORA USAMOS LA CLASE .emmex-post-grid */
.emmex-post-grid .e-loop-item .elementor-widget-wrap {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1;
    justify-content: flex-start;
}

/* --- Widget Imagen Destacada --- */
/* AHORA USAMOS LA CLASE .emmex-post-grid */
.emmex-post-grid .e-loop-item .elementor-widget-theme-post-featured-image {
    order: 1;
    flex-shrink: 0;
    margin-bottom: 15px !important;
    line-height: 0;
}
.emmex-post-grid .e-loop-item .elementor-widget-theme-post-featured-image .elementor-widget-container,
.emmex-post-grid .e-loop-item .elementor-widget-theme-post-featured-image .elementor-widget-container a {
    display: block;
    /*height: 250px !important; /* *** ALTURA FIJA IMAGEN - AJUSTA *** */
    overflow: hidden;
}
.emmex-post-grid .e-loop-item .elementor-widget-theme-post-featured-image img {
    display: block !important;
    width: 100% !important;
    /*height: 100% !important;*/
    object-fit: contain !important;
    object-position: center center !important;
    transition: transform 0.3s ease;
    background-color: #ffffff;
}
.emmex-post-grid .e-loop-item .elementor-widget-theme-post-featured-image a:hover img {
    transform: scale(1.05);
}


/* --- Widget Título del Post --- */
/* AHORA USAMOS LA CLASE .emmex-post-grid */
.emmex-post-grid .e-loop-item .elementor-widget-theme-post-title {
    order: 2;
    padding: 0 10px !important;
    margin-bottom: 10px !important;
    flex-grow: 0;
    flex-shrink: 0;
}
.emmex-post-grid .e-loop-item .elementor-widget-theme-post-title .elementor-heading-title {
    font-size: 1rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    color: #283346 !important;
    margin: 0 !important;
    height: 2.8em !important;
    max-height: 2.8em !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important; /* Standard property for compatibility */
    -webkit-box-orient: vertical !important;
}
.emmex-post-grid .e-loop-item .elementor-widget-theme-post-title .elementor-heading-title a {
    color: inherit !important;
    text-decoration: none !important;
}
.emmex-post-grid .e-loop-item .elementor-widget-theme-post-title .elementor-heading-title a:hover {
    color: #007CAD !important;
}


/* ====================================================== */
/* RESPONSIVE ELEMENTOR LOOP BLOG (CLASE REUTILIZABLE) */
/* ====================================================== */

@media (max-width: 767px) {
    /* Contenedor Principal */
    /* AHORA USAMOS LA CLASE .emmex-post-grid */
    .emmex-post-grid .elementor-loop-container,
    .emmex-post-grid .swiper-wrapper {
        gap: 25px !important;
        align-items: normal !important;
    }

    /* Cada Item Individual */
    /* AHORA USAMOS LA CLASE .emmex-post-grid */
    .emmex-post-grid .e-loop-item,
    .emmex-post-grid .swiper-slide {
        width: 100% !important;
        flex-basis: auto !important;
        margin: 0 !important;
    }

    /* Imagen Destacada */
    /* AHORA USAMOS LA CLASE .emmex-post-grid */
    .emmex-post-grid .e-loop-item .elementor-widget-theme-post-featured-image .elementor-widget-container,
    .emmex-post-grid .e-loop-item .elementor-widget-theme-post-featured-image .elementor-widget-container a {
        height: 160px !important;
    }

    /* Título del Post */
    /* AHORA USAMOS LA CLASE .emmex-post-grid */
    .emmex-post-grid .e-loop-item .elementor-widget-theme-post-title {
        padding: 0 10px !important;
        margin-bottom: 10px !important;
    }
    .emmex-post-grid .e-loop-item .elementor-widget-theme-post-title .elementor-heading-title {
        font-size: 0.9rem !important;
        height: 2.8em !important;
        max-height: 2.8em !important;
    }
}

/* ==== RESTAURAR estilos de lista dentro de widgets de Editor de Texto ===== */
.elementor-widget-text-editor ul {
    list-style: disc !important; /* Viñeta redonda */
    padding-left: 25px !important; /* Sangría (ajusta el valor) */
    margin-left: 0 !important; /* O ajusta si es necesario */
    margin-bottom: 1em !important; /* Espacio debajo de la lista */
}

.elementor-widget-text-editor ol {
    list-style: decimal !important; /* Números */
    padding-left: 25px !important; /* Sangría (ajusta el valor) */
    margin-left: 0 !important;
    margin-bottom: 1em !important;
}

.elementor-widget-text-editor ul li,
.elementor-widget-text-editor ol li {
    list-style-position: outside !important; /* Viñeta/número fuera del texto */
    margin-bottom: 1.5em !important; /* Espacio entre items */
    /* display: list-item !important; */ /* Solo si display fue modificado */
}

/* Fuerza un margen inferior a los párrafos DENTRO del widget de contenido */
.elementor-widget-theme-post-content p {
    margin-bottom: 1.8em;
}

/* Asegúrate también de que tengan altura de línea normal si se viera afectada */
.elementor-widget-theme-post-content p {
   line-height: 1.8 !important; /* O tu valor de interlineado normal */
}

/* Aumentar interlineado dentro de los elementos de lista en el contenido del post */
.elementor-widget-theme-post-content .wp-block-list li {
    line-height: 1.7; 
		margin-bottom: 1.2em !important;
}

/* Asegurar que párrafos DENTRO de LI también hereden o tengan buen interlineado */
/* Puede no ser necesario si el estilo en LI es suficiente */
.elementor-widget-theme-post-content .wp-block-list li p {
     line-height: inherit; /* Hereda el 1.7 de LI */
     /* O define uno específico si es necesario */
      margin-bottom: 1.5em !important;
}

/*  =====  CAJA FINAL ARTICULOS BLOG  ===== */

/* Estilo para caja de artículos relacionados / TOC */
.caja-articulos-blog { 
  background-color: #e7f5fc !important; /* Azul muy claro (Recomendado) */
  /* background-color: #f8f9fa; */ /* Alternativa: Gris muy claro */
  border: 1px solid #cae6f7; /* Borde azul pálido acorde */
  padding: 20px;
  margin-bottom: 25px;
  border-radius: 12px; /* Redondeo suave */
}

.caja-articulos-blog p:first-of-type { 
  margin-top: 0;
  margin-bottom: 15px;
  font-weight: 600;
  font-size: 1.1em;
  color: #005F85; /* Azul oscuro para título */
}

.caja-articulos-blog ul { 
  margin-bottom: 0;
  padding-left: 20px;
  list-style: disc; /* Puedes cambiar a 'none' o 'decimal' */
}

.caja-articulos-blog ul li { 
  margin-bottom: 8px;
}

.caja-articulos-blog ul li a { 
  text-decoration: none;
  color: #007CAD; /* Azul primario enlaces */
}
.caja-articulos-blog ul li a:hover { 
  text-decoration: underline;
  color: #005F85; /* Azul oscuro hover */
}

.caja-articulos-blog ul li strong { 
  color: #283346; /* Color de texto normal */
}
/* ======================= */
/* ESTILOS CONSISTENTES BLOG (PÁGINA /blog/)  */
/* === */

/* --- Contenedor Rejilla Blog --- */
/* Añadimos #page y #content para máxima especificidad */
#page #content .blog-cont #blog-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 25px !important;
    position: relative !important; /* Mantenemos relative, pero anulamos hijos absolutos */
    height: auto !important;       /* Dejar que el contenido determine la altura */
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;        /* Asegurar ancho completo */
}

/* --- Tarjeta Individual Blog (article.blog-grid-i) --- */
#page #content .blog-cont #blog-grid article.blog-grid-i {
    /* 1. ANULAR ESTILOS INLINE DEL TEMA/JS (CRUCIAL) */
    position: static !important;     /* ¡La clave para anular position: absolute! */
    left: auto !important;
    top: auto !important;
    width: calc(33.333% - (25px * 2 / 3)) !important; /* 3 cols con gap 25px */
    float: none !important;          /* Anular float si existe */
    margin: 0 !important;            /* Espacio gestionado por 'gap' */
    padding: 0 !important;           /* Padding gestionado internamente */
  

    /* 2. Layout y Estilo de la Tarjeta */
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 400px;               /* Altura mínima opcional */
    background-color: #fff !important;
    border: 1px solid #eee !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* Contenedor Interno .blog-i */
#page #content .blog-cont #blog-grid article.blog-grid-i .blog-i {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1;
    height: 100%;
	padding: 0 15px 0px !important;
	box-shadow: none;
}

/* --- Imagen Destacada --- */
#page #content .blog-cont #blog-grid article.blog-grid-i .blog-i a.blog-img {
    display: block;
    order: 1;
    height: 200px !important;         /* ALTURA FIJA - AJUSTA SI QUIERES */
    overflow: hidden;
    line-height: 0;
    background-color: #ffffff;
}
#page #content .blog-cont #blog-grid article.blog-grid-i .blog-i a.blog-img img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center center !important;
    transition: transform 0.3s ease;
}
#page #content .blog-cont #blog-grid article.blog-grid-i:hover a.blog-img img {
    transform: scale(1.05);
}

/* --- Información Meta (Categoría y Fecha) --- */
#page #content .blog-cont #blog-grid article.blog-grid-i .blog-i p.blog-info {
    order: 2;
    font-size: 1.4rem !important;
    color: #777 !important;
    padding: 15px 15px 0 15px !important;
    margin: 0 !important;
    line-height: 1.5;
}
#page #content .blog-cont #blog-grid article.blog-grid-i .blog-i p.blog-info a {
    color: #007CAD;
    text-decoration: none;
    /*margin-right: 10px;*/
}
#page #content .blog-cont #blog-grid article.blog-grid-i .blog-i p.blog-info a:hover {
    text-decoration: underline;
}

/* --- Título del Post (H3) --- */
#page #content .blog-cont #blog-grid article.blog-grid-i .blog-i h3 {
    order: 3;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    color: #283346 !important;
    margin: 8px 0 10px 0 !important;
    padding: 0 15px !important;
    /*height: 4.2em !important;*/         /* 2 líneas */
    max-height: 4.2em !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    line-clamp: 3 !important; /* Standard property for compatibility */
    -webkit-box-orient: vertical !important;
}
#page #content .blog-cont #blog-grid article.blog-grid-i .blog-i h3 a {
    color: inherit !important;
    text-decoration: none !important;
    transition: color 0.2s ease;
}
#page #content .blog-cont #blog-grid article.blog-grid-i .blog-i h3 a:hover {
    color: #007CAD !important;
}

/* --- Extracto del Post (Párrafo) --- */
#page #content .blog-cont #blog-grid article.blog-grid-i .blog-i p:not(.blog-info) {
    order: 4;
    font-size: 0.9rem !important;
    line-height: 1.6 !important;
    color: #555 !important;
    padding: 0 15px 15px 15px !important;
    margin: 0 0 15px 0 !important; /* Añadido margen inferior */
    flex-grow: 1;
}

/* --- Enlace "Leer más" --- */
#page #content .blog-cont #blog-grid article.blog-grid-i .blog-i p:not(.blog-info) a {
    font-weight: 600;
    color: #007CAD;
    text-decoration: underline;
    display: inline;
}
#page #content .blog-cont #blog-grid article.blog-grid-i .blog-i p:not(.blog-info) a:hover {
    text-decoration: none;
    color: #005F85;
}

/* --- Responsive --- */
@media (max-width: 991px) {
    #page #content .blog-cont #blog-grid article.blog-grid-i {
        width: calc(50% - (25px / 2)) !important; /* 2 columnas */
        min-height: 380px;
    }
}

@media (max-width: 650px) {
    #page #content .blog-cont #blog-grid {
        gap: 20px !important;
    }
    #page #content .blog-cont #blog-grid article.blog-grid-i {
        width: 100% !important; /* 1 columna */
        min-height: auto;
    }

     /* ... (resto de ajustes responsive con #page #content ... ) ... */
     #page #content .blog-cont #blog-grid article.blog-grid-i .blog-i h3 {
         font-size: 1rem !important;
         height: 2.8em !important;
         max-height: 2.8em !important;
         padding: 0 10px !important;
         margin: 5px 0 8px 0 !important;
     }
     #page #content .blog-cont #blog-grid article.blog-grid-i .blog-i p.blog-info {
         padding: 10px 10px 0 10px !important;
         font-size: 0.75rem !important;
         line-height: 4 !important;
     }
     #page #content .blog-cont #blog-grid article.blog-grid-i .blog-i p:not(.blog-info) {
        font-size: 0.85rem !important;
        padding: 0 10px 10px 10px !important;
        margin-bottom: 10px !important;
    }
}

/* === FIX ESPACIADO SHARE BUTTONS (#compartir-social-blog) === */
.elementor-grid-0 .elementor-grid .elementor-grid-item {
	margin: 5px;
}

/* === ESTILOS NOTIFICACIONES WOOCOMMERCE === */

/* Estilo base para TODOS los avisos (mensaje, error, info) */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    background-color: #e7f5fc !important; /* Fondo azul muy claro */
    color: #005F85 !important;           /* Texto azul oscuro */
    border: 1px solid #bde0f5 !important; /* Borde azul claro */
    border-left-width: 5px !important;    /* Borde izquierdo más grueso */
    padding: 1em 1.5em !important;       /* Padding interno */
    margin: 0 0 0 0 !important;     /* Margen inferior */
    list-style: none outside !important; /* Quitar viñetas si es lista */
    width: auto !important;             /* Ancho automático */
    clear: both;                      /* Limpiar floats */
    position: relative;               /* Para posibles pseudo-elementos */
    box-shadow: 0 1px 2px rgba(0,0,0,0.05); /* Sombra sutil */
    display: flex; /* Usar flex para alinear icono y texto */
    align-items: center; /* Centrar verticalmente */
		justify-content: center !important; /* Centrado horizontal */
}

/* Colores específicos para cada tipo de aviso */
.woocommerce-message {
    border-left-color: #007CAD !important; /* Borde izquierdo AZUL (Éxito/Mensaje) */
}
.woocommerce-info {
    border-left-color: #ffba4f !important; /* Borde izquierdo AMARILLO (Info) */
    background-color: #fff8e1 !important;
    color: #856404 !important;
    border-color: #ffecb3 !important;
	gap: 15px !important;
}
.woocommerce-error {
    border-left-color: #dc3545 !important; /* Borde izquierdo ROJO (Error) */
    background-color: #f8d7da !important;
    color: #721c24 !important;
    border-color: #f5c6cb !important;
}

/* Icono antes del texto (Font Awesome) */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900; /* Solid */
    font-size: 1.2em;
    margin-right: 1em; /* Espacio entre icono y texto */
    flex-shrink: 0; /* Que el icono no se encoja */
}
/* Icono específico para cada tipo */
.woocommerce-message::before {
    content: '\f058'; /* fas fa-check-circle (Éxito) */
    color: #007CAD !important;
}
.woocommerce-info::before {
    content: '\f05a'; /* fas fa-info-circle (Info) */
     color: #ffba4f !important;
}
.woocommerce-error::before {
    content: '\f071'; /* fas fa-exclamation-triangle (Error) */
     color: #dc3545 !important;
}
/* Caso especial: lista de errores (UL dentro de .woocommerce-error) */
.woocommerce-error li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    color: inherit !important; /* Heredar color rojo */
}
.woocommerce-error ul {
     margin: 0 !important;
     padding: 0 !important;
     list-style: none !important;
}

/* ================================================== */
/* ESTILOS PESTAÑAS FICHA DE PRODUCTO (Alt: Border) */
/* ================================================== */

/* Contenedor UL */
body.single-product ul.prod-tabs {
    list-style: none !important;
    padding: 0 !important; /* Sin padding */
    margin: 0 0 15px 0 !important; /* Margen inferior antes del contenido */
    display: flex !important;
    flex-wrap: wrap;
    gap: 10px 20px; /* Espacio vertical y horizontal entre pestañas */
}

/* Cada Pestaña LI */
body.single-product ul.prod-tabs li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    border: none !important; /* Sin borde en el LI */
    background: none !important; /* Sin fondo en el LI */
    position: relative;
}

/* Enlace A dentro de LI */
body.single-product ul.prod-tabs li a {
    display: block !important;
    padding: 5px 5px !important; /* Padding vertical, mínimo horizontal */
    margin-bottom: -1px; /* Solapar línea inferior del UL */
    font-weight: 500 !important; /* Peso normal inactivas */
    font-size: 1rem !important;
    color: #555 !important; /* Gris oscuro para inactivas */
    text-decoration: none !important;
    border: none !important;
    border-bottom: 3px solid transparent !important; /* Borde inferior transparente como base */
    transition: color 0.2s ease, border-color 0.2s ease;
    text-align: center;
}

/* Enlace/Pestaña ACTIVA A */
body.single-product ul.prod-tabs li.active a {
    color: #007CAD !important; /* Azul primario */
    font-weight: 700 !important; /* Negrita */
    border-bottom-color: #007CAD !important; /* Borde inferior azul */
    cursor: default;
}

/* Hover en Enlace/Pestaña INACTIVA A */
body.single-product ul.prod-tabs li:not(.active) a:hover {
    color: #283346 !important; /* Texto oscuro en hover */
    border-bottom-color: #bdc3c7 !important; /* Borde gris claro en hover */
}

/* Contenedor del contenido */
body.single-product .prod-tab-cont {
    border: none;
    padding: 20px 0 0 0; /* Solo padding superior */
    background-color: transparent;
    clear: both;
    margin-top: 0;
}

/* --- Responsive Móvil (Estilo Acordeón) --- */
/* (Mantenemos el mismo estilo de acordeón que antes) */
@media (max-width: 767px) {
    body.single-product ul.prod-tabs { display: none !important; }
	
.prod-tabs-wrap {
        padding: 5px 5px;
    }

.prod-tabs-wrap {
    box-shadow: none; 
    background: transparent;
}
	
    body.single-product p.prod-tab-mob {
        display: block !important; 
				background-color: #007CAD; 
				border: 1px solid #ddd;
        padding: 12px 15px; 
				margin: 0 0 5px 0; 
        font-weight: 600 !important; 
			cursor: pointer; 
			border-radius: 8px; position: relative;
				color: #ffffff;
    }

	    body.single-product p.prod-tab-mob::after { 
				content: '+'; 
				position: absolute;
				right: 15px; top: 50%; 
				transform: translateY(-50%); 
				font-weight: bold; 
				font-size: 1.2em; 
	}
    
	body.single-product p.prod-tab-mob.active { 
		background-color: #001322;
		opacity: 0.9;	
	}
	
    body.single-product p.prod-tab-mob.active::after { content: '-'; }
    body.single-product .prod-tab-cont { border: none; padding: 0; background-color: transparent; border-radius: 0; margin-top: 5px;
	}
	
    body.single-product .prod-tab { border: 1px solid #ddd; padding: 10px; margin-bottom: 10px; border-radius: 8px; background-color: #ffffff; }
}


/* =========================================== */
/* VÍDEOS RESPONSIVE (Ficha Producto Tabs)   */
/* (Método aspect-ratio)                     */
/* =========================================== */

/* Apuntar a iframes dentro del contenido de las pestañas */
body.single-product .prod-tab-cont iframe,
body.single-product .prod-tab iframe { /* Cubrir posibles contenedores */
    display: block; /* Importante */
    width: 100% !important; /* Ocupar todo el ancho */
    max-width: 100% !important; /* Evitar desbordamiento */
    height: auto !important; /* Altura automática basada en ratio */
    aspect-ratio: 16 / 9 !important; /* <<-- RATIO 16:9 (Cambia a 4/3 si tus vídeos son 4:3) */
    margin: 10px auto 20px auto !important; /* Margen superior/inferior y centrado */
    border: none; /* Sin borde */
}

/* Opcional: Limitar el ancho máximo en escritorio si se ven demasiado grandes */
@media (min-width: 768px) {
    body.single-product .prod-tab-cont iframe,
    body.single-product .prod-tab iframe {
         max-width: 720px; /* <<-- AJUSTA Ancho máximo en escritorio */
    }
}


/* === FIBOSEARCH EN PAGINA 404 (Estilo igual al Header) === */

/* === Contenedor de búsqueda (404) ===*/
body.error404 .dgwt-wcas-search-wrapp {
    display: flex !important;
    align-items: center !important;
    position: relative !important;
    /* Puedes añadir aquí más estilos si el contenedor necesita ajustes */
    /* por ejemplo, un margin o max-width si es necesario en la 404 */
    max-width: 600px; /* Ejemplo: Limitar el ancho en la 404 */
    margin: 20px auto; /* Ejemplo: Centrar y añadir espacio vertical */
}

/* === Input de búsqueda (404) === */
body.error404 .dgwt-wcas-search-input {
    background-color: #001322 !important;
    color: #ffffff !important;
    padding: 12px 20px 12px 50px !important; /* Ajusta padding izquierdo para icono lupa si es necesario */
    border: 2.5px solid #0091cb !important;
    border-radius: 50px !important;
    font-size: 1rem !important;
    width: 100% !important; /* Ancho completo dentro de su contenedor */
    position: relative !important;
    z-index: 1 !important;
    box-sizing: border-box !important; /* Asegurar que padding/border se incluyen en el width */
}

/* Placeholder del input (404) */
body.error404 .dgwt-wcas-search-input::placeholder {
    color: #ffffff !important;
    opacity: 0.7;
    /* La transición ya debería aplicarse por los estilos generales del plugin o del header */
}
body.error404 .dgwt-wcas-search-input:focus::placeholder {
        opacity: 0.9 !important;
}

/* Ajuste para el icono de la lupa DENTRO del input (si FiboSearch lo coloca ahí) */
body.error404 .dgwt-wcas-sf-wrapp svg.dgwt-wcas-ico-magnifier {
    position: absolute;
    left: 15px; /* Ajusta según el padding que necesites */
    top: 50%;
    transform: translateY(-50%);
    width: 20px; /* Tamaño del icono */
    height: 20px;
    fill: #0091cb; /* Color del icono */
    z-index: 2; /* Por encima del input */
}

/* Asegurarse de que el wrapper interno no tenga bordes (ya estaba en tu CSS header) */
body.error404 .dgwt-wcas-sf-wrapp {
	border: none !important;
	margin: 0 !important;
    /* Añadir position relative para que el icono SVG se posicione correctamente */
    position: relative;
}

/* === FIN ESTILOS FIBOSEARCH 404 === */

/* ESTILOS PAGINA DE MARCA */
/* Estilos base compartidos */
.cabecera-marca-estilo {
    background-color: #ffffff;
    border-radius: 8px;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
    margin-bottom: 15px;
    overflow: hidden;
    border: 1px solid #eaeaea;
}

.cabecera-marca-estilo .e-con-inner {
    padding: 1rem; /* Padding base, puede ser ajustado por media query */
    display: flex;
    align-items: center; /* Alineación vertical base */
    gap: 1rem; /* Espacio base entre elementos */
}

/* Estilo para el logo (dentro del shortcode) */
.cabecera-marca-estilo .brand-archive-logo-widget {
    display: block; /* Para asegurar que ocupa su espacio correctamente */
    height: auto;
    object-fit: contain;
}

/* Estilo para el título */
.cabecera-marca-estilo .elementor-heading-title {
    font-weight: 600;
    color: #333;
    margin: 0;
}

/* Estilo para la descripción (contenedor) */

.cabecera-marca-estilo .term-description p {
    color: #555;
    line-height: 1.6;
    margin: 0 0 0.75rem 0; /* Margen inferior antes del botón */
}

/* Estilo para el botón "Leer más" */
.cabecera-marca-estilo .read-more-btn, .read-more-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 50px;
    box-sizing: border-box;
    height: 2.2rem;
    min-width: 100px;
    padding: 0 1.2em;
    font-weight: 600;
    text-transform: uppercase;
    text-decoration: none;
    background-color: #f5f5f5;
    color: #007CAD;
    border: 1px solid #007CAD;
    transition: all 0.2s ease;
}

.cabecera-marca-estilo .read-more-btn:hover, .read-more-toggle:hover {
    background-color: #007CAD;
    color: #fff;
}

/* ==========================================================================
   ESTILOS PARA MÓVIL Y TABLET PEQUEÑA (hasta 767px)
   ========================================================================== */
@media (max-width: 767px) {
    .cabecera-marca-estilo {
        border-radius: 6px;
        margin-bottom: 5px;
    }

    .cabecera-marca-estilo .e-con-inner {
        flex-wrap: wrap; /* Permite que los elementos se envuelvan */
        align-items: center; /* Alinea verticalmente el logo y el título si están en la misma línea */
        gap: 0rem; /* Espacio entre filas y entre logo/título */
    }

    /* Logo */
    .cabecera-marca-estilo .elementor-element-0b486f0 {
        width: auto; /* Permite que el logo tome su tamaño natural */
        flex-shrink: 0; /* Evita que el logo se encoja */
    }
    .cabecera-marca-estilo .brand-archive-logo-widget {
        max-width: 80px;
				margin-left: 1em;
    }

    /* Título */
    .cabecera-marca-estilo .elementor-element-894e028 {
        flex-grow: 1; /* El título toma el espacio restante al lado del logo */
        min-width: 150px; /* Evita que el título se comprima demasiado y cause un salto feo */
    }
    .cabecera-marca-estilo .elementor-heading-title {
        font-size: 1.375rem; /* ~22px */
				margin-left: 1em; 
    }

    /* Contenedor de descripción y botón */
    .cabecera-marca-estilo .elementor-element-4e9c31b {
        width: 100%; 
        flex-basis: 100%; 
    }

    .cabecera-marca-estilo .term-description p {
        font-size: 0.875rem; /* ~14px */
        line-height: 1.5;
    }

    .cabecera-marca-estilo .read-more-btn, .read-more-toggle {
        height: 2.3rem;
        min-width: 110px;
        font-size: 0.75rem;
    }

    /* Ajustes para móviles muy pequeños */
    @media (max-width: 420px) { /* Ajustado el breakpoint para ser más específico */
        .cabecera-marca-estilo .e-con-inner {
            padding: 0.75rem;
            gap: 0.6rem;
        }
		
        .cabecera-marca-estilo .elementor-heading-title {
            font-size: 1.25rem; 
        }
        .cabecera-marca-estilo .term-description p {
            font-size: 0.8125rem; 
        }
        .cabecera-marca-estilo .read-more-btn, .read-more-toggle {
            height: 2.1rem;
            font-size: 0.7rem;
            padding: 0 1em;
            min-width: 100px;
        }
    }
}

/* ==========================================================================
   ESTILOS PARA TABLET (Paisaje) Y ESCRITORIO (a partir de 768px)
   ========================================================================== */
@media (min-width: 768px) {
    .cabecera-marca-estilo .e-con-inner {
        flex-wrap: nowrap; /* Asegura que los 3 elementos principales estén en una línea */
        align-items: flex-start; /* Alinea los elementos al inicio de su eje transversal (arriba) */
                                /* O usa 'center' si prefieres alineación vertical al centro */
        padding: 1.5rem; /* Un poco más de padding para pantallas grandes */
        gap: 1.5rem; /* Espacio entre logo, título y descripción */
    }

    /* Logo - Widget Shortcode */
    .cabecera-marca-estilo .elementor-element-0b486f0 {
        flex: 0 0 auto; /* No crece, no se encoge, su base es su contenido */
        width: 140px; /* Ancho fijo para el contenedor del logo */
        /* margin-right: 0; /* No necesario por 'gap' */
    }
    .cabecera-marca-estilo .brand-archive-logo-widget {
        max-width: 100%; /* El logo ocupa el 100% de su contenedor .elementor-element-0b486f0 */
    }

    /* Título - Widget Archive Title */
    .cabecera-marca-estilo .elementor-element-894e028 {
        flex: 0 1 auto; /* No crece, puede encogerse, su base es su contenido */
    }
    .cabecera-marca-estilo .elementor-heading-title {
        font-size: 2rem; /* Tamaño original para escritorio */
    }

    /* Descripción y Botón - Widget Archive Description */
    .cabecera-marca-estilo .elementor-element-4e9c31b {
        flex: 1 1 50%; /* Crece, puede encogerse, y su base ideal es el 50% del espacio restante (ajustar) */
        /* margin-left: 0; No necesario por 'gap' */
    }
    .cabecera-marca-estilo .term-description p {
        font-size: 1rem; /* ~16px */
        margin-top: 0; /* El título y la descripción deberían alinearse bien gracias a align-items: flex-start o center */
    }
}

/* -------- NUMERACIÓN ESPECÍFICA PÁGINA DE MARCA (tax-product_brand) --------- */
/* Aplicando los mismos estilos de la paginación general de productos, */

/* Contenedor de la paginación */
body.tax-product_brand ul.page-numbers { /* Selector específico para marca */
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: 20px 0; /* Original: 20px 0 */
}

/* Espaciado entre elementos de la paginación */
body.tax-product_brand ul.page-numbers > li { /* Selector específico para marca */
    margin: 0 5px; /* Original: 0 5px */
}

/* Estilos comunes para enlaces y span (estado actual) */
body.tax-product_brand ul.page-numbers > li a,
body.tax-product_brand ul.page-numbers > li span.page-numbers.current { /* Selector específico para marca y clase .current para el span */
    display: inline-block;
    padding: 8px 12px; /* Original: 8px 12px */
    font-size: 1rem; /* Original: 16px */
    color: #007CAD; /* Original: #007CAD */
    border: 1px solid #007CAD; /* Original: 1px solid #007CAD */
    border-radius: 4px; /* Original: 4px */
    text-decoration: none;
    transition: background-color 0.3s, color 0.3s; /* Original: transition */
}

/* Estado hover para enlaces */
body.tax-product_brand ul.page-numbers > li a:hover { /* Selector específico para marca */
    background-color: #007CAD; /* Original: #007CAD */
    color: #ffffff; /* Original: #ffffff */
}

/* Estado activo: página actual */
body.tax-product_brand ul.page-numbers > li span.page-numbers.current { /* Selector específico para marca y clase .current */
    background-color: #007CAD; /* Original: #007CAD */
    color: #ffffff; /* Original: #ffffff */
    /* border-color: #007CAD; (Añadido anteriormente por mí, puedes quitarlo si no estaba y depende solo del background) */
    /* font-weight: 600; (Añadido anteriormente por mí, puedes quitarlo si no estaba) */
}

/* === Paginación en Móviles (Revisión para Marca - aplicando estilos originales de móvil) === */
@media (max-width: 767px) {

    body.tax-product_brand ul.page-numbers { /* Selector específico para marca */
        margin: 20px 0 15px 0 !important; /* Original móvil: 20px 0 15px 0 !important */
        padding: 0 5px !important; /* Original móvil: 0 5px !important */
        flex-wrap: wrap; /* Original móvil: flex-wrap: wrap */
        justify-content: center; /* Original móvil: justify-content: center */
    }

    body.tax-product_brand ul.page-numbers > li { /* Selector específico para marca */
        margin: 3px 3px !important; /* Original móvil: 3px 3px !important */
    }

    body.tax-product_brand ul.page-numbers > li a,
    body.tax-product_brand ul.page-numbers > li span.page-numbers.current { /* Selector específico para marca y clase .current */
        padding: 5px 9px !important; /* Original móvil: 5px 9px !important */
        font-size: 0.813rem !important; /* Original móvil: 13px !important */
    }
}
/* ---- FIN PAGINACIÓN ESPECÍFICA PÁGINA DE MARCA ---- */

/* MENSAJE SIN EXISTENCIA EN PRODUCTO VARIABLE */
.woocommerce div.product p.stock {
    margin-bottom: 20px;
    margin-top: 20px;
}

/* --- Restaurar Estilos de Lista (Bullets) en Descripción Corta --- */
/* Selecciona la lista UL dentro del widget de descripción corta */
.elementor-widget-woocommerce-product-short-description .elementor-widget-container ul {
  	list-style: disc !important; 
	list-style-position: outside-shape !important;
  	padding-left: 11px !important;
  	margin-left: 0px !important;
	font-size: clamp(0.6rem, 0.75rem + 1.2vw, 0.9rem) !important;
}

/* Selecciona cada elemento LI dentro de esa lista */
.elementor-widget-woocommerce-product-short-description .elementor-widget-container li {
  display: list-item !important; /* Asegura que se comporte como un elemento de lista */
  margin-bottom: 0.4em; /* Espacio vertical entre cada punto de la lista. Ajusta si es necesario */
  padding-left: 0px; /* Espacio pequeño entre la viñeta y el texto, si está muy pegado */
}

/* Opcional: Ocultar los li vacíos */
.elementor-widget-woocommerce-product-short-description .elementor-widget-container li:empty {
    display: none !important; /* Oculta los elementos de lista que no tienen contenido */
}

/* =========================================== */
/* ESTILOS FAQ (PÁGINA PREGUNTAS FRECUENTES)  */
/* =========================================== */

/* --- Títulos de Sección H2 (ej. "Sobre EMMEX...", "Envíos") --- */
/* Usar un ID específico para la página FAQ si es posible, o la clase del contenedor principal de la página */
.page-id-25045 .elementor-widget-heading h2.elementor-heading-title { /* Asumiendo ID de página 25045 */
    font-size: 1.8rem !important; /* Un poco más grande */
    color: #001322 !important;   /* Azul oscuro */
    margin-top: 30px !important;   /* Más espacio arriba */
    margin-bottom: 15px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid #e0e0e0; /* Línea separadora sutil */
}

/* --- Contenedor General del Widget Acordeón --- */
.elementor-widget-n-accordion .e-n-accordion {
    border: 1px solid #e0e0e0; /* Borde general para el bloque de acordeón */
    border-radius: 8px;        /* Redondeo general */
    overflow: hidden;          /* Para que el redondeo afecte a los items */
    box-shadow: 0 2px 5px rgba(0,0,0,0.05); /* Sombra muy sutil */
}

/* --- Cada Item del Acordeón (Pregunta + Respuesta) --- */
.elementor-widget-n-accordion .e-n-accordion-item {
    background-color: #ffffff; /* Fondo blanco para cada item */
}
.elementor-widget-n-accordion .e-n-accordion-item:last-child {
    border-bottom: none; /* Sin borde en el último item */
}

/* --- Título de la Pregunta (summary) --- */
.elementor-widget-n-accordion .e-n-accordion-item-title {
    padding: 18px 20px !important; /* Más padding */
    background-color: #f8f9fa;   /* Fondo gris muy claro para la pregunta */
    transition: background-color 0.2s ease;
    cursor: pointer;
}
.elementor-widget-n-accordion .e-n-accordion-item-title:hover {
    background-color: #e9ecef; /* Gris un poco más oscuro en hover */
}
.elementor-widget-n-accordion .e-n-accordion-item[open] > summary.e-n-accordion-item-title {
    background-color: #007CAD !important; /* Fondo azul cuando está abierto */
    color: #ffffff !important; /* Texto blanco cuando está abierto */
    border-bottom: 1px solid #005F85; /* Borde más oscuro */
}

/* Texto del Título de la Pregunta */
.elementor-widget-n-accordion .e-n-accordion-item-title-text {
    font-weight: 600 !important;
    font-size: 1rem !important; /* Tamaño ajustado */
    color: #283346; /* Color texto oscuro */
    transition: color 0.2s ease;
}
.elementor-widget-n-accordion .e-n-accordion-item[open] > summary.e-n-accordion-item-title .e-n-accordion-item-title-text {
    color: #ffffff !important; /* Texto blanco cuando está abierto */
}


/* Icono (+/-) de la Pregunta */
.elementor-widget-n-accordion .e-n-accordion-item-title-icon svg {
    fill: #007CAD !important; /* Icono azul */
    width: 1em; /* Tamaño icono */
    height: 1em;
    transition: fill 0.2s ease;
}
.elementor-widget-n-accordion .e-n-accordion-item[open] > summary.e-n-accordion-item-title .e-n-accordion-item-title-icon svg {
    fill: #ffffff !important; /* Icono blanco cuando está abierto */
}

/* --- Contenido de la Respuesta --- */
/* El div que contiene el texto de la respuesta (hijo de details) */
.elementor-widget-n-accordion .e-n-accordion-item > div[role="region"] {
    padding: 0px !important; /* Padding interno */
    background-color: #ffffff; /* Fondo blanco */
}
.elementor-widget-n-accordion .e-n-accordion-item > div[role="region"] p {
    font-size: 0.95rem !important; /* Ajusta tamaño texto respuesta */
    line-height: 1.7 !important;
    color: #333; /* Color texto respuesta */
    margin-bottom: 1em;
}
.elementor-widget-n-accordion .e-n-accordion-item > div[role="region"] p:last-child {
    margin-bottom: 0;
}
.elementor-widget-n-accordion .e-n-accordion-item > div[role="region"] a {
    color: #007CAD; /* Enlaces dentro de la respuesta */
    text-decoration: underline;
}
.elementor-widget-n-accordion .e-n-accordion-item > div[role="region"] a:hover {
    color: #005F85;
}

/* ======================================================= */
/* ESTILOS LISTAS UL DENTRO DE CONTENIDO ACORDEÓN FAQ      */
/* (Aplicado solo a la página de FAQ con ID 25045)       */
/* ======================================================= */

/* Estilo para cada item LI de la lista */
.page-id-25045 .elementor-widget-n-accordion .e-n-accordion-item > div[role="region"] ul li {
    padding-left: 0; /* Resetear padding si lo tuviera */
    margin-bottom: 0.6em !important; /* Espacio entre ítems de la lista */
    font-size: 0.95rem; /* Tamaño de fuente (ajusta) */
    line-height: 1.5;  /* Interlineado */
    color: #333;      /* Color de texto (heredado de .prod-tab-desc p) */
}

/* Si quieres un estilo diferente para los enlaces dentro de estas listas */
.page-id-25045 .elementor-widget-n-accordion .e-n-accordion-item > div[role="region"] ul li a {
    color: #007CAD; /* Azul primario para enlaces */
    text-decoration: underline;
}
.page-id-25045 .elementor-widget-n-accordion .e-n-accordion-item > div[role="region"] ul li a:hover {
    color: #005F85; /* Azul oscuro hover */
}

/* Cantidad + precio carrito lateral */
.elementor-menu-cart__products span.quantity {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 5px;
}

p.woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received {
    margin: 2em !important;
}

/* Texto input en fibosearch */
.dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input, .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input:hover, .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input:focus {
	color: #fff; 
}

.dgwt-wcas-no-submit .dgwt-wcas-ico-magnifier {
	fill: #fff;
}

.dgwt-wcas-om-bar button.dgwt-wcas-om-return { 
	background: #007CAD;
}

/* =========================================== */
/* ESTILOS PARA LA TABLA DE ARTÍCULOS DEL CARRITO (WOOCOMMERCE BLOCKS) */
/* =========================================== */

/* Contenedor principal de la tabla del carrito */
.wc-block-cart__main.wp-block-woocommerce-cart-items-block {
    padding: 0px !important;
    background-color: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 8px 0px 0px 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    overflow: hidden;
}

/* Estilo de la tabla de artículos en sí */
body.woocommerce-cart table.wc-block-cart-items.wp-block-woocommerce-cart-line-items-block {
    width: 100% !important;
    border-collapse: unset !important;
    margin: 0 !important;
}

/* Encabezados de la tabla */
body.woocommerce-cart .wc-block-cart-items__header {
    font-weight: 600;
    font-size: 0.9rem !important;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

body.woocommerce-cart .wc-block-cart-items__header th {
    padding: 14px 18px !important;
    text-align: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

body.woocommerce-cart .wc-block-cart-items__header-total {
    width: 150px;
    text-align: center !important;
}

/* Filas de artículos del carrito */
body.woocommerce-cart .wc-block-cart-items__row {
    border-bottom: 1px solid #e8eef0;
    transition: background-color 0.2s ease;
}

body.woocommerce-cart .wc-block-cart-items__row:last-child {
    border-bottom: none !important;
}

body.woocommerce-cart .wc-block-cart-items__row:hover {
    background-color: #f0f8ff;
}

/* Celdas individuales de cada fila */
body.woocommerce-cart .wc-block-cart-items__row td {
    padding: 10px 10px !important;
    vertical-align: middle !important;
}

/* Celda de la imagen del producto */
body.woocommerce-cart .wc-block-cart-item__image {
    width: 100px !important;
}

body.woocommerce-cart .wc-block-cart-item__image img {
    width: 150px !important;
    /*height: 150px !important;*/
    border-radius: 12px;
    object-fit: contain;
}

/* Celda de detalles del producto */
body.woocommerce-cart .wc-block-cart-item__product {
    text-align: left;
}

body.woocommerce-cart .wc-block-cart-item__wrap {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 5px;
}

/* Nombre del producto */
body.woocommerce-cart .wc-block-components-product-name {
    line-height: 1.3 !important;
}

body.woocommerce-cart .wc-block-components-product-name:hover {
    color: #007CAD;
}

/* Precios del producto */
body.woocommerce-cart .wc-block-cart-item__prices {
    display: flex;
    align-items: baseline;
    gap: 8px;
    font-size: 0.95rem !important;
}

body.woocommerce-cart .wc-block-components-product-price__regular {
    color: #858DAA;
    text-decoration: line-through !important;
}

body.woocommerce-cart .wc-block-components-product-price__value {
    color: #ff0000;
    font-weight: 700;
    font-size: 1.1rem !important;
}

body.woocommerce-cart .wc-block-components-product-price .screen-reader-text {
    display: none !important;
}

/* Descripción corta del producto */
body.woocommerce-cart .wc-block-components-product-metadata__description p {
    font-size: 1rem;
    color: #555;
    margin: 0;
    line-height: 1.4;
    display: none !important;
}

/* Selector de cantidad */
body.woocommerce-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector {
    height: 2.5rem;
    border: 1px solid #007CAD !important;
    border-radius: 50px !important;
    align-items: center !important;
    padding: 3px !important;
    background-color: white !important;
    transition: all 0.3s ease !important;
    margin-bottom: 2px !important;
	width: auto;
}

/* Ocultar flechas de input type="number" */
body.woocommerce-cart .wc-block-components-quantity-selector__input::-webkit-outer-spin-button,
body.woocommerce-cart .wc-block-components-quantity-selector__input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Botones de cantidad */
body.woocommerce-cart .wc-block-components-quantity-selector__button {
    background: #007CAD !important;
    color: white !important;
    border-radius: 50% !important;
    width: 2.2rem;
    height: 2.2rem;
    font-size: clamp(1rem, 2vw, 1.2rem) !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease !important;
    border: #007CAD !important;
    opacity: 1 !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__button:hover {
    background-color: #005F85;
}

body.woocommerce-cart .wc-block-components-quantity-selector:after {
    border: none !important;
}

/* Botón "Eliminar artículo" */
body.woocommerce-cart .wc-block-cart-item__remove-link {
    background: none;
    border: none !important;
    color: #dc3545 !important;
    font-size: 0.7rem !important;
    text-decoration: none !important;
    cursor: pointer !important;
    padding: 5px 0 !important;
    transition: color 0.2s ease !important;
}

body.woocommerce-cart .wc-block-cart-item__remove-link:hover {
    color: #bd2130 !important;
    text-decoration: underline !important;
}

/* Boton comprobar opciones de entrega */

button.wc-block-components-button.wp-element-button.wc-block-components-shipping-calculator-address__button.outlined {
    border: none !important;
}

.wc-block-components-button:not(.is-link) .wc-block-components-button__text {
    font-size: clamp(0.75rem, 1vw, 1rem) !important;
}

/* Celda del total por producto */
body.woocommerce-cart .wc-block-cart-item__total {
    text-align: center !important;
    font-weight: 700;
    color: #283346;
    font-size: 1rem !important;
}

body.woocommerce-cart .wc-block-cart-item__total .wc-block-formatted-money-amount {
    font-weight: 600;
    color: #283346;
    font-size: 1rem !important;
}

body.woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper {
    padding-right: 10px !important;
}

body.woocommerce-cart .wc-block-components-sale-badge .wc-block-formatted-money-amount.wc-block-components-formatted-money-amount {
    color: #ff0000;
    font-size: 0.9rem !important;
}

/* Badges de oferta */
body.woocommerce-cart .wc-block-components-product-badge.wc-block-components-sale-badge {
    background-color: #fff;
    color: #ff0000 !important;
    padding: 8px 12px !important;
    border-radius: 50px;
    font-size: 0.8rem;
    font-weight: 600;
    width: fit-content !important;
    border: solid 1px #ff0000;
}

body.woocommerce-cart .wp-block-separator {
	display: none !important;
}

.paypal-button.paypal-button-border-radius, .paypal-button.paypal-button-border-radius {
    border-radius: 50px !important;
}

/* Layout principal del carrito */
body.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart.wp-block-woocommerce-filled-cart-block.is-large {
    margin-top: 1em !important;
    margin-bottom: 3em !important;
    margin-left: 15em !important;
    margin-right: 15em !important;
}

/* =========================================== */
/* ESTILOS PARA LA BARRA LATERAL DEL CARRITO */
/* =========================================== */

body.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar.wp-block-woocommerce-cart-totals-block {
    background-color: #ffffff;
    border: none;
    border-radius: 0px 8px 8px 0px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid #e0e0e0;
}

body.woocommerce-cart .wc-block-cart__totals-title {
    font-size: 1.2em !important;
    font-weight: 700 !important;
    color: #001322 !important;
    text-align: center !important;
}

body.woocommerce-cart .wc-block-components-totals-shipping-address-summary strong {
    color: #007CAD;
}

body.woocommerce-cart .wc-block-components-radio-control__description {
    font-size: 1.1rem !important;
    font-weight: 600;
    color: #007CAD;
    text-align: right;
}

body.woocommerce-cart .wc-block-components-radio-control__description-group--column {
    font-size: 1.1rem !important;
}

body.woocommerce-cart .wc-block-components-totals-footer-item-tax {
    font-size: 0.9em !important;
    font-weight: normal !important;
    color: #555 !important;
    display: block;
    text-align: right;
    margin-top: 5px;
}

body.woocommerce-cart .wc-block-components-totals-footer-item-tax-value {
    font-size: inherit;
    color: inherit;
}

/* Opciones de envío */
body.woocommerce-cart .wc-block-components-radio-control__option {
    background-color: #f8f9fa;
    border: 2px solid #e9ecef;
    border-radius: 8px;
    margin-top: 8px !important;
    margin-bottom: 8px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-sizing: border-box !important;
	padding-top: 15px; 
}

body.woocommerce-cart .wc-block-components-radio-control__option:hover {
    border-color: #007CAD !important;
    background-color: #f0f8ff !important;
}

body.woocommerce-cart .wc-block-components-radio-control__option-checked {
    border-color: #007CAD !important;
    background-color: #e8f4f8 !important;
}

body.woocommerce-cart .wc-block-components-radio-control__option-layout {
    display: flex !important;
    width: calc(100% - 25px) !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-content: space-between !important;
    align-items: baseline !important;
    justify-content: space-evenly !important;
}

body.woocommerce-cart .is-large.wc-block-cart .wc-block-components-radio-control__input {
    outline: none !important;
    margin-left: 5px !important;
}

body.woocommerce-cart .wc-block-components-radio-control__label {
    font-weight: 500 !important;
    color: #001322 !important;
    font-size: 0.8rem !important;
}

body.woocommerce-cart .wc-block-components-radio-control__description {
    font-size: 0.95em !important;
    font-weight: 600 !important;
    color: #007CAD !important;
    text-align: right !important;
}

body.woocommerce-cart .wc-block-components-shipping-rates-control__package__delivery_time {
    display: block !important;
    font-size: 0.8em !important;
    color: #666 !important;
    font-style: italic !important;
    font-weight: normal !important;
    margin-top: 3px !important;
}

body.woocommerce-cart body.woocommerce-cart .wc-block-components-button:not(.is-link).outlined:not(:focus) {
    box-shadow: none !important;
    border: none !important;
}

body.woocommerce-cart body:not(.woocommerce-block-theme-has-button-styles) .wc-block-components-button:not(.is-link):focus {
    border: none !important;
    box-shadow: none !important;
}

/* Ocultar el badge de ahorro que aparece en la columna de Detalles del producto */
/* Asegúrate de que esta regla esté en tu sección de CSS del carrito. */
body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-badge.wc-block-components-sale-badge {
    display: none !important;
}

/* =========================================== */
/* MEDIA QUERIES MEJORADAS */
/* =========================================== */

/* Tablet - iPad y pantallas medianas */
@media screen and (max-width: 1200px) {
    body.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart.wp-block-woocommerce-filled-cart-block.is-large {
        margin-left: 5em !important;
        margin-right: 5em !important;
    }
}

@media screen and (max-width: 992px) {
    body.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart.wp-block-woocommerce-filled-cart-block.is-large {
        margin-left: 2em !important;
        margin-right: 2em !important;
    }
    
    /* Ajustar imagen del producto en tablet */
    body.woocommerce-cart .wc-block-cart-item__image {
        width: 80px !important;
    }
    
    body.woocommerce-cart .wc-block-cart-item__image img {
        width: 80px !important;
    }
}

/* Mobile - Todas las pantallas pequeñas */
@media screen and (max-width: 768px) {
    /* Layout principal móvil */
    body.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart.wp-block-woocommerce-filled-cart-block.is-large {
        margin-left: 1em !important;
        margin-right: 1em !important;
        margin-top: 0.5em !important;
        margin-bottom: 2em !important;
    }
    
    /* Tabla del carrito en móvil */
    body.woocommerce-cart .wc-block-cart__main.wp-block-woocommerce-cart-items-block {
        border-radius: 8px !important;
        margin-bottom: 15px;
    }
    
    body.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar.wp-block-woocommerce-cart-totals-block {
        border-radius: 8px !important;
        margin-top: 0 !important;
    }
    
    /* Encabezados de tabla en móvil */
    body.woocommerce-cart .wc-block-cart-items__header th {
        padding: 8px 4px !important;
        font-size: 0.8rem !important;
    }
    
    /* Celdas en móvil */
    body.woocommerce-cart .wc-block-cart-items__row td {
        padding: 8px 4px !important;
    }
    
    /* Imagen del producto en móvil */
    body.woocommerce-cart .wc-block-cart-item__image {
        width: 60px !important;
    }
    
    body.woocommerce-cart .wc-block-cart-item__image img {
        width: 60px !important;
        border-radius: 4px;
    }
    
    /* Detalles del producto en móvil */
    body.woocommerce-cart .wc-block-cart-item__wrap {
        gap: 4px;
        margin: 2px;
    }
    
    body.woocommerce-cart .wc-block-components-product-name {
        font-size: 0.8rem !important;
        line-height: 1.2 !important;
    }
    
    /* Precios en móvil */
    body.woocommerce-cart .wc-block-cart-item__prices {
        gap: 4px;
        font-size: 0.85rem !important;
    }
    
    body.woocommerce-cart .wc-block-components-product-price__value {
        font-size: 1rem !important;
    }
    
    /* Cantidad en móvil */
    .is-medium table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity,
    .is-mobile table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity,
    .is-small table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity {
        align-self: flex-start !important;
    }
    
    body.woocommerce-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector {
        height: 2.4rem;
        /*margin-bottom: 10px !important;
        padding: 0.2rem !important;*/
    }
    
    body.woocommerce-cart .wc-block-components-quantity-selector__button {
        width: 1.8rem;
        height: 1.8rem;
        /*font-size: 0.9rem !important;*/
    }
    
    /* Total por producto en móvil */
    body.woocommerce-cart .wc-block-cart-item__total {
        font-size: 0.9rem !important;
    }
    
    body.woocommerce-cart .wc-block-cart-item__total .wc-block-formatted-money-amount {
        font-size: 0.9rem !important;
    }
    
    /* Wrapper de precios y badges en móvil */
    .wc-block-cart-item__total-price-and-sale-badge-wrapper {
        display: flex !important;
        justify-content: flex-start !important;
        flex-direction: row !important;
        align-items: flex-start !important;
        margin-left: 10px !important;
        padding-right: 5px !important;
    }
    
    /* Badges de oferta en móvil */
    body.woocommerce-cart .wc-block-components-product-badge.wc-block-components-sale-badge {
        padding: 4px 8px !important;
        font-size: 0.7rem;
        margin-left: 5px;
    }
    
    /* Botón eliminar en móvil */
    body.woocommerce-cart .wc-block-cart-item__remove-link {
        font-size: 0.6rem !important;
        padding: 3px 0 !important;
    }
    
    /* Tabla completa sin márgenes en móvil */
    .wc-block-cart table.wc-block-cart-items,
    .wc-block-cart table.wc-block-cart-items td,
    .wc-block-cart table.wc-block-cart-items th {
        margin: 0px !important;
    }
    
    /* Sidebar en móvil */
    body.woocommerce-cart .wc-block-cart__totals-title {
        font-size: 1.1em !important;
    }
    
    body.woocommerce-cart .wc-block-components-radio-control__option {
        margin-top: 6px !important;
        margin-bottom: 6px !important;
    }
    
    body.woocommerce-cart .wc-block-components-radio-control__label {
        font-size: 0.75rem !important;
    }
    
    body.woocommerce-cart .wc-block-components-radio-control__description {
        font-size: 0.85em !important;
    }
}

/* Mobile muy pequeño */
@media screen and (max-width: 480px) {
    body.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart.wp-block-woocommerce-filled-cart-block.is-large {
        margin-left: 0.5em !important;
        margin-right: 0.5em !important;
    }
    
    /* Imagen aún más pequeña */
    body.woocommerce-cart .wc-block-cart-item__image {
        width: 50px !important;
    }
    
    body.woocommerce-cart .wc-block-cart-item__image img {
        width: 50px !important;
    }
    
    /* Encabezados más pequeños */
    body.woocommerce-cart .wc-block-cart-items__header th {
        padding: 6px 2px !important;
        font-size: 0.7rem !important;
    }
    
    /* Celdas más pequeñas */
    body.woocommerce-cart .wc-block-cart-items__row td {
        padding: 6px 2px !important;
		margin-left: 5px !important;
    }
    
    /* Total del carrito más compacto */
    body.woocommerce-cart .wc-block-cart__totals-title {
        font-size: 1rem !important;
    }
}

/* CHECKOUT */

body.woocommerce-checkout label:not(.woocommerce-form-login__rememberme):not([class*="button"]) {
	display: flex !important;
}

/* =========================================== */
/* ESTILOS PARA LA PÁGINA DE FINALIZAR COMPRA - CHECKOUT (WOOCOMMERCE BLOCKS) */
/* =========================================== */

.page-styling ins {
    padding: 2px 6px;
    text-decoration: none;
}

.wc-block-components-product-price__value {
    color: #001322;
    font-weight: 700;
    font-size: 1rem !important;
}

.wc-block-components-product-price__value.is-discounted {
		color: #ff0000 !important;
		background: transparent !important;
		background-color: transparent !important;
		font-weight: 700 !important; 
		font-size: 1rem !important;
		border: none !important;
		text-decoration: none !important;
		border-bottom: none!important;
		border-bottom-color: transparent !important;
}

.wc-block-components-checkout-place-order-button {
		border: none;
}

.wc-block-components-product-price__regular.wc-block-components-order-summary-item__regular-individual-price {
	  text-decoration: line-through !important; 
}

.wc-block-components-product-metadata__description {
	display: none !important;
}

body.woocommerce-checkout h1 {
	display: none !important;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item__quantity {
    align-items: center;
    background: #007cad !important;
    border: 0px solid #001322 !important;
    color: #fff !important;
    display: flex;
    min-height: 24px !important;
    min-width: 24px !important;
}

.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted, .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
    background-color: #e8f4f8 !important;
	border: 2px solid #007CAD !important;
	box-shadow: none !important;
}

button.wc-block-components-button.wp-element-button.wc-block-components-totals-coupon__button.contained {
	border: none;
}

/* Responsive para el checkout */
@media (max-width: 768px) {
    .wc-block-components-sidebar-layout.wc-block-checkout.is-large {
        flex-direction: column; /* Apilar columnas en móvil */
        gap: 10px;
    }
    .wc-block-components-main.wc-block-checkout__main.wp-block-woocommerce-checkout-fields-block,
    .wc-block-components-sidebar.wc-block-checkout__sidebar.wp-block-woocommerce-checkout-totals-block {
        flex-basis: 100%; /* Ocupar todo el ancho */
        max-width: 100%;
    }

    /* Ajustes específicos para elementos dentro del checkout en móvil */
    .wc-block-components-text-input input,
    .wc-block-components-country-input select,
    .wc-block-components-state-input select,
    .wc-block-checkout__add-note textarea {
        height: 2.5rem !important; /* Altura de input más pequeña */
        font-size: 0.85rem !important;
    }
    .wc-block-components-text-input.is-active label {
        font-size: 0.7em; /* Label flotante más pequeño */
    }
    .wc-block-components-address-form__address_2-toggle {
        font-size: 0.8em;
    }
    .wc-block-components-checkout-place-order-button,
    .wc-block-components-checkout-return-to-cart-button {
        min-height: 3rem; /* Botones más pequeños */
        font-size: 1em;
        padding: 8px 15px;
        border: none;
    }
}

/* Fondo carrito HEADER */

#elementor-menu-cart__toggle_button {
	background-color: transparent !important; 
}

/* MARGEN BOTONES MINI CARRITO */
.elementor-menu-cart__footer-buttons {
    margin-bottom: 20px;
}

/* ICONO CARRITO VACIO */
.wc-block-cart__empty-cart__title.with-empty-cart-icon:before {
    background-color: #007CAD;
}

/* ================================= */
/* ESTILOS PARA BLOQUES DE PRODUCTO DE GUTENBERG (WC-BLOCK-GRID__PRODUCT) */
/* Replicando estilos de Loop Item 18744 de Elementor */
/* ================================= */

/* Contenedor principal del item de producto en Gutenberg */
.wc-block-grid__product {
    /* Fondo blanco, borde, redondeo y margen superior del item */
    background-color: #ffffff !important;
    border: 1px solid #e9e9e9 !important;
    border-radius: 12px !important;
    margin-top: 25px !important;
	padding-top: 15px !important;
    
    /* Aseguramos que el contenido dentro del 'a' (imagen y título) y el resto de elementos sean flex */
    display: flex;
    flex-direction: column;
    height: 100%; /* Ajuste si la lista de productos tiene altura definida */
    justify-content: space-between; /* Para empujar el botón al final */
    padding-bottom: 15px; /* Pequeño padding interno para que el botón no toque el borde */
    box-sizing: border-box; /* Asegura que el padding no afecte el ancho total */
}

/* El enlace que contiene la imagen y el título debe ser un flex item para gestionar su contenido */
.wc-block-grid__product > .wc-block-grid__product-link {
    display: flex;
    flex-direction: column;
    text-decoration: none; /* Quitar subrayado por defecto del enlace */
    color: inherit; /* Heredar color del texto, o define uno */
    flex-grow: 1; /* Permite que este enlace ocupe el espacio restante antes del precio/botón */
}

/* --- Ajustes Widgets Internos (adaptados a Gutenberg) --- */

/* Contenedor de la Imagen del Producto */
.wc-block-grid__product .wc-block-grid__product-image {
    order: 1; /* Orden: Imagen primero */
    flex-shrink: 0; /* No encoger */
    margin-bottom: 0.75rem !important; /* Espacio bajo imagen */
    height: 234px !important; /* Altura fija para el contenedor de la imagen */
    width: 100% !important;
    overflow: hidden !important; /* Ocultar desbordamiento */
    background-color: #ffffff; /* Fondo blanco para la imagen */
    display: flex; /* Para centrar la imagen dentro del contenedor */
    align-items: center; /* Centrar verticalmente */
    justify-content: center; /* Centrar horizontalmente */
}

.wc-block-grid__product .wc-block-grid__product-image img {
    display: block; /* Asegurarse de que es un bloque para object-fit */
    object-fit: contain !important; /* Forzar object-fit: contain */
    max-width: 100% !important; /* Asegurar que no excede el ancho del contenedor */
    max-height: 100% !important; /* Asegurar que no excede la altura del contenedor */
    width: auto !important; /* Permitir que el ancho se ajuste según el object-fit y la proporción */
    height: auto !important; /* Permitir que la altura se ajuste según el object-fit y la proporción */
	margin: 0 auto !important;
}

/* Contenedor del Título del Producto */
.wc-block-grid__product .wc-block-grid__product-title {
    order: 2; /* Orden: Título segundo */
    flex-shrink: 0; /* No encoger */
    /* Estilos de texto directamente en el título del bloque */
    font-size: 0.9rem !important;
    line-height: 1.5 !important;
    height: 3em !important; /* ALTURA FIJA para 2 LÍNEAS */
    max-height: 3em !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    margin: 0 !important;
    padding: 0 5px !important; /* Pequeño padding lateral */
    box-sizing: border-box;
    font-weight: 500 !important;
    color: #001322 !important;
}

/* Contenedor del Precio del Producto */
.wc-block-grid__product .wc-block-grid__product-price {
    order: 3; /* Orden: Precio tercero */
    flex-shrink: 0; /* No encoger */
    height: 1.2em; /* altura FIJA */
    margin-top: 20px !important;
    display: flex; /* Para centrar o alinear el precio */
    align-items: center; /* Centrar verticalmente */
    justify-content: center; /* Centrar horizontalmente (opcional, si el precio es un bloque) */
	font-size: clamp(0.7rem, calc(0.9rem + 0.25vw), 1.3rem);
}


/* Contenedor del Botón Añadir al Carrito */
.wc-block-grid__product .wc-block-grid__product-add-to-cart {
    order: 4; /* Orden: Botón al final */
    margin-top: auto !important; /* CLAVE: Empujar al fondo */
    padding-top: 0.5rem; /* Espacio sobre el botón */
    flex-shrink: 0; /* No encoger */
    text-align: center; /* Centrar el botón si es necesario */
}


/* Ajustes para el estado de pasar el ratón por encima si es necesario */
.wc-block-grid__product .wc-block-grid__product-add-to-cart .wp-block-button__link:hover {
    opacity: 0.9; /* Ejemplo de efecto al pasar el ratón */
}

.wc-block-cart__empty-cart__title {
    font-size: inherit;
    margin-bottom: 50px;
}

.wp-block-heading {
    margin-left: 0px !important;
}

/* ================================= */
/* MEDIA QUERIES */
/* ================================= */

/* Para pantallas grandes (ej. monitores de escritorio más anchos de 1200px) */
/* Si necesitas ajustes específicos para pantallas muy grandes, defínelos aquí */
@media (min-width: 1200px) {
    .wc-block-grid__product {
        /* Ejemplo: Ajustar padding si el espacio lo permite */
        padding: 20px;
    }
    .wc-block-grid__product .wc-block-grid__product-title {
        font-size: 1rem !important; /* Un poco más grande para pantallas grandes */
    }
}

/* Para tablets y escritorios pequeños (ej. entre 768px y 1199px) */
@media (max-width: 1199px) {
    .wc-block-grid__product {
        margin-top: 20px !important; /* Ligeramente menos margen */
    }
    .wc-block-grid__product .wc-block-grid__product-image {
        height: 200px !important; /* Reducir altura de la imagen en tablets */
        margin-bottom: 0.6rem !important;
    }
    .wc-block-grid__product .wc-block-grid__product-title {
        font-size: 0.85rem !important; /* Ajustar tamaño de fuente del título */
        height: 3.2em !important; /* Puede que necesite un poco más de altura si la fuente es más pequeña */
        max-height: 3.2em !important;
    }
    .wc-block-grid__product .wc-block-grid__product-price {
        margin-top: 15px !important; /* Reducir margen superior del precio */
    }
    .wc-block-grid__product .wc-block-grid__product-add-to-cart .wp-block-button__link {
        height: 2.2rem !important;
        min-height: 2.2rem !important;
        font-size: 0.75rem !important;
        padding: 0 0.7em !important;
    }
}

/* Para móviles grandes y tablets pequeñas (ej. entre 481px y 767px) */
@media (max-width: 767px) {
    .wc-block-grid__product {
        margin-top: 15px !important; /* Más ajustes de margen */
        padding-bottom: 10px;
    }
    .wc-block-grid__product .wc-block-grid__product-image {
        height: 180px !important; /* Más reducción de altura de imagen */
        margin-bottom: 0.5rem !important;
    }
    .wc-block-grid__product .wc-block-grid__product-title {
        font-size: 0.8rem !important; /* Título un poco más pequeño */
        height: 3em !important;
        max-height: 3em !important;
    }
    .wc-block-grid__product .wc-block-grid__product-price {
        margin-top: 10px !important; /* Menos margen superior del precio */
    }
    .wc-block-grid__product .wc-block-grid__product-add-to-cart .wp-block-button__link {
        height: 2rem !important;
        min-height: 2rem !important;
        font-size: 0.7rem !important;
        padding: 0 0.6em !important;
    }
}

/* Para móviles pequeños (ej. menos de 480px) */
@media (max-width: 480px) {
    .wc-block-grid__product {
        margin-top: 10px !important; /* Margen mínimo */
        padding: 10px; /* Reducir padding interno */
    }
    .wc-block-grid__product .wc-block-grid__product-image {
        height: 150px !important; /* Altura más compacta para la imagen */
        margin-bottom: 0.4rem !important;
    }
    .wc-block-grid__product .wc-block-grid__product-title {
        font-size: 0.75rem !important; /* Título aún más pequeño */
        line-height: 1.4 !important; /* Ajustar línea para menor altura */
        height: 2.8em !important; /* Adaptar altura para 2 líneas más pequeñas */
        max-height: 2.8em !important;
        padding: 0 3px !important; /* Menor padding lateral */
    }
    .wc-block-grid__product .wc-block-grid__product-price {
        margin-top: 8px !important; /* Espacio mínimo para el precio */
    }
    .wc-block-grid__product .wc-block-grid__product-add-to-cart .wp-block-button__link {
        height: 1.8rem !important;
        min-height: 1.8rem !important;
        font-size: 0.65rem !important;
        padding: 0 0.5em !important;
    }
}

/* FORMULARIO BREVO - NEWSLETTER */
.sib-form *, .sib-form ::after, .sib-form ::before {
    color: #ffffff !important;
}

.sib-form {
    border-radius: 12px !important;
}

/* H1 CATEGORIAS */

.archive.woocommerce-page .maincont h1 {
    max-width: 75% !important;
}

@media (max-width: 767px) {
.archive.woocommerce-page .maincont h1>span, .archive.woocommerce-page h1.page-title, .archive.woocommerce-page .maincont h1, .woocommerce-products-header__title {
    margin-bottom: 5px !important;
	padding: 0px 0px 0px 0px !important;
}
}

/* ========================================================= */
/* BADGE PORCENTAJE DE DESCUENTO (-XX%) - ESTILO FINAL */
/* ========================================================= */
.emmex-discount-percentage {
    display: flex !important;
    align-items: center;
    justify-content: center;
    position: absolute !important;
    z-index: 10 !important;
    top: 10px !important;    /* Base Y */
    left: 10px !important;    /* Base X */
    box-sizing: border-box;
    background: linear-gradient(145deg, #ff4b2b, #ff416c) !important;
    color: white !important;
    font-weight: 700 !important;
    padding: 0 !important;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    width: 45px; /* Ancho del círculo */
    height: 45px; /* Altura del círculo */
    border-radius: 50% !important;
    font-size: 0.9rem !important;
    line-height: 1;
    text-align: center;
    transform: none !important; /* Neutralizar efectos de hover del padre */
    opacity: 1 !important;
    transition: none !important;
}


/* ======================================================================================= */
/* MEDIA QUERIES (AJUSTES RESPONSIVE solo para los badges) */
/* ======================================================================================= */

@media (max-width: 1199px) {
    /* Badge de porcentaje en loops */
    .emmex-discount-percentage {
        width: 40px;
        height: 40px;
        font-size: 0.8rem !important;
        top: 5px !important;
        left: 5px !important;
    }
    /* Mensaje de envío gratis en loops */
    .emmex-delivery-info-container {
        margin-top: 10px;
        font-size: 0.75rem;
    }
}

@media (max-width: 767px) {
    /* Badge de porcentaje en loops */
    .emmex-discount-percentage {
        width: 35px;
        height: 35px;
        font-size: 0.7rem !important;
        top: 2px !important;
        left: 2px !important;
    }
    /* Mensaje de envío gratis en loops */
    .emmex-delivery-info-container {
        margin-top: 8px;
        font-size: 0.7rem;
    }
}

@media (max-width: 480px) {
    /* Badge de porcentaje en loops */
    .emmex-discount-percentage {
        width: 30px;
        height: 30px;
        font-size: 0.65rem !important;
        top: 1px !important;
        left: 1px !important;
    }
    /* Mensaje de envío gratis en loops */
    .emmex-delivery-info-container {
        margin-top: 5px;
        font-size: 0.65rem;
    }
}

/* ESPACIO MENSAJES WOOCOMMERCE Y BOTON VER CARRITO */
.woocommerce .woocommerce-message {
    gap: 15px !important;
}

/* MARGEN FICHA DE PRODUCTO */
.elementor-18204 .elementor-element.elementor-element-e752569>.elementor-widget-wrap>.elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute) {
    margin-bottom: 5px;
    margin-left: 10px;
    margin-right: 10px;
}

/* ======================================================= */
/* FANCYBOX MODAL - CSS PARA GALERÍA DE IMÁGENES */
/* ======================================================= */

/* Contenedor Principal */
.fancybox-wrap {
    z-index: 8020 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3) !important;
}

/* Skin/Fondo */
.fancybox-skin {
    background-color: #ffffff !important;
    border-radius: 12px !important;
    padding: 0 !important; /* Asegura que no tenga padding aquí */
}

/* Contenedor Exterior */
.fancybox-outer {
    position: relative !important;
    background: #ffffff !important;
    border-radius: 12px !important;
    padding: 5px !important; 
}

/* Contenedor Interior */
.fancybox-inner {
    background: #ffffff !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 5px !important; /* Padding para la imagen si lo necesitas */
    box-sizing: border-box !important;
		bottom: 20px;
}

/* Imagen Principal */
.fancybox-image {
    max-width: 100% !important;
    max-height: 95% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    border-radius: 8px !important;
}

/* Botón Cerrar */
.fancybox-close {
    position: absolute !important;
    top: 20px !important;
    right: 20px !important;
    width: 28px !important;
    height: 28px !important;
    background: rgba(0, 124, 173, 0.8) !important;
    border-radius: 50% !important;
    border: none !important;
    cursor: pointer !important;
    z-index: 8030 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
    color: white !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -9999px !important;
    overflow: hidden !important;
}

.fancybox-close:hover {
    background: rgba(0, 124, 173, 1) !important;
    transform: scale(1.1) !important;
}

.fancybox-close:before {
    content: '\f00d' !important; /* FontAwesome times/close icon */
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    font-size: 1rem !important; /* Tamaño visible del icono */
    text-indent: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
}

/* Flechas de Navegación */
.fancybox-nav {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 40px !important;
    height: 40px !important;
    background: rgba(0, 124, 173, 0.7) !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    z-index: 8025 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s ease, opacity 0.3s ease !important; /* Añadimos transición para opacidad */
    text-decoration: none !important;
    color: white !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -9999px !important;
    overflow: hidden !important;
    opacity: 0 !important; /* OCULTAR POR DEFECTO */
    visibility: hidden !important; /* Ocultar para accesibilidad */
    pointer-events: none !important; /* Deshabilitar clics cuando está oculto */
}

/* Mostrar flechas al hacer hover sobre el CONTENEDOR PRINCIPAL fancybox-wrap */
.fancybox-wrap:hover .fancybox-nav {
    opacity: 1 !important; /* MOSTRAR */
    visibility: visible !important; /* Hacer visible */
    pointer-events: auto !important; /* Habilitar clics */
}


.fancybox-nav:hover {
    background: rgba(0, 124, 173, 0.9) !important;
    transform: translateY(-50%) scale(1.05) !important;
}

/* Flecha Anterior */
.fancybox-prev {
    left: 20px !important; /* Posicionamos dentro del fancybox-outer */
    right: auto !important;
}

.fancybox-prev:before {
    content: '\f053' !important; /* FontAwesome angle-left */
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    font-size: 1.25rem !important;
    text-indent: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
}

/* Flecha Siguiente */
.fancybox-next {
    right: 20px !important; /* Posicionamos dentro del fancybox-outer */
    left: auto !important;
}

.fancybox-next:before {
    content: '\f054' !important; /* FontAwesome angle-right */
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    font-size: 1.25rem !important;
    text-indent: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
}

/* Span interno (para ocultar contenido original de Fancybox) */
.fancybox-nav span {
    display: none !important; /* Aseguramos que el span nativo de fancybox no se vea */
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    content: "" !important;
}

/* Overlay/Fondo oscuro */
.fancybox-overlay {
    background: rgba(0, 0, 0, 0.9) !important;
}

/* Estados de carga */
.fancybox-loading {
    background: rgba(0, 124, 173, 0.1) !important;
    border-radius: 12px !important;
}

/* Responsive - Móvil */
@media only screen and (max-width: 767px) {
    .fancybox-wrap {
        border-radius: 8px !important;
    }

    .fancybox-skin,
    .fancybox-outer,
    .fancybox-inner {
        border-radius: 8px !important;
    }

    .fancybox-inner {
        padding: 5px !important;
				bottom: 0px !important; 
				right: 10px !important;
    }

    /* Botón cerrar más accesible en móvil */
    .fancybox-close {
        top: 10px !important;
        right: 20px !important;
        width: 22px !important;
        height: 22px !important;
	}
}

@media only screen and (max-width: 480px) {
    /* En pantallas muy pequeñas, mantener los botones cerca del borde del modal */
    .fancybox-close {
        top: 10px !important;
        right: 10px !important;
        background: rgba(0, 124, 173, 0.9) !important;
    }
}

/* Animaciones de entrada/salida */
.fancybox-wrap {
    animation: fancyboxFadeIn 0.3s ease-out !important;
}

@keyframes fancyboxFadeIn {
    from {
        opacity: 0;
        transform: scale(0.9);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* ======================================================= */
/* CSS PARA CARRUSEL PERSONALIZADO SUSTITUYE AL DE FANCYBOX */
/* ======================================================= */

/* 1. El contenedor principal de nuestro carrusel */
#mi-carrusel-fancybox {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 99999;
    
    height: 120px;
    width: 600px;
    max-width: 90%;

    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 10px;
    box-sizing: border-box;
    transition: all 0.3s ease-out; /* Añadimos transición para suavizar cambios */
}

/* 2. La "ventana" donde estarán las miniaturas */
.mi-carrusel-ventana {
    flex-grow: 1;
    min-width: 0;
    height: 100%;
    overflow: hidden;
    border-radius: 50px;
    background: #ffffff;
    backdrop-filter: blur(8px);
    box-shadow: 0 4px 20px rgba(0,0,0,0.4);
}

/* 3. La lista que se desplaza */
.mi-carrusel-lista {
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
    height: 100%;
    align-items: center;
    padding: 0 10px;
    box-sizing: border-box;
    
    /* Preparamos para el desplazamiento con JS */
    position: relative;
    left: 0;
    transition: left 0.4s ease-out;
}

/* 4. Cada miniatura */
.mi-carrusel-thumb {
    width: 100px;
    height: 100px;
    flex-shrink: 0;
    cursor: pointer;
    border-radius: 6px;
    overflow: hidden;
    border: 2px solid transparent;
    transition: all 0.2s ease-out;
}
.mi-carrusel-thumb.active,
.mi-carrusel-thumb:hover {
    border-color: #0099e0;
}

.mi-carrusel-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 5. Botones de navegación */
.mi-carrusel-nav {
    flex-shrink: 0;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    width: 36px;
    height: 36px;
    color: white;
    cursor: pointer;
    font-size: 1.25rem;
    transition: all 0.3s ease-out;
}
.mi-carrusel-nav:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

/* Oculta las miniaturas originales de Fancybox */
#fancybox-thumbs {
    display: none !important;
}


/* ======================================================= */
/* MEDIA QUERIES UNIFICADAS Y LIMPIAS                      */
/* ======================================================= */

/* --- Para Pantallas Táctiles (Tablets y Móviles hasta 1024px) --- */
@media (max-width: 1024px) {
    #mi-carrusel-fancybox {
        width: 80% !important;
        max-width: 100%;
        bottom: 100px !important; /* Mantiene la altura para salvar el menú inferior */
    }
    
    /* En tablets las miniaturas son medianas */
    .mi-carrusel-thumb {
        width: 80px;
        height: 80px;
    }
}

/* --- Ajuste específico solo para Móviles (hasta 767px) --- */
@media (max-width: 767px) {
    #mi-carrusel-fancybox {
        height: 80px; /* Reducimos solo el alto de la barra en smartphones */
    }

    /* En móviles bajan a 60px para que quepan más en la pantalla */
    .mi-carrusel-thumb {
        width: 60px;
        height: 60px;
    }
    
    .mi-carrusel-nav {
        width: 32px;
        height: 32px;
    }
}


/* BREADCRUMBS ACTIVO CON COLOR DE MARCA */
.b-crumbs > ul li:last-child {
    color: #0091cb !important;
}

/* === MEJORA DE ESTILO PARA DIRECCIONES EN 'MI CUENTA' === */

/* 1. Convertimos el contenedor de las dos columnas en Flexbox para alinearlas */
/* (Esto puede que ya lo tengamos de la corrección anterior, pero lo aseguramos) */
.woocommerce-account .addresses {
    display: flex;
    flex-wrap: wrap; /* Para que se apilen en móvil */
    gap: 0.5em;      /* Espacio entre las tarjetas */
    align-items: stretch; /* Asegura que ambas tarjetas tengan la misma altura */
	padding-bottom: 12px !important;
}

/* 2. Estilo de 'Tarjeta' para cada bloque de dirección */
.woocommerce-account .woocommerce-Address {
    background-color: #fdfdfd; /* Fondo casi blanco, pero no del todo */
    border: 1px solid #e8eef0;     /* Borde muy suave */
    border-radius: 8px;            /* Bordes redondeados */
    padding: 15px 15px;            /* Relleno interno generoso */
    box-shadow: 0 2px 8px rgba(0,0,0,0.05); /* Sombra sutil */
    flex: 1;                       /* Para que ocupen el espacio disponible */
    min-width: 300px;              /* Ancho mínimo antes de apilarse */
    box-sizing: border-box;
}

/* 3. Estilo para la cabecera de cada tarjeta (título + enlace editar) */
.woocommerce-account .woocommerce-Address-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #e8eef0;
    padding-bottom: 15px;
    margin-bottom: 20px;
    min-height: 4em;
    overflow: visible;
    flex-direction: column;
    flex-wrap: nowrap;
}

/* 4. Estilo del título H2 dentro de la cabecera */
.woocommerce-account .woocommerce-Address-title h2 {
    margin: 0; /* Quitamos margen por defecto */
}

/* 5. Estilo del enlace 'Editar' para que parezca un botón sutil */
.woocommerce-account .woocommerce-Address-title a.edit {
    font-size: 0.6rem;
    font-weight: 400;
    text-decoration: none;
    color: #007CAD; /* Color azul de la marca */
    padding: 5px 5px;
    /* border-radius: 5px;*/
    transition: all 0.2s ease;
	/* border: 1px solid #007cad !important; */
	margin-top: 10px;
}

.woocommerce-account .woocommerce-Address-title a.edit:hover {
    background-color: #e7f5fc; /* Fondo azul muy claro al pasar el ratón */
    border-color: #cae6f7;
}

/* Opcional: Añadir un icono de lápiz al enlace 'Editar' */
/* (Esto funciona si tu tema o Elementor ya carga la librería de iconos Font Awesome) */
.woocommerce-account .woocommerce-Address-title a.edit::before {
    font-family: 'Font Awesome 5 Free'; /* O la que use tu tema */
    content: '\f303'; /* Código del icono de lápiz */
    font-weight: 900; /* Necesario para iconos sólidos de Font Awesome */
    margin-right: 6px;
}


/* 6. Estilo del bloque de la dirección en sí */
.woocommerce-account .woocommerce-Address address {
    font-style: normal; /* Quitar la cursiva por defecto */
    line-height: 1.6;   /* Más espacio entre líneas para legibilidad */
    color: #283346;
}

/* === CORRECCIÓN FINAL: Alineación interna del botón 'Editar Dirección' === */

.woocommerce-account .woocommerce-Address-title a.edit {
    display: inline-flex !important;  /* Convierte el propio enlace en un contenedor flex */
    align-items: center !important;  /* Centra su contenido (icono y texto) verticalmente */
    justify-content: center !important; /* Centra su contenido horizontalmente */
}

.woocommerce-account .woocommerce-column__title, .woocommerce-account .woocommerce-Address-title h2 {
	font-size: 1rem !important;
}

a.woocommerce-button.button.view {
		height: auto !important;
		min-height: auto !important;
		width: auto !important;
		min-width: auto !important;
}


/* BREADCRUMBS */
.b-crumbs-wrap {
    margin-bottom: 15px;
}

.b-crumbs>ul li {
    margin: 0 5px 7px 0 !important;
    padding: 0 6px 0 0 !important;
	font-weight: 500 !important;
}

.b-crumbs>ul {
    padding: 0 2px 0 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

.maincont .section-filter-toggle {
    margin: 0 0 10px !important;
}

/* Forzar font-display: swap para Font Awesome Solid */
@font-face{font-family:'Font Awesome 5 Free';font-style:normal;font-weight:900;font-display:swap;src:url(/wp-content/plugins/elementor/assets/lib/font-awesome/webfonts/fa-solid-900.woff2) format('woff2');}

/* Precio antiguo */
del .woocommerce-Price-amount.amount {
	color: #001322 !important;
    text-decoration: line-through !important;
    text-decoration-color: #001322 !important;
    font-size: .95rem !important;
    font-weight: 600 !important;
}

/* Fondo carrito off canvas */
.elementor-menu-cart__container.elementor-lightbox {
    background-color: transparent !important;
}

/* Ocultar estrellitas valoracion ficha de producto - variable */
.prod-rating-wrap {
	display: none !important;
}


/* Estilos del bottom menu */
    :root {
        --bottom-menu-bg: #001322;
        --bottom-menu-border: #007CAD;
        --bottom-menu-text: #fff;
        --bottom-menu-hover: #0091cb;
        --bottom-menu-badge: #007cad;
        --bottom-menu-height: 80px;
        --bottom-menu-shadow: 0 -2px 10px rgba(0,0,0,0.1);
        --transition-speed: 0.3s;
    }

    /* Bottom Menu Container */
    .bottom-menu-mobile {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        background: var(--bottom-menu-bg);
        border-top: 1px solid var(--bottom-menu-border);
        box-shadow: var(--bottom-menu-shadow);
        z-index: 9999;
        display: none;
        padding: 8px 0;
        height: var(--bottom-menu-height);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
    }

    /* Mostrar solo en móviles y tablets */
    @media (max-width: 1024px) {
        .bottom-menu-mobile {
            display: block;
        }

        body {
            padding-bottom: var(--bottom-menu-height) !important;
        }

        @supports (padding: max(0px)) {
            body {
                padding-bottom: max(var(--bottom-menu-height), env(safe-area-inset-bottom)) !important;
            }
        }
    }

    /* Grid del menú con mejor flex fallback */
    .bottom-menu-grid {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        max-width: 100%;
        margin: 0 auto;
        height: 100%;
        align-items: center;
        display: flex;
        justify-content: space-around;
    }

    @supports (display: grid) {
        .bottom-menu-grid {
            display: grid;
        }
    }

    /* Items del menú */
    .bottom-menu-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 8px 4px;
        text-decoration: none;
        color: var(--bottom-menu-text);
        transition: all var(--transition-speed) ease;
        position: relative;
        cursor: pointer;
        border-radius: 8px;
        min-height: 60px;
        background: none;
        border: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        background-color: transparent !important;
    }

    .bottom-menu-item:focus-visible {
        outline: none;
        outline-offset: 2px;
        background: rgba(255, 255, 255, 0.05);
    }

    .bottom-menu-item:hover,
    .bottom-menu-item.active,
    .bottom-menu-item:focus {
        color: var(--bottom-menu-hover);
        outline: none;
        transform: translateY(-2px);
        background: rgba(255, 255, 255, 0.05);
        border: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
    }

    /* Iconos con mejor escalabilidad */
    .bottom-menu-icon {
        font-size: clamp(20px, 4vw, 26px);
        margin-bottom: 4px;
        line-height: 1;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* Texto responsive */
    .bottom-menu-text {
        font-size: clamp(10px, 2.5vw, 16px);
        font-weight: 500;
        line-height: 1.2;
        text-align: center;
        white-space: nowrap;
    }

    /* Badge del carrito mejorado */
    .cart-badge {
        position: absolute;
        top: 2px;
        right: calc(50% - 20px);
        background: var(--bottom-menu-badge);
        color: white;
        border-radius: 50%;
        min-width: 20px;
        height: 20px;
        font-size: 12px;
        font-weight: bold;
        display: flex;
        align-items: center;
        justify-content: center;
        line-height: 1;
        box-shadow: 0 2px 4px rgba(0,0,0,0.2);
        transform: scale(1);
        transition: transform var(--transition-speed) ease;
    }

    .cart-badge.empty {
        display: none;
    }

    .cart-badge.updated {
        animation: cartPulse 0.6s ease;
    }

    @keyframes cartPulse {
        0% { transform: scale(1); }
        25% { transform: scale(1.2); background: #ff6b35; }
        50% { transform: scale(1.1); }
        100% { transform: scale(1); }
    }

    /* Iconos SVG */
    .svg-icon {
        width: clamp(18px, 4vw, 22px);
        height: clamp(18px, 4vw, 22px);
        fill: currentColor;
        transition: transform var(--transition-speed) ease;
    }

    .bottom-menu-item:hover .svg-icon {
        transform: scale(1.1);
    }

    /* Dropdown del menú móvil */
    .mobile-menu-dropdown {
        position: fixed;
        bottom: var(--bottom-menu-height);
        left: 0;
        right: 0;
        background: #ffffff;
        border-top: 1px solid var(--bottom-menu-border);
        box-shadow: var(--bottom-menu-shadow);
        max-height: 80vh; /* Aumentado para permitir más contenido */
        overflow-y: auto; /* Permitir desplazamiento */
        display: none;
        z-index: 9998;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
    }

    .mobile-menu-dropdown.active {
        display: block;
        animation: slideUp var(--transition-speed) ease;
    }

    @keyframes slideUp {
        from {
            transform: translateY(100%);
            opacity: 0;
        }
        to {
            transform: translateY(0);
            opacity: 1;
        }
    }

    /* Header del menú */
    .mobile-menu-header {
        background: var(--bottom-menu-bg);
        padding: 15px 20px;
        border-bottom: 1px solid var(--bottom-menu-border);
        font-weight: bold;
        display: flex;
        justify-content: space-between;
        align-items: center;
        color: var(--bottom-menu-text);
        position: sticky;
        top: 0;
        z-index: 10;
    }

    .menu-back-btn {
        background: none;
        border: none;
        color: var(--bottom-menu-hover);
        font-size: 16px;
        cursor: pointer;
        display: none;
        padding: 5px 10px;
        border-radius: 4px;
        transition: background var(--transition-speed) ease;
    }

    .menu-back-btn:hover {
        background: rgba(255, 255, 255, 0.1);
    }

    .menu-close-btn {
        background: none;
        border: none;
        font-size: 20px;
        cursor: pointer;
        color: var(--bottom-menu-text);
        border-radius: 50%;
        width: 32px;
        height: 32px;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: background var(--transition-speed) ease;
    }

    .menu-close-btn:hover {
        background: rgba(255, 255, 255, 0.1);
    }

    /* Navegación multinivel mejorada */
    .mobile-menu-dropdown ul {
        list-style: none;
        margin: 0;
        padding: 0;
        display: block;
        background: var(--bottom-menu-bg);
        color: var(--bottom-menu-text);
    }

    .mobile-menu-dropdown .sub-menu {
        display: none;
        background: var(--bottom-menu-bg);
        color: var(--bottom-menu-text);
        overflow: visible; /* Evitar recortes */
    }

    .mobile-menu-dropdown .sub-menu.active {
        display: block;
        max-height: none; /* Sin límite para submenús activos */
    }

    .mobile-menu-dropdown li {
        border-bottom: 1px solid var(--bottom-menu-border);
        position: relative;
    }

    .mobile-menu-dropdown a {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 15px 20px;
        color: var(--bottom-menu-text);
        text-decoration: none;
        font-size: 16px;
        transition: all var(--transition-speed) ease;
        position: relative;
    }

    /* Indicadores de nivel visual */
    .mobile-menu-dropdown .sub-menu a {
        padding-left: 40px;
        font-size: 14px;
        color: var(--bottom-menu-text);
    }

    .mobile-menu-dropdown .sub-menu .sub-menu a {
        padding-left: 60px;
        font-size: 13px;
    }

    /* Agregar líneas de conexión visual */
    .mobile-menu-dropdown .sub-menu a::before {
        content: '';
        position: absolute;
        left: 20px;
        top: 50%;
        width: 12px;
        height: 1px;
        background: var(--bottom-menu-border);
    }

    .mobile-menu-dropdown a:hover,
    .mobile-menu-dropdown a:focus {
        background-color: var(--bottom-menu-hover);
        color: #fff;
    }

    .submenu-arrow {
        color: var(--bottom-menu-text);
        font-size: 12px;
        transition: transform var(--transition-speed) ease;
        margin-left: 8px;
    }

    .menu-item-has-children.open .submenu-arrow {
        transform: rotate(90deg);
    }

    /* Overlay mejorado */
    .menu-overlay {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0,0,0,0.6);
        z-index: 9997;
        display: none;
        backdrop-filter: blur(2px);
        -webkit-backdrop-filter: blur(2px);
    }

    .menu-overlay.active {
        display: block;
        animation: fadeIn 0.2s ease;
    }

    @keyframes fadeIn {
        from { opacity: 0; }
        to { opacity: 1; }
    }

    /* Modal de búsqueda mejorado */
    .search-modal {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0,0,0,0.8);
        z-index: 10000;
        display: none;
        align-items: flex-start;
        justify-content: center;
        padding-top: 10vh;
        backdrop-filter: blur(4px);
        -webkit-backdrop-filter: blur(4px);
    }

    .search-modal.active {
        display: flex;
        animation: fadeIn 0.3s ease;
    }

    .search-modal-content {
        background: #ffffff;
        border-radius: 12px;
        padding: 24px;
        width: 90%;
        max-width: 500px;
        position: relative;
        box-shadow: 0 20px 60px rgba(0,0,0,0.3);
        transform: translateY(0);
        animation: modalSlideIn 0.3s ease;
    }

    @keyframes modalSlideIn {
        from {
            transform: translateY(-20px);
            opacity: 0;
        }
        to {
            transform: translateY(0);
            opacity: 1;
        }
    }

    .search-modal .search-close {
        position: absolute;
        top: 12px;
        right: 12px;
        background: #f0f0f0;
        border: none;
        border-radius: 50%;
        width: 32px;
        height: 32px;
        font-size: 18px;
        cursor: pointer;
        color: #666;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.2s ease;
    }

    .search-modal .search-close:hover {
        background: #e0e0e0;
        transform: scale(1.1);
    }

    .search-modal .search-form {
        margin-top: 16px;
    }

    .search-modal h3 {
        margin: 0 0 16px 0;
        color: #333;
        font-size: 20px;
    }

    /* Estilos para FiboSearch mejorados */
    .search-modal .dgwt-wcas-search-wrapp {
        max-width: 100% !important;
    }

    .search-modal .dgwt-wcas-sf-wrapp input,
    .search-modal .search-input {
        width: 100%;
        padding: 16px;
        border: 2px solid #ddd;
        border-radius: 8px;
        font-size: 16px;
        box-sizing: border-box;
        transition: border-color 0.2s ease, box-shadow 0.2s ease;
    }

    .search-modal .dgwt-wcas-sf-wrapp input:focus,
    .search-modal .search-input:focus {
        outline: none;
        border-color: var(--bottom-menu-hover);
        box-shadow: 0 0 0 3px rgba(0, 145, 203, 0.1);
    }

    /* Loading states */
    .bottom-menu-item.loading {
        opacity: 0.6;
        pointer-events: none;
    }

    .cart-badge.loading::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        border: 2px solid transparent;
        border-top: 2px solid #fff;
        border-radius: 50%;
        animation: spin 1s linear infinite;
    }

    @keyframes spin {
        0% { transform: rotate(0deg); }
        100% { transform: rotate(360deg); }
    }

    /* Responsive mejorado */
    @media (max-width: 480px) {
        :root {
            --bottom-menu-height: 70px;
        }

        .bottom-menu-mobile {
            padding: 6px 0;
        }

        .bottom-menu-item {
            min-height: 50px;
            padding: 6px 2px;
        }

        .cart-badge {
            font-size: 10px;
            min-width: 18px;
            height: 18px;
        }

        .mobile-menu-dropdown {
            max-height: 70vh;
        }
    }

    /* Accesibilidad mejorada */
    @media (prefers-reduced-motion: reduce) {
        * {
            animation-duration: 0.01ms !important;
            animation-iteration-count: 1 !important;
            transition-duration: 0.01ms !important;
        }
    }

    /* Focus states mejorados */
    .bottom-menu-item:focus {
        outline: none;
        outline-offset: 2px;
    }

    .menu-close-btn:focus,
    .menu-back-btn:focus,
    .search-close:focus {
        outline: none;
        outline-offset: 2px;
    }

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

/* ========================================
   ESTILOS PARA TABLAS DE CONTENIDO
   ======================================== */

/* --- ESTILOS PARA TABLAS PERSONALIZADAS (VERSIÓN 2) --- */

/* 1. Estilos para el contenedor que hace la tabla responsiva */
.tabla-responsiva-wrapper {
    box-shadow: 0 2px 8px rgba(0, 119, 173, 0.1) !important;
    overflow-x: auto !important;
    border-radius: 12px !important;
    width: 100% !important;
    border: none !important;
    padding: 0 !important;
    margin-top: 2em;
    margin-bottom: 2em;
}

/* 2. Estilos para la tabla principal */
.tabla-estilizada {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    font-size: 0.95em !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 8px rgba(0, 119, 173, 0.08) !important;
    table-layout: auto !important;
    overflow: hidden !important;
    margin-bottom: 0 !important;
}

/* 3. Estilos para las celdas de encabezado (th Y td dentro de thead) */
/* CAMBIO: Ahora se aplica a 'th' y a los 'td' dentro de 'thead' */
.tabla-estilizada th,
.tabla-estilizada thead td {
    background-color: #007CAD !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 1em !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    text-align: left !important;
    vertical-align: middle !important;
    border: none !important;
    border-bottom: 1px solid #e8eef0 !important;
}

/* 4. Estilos para las celdas de datos (td) */
.tabla-estilizada td {
    text-align: left !important;
    vertical-align: middle !important;
    border: none !important;
    border-bottom: 1px solid #e8eef0 !important;
    line-height: 1.5 !important;
}

/* 5. Estilo para las filas pares (efecto cebra) */
/* CAMBIO: Se añade '.woocommerce' para aumentar la especificidad */
.woocommerce .tabla-estilizada tbody tr:nth-child(even),
.tabla-estilizada tbody tr:nth-child(even) {
    background-color: #f8fafc;
}

/* 6. Quitar el borde inferior de la última fila */
.tabla-estilizada tr:last-child th,
.tabla-estilizada tr:last-child td {
    border-bottom: none !important;
}

/* 7. Reset para la primera celda en el cuerpo de la tabla (evita estilos del tema) */
.tabla-estilizada tbody td:first-child {
    font-weight: normal; /* Asegura que no haya negritas no deseadas */
}

/* 8. Estilos responsivos (Media Query) - Sin cambios */
@media (max-width: 768px) {
    .tabla-estilizada th,
    .tabla-estilizada td {
        padding: 10px 12px !important;
        font-size: 0.85em !important;
        white-space: nowrap !important;
    }
}

@media (min-width: 769px) {
    .tabla-estilizada th,
    .tabla-estilizada td {
        padding: 14px 18px !important;
        font-size: 0.95em !important;
        white-space: normal !important;
    }
}

/* --- Solución FOUC para el selector "Por Página" --- */

/* 1. Oculta el párrafo por defecto para evitar el parpadeo del texto en inglés. */
form.form-wppp-select > p {
    visibility: hidden;
}

/* 2. Cuando el JS añada la clase '.traducido-visible', el texto aparecerá. */
form.form-wppp-select > p.traducido-visible {
    visibility: visible;
}


/* --- Estilos para la funcionalidad "Leer más" --- */

/* 1. Estilos para el contenedor de la descripción cuando está colapsado */
.collapsible {
    position: relative; /* Necesario para el efecto de difuminado */
    max-height: 120px; /* Altura máxima cuando está colapsado, ajústala a tu gusto */
    overflow: hidden; /* Oculta el texto que se desborda */
    transition: max-height 0.4s ease-in-out; /* Animación suave */
}

/* 2. Efecto de difuminado en la parte inferior para indicar que hay más texto */
.collapsible::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 50px; /* Altura del degradado */
    background: linear-gradient(to bottom, transparent, white); /* Ajusta 'white' al color de fondo de tu sección */
    pointer-events: none; /* Permite hacer clic a través del degradado */
    transition: opacity 0.2s ease;
}

/* 3. Estilos para cuando el texto está expandido */
.collapsible.is-expanded {
    max-height: 2000px; /* Una altura suficientemente grande para mostrar todo */
}

/* 4. Ocultar el difuminado cuando el texto está expandido */
.collapsible.is-expanded::after {
    opacity: 0;
}

/* 5. Estilos para el botón (puedes personalizarlos como quieras) */
.read-more-btn {
    display: inline-block;
    margin-top: 10px;
    font-weight: bold;
    color: #007CAD; /* Color de tu marca */
    text-decoration: none;
    cursor: pointer;
}

/* Oculta imágenes extra si el tema usa la etiqueta <img> */
.prod-catalog-carousel .image-wrap img:not(:first-of-type) {
    display: none !important;
}

/* Oculta imágenes extra si el tema usa la etiqueta <picture> (por si acaso) */
.prod-catalog-carousel picture:not(:first-of-type) {
    display: none !important;
}

/* Oculta las miniaturas de navegación, que no son necesarias en la vista de catálogo */
.prod-catalog-carousel .tmb-wrap {
    display: none !important;
}

/* Ocultar imagenes extra de galeria */ 
.prod-catalog-carousel img:not(:first-of-type) {
    display: none !important;
}

/* Botón leer más de categorías */
.read-more-toggle {
	margin-bottom: 1em;
}

/* 1. Estilos para el contenedor de la descripción cuando está colapsado */
.collapsible-description {
    position: relative; /* Necesario para el efecto de difuminado */
    max-height: 60px; /* Altura máxima cuando está colapsado, ajústala a tu gusto */
    overflow: hidden; /* Oculta el texto que se desborda */
    transition: max-height 0.4s ease-in-out !important; /* Animación suave */
}

/* 2. Efecto de difuminado en la parte inferior para indicar que hay más texto */
.collapsible-description::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 0px; /* Altura del degradado */
    /* background: linear-gradient(to bottom, transparent, #f4f5fb); */
    pointer-events: none; /* Permite hacer clic a través del degradado */
    transition: opacity 0.2s ease;
}

/* 3. Estilos para cuando el texto está expandido */
.collapsible-description.is-expanded {
    max-height: 2000px; /* Una altura suficientemente grande para mostrar todo */
}

/* --- Estilos para los Títulos del Blog (Versión para Elementor) --- */
/* --- Estilos Generales para Títulos y Separador --- */

.elementor-widget-theme-post-content h2.wp-block-heading {
    /* Tipografía fluida: clamp(MÍNIMO, PREFERIDO, MÁXIMO) */
    font-size: clamp(1.5rem, 3vw, 1.8rem); 
    font-weight: 700;
    margin-top: 45px;
    margin-bottom: 20px;
    line-height: 1.2;
}

.elementor-widget-theme-post-content h3.wp-block-heading {
    font-size: clamp(1.3rem, 3vw, 1.5rem);
    font-weight: 600;
    margin-top: 30px;
    margin-bottom: 15px;
    line-height: 1.3;
}

/* Estilo para el título H4 */
.elementor-widget-theme-post-content h4.wp-block-heading {
    font-size: clamp(1.1rem, 2.5vw, 1.2rem);
    font-weight: 600; /* Mantenemos el grosor para que se vea como un título */
    margin-top: 25px;
    margin-bottom: 10px;
    line-height: 1.4;
}

.elementor-widget-theme-post-content hr.wp-block-separator {
    border: none;
    height: 2px;
    background-color: #F5F5F5;
    margin-top: 50px;
    margin-bottom: 50px;
    width: 100%;
    max-width: none;
}

/* --- Adaptación para Móviles y Tablets (hasta 768px) --- */

@media (max-width: 768px) {
    .elementor-widget-theme-post-content h2.wp-block-heading {
        margin-top: 35px;
        margin-bottom: 15px;
    }

    .elementor-widget-theme-post-content h3.wp-block-heading {
        margin-top: 25px;
        margin-bottom: 10px;
    }
    
    /* Márgenes reducidos para H4 en móvil */
    .elementor-widget-theme-post-content h4.wp-block-heading {
        margin-top: 20px;
    }

    .elementor-widget-theme-post-content hr.wp-block-separator {
        margin-top: 30px;
        margin-bottom: 30px;
    }
}

/* ESTILOS PARA ENLACES EN FICHAS DE PRODUCTO Y EN BLOG */
/* Estilo para enlaces DENTRO de la página de un producto */
body.single-product .prod-tab-cont a {
  color: #0091CB !important;
  font-weight: bold;
  text-decoration: underline !important;
}

/* Previene el CLS en el menú de Elementor */

/* PASO A: Forzar un espacio permanente en los enlaces con submenú */
.elementor-nav-menu .menu-item-has-children > a.elementor-item {
    position: relative;
    padding-right: 25px !important; /* Reserva un espacio fijo */
}

/* PASO B: Mover la flecha para que flote sobre el espacio de padding */
.elementor-nav-menu .menu-item-has-children > a.elementor-item .sub-arrow {
    position: absolute; 
    right: 6px; 
}

/* --- Estilos personalizados para la Tabla de Contenidos de Elementor --- */

/* Contenedor principal del widget */
.elementor-widget-table-of-contents .elementor-toc__header {
    background-color: #007cad;
    padding: 10px 20px;
}

/* Título "Tabla de contenido" */
.elementor-widget-table-of-contents .elementor-toc__header-title {
    color: #ffffff; /* Color de texto blanco */
}

/* Iconos de flecha para expandir/colapsar */
.elementor-widget-table-of-contents .elementor-toc__header .elementor-toc__toggle-button svg path {
    fill: #ffffff; /* Color de los iconos en blanco */
}

/* Borde y esquinas redondeadas para todo el widget */
.elementor-widget-table-of-contents .elementor-widget-container {
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    overflow: hidden;
}

/* Elimina el borde superior del cuerpo para que se una con el header */
.elementor-widget-table-of-contents .elementor-toc__body {
    border-top: none;
}

ol.elementor-toc__list-wrapper .elementor-toc__list-item-text-wrapper:before {
	color: #007cad !important;
}

/* --- AJUSTE FUENTE WIDGET ANIMATED HEADLINE --- */

.elementor-element-ab65d4f .elementor-headline {
        white-space: nowrap !important; /* Evita el salto de línea */
		font-size: 2rem !important;
}

/* Anula el max-width solo para el botón de enviar comentario */
#commentform #submit {
    max-width: none;
}

/* ESTILOS DE PRODUCT META WIDGET */

.sku_wrapper.detail-container, .posted_in.detail-container, .posted_in {
	display: none !important;
}

/* --- Estilo Píldora para Etiquetas de Producto --- */

/* Contenedor principal de las etiquetas */
/* Usamos este pequeño truco para ocultar las comas que separan las etiquetas */
.product_meta .tagged_as {
  font-size: 0 !important;
}

/* Estilo para cada etiqueta individual (el enlace) */
.product_meta .tagged_as a {
  display: inline-block !important; 
  font-size: 0.8rem !important;
  background-color: #f8fafc !important;
  padding: 8px 14px !important;
  border-radius: 50px !important;
  text-decoration: none !important; 
  margin: 3px 5px 3px 0 !important;
  transition: all 0.2s ease-in-out !important;
	border: 1px solid #e2e8f0 !important;
	font-weight: 600 !important;
	color: #475569 !important;
}

/* Efecto al pasar el ratón por encima de una etiqueta */
.product_meta .tagged_as a:hover {
	border-color: #007cad !important;
  color: #007cad !important;
  background: #fff !important;
}

.woocommerce div.product p.stock {
    font-size: 1rem !important;
    font-weight: 700 !important;
	color: #ff0000 !important;
}

/*  ESTILOS BARRA ENVÍO GRATIS  */
.emmex-shipping-bar-container {
    padding: 10px;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    background-color: #f9f9f9;
    margin-top: 0px;
    margin-bottom: 0px;
    clear: both; 
}

.emmex-shipping-bar-mensaje {
    font-size: .95rem;
    font-weight: 500;
    color: #001322;
    margin-bottom: 5px;
    text-align: center;
		white-space: normal;
    overflow: hidden;   
    text-overflow: ellipsis;
}

.emmex-shipping-bar-mensaje strong {
    color: #118000 !important;
}

.emmex-shipping-bar-progress {
    width: 100%;
    height: 10px; /* Un poco más gruesa */
    background-color: #e0e0e0;
    border-radius: 7px;
    overflow: hidden;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
}

.emmex-shipping-bar-fill {
    height: 100%;
    width: 0%;
    background-color: #118000;
    border-radius: 7px;
    transition: width 0.5s ease-in-out; /* Animación suave */
}

.emmex-shipping-bar-disclaimer {
    font-size: 0.7rem; 
    text-align: right; 
    margin: 5px 0 0 0; 
    padding: 0;
    color: #777;
}

/* Añade el estilo para nuestro precio formateado manualmente */
.emmex-barra-precio {
    color: #118000;
    font-weight: 700;
    font-size: 1.2rem; 
    margin: 0;
    padding: 0;
    display: inline;
    line-height: inherit;
}

/* --- AJUSTE ANCHO BARRA EN PÁGINA DE CARRITO --- */

/* SÓLO cuando estemos en la página del carrito (body class .woocommerce-cart)
 */
.woocommerce-cart .emmex-shipping-bar-container, .woocommerce-checkout .emmex-shipping-bar-container {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10px;
}

.emmex-barra-envio-wrapper {
	  margin-left: 5px;
	  margin-right: 5px;
}

/* Mini carrito AJAX */
.elementor-menu-cart__main .widget_shopping_cart_content .woocommerce-mini-cart__empty-message {
    margin-top: 30px;
}

.elementor-2791 .elementor-element.elementor-element-097dac4 .elementor-menu-cart__close-button, .elementor-2791 .elementor-element.elementor-element-097dac4 .elementor-menu-cart__close-button-custom {
    margin-top: 20px;
}

/* Ajustes ficha de producto */
body .section-gallery .sectgl {
	  padding: 29px 20px 10px;
		border-radius: 12px;
}

/* Texto de cita */ 
.page-styling blockquote p {
		margin-bottom: 0px !important;
}

/* Ajustes BLOG */
/* Separador con Degradado */
body.single-post .wp-block-separator.has-alpha-channel-opacity, .elementor hr {
    background: linear-gradient(to right, 
        transparent, 
        #007cad, 
        transparent
    )!important;
    height: 2.5px!important;
    opacity: 0.8!important;
    border: none!important;
		max-width: 90%;
		margin-top: 3.5em;
    margin-bottom: 3.5em;
}

/* * Estilos para los H2
 * dentro de los artículos del blog
 */
body.single-post h2 {    
    /* Espaciado */
    margin-top: 2em !important;    		 /* Más espacio arriba */
    margin-bottom: 1.2em !important;    
    /* Tamaño */
    font-size: clamp(1.2rem, 1rem + 1vw, 1.6rem) !important;
}

/*
 * Oculta la etiqueta de producto "envio-rapido" en la ficha de producto
 * (en la sección de "Meta" junto a categorías y SKU)
 */
.product_meta .tagged_as [href*="/product-tag/envio-rapido/"] {
	display: none !important;
}

/* ESTILOS HIPERVINCULOS BLOG (EXCLUYENDO TABLA DE CONTENIDOS) */

.woocommerce div.product p.stock {
    margin-bottom: 5px !important;
    margin-top: 5px !important;
		margin-left: 5px !important;
}

/* Carrito margen en tablet y movil */
.wc-block-components-sidebar-layout {
    margin-left: 5px !important;
    margin-right: 5px !important;
}

/* Oculta las notificaciones "snackbar" apiladas */
/* muestra SOLAMENTE la más reciente */

/* 1. Ocultamos todas las notificaciones por defecto */
.wc-block-components-notice-snackbar {
    display: none !important;
}

/* 2. Usamos un selector CSS para re-mostrar SÓLO la última */
.wc-block-components-notice-snackbar:last-of-type {
    display: flex !important; /* 'flex' es su estilo original */
}


.elementor-menu-cart__footer-buttons {
    margin-bottom: 50px !important;
}

/* Carrito bloque de novedades de producto */
/* Cartel oferta gutenberg - carrito */
.wc-block-grid__product-onsale {
    display: none !important;
}

.wc-block-grid {
    margin-left: 2rem !important;
    margin-right: 2rem !important;
		margin-bottom: 5em!important;
}

/* Ancho de tarjeta */
.wc-block-grid.has-4-columns .wc-block-grid__product {
	 max-width: auto !important;
}

/* Ajustes del bloque completo */
.wc-block-grid__products {
    display: flex;
    flex-wrap: nowrap !important;
    justify-content: center !important;
		gap: 10px !important;
}

/* Carrito vacio - Bloque productos guten - precio */
.wc-block-grid__product .wc-block-grid__product-price {
		gap: 5px;
}

/* FIN Carrito bloque de novedades de producto */

/* --- Estilos para Cross-Sells del Carrito --- */

/* 1. Título "Completa tu pedido con" */
.wp-block-woocommerce-cart .wp-block-heading.has-large-font-size {
    font-size: inherit !important; 
    margin-left: 20px !important;
    margin-top: 20px !important;
    text-transform: uppercase !important;
}

/* 2. Contenedor de la cuadrícula  */
.wp-block-woocommerce-cart-cross-sells-block > div {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px; /* Un poco más de espacio */
    padding: 15px; /* Padding general en lugar de márgenes */
    justify-content: center; /* Centra las tarjetas si queda espacio */
}

/* 3. La "Tarjeta" de cada producto */
.wp-block-woocommerce-cart-cross-sells-block .cross-sells-product {
    /* (A) Controlamos el tamaño para que sean iguales */
    flex: 1 1 230px !important; /* Crece (1), Encoge (1), Base de 230px */
    max-width: 230px; /* Evita que crezcan demasiado en filas de 2 */
    /* (B) estilos de diseño */
    background-color: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
    border: 1px solid #f0f0f0;
    text-align: center;
    
    /* (C) Flexbox interno para alinear el botón ABAJO */
    display: flex;
    flex-direction: column;    
    /* (D) Padding interior en lugar de márgenes en los hijos */
    padding: 5px;
    box-sizing: border-box;
		padding-right: 0% !important;
}

/* 4. Imagen del producto */
.wp-block-woocommerce-cart-cross-sells-block .wc-block-components-product-image img {
    max-height: 200px;
    width: 100%; /* Para que la imagen se ajuste a la tarjeta */
    object-fit: contain !important;
    margin-bottom: 2px;
}

/* 5. Título del producto (Limpiado) */
.wp-block-woocommerce-cart-cross-sells-block .wc-block-components-product-title {
    font-size: .9rem !important;
    font-weight: 500 !important;
    color: #001322 !important;
    padding-bottom: 0rem !important;
    margin: 0; /* El padding de la tarjeta se encarga del espacio */
    width: 100% !important;
    min-height: 40px; /* Ayuda a alinear títulos de 1 o 2 líneas */
}

/* 6. Precio (Estilos de tu imagen) */
.wp-block-woocommerce-cart-cross-sells-block .wc-block-components-product-price {
    margin-bottom: 0px;
    margin-top: auto; /* Empuja el precio hacia abajo (antes del botón) */
}

/* 7. Botón (Estilos de tu imagen) */
.wp-block-woocommerce-cart-cross-sells-block .wp-block-button .wp-block-button__link {
    text-transform: uppercase;
	  font-size: 0.9rem !important;
}


/* Precio - OJO Cruce css emmex */
body.woocommerce-cart .wc-block-components-product-price__value {
		color: #007cad;
}

/* --- FIN Estilos para Cross-Sells del Carrito --- */

/* CARTEL AGOTADO */
.emmex-sold-out-badge {
            /* Posicionamiento en la esquina superior izquierda de la tarjeta */
            position: absolute;
            top: 10px;
            right: 10px;  
						background: linear-gradient(145deg, #ff4b2b, #ff416c) !important;
            color: white;
            padding: 5px 10px;
            border-radius: 8px;
            font-size: 0.7rem;
            font-weight: bold;
            text-transform: uppercase;
	z-index: 10; }

/**
 * EMMEX - SISTEMA DE TARJETAS (Gama y Producto)
 * Unificado para evitar conflictos en Personalizar
 */

/* 1. BASE COMÚN PARA TODAS LAS TARJETAS */
.emmex-blog-card { 
    display: flex;
    align-items: center;
    background: #fff; 
    border: 1px solid #e1e1e1; 
    border-radius: 12px; 
    padding: 12px; 
    margin: 15px 0; /* Margen intermedio equilibrado */
    box-shadow: 0 4px 10px rgba(0,0,0,0.03); 
    gap: 15px;
    font-family: inherit; 
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s; 
}

.emmex-blog-card:hover { 
    transform: translateY(-2px); 
    box-shadow: 0 8px 20px rgba(0,0,0,0.08); 
    border-color: #007cad; 
}

/* 2. ELEMENTOS VISUALES (Imágenes y Stacks) */
.ebc-img { flex: 0 0 80px; width: 80px; }
.ebc-img img { width: 100%; height: auto; border-radius: 4px; }

/* Visual de "Gama" (Stack de imágenes) */
.ecc-visual { flex: 0 0 100px; height: 60px; display: flex; align-items: center; position: relative; }
.ecc-stack { position: relative; width: 100%; height: 100%; }
.ecc-stack-img { 
    width: 50px; height: 50px; border-radius: 50%; background-size: cover; 
    background-position: center; border: 2px solid #fff; box-shadow: 0 2px 5px rgba(0,0,0,0.1); 
    position: absolute; background-color: #f9f9f9; transition: transform 0.2s; 
}
.ecc-stack-img:nth-child(1) { left: 0; z-index: 3; }
.ecc-stack-img:nth-child(2) { left: 25px; z-index: 2; }
.ecc-stack-img:nth-child(3) { left: 50px; z-index: 1; }
.ecc-stack:hover .ecc-stack-img:nth-child(1) { transform: translateX(-3px); }
.ecc-stack:hover .ecc-stack-img:nth-child(3) { transform: translateX(3px); }

/* Icono alternativo */
.ecc-icon { 
    width: 60px; height: 60px; border-radius: 50%; background: #f0f4f8; 
    display: flex; align-items: center; justify-content: center; margin: 0 auto; border: 1px solid #e1e1e1; 
}
.ecc-icon svg { width: 26px; height: 26px; opacity: 0.7; }

/* 3. INFO Y TEXTOS */
.ebc-info { flex: 1; display: flex; flex-direction: column; justify-content: center; }
.ebc-title { font-size: 1.05em; font-weight: 700; color: #222; text-decoration: none; line-height: 1.3; margin-bottom: 4px; display: block; transition: color 0.2s; }
.ebc-title:hover { color: #007cad !important; }

/* Stock Status */
.st-out { color: #dc3545; font-weight: 700; font-size: 0.8em; text-transform: uppercase; }
.st-in { color: #28a745; font-weight: 700; font-size: 0.8em; text-transform: uppercase; }
.st-in-date { 
    color: #118000; font-size: 0.75em; font-weight: 700; background: #e6fffa; 
    padding: 2px 6px; border-radius: 4px; display: inline-block; margin-bottom: 5px; line-height: 1.3;
}

/* Precios */
.ebc-price { font-size: 1.15em; font-weight: 800; display: flex; align-items: center; flex-wrap: wrap; }
.ebc-price del, .ebc-price del span, .ebc-price del bdi { 
    color: #001322 !important; text-decoration: line-through !important; 
    font-size: 0.9em !important; font-weight: 600 !important; margin-right: 2px !important; opacity: 0.6; 
}
.ebc-price ins, .ebc-price ins span, .ebc-price ins bdi { 
    color: red !important; text-decoration: none !important; font-weight: 700 !important; font-size: 1em !important; 
}

/* 4. BOTÓN ACCIÓN */
.ebc-action { flex: 0 0 auto; }
.ebc-btn { 
    background: #007cad; color: #fff !important; padding: 10px 18px; border-radius: 50px; 
    text-decoration: none; font-weight: 700; font-size: 0.8em; text-transform: uppercase; 
    white-space: nowrap; display: inline-block; transition: background 0.2s, transform 0.2s; 
}
.ebc-btn:hover { background: #005f85; transform: translateY(-1px); }

/* 5. RESPONSIVE */
@media (max-width: 500px) {
    .emmex-blog-card { flex-wrap: wrap !important; text-align: center !important; padding: 10px; }
    .ecc-visual { display: none !important; }
    .ebc-img { flex: 0 0 60px; width: 60px; margin: 0 auto 10px; }
    .ebc-info { min-width: 100%; }
    .ebc-action { width: 100%; margin-top: 10px; }
    .ebc-btn { display: block; width: 100%; text-align: center; }
}

/* Sidebar */
.section-sb .theiaStickySidebar {
	border-radius: 12px !important;
	border: 1px solid #eee !important;
}

/* seccion top */
.section-top {
	border: 1px solid #eee !important;
	background: #fff;
	border-radius: 12px !important;
	padding: 10px 0 0 10px;
	margin: 0 0 10px !important;
}

@media (max-width: 992px) 					{
            .section-sb .theiaStickySidebar {
	border-radius: 12px !important;
	border: none !important;
				}
	.section-sb {
	margin: 0 0 10px !important;
}
	.wpc-open-close-filters-button {
	display: block;
	margin-bottom: 5px;
}
	.wpc-icon-html-wrapper {
	display: none;
}
     }

@media (max-width: 700px) 					{
            .section-sb .theiaStickySidebar {
	border-radius: 12px !important;
	border: none !important;
				}
	.section-sb {
	margin: 0 0 10px !important;
}
     }


/* Filtro productos */
/* cajon principal */
.blog-sb-widgets .blog-sb-widget {
	padding: 15px 15px 10px !important;
	border-top: 1px solid #e0e4f6;
	font-size: 14px !important;
}

/* logo marcas */
.wpc-term-image-wrapper {
    width: 70px;
    min-width: auto;
    height: auto !important;
}

.wpc-term-image-wrapper img {
	border-radius: 12px !important;
}

/* titulo filtro */
.widget-title.wpc-filter-title {
    color: #007cad !important;
}

/* estilo recuentos */
.blog-sb-widgets ul li {
	font-size: 12px !important;
	color: #007cad !important;
	margin: 2px 0 5px !important;
}

/* estilo etiqueta/tag */
.wpc-filters-main-wrap .wpc-filters-labels li.wpc-term-item label {
	margin-right: 5px;
	margin-left: 0;
	border: 1px solid #eee;
	border-radius: 50px;
	position: relative;
	padding: 0px 3px 0px 3px !important;
}

/* chip seleccion */

body .wpc-filter-chips-list li.wpc-filter-chip:not(.wpc-chip-reset-all) a {
	border-color: #007cad !important;
}

/* Cajon contenido tags */
.wpc-filters-main-wrap .wpc-filters-section:not(.wpc-filter-terms-count-0) ul.wpc-filters-labels {
	margin-bottom: 5px !important;
}

/* Ver mas/menos */
.wpc-filters-main-wrap a.wpc-toggle-a {
	text-decoration: none;
	border-bottom-style: none !important;
	font-size: 14px !important;
}

.wpc-filters-main-wrap a.wpc-toggle-a:hover {
	color: #007cad !important;
	font-weight: 500 !important;
}

body .wpc-filters-main-wrap .wpc-filters-labels li.wpc-term-item input + label:hover a {
	color: #001322 !important;
}


/* Filtros rapidos filter everything pildoras */
body .wpc-filters-main-wrap input.wpc-label-input:checked + label span.wpc-filter-label-wrapper {
	background-color: transparent !important;
}

.wpc-filters-main-wrap .wpc-filters-labels li.wpc-term-item input:checked + label a {
	color: #333 !important;
}

body .wpc-filters-main-wrap input.wpc-label-input + label:hover span.wpc-filter-label-wrapper {
	background-color: transparent !important;
}

/* ============================
   CONTROL DE SCROLLBAR INTEGRADO PARA LAS ETIQUETAS (TAGS) DE LA TIENDA
   ==================== */

/* Forzamos la altura y el scroll premium ÚNICAMENTE en la lista interna (ul) */
.wpc-filter-product_tag ul.wpc-filters-ul-list {
    max-height: 240px !important; 
    overflow-y: auto !important;
    overflow-x: hidden !important; 
    padding-right: 12px !important;
    margin-bottom: 5px !important;
    display: block !important;
}

/* 3. Estilización de la barra de scroll (Ultra fina y minimalista) */
.wpc-filter-product_tag ul.wpc-filters-ul-list::-webkit-scrollbar {
    width: 4px !important; 
}

.wpc-filter-product_tag ul.wpc-filters-ul-list::-webkit-scrollbar-track {
    background: transparent !important;
    border-radius: 10px !important;
}

.wpc-filter-product_tag ul.wpc-filters-ul-list::-webkit-scrollbar-thumb {
    background: #cbd5e1 !important;
    border-radius: 10px !important;
    transition: background 0.3s ease !important;
}

/* Red de seguridad para Firefox */
.wpc-filter-product_tag ul.wpc-filters-ul-list {
    scrollbar-width: thin !important;
    scrollbar-color: #e2e8f0 #f8fafc !important;
}

/* 5. Mantenemos ocultos los controles nativos de Ver más/Ver menos */
.wpc-filter-product_tag .wpc-see-more-control,
.wpc-filter-product_tag .wpc-see-less-control {
    display: none !important;
}

/* 3. Ocultamos por completo los enlaces de "Ver más" y "Ver menos" nativos */
/* Como ahora todo el contenido es accesible deslizando, ya no nos hacen falta */
.wpc-filter-product_tag .wpc-see-more-control,
.wpc-filter-product_tag .wpc-see-less-control {
    display: none !important;
}

/* EMMEX - ESTILOS DESCRIPCIÓN SEO (SOLO POSICIONAMIENTO) */

.term-description.emmex-seo-position {
    width: 100%;
    display: block !important;     
    margin-top: 30px !important;   
    padding-top: 30px;
    border-top: 1px solid #007cad; 
    font-size: 0.85rem;               
}


/* Texto negrita descripcion FIBO */
.dgwt-wcas-details-desc b {
	font-weight: 700 !important;
	color: #fff !important;
}

/* Ajustes loop home moviles - EMMEX V12 (Garantía de no corte) */
@media (max-width: 767px) {
    /* 1. La tarjeta debe ser lo suficientemente alta para el cuadrado + texto */
    .elementor-18744 .elementor-widget-wrap {
        display: flex !important;
        flex-direction: column !important;
        height: auto !important; 
        min-height: 280px !important; /* Aumentamos para dar aire */
        justify-content: flex-start !important;
    }

    /* 2. FORZAMOS el contenedor de la imagen */
    .elementor-18744 .elementor-element.elementor-element-34cb80d > .elementor-widget-container {
        /* IMPORTANTE: Quitamos cualquier alto fijo de escritorio */
        height: auto !important; 
        max-height: none !important;
        min-height: auto !important;
        
        /* Creamos el cuadrado basado en el ancho disponible */
        aspect-ratio: 1 / 1 !important; 
        width: 100% !important;        
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* 3. La Imagen: Le quitamos cualquier restricción de altura previa */
    .elementor-18744 .elementor-element.elementor-element-34cb80d img {
        position: relative !important; /* Por si tenía absolute */
        top: auto !important;
        left: auto !important;
        transform: none !important;        
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important; /* Para que se vea entera */
        max-height: 100% !important;
    }

    /* 4. Título y Precio */
    .elementor-18744 .elementor-element-6a05f90 p.product_title {
        height: 3.2em !important; /* Espacio para 2 líneas */
        margin: 10px 0 !important;
    }

    /* 5. Empujar botón al fondo */
    .elementor-18744 .elementor-element.elementor-element-b149744 {
        margin-top: auto !important;
        width: 100% !important;
    }
}

/* Ribbon diagonal categorias destacadas */
.elementor-ribbon-inner {
	font-weight: 600 !important;
}

/* CIRUGÍA DE PRECIO: Solo para este widget específico en la ficha */
.elementor-element-40c6bbe .prod-price .woocommerce-Price-amount.amount {
    color: #007cad !important;
    font-size: 1.5rem !important;  
    font-weight: 900 !important; 
    display: block;
    margin-bottom: 5px;
}

/* Opcional: El símbolo del Euro un poco más pequeño para que no compita con el número */
.elementor-element-40c6bbe .woocommerce-Price-currencySymbol {
    font-size: 1.1rem;
}

/* ========================
   EMMEX - BOTÓN DE COMPRA   =========================== */

/* 1. OCULTAR CANTIDAD (Solo en ficha) */
.single-product .qnt-wrap {
    display: none !important;
}

/* 2. FORMULARIO EN COLUMNA (Para que el botón sea 100% real) */
.single-product form.cart {
    display: flex !important;
    flex-direction: column !important;
}

/* 3. DEFINICIÓN DEL PULSO (Sin escalado para evitar borrosidad) */
@keyframes emmex-pulse-blue {
  0% {
    box-shadow: 0 0 0 0 rgba(0, 124, 173, 0.7);
  }
  70% {
    box-shadow: 0 0 0 10px rgba(0, 124, 173, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(0, 124, 173, 0);
  }
}

/* 4. EL BOTÓN "PATA NEGRA" */
.single-product .single_add_to_cart_button:not(:disabled) {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin-left: 0 !important;
    
    /* Estética */
    background-color: #007cad !important;
    color: #ffffff !important;
    height: 55px; /* Un poco más de cuerpo para el clic */
    font-size: 1.1rem !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: none;
    border-radius: 6px;
    
    /* Animación */
    animation: emmex-pulse-blue 2s infinite;
    
    /* Blindaje anti-borroso */
    transform: translateZ(0); 
    backface-visibility: hidden;
}

/* 5. EFECTO AL PASAR EL RATÓN */
.single-product .single_add_to_cart_button:hover {
    background-color: #005a80 !important;
    box-shadow: none !important;
    animation: none !important;
    cursor: pointer;
}

/* 1. ELIMINACIÓN TOTAL DEL SELECTOR DE CANTIDAD */
/* Usamos el selector de clase del widget + la clase específica del párrafo */
.single-product .elementor-widget-woocommerce-product-add-to-cart .qnt-wrap.prod-li-qnt,
.single-product form.cart .qnt-wrap,
.single-product .prod-li-qnt {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* 2. FORZAR AL BOTÓN A OCUPAR TODO EL ANCHO */
.single-product .elementor-widget-woocommerce-product-add-to-cart form.cart {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
}

.single-product .single_add_to_cart_button {
    width: 100% !important;
    margin: 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex: 1 1 auto !important;
}

/* 3. LIMPIEZA DE "HAY EXISTENCIAS" */
.single-product .stock.in-stock {
    margin-bottom: 5px !important;
}

/*   AJUSTE DE PRECIOS EMMEX  */

/* 1. CONTENEDOR (El párrafo prod-price) */
.single-product .elementor-element-40c6bbe .prod-price {
    display: flex !important;
    align-items: baseline !important;
    gap: 10px !important;
    margin-bottom: 0px !important;
}

/* 2. PRECIO TACHADO (del) */
.single-product .prod-price del, 
.single-product .prod-price del .woocommerce-Price-amount.amount {
    color: #001322 !important;
    font-size: 1.2rem !important;
    font-weight: 500 !important;
    text-decoration: line-through !important;
    text-decoration-color: #8d8d8d !important;
    opacity: 0.8;
}

/* 3. PRECIO NUEVO (ins) */
.single-product .prod-price ins, 
.single-product .prod-price ins .woocommerce-Price-amount.amount {
    color: #007cad !important;
    font-size: 2rem !important; 
    font-weight: 900 !important;
    text-decoration: none !important;
}

/* 4. LIMPIEZA DE BORDES Y RELLENOS QUE TRAE ELEMENTOR */
.single-product .prod-price ins {
    background: transparent !important;
    padding: 0 !important;
}

/*  FICHA DE PRODUCTO VARIABLE  */

/* Hemos quitado de aquí el widget superior para que el "Desde" pueda verse */
.single-product .prod-price-wrap > p.prod-price,
.single-product .prod-qnt-wrap,
.single-product .reset_variations { 
    display: none !important; 
}

/* Le damos un toque elegante al "Desde" que sale arriba */
.single-product .elementor-element-40c6bbe .emmex-desde-text {
    font-size: 1em !important;
    color: #5a5a5a !important;
    text-transform: uppercase;
		margin: 0 !important;
}

/* EL PRECIO INICIAL (El número) */
.product-type-variable .elementor-element-40c6bbe .prod-price .amount,
.product-type-variable .elementor-element-40c6bbe .prod-price .amount bdi {
    font-size: 1.2rem !important;
    color: #333 !important;
    font-weight: 700 !important;
    margin: 0 !important;
}

/* ROMPER LA TABLA DE WOOCOMMERCE */
/* Le quitamos el formato de tabla para que los elementos puedan expandirse */
.single-product table.variations,
.single-product table.variations tbody,
.single-product table.variations tr,
.single-product table.variations td {
    display: block !important;
    width: 100% !important;
    border: none !important;
    padding: 0 !important;
}

/* ESTILO DE LA ETIQUETA */
.single-product table.variations td.label {
    margin-bottom: 0px !important;
    text-align: left !important;
}

.single-product table.variations td.label label {
    font-size: 1rem !important;
    color: #5a5a5a !important;
    font-weight: 500 !important;
		margin-bottom: 8px !important;
}

/* El valor seleccionado (ej. "5 Litros") */
.single-product .cfvsw-selected-label {
    color: #007cad !important;
    font-weight: 700 !important;
}

/* Como en el HTML salen pegados ("Tamaño5 Litros"), metemos dos puntos por CSS */
.single-product .cfvsw-selected-label::before {
    content: ": ";
    color: #5a5a5a !important;
    font-weight: 700 !important;
}

/* 4. PRECIO GIGANTE DE LA VARIACIÓN */
.single-product .woocommerce-variation-price {
    margin-bottom: 5px !important;
}

.single-product .woocommerce-variation-price .price .amount {
    color: #007cad !important;
    font-size: 2rem !important; /* Tamaño pata negra */
    font-weight: 900 !important;
    display: block !important;
}

/* SÍMBOLO € EN SUPERÍNDICE Y MÁS PEQUEÑO */
.single-product .woocommerce-variation-price .woocommerce-Price-currencySymbol {
    font-size: 0.55em !important; 
    vertical-align: super !important; /* Lo sube arriba */
    font-weight: 700 !important;
    line-height: 1 !important;
}

/* ARREGLAR EFECTO "AGOTADO" (Para que no se salga del borde) */
.single-product .cfvsw-swatches-option {
    border-radius: 8px !important; 
    overflow: hidden !important; 
}

.single-product .cfvsw-swatches-option::before, 
.single-product .cfvsw-swatches-option::after {
    border-radius: 6px !important;
}

/* EL BOTÓN AL 100% DE ANCHO */

body.single-product div.elementor-add-to-cart.elementor-product-variable form.variations_form.cart button.single_add_to_cart_button.button.alt {
    display: flex !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
}

/* Corrección radical del desbordamiento horizontal */
html, body {
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
    position: relative !important;
}

/* Forzar que el menú inferior respete el ancho de la ventana */
.bottom-menu-mobile {
    width: 100vw !important;
    left: 0 !important;
    right: 0 !important;
    box-sizing: border-box !important;
    position: fixed !important;
    bottom: 0 !important;
}

/* Eliminar botón de reseña huérfano en las pestañas */
.prod-tabs-addreview {
    display: none !important;
}

/* WooCommerce - Mensaje Stock 1 Unidad */

.emmex-stock-fomo {
            color: #e2401c;
            font-weight: 700;
            margin: 10px 0;
            display: block;
        }

:root { --emx: #007cad; }
        .emmex-v17-section { margin: 15px 0; }
        .emmex-v17-header { display: inline-block; background: #f4f8fa; padding: 8px 15px; font-size: 11px; font-weight: 900; color: var(--emx); text-transform: uppercase; border-radius: 8px 8px 0 0; border: 1px solid #e1e1e1; border-bottom: none; letter-spacing: 1px; }
        .emmex-v17-body { border: 1px solid #e1e1e1; border-radius: 0 12px 12px 12px; background: #fff; display: flex; gap: 12px; padding: 15px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
        .emmex-v17-body::-webkit-scrollbar { display: none; }
        .emmex-video-item { flex-shrink: 0; cursor: pointer; }
        
        /* CÍRCULO CON ENCUADRE NATIVO SIN TRANSFORM */
        .emmex-thumb-wrap {
            width: 100%; max-width: 120px; aspect-ratio: 1 / 1;
            border-radius: 50%; border: 2px solid #007cad !important;
            position: relative; overflow: hidden; background: #fff;
            padding: 2px; /* Efecto anillo */
            transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
            flex-shrink: 0;
        }
        .emmex-thumb-wrap img {
            width: 100%; height: 100%; object-fit: none;
            opacity: none; border-radius: 50%; transition: opacity .3s; pointer-events: none; -webkit-user-drag: none;
        }
        .emmex-play-btn {
            position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; transition: background .3s;
		}
        .emmex-video-item:hover .emmex-thumb-wrap { transform: scale(1.03); border-color: #000; transition: 0.3s; }

        /* MODAL */
        #emmex-v17-modal { position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 999999; display: none; align-items: center; justify-content: center; backdrop-filter: blur(5px); }
        .emmex-v17-player-box { width: 90%; max-width: 900px; aspect-ratio: 16/9; background: #000; border-radius: 12px; position: relative; }
        .emmex-v17-player-box.is-vertical { max-width: 420px; aspect-ratio: 9/16; height: 85vh; }
        .emmex-close-btn { position: absolute; top: 20px; right: 20px; color: #fff; font-size: 40px; cursor: pointer; z-index: 10; width: 45px; height: 45px; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,0.5); border-radius: 50%; }
        .emmex-tap-zone { position: absolute; top: 0; bottom: 0; width: 20%; z-index: 5; cursor: pointer; display: flex; align-items: center; color: #fff; font-size: 50px; opacity: 0; transition: .3s; padding: 20px; }
        .emmex-tap-zone:hover { opacity: 0.4; }
        .emmex-tap-next { right: 0; justify-content: flex-end; }

        @media (max-width: 768px) {
            .emmex-thumb-wrap { width: 95px; height: 95px; }
            .emmex-v17-player-box { width: 100%; border-radius: 0; }
        }

        /* ACORDEÓN MEJORADO (Estilo profesional) */
    .emmex-v17-accordion { border: 1px solid #e1e1e1; border-radius: 10px; overflow: hidden; margin-top: 12px; }
    .emmex-v17-summary { 
        padding: 12px 15px; cursor: pointer; font-weight: 700; color: var(--emx); 
        background: #f0f9ff; display: flex; justify-content: space-between; 
        list-style: none; /* Oculta la flecha por defecto del navegador */
    }
    /* FIX: El indicador de estado (el segundo span que contiene la '∨') */
    .emmex-v17-summary span:last-child {
        transition: transform 0.3s ease; /* Animación suave */
        display: inline-block;          /* Necesario para poder rotar */
    }
    /* Cuando el acordeón se abre, rotamos la flecha 180 grados */
    .emmex-v17-accordion[open] .emmex-v17-summary span:last-child {
        transform: rotate(180deg);
    }
    /* Limpieza extra para Chrome/Safari */
    .emmex-v17-summary::-webkit-details-marker { display: none; }
		.emmex-doc-link { display: block; padding: 12px 15px; text-decoration: none; color: #333; border-bottom: 1px solid #eee; font-size: 14px; }
		
		/* Ajustes para el nuevo icono SVG */
    .emmex-arrow-icon {
        width: 14px;      /* Tamaño del icono */
        height: 14px;
        transition: transform 0.3s ease; /* Animación suave */
        display: block;   /* Asegura que se comporte bien */
        fill: currentColor; /* Hereda el color del texto */
    }

    /* Al estar cerrado, el icono apunta hacia abajo (el SVG original es 'up', así que lo giramos 180deg) */
    .emmex-arrow-icon {
        transform: rotate(180deg);
    }

    /* Cuando el acordeón se abre, volvemos a rotarlo para que apunte hacia arriba */
    .emmex-v17-accordion[open] .emmex-arrow-icon {
        transform: rotate(0deg);
    }


/* Estilos galeria marcas */


        #emmex-brands-container-wrapper .emmex-brands-grid {
            display: grid !important;
            grid-template-columns: repeat(auto-fill, minmax(var(--brand-col-width), 1fr)) !important;
            gap: 20px !important;
            box-sizing: border-box !important;
        }

        #emmex-brands-container-wrapper .emmex-brand-card {
            background: #fff !important;
            border: 1px solid #e5e5e5 !important;
            border-radius: 12px !important;
            padding: 15px !important;
            display: flex !important;
            flex-direction: column !important;
            align-items: center !important;
            justify-content: space-between !important; 
            text-align: center !important;
            text-decoration: none !important;
            transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
            min-height: 180px !important;
            height: 100% !important;
            box-shadow: 0 4px 6px rgba(0,0,0,0.02) !important;
            position: relative !important;
        }

        #emmex-brands-container-wrapper .emmex-brand-card:hover {
            border-color: #007cad !important;
            transform: translateY(-5px) !important;
            box-shadow: 0 12px 24px rgba(0,124,173,0.15) !important;
        }

        #emmex-brands-container-wrapper .emmex-brand-img-wrapper {
            flex-grow: 1; 
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            width: 100% !important;
            margin-bottom: 10px !important;
            max-height: 100px;
        }

        #emmex-brands-container-wrapper .emmex-brand-img {
            max-width: 100% !important;
            max-height: 100px !important; 
            width: auto !important;
            height: auto !important;
            object-fit: contain !important;
            filter: grayscale(100%);
            opacity: 0.7;
            transition: all 0.3s ease;
        }

        #emmex-brands-container-wrapper .emmex-brand-card:hover .emmex-brand-img {
            filter: grayscale(0%);
            opacity: 1;
        }

        #emmex-brands-container-wrapper .emmex-brand-name {
            font-size: 13px !important;
            font-weight: 700 !important;
            color: #444 !important;
            line-height: 1.2 !important;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }
        
        #emmex-brands-container-wrapper .emmex-brand-card:hover .emmex-brand-name {
            color: #007cad !important;
        }


/* estilos tabla llevate mas paga menos */

.emmex-v40-box { margin:10px 0; border:1px solid #e0e0e0; border-radius:12px; background:#fff; overflow:hidden; font-family:inherit; }
        .emmex-v40-header { background:#f4f8fa; padding:10px 15px; font-size:0.9em; font-weight:900; color:#007cad; text-transform:uppercase; border-bottom:1px solid #e1e1e1; }
        .emmex-v40-row { display:flex; align-items:center; justify-content:space-between; padding:12px 15px; border-bottom:1px solid #f0f0f0; gap: 10px; }
        .emmex-v40-row:last-child { border-bottom:none; }
        .emmex-best-v40 { background-color:#fff9e6; /* border:2px solid #ffc107 !important; border-radius:12px;*/ position: relative; }
        
        /* BADGE PÍLDORA FIX */
        .emmex-best-tag { background:#ffc107; color:#000; font-size:0.7em; font-weight:700; padding:2px 8px; border-radius:4px; margin-bottom:6px; display:inline-block; width: fit-content; align-self: flex-start; text-transform:uppercase; }
        
        .emmex-info-col { display:flex; flex-direction:column; flex-grow: 1; align-items: flex-start; }
        .emmex-offer-line { font-size: 1.1em; color: #222; font-weight: 500; display: flex; align-items: baseline; gap: 5px; }
        .emmex-offer-line strong { font-weight: 700; }
        .emmex-price-blue { color: #007cad; font-weight: 700; font-size: 1.15em; }
        
        /* PRECIO UNITARIO MÁS PEQUEÑO FIX */
        /* PRECIO UNITARIO MÁS PEQUEÑO Y DISCRETO */
.emmex-sub-line { 
    font-size: 0.82em !important; 
    color: #666 !important; 
    margin-top: 2px; 
    display: flex; 
    align-items: center; 
    gap: 5px; 
}

/* Forzamos a que el precio de WC ignore las reglas del tema aquí dentro */
.emmex-unit-price-v40, 
.emmex-unit-price-v40 .amount, 
.emmex-unit-price-v40 bdi { 
    font-size: 13px !important; /* Tamaño fijo para que no crezca */
    font-weight: 600 !important; 
    color: #555 !important; 
}
        
        .emmex-save-pill { background:#e6fffa; color:#009e74; font-weight:700; padding:1px 6px; border-radius:4px; border:1px solid #b2f5ea; font-size: 0.9em; margin-left: 2px; }
        .emmex-btn { background:#007cad; color:#fff; border:none; padding:10px 20px; border-radius:50px; cursor:pointer; font-size:0.85em; font-weight:700; text-transform:uppercase; flex-shrink: 0; min-width: 90px; }
        @media (max-width:400px){ .emmex-offer-line { font-size: 0.95em; } .emmex-btn { padding: 8px 14px; min-width: 75px; } }


/* Estilos seccion nota de taller */

._emmex_expert_tip_field .wp-editor-wrap { 
            border: 1px solid #e5e7eb; 
            background: #fff; 
            box-shadow: none;
        }
        ._emmex_expert_tip_field .wp-editor-container {
            border-radius: 4px;
        }

.emmex-tip-box {
            margin-top: 20px;
            margin-bottom: 20px;
            background-color: #f8fbfc; 
            border-left: 4px solid #007cad; 
            padding: 15px 20px;
            border-radius: 0 8px 8px 0;
            box-shadow: 0 2px 5px rgba(0,0,0,0.05);
            font-family: inherit;
        }
        .emmex-tip-header {
            display: flex; 
            align-items: center; 
            gap: 8px; 
            margin-bottom: 10px;
            color: #007cad; 
            font-weight: 800; 
            text-transform: uppercase;
            font-size: 0.85em; 
            letter-spacing: 0.5px;
        }
        .emmex-tip-icon { font-size: 1.2em; }
        
        .emmex-tip-content { 
            color: #444; 
            font-size: 0.95em; 
            line-height: 1.6; 
        }
        .emmex-tip-content strong { color: #000; font-weight: 700; }
        .emmex-tip-content ul, .emmex-tip-content ol { margin-top: 5px; margin-bottom: 5px; padding-left: 20px; }
        .emmex-tip-content li { margin-bottom: 5px; }
        .emmex-tip-content p:last-child { margin-bottom: 0; }
        .emmex-tip-content a { color: #007cad; text-decoration: underline; }

/* contador regresivo ofertas */

.emmex-countdown-wrapper { margin: 15px auto; padding: 12px; background: #fff4f4; border: 1px solid #e5adad; border-radius: 6px; text-align: center; width: 100%; max-width: 280px; box-shadow: 0 2px 4px rgba(0,0,0,0.05); }
        .emmex-countdown-label { font-size: 12px; font-weight: 700; color: #c0392b; margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.5px; }
        .emmex-timer-grid { display: flex; gap: 8px; justify-content: center; }
        .timer-box { display: flex; flex-direction: column; align-items: center; justify-content: center; background: #c0392b; color: white; padding: 2px 0; border-radius: 4px; width: 50px; height: 50px; }
        .timer-box span.days, .timer-box span.hours, .timer-box span.minutes, .timer-box span.seconds { font-size: 18px; font-weight: 700; line-height: 1; font-family: monospace; }
        .timer-box span.label { font-size: 9px; text-transform: uppercase; opacity: 0.9; margin-top: 2px; }

/* estilos sticky añadir al carrito */ 
/* ESTILOS FIJOS (TU DISEÑO) */
        #emmex-sticky-atc-wrapper {
            position: fixed;
            bottom: 70px; /* Respetando menú inferior */
            left: 0;
            width: 100%;
            background: #fff;
            box-shadow: 0 -2px 8px rgba(0,0,0,0.08);
            z-index: 990; 
            padding: 8px 120px 10px 15px; /* Respetando chat */
            box-sizing: border-box;
            transform: translateY(150%);
            transition: transform 0.3s ease-in-out;
            display: none; 
            border-top: 1px solid #f1f1f1;
        }

        @media (max-width: 1024px) {
            #emmex-sticky-atc-wrapper { display: block; }
            /* Visible solo si tiene clase .visible Y no estamos en el footer */
            #emmex-sticky-atc-wrapper.visible:not(.footer-hidden) { transform: translateY(0); }
        }

        .emmex-satc-inner {
            display: flex; align-items: center; justify-content: space-between;
            width: 100%; height: 100%;
        }

        .emmex-satc-info {
            flex-grow: 1; display: flex; flex-direction: column; justify-content: center;
            padding-right: 10px; overflow: hidden;
        }
        
        .emmex-satc-title {
            font-size: 12px !important; font-weight: 600; color: #333;
            white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block;
        }
        
        .emmex-satc-price {
            font-size: 13px !important; font-weight: 700; line-height: 1.2;
        }
        .emmex-satc-price del { display: none; }

        .emmex-satc-action { display: flex; align-items: center; height: 36px; }
        .emmex-satc-action a.added_to_cart { display: none !important; }

        .emmex-satc-btn {
            padding: 0 18px !important; font-size: 12px !important; height: 36px !important;
            line-height: 36px !important; border-radius: 4px !important;
            background-color: #2271b1 !important; color: #fff !important;
            font-weight: 600 !important; white-space: nowrap;
            box-shadow: 0 2px 4px rgba(34, 113, 177, 0.3);
            margin: 0 !important; display: flex !important; align-items: center;
            justify-content: center; border: none !important;
        }
        
        .emmex-satc-btn.added::after { margin-left: 5px; font-size: 14px; content: '\e017'; font-family: WooCommerce; }

/* estilos tarjetas blog */

 .eb-card-v15 {
    display: flex !important;
    align-items: center !important;
    background: linear-gradient(135deg,#f0f7fc 0%,#e8f4f8 100%) !important;;
    border: 1px solid #d1dce5 !important;
    border-radius: 12px !important;
    padding: 12px 16px !important;
    margin: 20px 0 !important;
    gap: 10px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
}

/* Imagen: un pelín más grande */
.eb-img-v15 { flex: 0 0 120px !important; }
.eb-img-v15 img {
    width: 100% !important;
    height: auto !important;
    border-radius: 12px !important;
}

/* Info: columna con título arriba, precio+shipping abajo */
.eb-info-v15 {
    flex: 1 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

.eb-title-v15 {
    display: block !important;
    font-size: 14px !important;      /* ligeramente más contenido */
    font-weight: 600 !important;
    color: #001322 !important;
    text-decoration: none !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    overflow: visible !important;
}

/* Precio y shipping juntos en la misma línea */
.eb-bottom-v15 {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

.eb-price-v15 {
    text-align: center !important;
}

.eb-price-v15 .woocommerce-Price-amount {
    font-size: 18px !important;
    font-weight: 900 !important;
    color: #007cad !important;
}

.eb-agotado-v15 {
    color: red !important;
    font-size: 10px !important;
}

/* Botón: auto-centrado por el flex del padre */
.eb-action-v15 {
    flex-shrink: 0 !important;
}

.eb-btn-v15 {
    display: inline-block !important;
    background: #007cad !important;
    color: #fff !important;
    padding: 8px 15px !important;
    border-radius: 50px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}
		
		/* ── MÓVIL: ≤ 540px ── */
@media (max-width: 540px) {

    .eb-card-v15 {
        flex-wrap: wrap !important;
        align-items: flex-start !important;
        padding: 10px !important;
        gap: 10px !important;
    }

    /* FILA 1: imagen + título ocupan todo el ancho */
    .eb-img-v15 {
        flex: 0 0 64px !important;
    }

    .eb-info-v15 {
        flex: 1 !important;             /* se expande junto a la imagen */
    }

    /* FILA 2: precio + botón en la misma línea, ancho completo */
    .eb-action-v15 {
        width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        border-top: 1px solid #f0f0f0 !important;
        padding-top: 10px !important;
    }

    /* Sacamos el precio del eb-info y lo metemos visualmente en la fila del botón */
    .eb-price-v15 {
        font-size: 18px !important;
    }

    .eb-title-v15 {
        font-size: 13px !important;
        line-height: 1.3 !important;
    }
}

/* tarjetas categoria blog */

.ec-card, .emmex-cat-style.ec-card {
        display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; gap: 15px;
        background: #fff; border: 1px solid #eee; border-radius: 12px; padding: 15px; margin: 15px 0;
        box-shadow: 0 4px 10px rgba(0,0,0,0.03); transition: transform 0.2s;
    }
    .ec-card:hover { transform: translateY(-2px); border-color: #007cad; }
    .ec-card .ecc-visual { flex: 0 0 70px; height: 70px; position: relative; }
    .ec-card .ecc-stack { position: relative; width: 100%; height: 100%; }
    .ec-card .ecc-stack-img { 
        width: 50px; height: 50px; border-radius: 50%; background-size: cover; 
        background-position: center; border: 2px solid #fff; box-shadow: 0 2px 5px rgba(0,0,0,0.1); 
        position: absolute; background-color: #f9f9f9; 
    }
    .ec-card .ebc-info { flex: 1; min-width: 0; }
    .ec-card .ebc-title { font-size: 1.05em; font-weight: 700; color: #222; text-decoration: none; display: block; line-height: 1.2; }
    .ec-card .ebc-arrow { color: #007cad; font-size: 24px; font-weight: bold; text-decoration: none; padding-left: 10px; }
    @media (max-width: 540px) {
        .ec-card { padding: 12px; }
    }

/* estilos enlace marca shortcode */

.emmex-brand-meta {
            font-size: 13px;
            color: #777;
            display: inline-flex;
            align-items: baseline;
            gap: 5px;
            line-height: 1.2;
        }
        .emmex-brand-label {
            font-weight: 600;
            text-transform: uppercase;
            font-size: 12px;
            color: #555;
            letter-spacing: 0.5px;
        }
        .emmex-brand-link {
            color: #007cad;
            font-weight: 700; /* Un poco más de peso para la marca */
            text-transform: uppercase;
            text-decoration: none;
            border-bottom: 1px solid transparent;
            transition: 0.2s ease-in-out;
        }
        .emmex-brand-link:hover {
            color: #004a6b;
            border-bottom-color: #004a6b;
        }

/* carrusel shorts */

 .emmex-main-container { position: relative; width: 100%; padding: 0 45px; box-sizing: border-box; }
        .emmex-ele-grid { 
            display: flex; overflow-x: auto !important; gap: 15px; padding-bottom: 20px; 
            scroll-snap-type: x mandatory !important; scroll-behavior: smooth; 
            scrollbar-width: none; -webkit-overflow-scrolling: touch !important; cursor: grab;
            transition: opacity 0.3s ease-in-out; 
        }
        .emmex-ele-grid::-webkit-scrollbar { display: none; }
        .emmex-ele-card { min-width: 260px; flex: 0 0 260px; background: #fff; border-radius: 12px; display: flex; flex-direction: column; scroll-snap-align: start !important; scroll-snap-stop: always !important; overflow: hidden; }
        .emmex-ele-video { width: 100%; position: relative; padding-top: 177.77%; background: #000; overflow: hidden; }
        .emmex-ele-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: none; z-index: 1; }
        .emmex-ele-overlay { position: absolute; inset: 0; z-index: 5; cursor: pointer; background: rgba(0, 0, 0, 0); }
        .emmex-ele-info { padding: 12px; text-align: left; flex-grow: 1; display: flex; flex-direction: column; }
        .emmex-ele-title { font-size: 13px!important; font-weight: 500!important; height: 34px; overflow: hidden; line-height: 1.3 !important; margin-bottom: 8px; }
        .emmex-ele-title a { color: #333!important; text-decoration: none!important; }
        .emmex-ele-price { min-height: 40px; display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 800; color: #007cad; margin-bottom: 10px; }
        .emmex-ele-btn { 
            background: transparent !important; color: #007cad !important; border: none !important; 
            box-shadow: inset 0 0 0 1.5px #007cad !important; padding: 10px 20px; border-radius: 50px; 
            font-size: 11px; font-weight: 700; text-align: center; text-decoration: none !important; 
            margin-top: auto; margin-bottom: 5px; align-self: center; transition: all 0.3s ease;
        }
        .emmex-ele-btn:hover { background: #007cad !important; box-shadow: none !important; color: #ffffff !important; }
		.emmex-ele-arrow { 
    position: absolute; 
    top: 40%; 
    transform: translateY(-50%); 
    z-index: 10; 
    background: transparent !important; 
    color: #00132b !important; 
    border: none; 
    cursor: pointer; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    padding: 0; 
    transition: 0.3s; 
}
.emmex-ele-arrow svg { 
    width: 40px; 
    height: 40px; 
    fill: currentColor; 
}
.emmex-ele-arrow:hover { 
    color: #007cad !important; 
    transform: translateY(-50%) scale(1.1); 
}
.emmex-ele-arrow.prev { left: 0; }
.emmex-ele-arrow.next { right: 0; }
        .emmex-refresh-wrapper { display: flex; justify-content: center; width: 100%; margin-top: 0px; margin-bottom: 10px; }
        .emmex-refresh-btn { 
            background: transparent!important; color: #007cad!important; border: 1.5px solid #007cad!important; 
            padding: 8px 25px; border-radius: 50px; font-size: 11px; font-weight: 700; text-transform: uppercase;
            cursor: pointer; transition: 0.3s; display: inline-flex; align-items: center; gap: 10px;
        }
        .emmex-refresh-btn.is-loading svg { animation: spin 0.8s linear infinite; }
        @keyframes spin { 100% { transform: rotate(360deg); } }
        @media (max-width: 768px) { .emmex-main-container { padding: 0; } .emmex-ele-arrow { display: none; } .emmex-ele-card { min-width: 85%; flex: 0 0 85%; } .emmex-ele-grid { padding: 0 15px 20px; } }

/* avisos checkout provincias */

.emmex-checkout-notice { display: none; padding: 15px !important; margin-bottom: 20px !important; border-radius: 8px !important; font-family: sans-serif !important; color: #fff !important; box-shadow: 0 4px 10px rgba(0,0,0,0.1); }
        .emmex-warning { background: #1a1a1a !important; border-left: 6px solid #ffcc00 !important; } /* Baleares */
        .emmex-error { background: #2b0000 !important; border-left: 6px solid #ff0000 !important; }   /* Restringidos */
        .emmex-warning strong { color: #ffcc00; }
        .emmex-error strong { color: #ff4d4d; }


/* ESTILOS DE ACORDEONES INTERNOS DESCRIPCION LARGA */
        .emmex-inner-accordion { border-bottom: 1px solid #f0f0f0; background: #fff; transition: all 0.3s ease; border-top: none; }
        .emmex-inner-summary { 
            padding: 18px 10px; font-weight: 700; font-size: 0.95rem; color: #001322; 
            cursor: pointer; list-style: none; display: flex; justify-content: space-between; 
            align-items: center; text-transform: uppercase; letter-spacing: 0.5px;
        }
        .emmex-inner-summary::-webkit-details-marker { display: none; }
        .emmex-inner-summary h2, .emmex-inner-summary h3 { margin: 0 !important; padding: 0 !important; font-size: inherit !important; color: inherit !important; border: none !important; display: inline; text-transform: uppercase !important; }
        
        .emmex-inner-summary::after { 
            content: '+'; color: #007CAD; font-size: 1.3rem; background: #f0f7ff;
            width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;
            border-radius: 50%; transition: all 0.3s ease; flex-shrink: 0;
        }
        details[open] .emmex-inner-summary { color: #007CAD; background: #fafafa; }
        details[open] .emmex-inner-summary::after { content: '−'; background: #007CAD; color: #fff; }
        
        .emmex-inner-content { padding: 0; animation: emmexFade 0.3s ease-out; overflow: hidden; }
        .emmex-inner-content p, .emmex-inner-content ul, .emmex-inner-content ol { padding: 8px 15px; margin: 0; line-height: 1.6 !important; color: #001322; }
        .emmex-inner-content table { width: 100% !important; margin: 0 !important; border-collapse: collapse; }
        
        #prod-tab-3.prod-reviews { padding: 20px !important; background: #fff; border-top: 1px solid #f0f0f0; }
        #prod-tab-3 h2.woocommerce-Reviews-title { display: none !important; }
        
        @keyframes emmexFade { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }

/* DISEÑO PRECIO DESDE EMMEX */
.emmex-desde-text {
    font-size: 0.65em;
    color: #5a5a5a;
    font-weight: 500;
    margin-right: 5px;
    vertical-align: middle;
    text-transform: uppercase;
}

/* DISEÑO BADGE ENVÍO GRATIS EMMEX */
.emmex-free-shipping-badge {
    margin-top: 8px;
    display: flex;
    align-items: center;
    gap: 2px;
    justify-content: center; /* Centrado para el grid de la tienda */
}

.emmex-free-shipping-badge .badge-icon {
    font-size: 0.9rem;
}

.emmex-free-shipping-badge .badge-text {
    color: #25d366;
    font-weight: 700;
    font-size: 0.8rem;
    text-transform: uppercase;
}

/* valoraciones */
.woocommerce-Reviews-title {
	margin-left: 5px;
	margin-top: 5px;
}

/* Estilos asistente gama profesional home */

/* 1. CONTENEDOR PRINCIPAL */
    #quiz-v50-wrapper {
        background: #ffffff;
        border-radius: 12px;
        padding: 30px 30px;
        box-shadow: 0 15px 50px rgba(0,19,34,0.05);
        max-width: 1230px;
        margin: 0px auto;
        text-align: center;
        border: 1px solid #f0f4f8;
        box-sizing: border-box;
    }

    /* 2. TEXTOS DE CABECERA */
    .quiz-v50-intro {
        font-size: 1.1rem !important;
        color: #007cad !important;
        text-transform: uppercase !important;
        letter-spacing: 2px !important;
        font-weight: 700 !important;
        margin-bottom: 15px !important;
        display: block;
    }

    .quiz-v50-question {
        font-size: 1.8rem !important;
        font-weight: 700;
        color: #001322;
        margin-bottom: 20px !important;
        line-height: 1.2 !important;
    }

    /* 3. GRID DE BOTONES (PASOS) */
    .quiz-v50-options-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        gap: 15px;
    }

    .quiz-v50-btn {
        background: #ffffff !important;
        border: 2px solid #f0f4f8 !important;
        color: #001322 !important;
        padding: 15px 10px !important;
        border-radius: 12px !important;
        cursor: pointer;
        font-weight: 500 !important;
        font-size: 1rem !important;
        transition: all 0.3s ease !important;
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 90px;
        box-shadow: 0 4px 6px rgba(0,0,0,0.02);
    }

    .quiz-v50-btn:hover {
        border-color: #007cad !important;
        color: #007cad !important;
        background: #f8fbfc !important;
        transform: translateY(-4px);
        box-shadow: 0 12px 25px rgba(0,124,173,0.12);
    }

    /* 4. TARJETA DE PRODUCTO HORIZONTAL (RESULTADO FINAL) */
    .quiz-v50-product-card {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 30px; /* Más espacio entre imagen y texto */
        text-align: left;
        padding: 20px;
        border: 1px solid #f0f4f8;
        border-radius: 12px;
        background: #ffffff;
        max-width: 1150px;
        margin: 0 auto;
        box-shadow: 0 15px 45px rgba(0,19,34,0.08);
        box-sizing: border-box;
    }

    .quiz-v50-product-img {
        flex: 0 0 40%;
        max-width: 300px !important;
        height: auto !important;
        border-radius: 12px !important;
        object-fit: contain;
    }

    .quiz-v50-product-info-col {
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .quiz-v50-product-title {
        margin: 0 0 10px 0;
        color: #001322;
        font-size: 1.8rem;
        font-weight: 700;
        line-height: 1.2;
    }

    .quiz-v50-product-sku {
        display: none !important;
		color: #a0aec0;
        font-size: 0.9rem;
        margin-bottom: 20px;
        text-transform: uppercase;
        letter-spacing: 1px;
    }

    .quiz-v50-product-price, 
.quiz-v50-product-price span.woocommerce-Price-amount.amount,
.quiz-v50-product-price bdi {
    color: #007cad !important;
    font-weight: 900 !important;
    font-size: 2.5rem !important; /* Precio bien grande e imponente */
    line-height: 1 !important;
    display: block;
    margin: 0 0;
}
		   
	 /* Aseguramos que el símbolo de moneda no quede más pequeño si no queremos */
.quiz-v50-product-price span.woocommerce-Price-currencySymbol {
    font-size: 1.5rem !important;
    vertical-align: super !important;
    margin-left: 5px;
}

    .quiz-v50-product-desc {
        color: #4a5568;
        font-size: 1rem;
        line-height: 1.6;
        margin-bottom: 30px;
    }

    .quiz-v50-product-actions {
        display: flex;
        flex-direction: row;
        gap: 15px;
    }

    /* 5. BOTONES FINALES */
    .emmex-add-cart {
        background: #007cad !important;
        color: #fff !important;
        border: none !important;
        border-radius: 50px !important;
        padding: 18px 30px !important;
        font-weight: 700 !important;
        font-size: 1.1rem !important;
        cursor: pointer;
        flex: 1;
        transition: all 0.2s ease;
    }

    .emmex-add-cart:hover {
        background: #3d9441 !important;
        transform: scale(1.03);
    }

    .page-styling #quiz-v50-wrapper .quiz-v50-product-actions a.quiz-v50-product-info {
        background: transparent !important;
        color: #007cad !important;
        border: 2px solid #007cad !important;
		border-bottom: 2px solid #007cad !important;
        border-radius: 50px !important;
        padding: 16px 30px !important;
        text-decoration: none !important;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 700 !important;
        font-size: 1rem !important;
        /*flex: 1;*/
        transition: all 0.2s ease;
    }
		   
	#quiz-v50-content {
    min-height: 140px; 
}
		   
    /* 6. PIE Y CARGA */
    .quiz-v50-footer {
        margin-top: 10px;
        padding-top: 10px;
        /* border-top: 1px solid #f1f5f9; */
    }

    #quiz-v50-breadcrumbs {
				display: none !important;
        font-size: 0.8rem;
        color: #a0aec0;
        margin-bottom: 15px;
		margin-top: 10px !important;
        font-weight: 500 !important;
    }

    #quiz-v50-back {
        background: none;
        border: none;
        color: #718096;
        font-size: 0.9rem;
        text-decoration: underline;
        cursor: pointer;
    }
		   
		   /* Ocultar el enlace automático de WooCommerce "Ver carrito" */
#quiz-v50-wrapper .added_to_cart.wc-forward {
    display: none !important;
}

    .emmex-spinner {
        width: 50px; height: 50px;
        border: 4px solid #f3f3f3; border-top: 4px solid #007cad; border-radius: 50%;
        animation: spin 1s linear infinite; margin: 0 auto 20px;
    }
    @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

   /* 7. RESPONSIVO (Operación Bikini para Móvil) */
    @media (max-width: 768px) {
        /* Reducimos el aire del contenedor principal */
        #quiz-v50-wrapper { 
            padding: 20px 15px !important; 
            margin: 10px auto !important;
        }

        /* Textos más proporcionados */
        .quiz-v50-intro { 
            font-size: 0.85rem !important; 
            letter-spacing: 1px !important; 
        }
        .quiz-v50-question { 
            font-size: 1.3rem !important; 
            margin-bottom: 15px !important; 
        }

        /* Botones de selección más compactos */
        .quiz-v50-btn {
            min-height: 60px !important; /* Menos altura */
            padding: 10px !important;
            font-size: 0.9rem !important;
            border-radius: 10px !important;
        }

        /* Tarjeta de producto: Vertical y compacta */
        .quiz-v50-product-card {
            flex-direction: column !important;
            text-align: center !important;
            padding: 15px !important;
            gap: 15px !important;
        }

        .quiz-v50-product-img {
            flex: 0 0 auto !important;
            max-width: 180px !important; /* Imagen más pequeña para que no empuje todo abajo */
            margin: 0 auto !important;
        }

        .quiz-v50-product-title {
            font-size: 1.2rem !important;
            margin-bottom: 5px !important;
        }

        /* Precio potente pero no gigante */
        .quiz-v50-product-price, 
        .quiz-v50-product-price span.woocommerce-Price-amount.amount,
        .quiz-v50-product-price bdi {
            font-size: 1.8rem !important;
        }

        .quiz-v50-product-desc {
            font-size: 0.9rem !important;
            line-height: 1.4 !important;
            margin-bottom: 15px !important;
        }

        /* Botones finales uno debajo de otro */
        .quiz-v50-product-actions {
            flex-direction: column !important;
            gap: 10px !important;
        }

        .emmex-add-cart, 
        .page-styling #quiz-v50-wrapper .quiz-v50-product-actions a.quiz-v50-product-info {
            padding: 12px 20px !important;
            font-size: 0.95rem !important;
            height: 48px !important; /* Altura estándar de botón móvil */
            width: 100% !important;
        }

        /* Pie de página más discreto */
        .quiz-v50-footer { margin-top: 15px !important; padding-top: 5px !important; }
        #quiz-v50-breadcrumbs { font-size: 0.7rem !important; }
    }

/* Espacio sobre checkout */
.wp-block-woocommerce-checkout {
	padding-top: 5px !important;
}
@media (max-width: 768px) {
    /* Escondemos el resumen de pedido superior SOLO en móviles */
    .wc-block-checkout__sidebar {
        display: none !important;
    }
}

/* Corregir el solapamiento de 'Acceso' en los títulos del checkout */
.wc-block-components-checkout-step__heading {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 10px !important;
}

@media (max-width: 480px) {
    /* En móviles muy estrechos, baja el botón de acceso abajo de forma limpia */
    .wc-block-checkout__login-prompt {
        position: relative !important;
        display: block !important;
        width: 100% !important;
        text-align: left !important;
        margin-top: 5px !important;
    }
}

/* ==============================================================================
   REFINAMIENTO ESTÉTICO - CABECERA HORIZONTAL BLOG EMMEX  ============================================================================== */

/* Contenedor principal de la barra: más integrado y con aire */
#page #content .blog-cont .emmex-blog-header-bar,
body.search-results #page #content .emmex-blog-header-bar {
    width: 100% !important;
		max-width: 1200px !important;
		margin: 0 auto 0px auto !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 10px 10px !important;
		border-radius: 6px !important;
    z-index: 10 !important;
}

/* Categorías: Botones más redondeados, finos y limpios */
.emmex-blog-categories {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    align-items: center !important;
}
.emmex-cat-btn {
    display: inline-block !important;
    padding: 8px 14px !important;
    background: #f8fafc !important; 
    border: 1px solid #e2e8f0 !important;
    border-radius: 50px !important; 
    color: #475569 !important; /* Texto gris profesional, no tan oscuro */
    font-size: 0.8em !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.2s ease-in-out !important;
    line-height: 1.2 !important;
}
.emmex-cat-btn:hover {
    border-color: #007cad !important;
    color: #007cad !important;
    background: #ffffff !important;
}
.emmex-cat-btn.active {
    background: #007cad !important;
    color: #ffffff !important;
    border-color: #007cad !important;
    box-shadow: 0 2px 6px rgba(0, 124, 173, 0.2) !important;
}

/* Buscador derecho: Bordes estilizados y limpios */
.emmex-blog-search {
    flex-shrink: 0 !important;
    min-width: 280px !important;
}
.emmex-blog-search-form {
    display: flex !important;
    position: relative !important;
    align-items: center !important;
    width: 100% !important;
}
.emmex-search-input {
    width: 100% !important;
    padding: 8px 38px 8px 14px !important;
    font-size: 0.88em !important;
    color: #1e293b !important;
    border: 1px solid #cbd5e1 !important; /* Borde más estético */
    border-radius: 50px !important; /* Redondeado a juego con los botones */
    background: #ffffff !important;
    height: 36px !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s ease !important;
}
.emmex-search-input:focus {
    border-color: #007cad !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(0, 124, 173, 0.1) !important; /* Micro sombra al enfocar */
}
.emmex-search-submit {
    position: absolute !important;
    right: 4px !important;
    top: 50% !important;
    transform: translateY(-50%) !important; /* Centrado vertical perfecto */
    background: transparent !important;
    border: none !important;
    color: #007cad !important;
    font-size: 1em !important;
    cursor: pointer !important;
    padding: 0 10px !important;
    height: auto !important;
}
.emmex-search-submit:hover {
    color: #005f85 !important;
}

/* tienda: Ocultar H1 y contador redundantes */
body.woocommerce-shop .maincont h1,
body.woocommerce-shop .maincont .page-title,
body.woocommerce-shop .maincont .section-count,
body.woocommerce-shop .maincont h1 + p {
    display: none !important;
}

.maincont .section-count {
	 display: none !important; 
}

/* blog: Ocultar H1 y contador redundantes */
body.archive .maincont h1, body.blog .maincont h1 {
	 display: none !important; 
}



/* Corregir el colapso del footer en la página de resultados */
body.search-results #page #content {
    display: block !important;
    clear: both !important;
    height: auto !important;
}

body.search-results #page #content #blog-grid {
    height: auto !important;
    margin-bottom: 0px !important;
}

/* ==============================================================================
   RESPONSIVE PARA MÓVIL (BARRA HEADER BLOG)
   ============================================================================== */
@media (max-width: 767px) {
   
    .emmex-blog-header-bar {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        padding: 16px 4px !important;
        align-items: stretch !important;
    }

    /* Contenedor de las píldoras en móvil: Scroll horizontal fluido si hay muchas */
    .emmex-blog-categories {
        display: flex !important;
        flex-direction: row !important;
        justify-content: flex-start !important;
        gap: 6px !important;
        overflow-x: auto !important; 
        white-space: wrpa !important;
        padding-bottom: 2px !important;
        /* Ocultar la barra de scroll fea en navegadores */
        -webkit-overflow-scrolling: touch;
    }
    .emmex-blog-categories::-webkit-scrollbar {
        display: none !important;
    }

    /* Ajuste de cada píldora individual en móvil */
    .emmex-cat-btn {
        padding: 6px 8px !important;
        font-size: 0.7rem !important;
        flex-shrink: 0 !important; 
    }

    /* Buscador adaptado al 100% del ancho del móvil */
    .emmex-blog-search {
        width: 100% !important;
        max-width: 100% !important;
    }

    .emmex-blog-search-form {
        width: 90% !important;
        display: flex !important;
				margin: 0px auto 0px auto !important;
    }

    .emmex-search-input {
        width: 90% !important;
				margin: 0px auto 0px auto !important;
        flex-grow: 1 !important;
        font-size: 0.9rem !important;
        height: 30px !important;
    }
}


/* ==============================================================================
   BOTÓN PREMIUM "CARGAR MÁS" (ESTILO EMMEX BUMP)
   ============================================================================== */
.emmex-load-more-wrapper {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    margin: 40px 0 20px 0 !important;
    clear: both !important;
}

#emmex-load-more-btn {
    background-color: #007cad !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 12px 36px !important;
    font-size: 0.9em !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    box-shadow: 0 3px 10px rgba(0, 124, 173, 0.15) !important;
    transition: all 0.2s ease-in-out !important;
}

#emmex-load-more-btn:hover {
    background-color: #005f85 !important;
    box-shadow: 0 5px 15px rgba(0, 124, 173, 0.25) !important;
    transform: translateY(-1px) !important;
}

#emmex-load-more-btn:disabled {
    background-color: #cbd5e1 !important;
    color: #64748b !important;
    cursor: not-allowed !important;
    box-shadow: none !important;
    transform: none !important;
}

body .wpc-filters-main-wrap input.wpc-label-input + label:hover {
	border-radius: 50px !important;
}

/* wpc filter ever */
.wpc-filters-section {
	margin-bottom: 12px !important;	
}

/* Animación nativa en CSS para evitar bloqueos de Brave/Safari en campo video producto/documentacion */
.emmex-v17-section {
    opacity: 1 !important;
}

@keyframes emmexPureFade {
    from { opacity: 0; }
    to { opacity: 1; }
}

.emmex-fade-in {
    animation: emmexPureFade 0.4s ease-in-out !important;
}

.emmex-v17-body {
    display: flex !important;
    overflow-x: auto !important; /* Permite scroll horizontal nativo con el dedo */
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch; /* Suavidad extrema en iOS/Safari */
}

.emmex-video-item {
    flex: 0 0 auto !important;
    scroll-snap-align: start;
}

/* ==============================================================================
   BOTONES DE VARIACIÓN NATIVOS EMMEX (V6 - HIGH PERFORMANCE)
   ============================================================================== */

/* Ocultamos selectores nativos y Chosen de la plantilla */
.variations select, 
.variations .chosen-container,
#tamano_chosen {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    position: absolute !important;
    pointer-events: none !important;
}

/* Contenedor de botones flex */
.emmex-swatches-wrapper {
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    margin: 12px 0 !important;
}

/* Botón base */
.emmex-swatch-btn {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 95px !important;
    min-height: 45px !important;
    padding: 5px 18px !important;
    border: 2px solid #cbd5e1 !important;
    background-color: #ffffff !important;
    color: #334155 !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
    user-select: none !important;
    overflow: hidden !important;
}

/* Efecto Hover en PC */
.emmex-swatch-btn:hover:not(.is-disabled):not(.is-selected) {
    border-color: #94a3b8 !important;
    background-color: #f8fafc !important;
    color: #1e293b !important;
}

/* Botón Seleccionado (Azul Corporativo EMMEX) */
.emmex-swatch-btn.is-selected {
    border-color: #007cad !important;
    background-color: #f0f9ff !important;
    color: #007cad !important;
    outline: none !important;
}

/* Foco para navegación por teclado */
.emmex-swatch-btn:focus-visible {
    outline: 2px solid #007cad !important;
    outline-offset: 2px !important;
}

/* Botón Agotado o Sin Stock */
.emmex-swatch-btn.is-disabled {
    opacity: 0.4 !important;
    background-color: #f1f5f9 !important;
    border: 2px dashed #cbd5e1 !important;
    color: #94a3b8 !important;
    cursor: not-allowed !important;
}

/* Raya Diagonal Roja de Agotado */
.emmex-swatch-btn.is-disabled::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 0 !important;
    width: 100% !important;
    height: 2px !important;
    background-color: #ef4444 !important;
    transform: translateY(-50%) rotate(-25deg) !important;
    pointer-events: none !important;
}

/* Ajuste de celda de tabla nativa */
.variations td.value {
    display: block !important;
    width: 100% !important;
}