/* ============================= */
/* CONTENEDOR PRINCIPAL */
/* ============================= */

.page-title {
  margin-top: 15px !important; /* ajusta el valor según necesites */
}

/* Reduce el espacio superior e inferior en el encabezado de la página */
.entry-header.ct-container-narrow {
    padding-top: 0 !important;
    padding-bottom: 5px !important;
}    


/* Espacio superior */
.woocommerce-before-main-content {
	padding-top: 10px;
}

/* Espacio inferior */
.woocommerce-shop .page-content,
.woocommerce.archive .page-content {
	padding-bottom: 10px !important;
}

.woocommerce-after-shop-loop {
	margin-top: 10px;
	margin-bottom: 10px;
	padding-bottom: 10px;
}

/* Contenedor principal */
.woocommerce-products {
	margin-bottom: 10px !important;
}

/* Footer */
.site-footer {
	margin-top: 10px !important;
}

.woocommerce div.product {
/*padding-top: 10px !important;*/
	padding-bottom: 10px !important;
	margin-bottom: 10px !important;
}

.ct-titulo-barra {
	width: 100%;
	margin: 15px auto 15px 0;
	text-align: left;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	padding-left: 10px;
}

.ct-titulo-barra .title-text {
	font-size: 1.5rem;
	font-weight: 700;
	color: #2c3338;
	margin: 0;
}

/* Estilos para que el grid se alinee justo debajo de la barra */
.woocommerce ul.products,
.woocommerce ul.products.product-subcategories {
	margin-top: 0 !important;
}

/* Asegurar que los grids se centren */
.ct-container > section > .ct-container[data-sidebar="left"] .products,
.ct-container > section > .ct-container[data-sidebar="left"] .categorias-tienda {
	justify-items: center !important;
	margin: 0 0 10px 0 !important;
	padding: 0 !important;
}

/* ============================= */
/* REMESA */
/* ============================= */

.remesa-field-container {
	margin: 0 0 20px;
	padding: 0;
	clear: both;
	position: relative;
}

.remesa-field-container input {
	width: 100%;
	padding: 12px;
	padding-right: 35px;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 14px;
	transition: all 0.3s ease;
	box-sizing: border-box;
}

.validation-icon {
	position: absolute;
	right: 12px;
	top: 38px;
	font-size: 16px;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.3s;
}

.validation-icon.visible {
	opacity: 1;
}

.validation-icon.valid {
	color: #4CAF50;
}

.validation-icon.invalid {
	color: #F44336;
}

/* Ajustes específicos para campo numérico */
.remesa-field-container input[name="monto"] {
	padding-right: 45px;
}

.remesa-field-container input[name="monto"] + .validation-icon {
	right: 30px;
}

/* Estados de validación */
.remesa-field-container input.validated.valid {
	border-color: #4CAF50 !important;
}

.remesa-field-container input.validated.invalid {
	border-color: #F44336 !important;
}        

/* ============================= */
/* RECARGA */
/* ============================= */

/* Estilos base para los campos */
.recarga-field-container {
	position: relative;
	margin-bottom: 15px;
}

/* Iconos de validación (inicialmente ocultos) */
.validation-icon {
	position: absolute;
	right: 10px;
	top: 70%;
	transform: translateY(-50%);
	font-size: 16px;
	line-height: 1;
	pointer-events: none;
	display: none;
}

.validation-icon.valid {
	color: #4CAF50;
	display: block;
}

.validation-icon.invalid {
	color: #F44336;
	display: block;
}
.product_cat-recargas a.button {
	background-color: #4CAF50 !important;
	border-color: #4CAF50 !important;
	color: white !important;
	text-align: center;
	width: 100%;
	margin-top: 10px;
}
.product_cat-recargas a.button:hover {
	background-color: #3e8e41 !important;
	border-color: #3e8e41 !important;
}

.recarga-field-container input {
	padding-right: 35px !important;
	border-color: #ddd !important;
}

/* Estados de validación */
.recarga-field-container input.validated.valid {
	border-color: #4CAF50 !important;
}

.recarga-field-container input.validated.invalid {
	border-color: #F44336 !important;
}

.single_add_to_cart_button.disabled-by-recarga {
	opacity: 0.7;
	cursor: not-allowed;
}
.product_cat-recargas .quantity,
.product_cat-recargas .qty,
.cart_item.product-cat-recargas .product-quantity,
.cart_item.product-cat-recargas .quantity {
	display: none !important;
}
.recarga-cantidad {
	display: inline-block;
	min-width: 20px;
	text-align: center;
}

.wp-block-heading{
    font-size: 1.5rem; /* Tamaño típico de h4 */
    font-weight: 600;  /* Grosor típico de h4 */
    line-height: 1.2;  /* Interlineado típico */
    margin: 0 0 1rem 0; /* Márgenes típicos de h4 */
    color: inherit;    /* Heredar color */
    margin-top: 30px !important;
}

.woo-sctr-shortcode-countdown-text-before{
    font-size: 1.5rem; /* Tamaño típico de h4 */
    font-weight: 600;  /* Grosor típico de h4 */
    line-height: 1.2;  /* Interlineado típico */
    margin: 0 0 1rem 0; /* Márgenes típicos de h4 */
    color: inherit;    /* Heredar color */
    margin-top: 30px !important;
}

/* ============================= */
/* PRODUCTO INDIVIDUAL */
/* ============================= */

.remesa-calculation-wrapper .precio-total-row {
    font-weight: bold;
    font-size: 1.2em;
    margin: 15px 0;
}

.remesa-calculation-wrapper .precio-total-row .label {
    color: #333;
}

.remesa-calculation-wrapper .precio-total-row .value {
    color: #0073aa;
}

/* ============================= */
/* FORMULARIO LOCALIZACIÓN */
/* ============================= */

/* Reset y estilos base */
.localization-form-container {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 30px auto;
	margin-bottom: 0 !important;
    padding: 30px;
    max-width: 500px;
    background: #fff;
    box-shadow: 0 10px 20px rgba(10, 31, 58, 0.1);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    font-size: 14px;
    line-height: 1.5;
    color: #3c434a;
    border-radius: 8px;
    border: 1px solid #d1d5db;
    position: relative; /* Contexto para z-index */
}

.localization-form-title {
    margin: 0 0 20px 0;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.3;
    text-align: center;
    color: #2c3338;
}

/* Grupos de formulario */
.form-group {
    margin-bottom: 15px;
    position: relative; /* Contexto para tooltips */
}

.form-group label {
    display: block;
    margin-bottom: 0;
    font-weight: 500;
    color: #2c3338;
    line-height: 1.2;
}

.required-asterisk {
    color: #d63638;
}

/* Campos de entrada */
.input-field {
    width: 100%;
    padding: 10px 8px;
    font-size: 14px;
    line-height: 1.5;
    color: #2c3338;
    background-color: #fff;
    border: 1px solid #8c8f94;
    border-radius: 4px;
    box-shadow: none;
    transition: border-color 0.15s ease-in-out;
    margin-top: 0;
}

.input-field:focus {
    border-color: #2271b1;
    box-shadow: 0 0 0 1px #2271b1;
    outline: 2px solid transparent;
}

/* Contenedor de select */
.select-with-help {
    position: relative;
    display: flex;
    align-items: center;
    margin-top: 0;
}

/* Tooltip de ayuda - Versión mejorada */
.help-tooltip {
    margin-left: 8px;
    cursor: help;
    color: #1e73be;
    font-weight: bold;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    background-color: #e7f1f9;
    border-radius: 50%;
    font-size: 15px;
    transition: all 0.2s ease;
    border: 1px solid #b6d4ee;
    z-index: 5;
}

.help-tooltip:hover {
    background-color: #2271b1;
    color: white;
    border-color: #2271b1;
}

/* Texto del tooltip - Versión responsive definitiva */
.tooltip-text {
    visibility: hidden;
    width: 280px;
    background-color: #1d2327;
    color: #fff;
    text-align: left;
    border-radius: 6px;
    padding: 15px;
    position: absolute;
    z-index: 1000;
    bottom: calc(100% + 10px);
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    transition: opacity 0.3s ease, transform 0.2s ease;
    font-weight: normal;
    font-size: 13px;
    line-height: 1.5;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    word-wrap: break-word;
    max-width: 90vw;
    box-sizing: border-box;
}

.tooltip-text::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -6px;
    border-width: 6px;
    border-style: solid;
    border-color: #1d2327 transparent transparent transparent;
}

.help-tooltip:hover .tooltip-text {
    visibility: visible;
    opacity: 1;
    transform: translateX(-50%) translateY(-5px);
}

/* Checkbox */
.checkbox-container {
    margin: 25px 0;
    display: flex;
    align-items: center;
    position: relative;
}

.checkbox-field {
    margin: 0 8px 0 0;
    width: 16px;
    height: 16px;
}

.checkbox-label {
    font-size: 14px;
    color: #2c3338;
}

/* Botón */
.submit-button {
    width: 100%;
    padding: 12px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    color: #fff;
    background-color: #2271b1;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    transition: background-color 0.15s ease-in-out;
}

.submit-button:hover {
    background-color: #135e96;
}

.submit-button:focus {
    outline: 2px solid #2271b1;
    outline-offset: 2px;
}


/* ============================= */
/* RESPONSIVIDAD */
/* ============================= */


/* AJUSTES DE TARJETA, PRECIO Y BOTÓN EN 'RECARGAS' */
.woocommerce ul.products li.product.product_cat-recargas {
    text-align: left;
    max-width: none !important;
}

.woocommerce ul.products li.product.product_cat-recargas .woocommerce-loop-product__title {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    font-size: 1em !important;
    margin-bottom: 20px !important;
}

.woocommerce ul.products li.product.product_cat-recargas .price,
.woocommerce ul.products li.product.product_cat-recargas .ct-woo-card-actions {
    justify-content: flex-start !important;
}

.woocommerce ul.products li.product.product_cat-recargas .ct-woo-card-actions {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 5px !important;
    width: 100% !important;
}

.woocommerce ul.products li.product.product_cat-recargas .ct-woo-card-actions .quantity {
    flex-grow: 1 !important;
    max-width: 1...
}


@media screen and (max-width: 600px) {   
    .input-field {
        padding: 8px;
    }
}
/* ============================= */
/* ANIMACIONES */
/* ============================= */

@keyframes loadingDots {
	0%, 20% { content: '.'; }
	40% { content: '..'; }
	60%, 100% { content: '...'; }
}

@keyframes pulseGreen {
	0% { 
	transform: scale(1);
	box-shadow: 0 0 0 0 rgba(76, 175, 80, 0.7);
	}
	50% { 
		transform: scale(0.95);
		box-shadow: 0 0 0 10px rgba(76, 175, 80, 0);
	}
	100% { 
		transform: scale(1);
		box-shadow: 0 0 0 0 rgba(76, 175, 80, 0);
	}
}

@keyframes spin {
	to { transform: rotate(360deg); }
}

@keyframes fadeIn {
	from { opacity: 0; transform: translateY(5px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes spin {
	to { transform: rotate(360deg); }
}

/* ============================= */
/* AJUSTE DE PADDING SUPERIOR PARA TÍTULO EN MÓVILES */
/* ============================= */

.post-867{
        padding-top: 0 !important;
        padding-bottom: 0 !important;
}

/* ============================= */
/* PRODUCTOS */
/* ============================= */

/* Tarjetas de producto */
.woocommerce ul.products li.product, 
.woocommerce .products .product {
	width: 100%; /* Ahora la tarjeta ocupará el ancho de la columna del grid */
	max-width: 210px;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 2px 6px rgba(0,0,0,0.08);
	padding: 15px;
	height: auto; /* La altura se ajusta al contenido */
	text-align: left;
	transition: transform 0.2s ease;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

/* Imagen */
.woocommerce ul.products li.product a img {
	border-radius: 5px;
	margin: 0;
	width: 100% !important;
	height: 180px;
	object-fit: contain;
	flex-shrink: 0;
}

/* Título */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: #2c3338;
	font-size: 15px;
	font-weight: 600;
	margin: 5px 10px 10px 5px;
	line-height: 1.3;
	height: 40px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	flex-grow: 1;
}

/* Precio */
.woocommerce ul.products li.product .price {
	color: var(--primary-color);
	font-size: 18px;
	font-weight: 700;
	margin: 5px 5px 5px 5px;
	padding-top: 0 !important;
	display: flex;
	align-items: center;
	justify-content: left;
	gap: 4px;
	white-space: nowrap; /* Evita que el texto se divida en varias líneas */
	overflow: hidden; /* Oculta el texto que no quepa */
	text-overflow: ellipsis; /* Añade puntos suspensivos si el texto es muy largo */
}

.woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol {
	font-size: 18px;
	color: var(--secondary-color);
	font-weight: 700;
	margin-right: 2px;
}

.woocommerce ul.products li.product .price:after {
	content: " USD";
	font-size: 18px;
	color: var(--secondary-color);
	font-weight: 700;
}

/* Rating */
.woocommerce .products li.product .ct-woo-card-rating {
	margin-bottom: 0 !important;
}

.woocommerce .products li.product .star-rating {
	margin: 10px 5px 5px 5px !important;
	margin-bottom: 0 !important;
}

.woocommerce .star-rating {
	font-size: 0.8em;
}

/* AJUSTES COMPLEMENTARIOS */
.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none;
}

.woocommerce-page .woocommerce ul.products li.product {
	float: none !important;
	width: auto !important;
	margin-right: 0 !important;
}

/* USD SOLO EN PÁGINA INDIVIDUAL */
.single-product .price .amount:after,
.single-product .price .woocommerce-Price-amount:after {
	content: " USD";
	font-weight: bold;
	margin-left: 3px;
}

.single-product .price .woocommerce-Price-amount:last-child:after {
	content: " USD";
}

/* Excluir USD en catálogo */
.woocommerce ul.products li.product .price .amount:after,
.woocommerce ul.products li.product .woocommerce-Price-amount:after {
	content: "" !important;
}

.woo-listing-top {
	margin-bottom: 0 !important;   /* o margin-block-end: 10px !important; */
	padding-bottom: 0 !important;      /* por si el tema usa padding */
	margin-top: 0 !important;   /* o margin-block-end: 10px !important; */
	padding-top: 0 !important;      /* por si el tema usa padding */
}

/* Evita que el UL sume espacio por arriba si aún lo tuviera */
.woo-listing-top + .woocommerce-notices-wrapper {
	margin-top: 0 !important;
}

/* SELECTOR DE CANTIDAD Y BOTÓN */

/* Contenedor de cantidad y botón */
.woocommerce ul.products li.product .ct-woo-card-actions {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-top: 0 !important;
	width: 100%;
	flex-wrap: nowrap;
}

/* Selector de cantidad */
.woocommerce ul.products li.product .quantity {
	display: flex;
	align-items: center;
	border: 1px solid #e0e0e0;
	border-radius: 6px;
	overflow: hidden;
	background: #fff;
	height: 35px;
	flex: 0 0 auto !important; /* Evita que crezca */
	width: 80px !important;
	margin-right: 0 !important;
}

.woocommerce ul.products li.product .quantity .qty {
	width: 30px;
	height: 100%;
	text-align: center;
	border: none;
	border-left: 1px solid #e0e0e0;
	border-right: 1px solid #e0e0e0;
	font-size: 14px;
	font-weight: 600;
	color: #333;
	padding: 0;
	-moz-appearance: textfield;
}

.woocommerce ul.products li.product .quantity .qty::-webkit-outer-spin-button,
.woocommerce ul.products li.product .quantity .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.woocommerce ul.products li.product .quantity .minus,
.woocommerce ul.products li.product .quantity .plus {
	flex: 1;
	background: #f5f5f5;
	border: none;
	color: #555;
	font-size: 18px;
	font-weight: 600;
	cursor: pointer;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease;
}

.woocommerce ul.products li.product .quantity .minus:hover,
.woocommerce ul.products li.product .quantity .plus:hover {
	background: #e0e0e0;
}

.woocommerce ul.products li.product small.wcvendors_sold_by_in_loop,
.woocommerce ul.products li.product small.wcvendors_sold_by_in_loop + br {
  display: none !important;
}

/* SOLUCIÓN FINAL - SIN ESPACIOS NO DESEADOS */

/* Contenedor principal */
.woocommerce ul.products li.product .ct-woo-card-actions {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 5px !important;
	margin-bottom: 5px !important;
}

.woocommerce ul.products li.product .ct-woo-card-actions .button {
	flex-grow: 1; /* El botón se expandirá para llenar el espacio restante */
	flex-shrink: 1;
	min-width: 0;
	white-space: nowrap;
}

/* Selector de cantidad - altura fija */
.woocommerce ul.products li.product .quantity {
	height: 38px;
	display: flex;
	border: 1px solid #e0e0e0;
	border-radius: 6px;
	overflow: hidden;
	background: #fff;
	width: 80px;
}

/* Botón - estructura compacta */
.woocommerce ul.products li.product .button {
	/* Altura igual al selector */
	height: 38px !important;
	min-height: 38px !important;

	/* Eliminar espacios internos */
	padding: 0 12px !important;
	margin: 0 !important;
	line-height: 38px !important;

	/* Estilo visual */
	background: #2271b1 !important;
	color: white !important;
	border-radius: 6px;
	font-size: 14px;
	border: none;

	/* Flexbox para alineación precisa */
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
}

/* Icono - posición exacta */
.woocommerce ul.products li.product .button .cart-icon {
	width: 16px !important;
	height: 16px !important;
	display: block !important;
	margin: 0 5px 0 0 !important;
	padding: 0 !important;
	filter: brightness(0) invert(1);
	position: relative;
	top: -1px; /* Ajuste fino de alineación */
}

/* Texto - sin márgenes */
.woocommerce ul.products li.product .button .button-text {
	margin: 0 !important;
	padding: 0 !important;
	display: inline-block;
	white-space: nowrap;
}

/* Reset nuclear para elementos internos */
.woocommerce ul.products li.product .button > * {
	flex-shrink: 0 !important;
	min-width: 0 !important;
}

/* Input de cantidad */
.woocommerce ul.products li.product .quantity .qty {
	height: 100%;
	border: none;
	border-left: 1px solid #e0e0e0;
	border-right: 1px solid #e0e0e0;
}

/* ESTILOS PARA GESTIÓN DE CANTIDADES */

/* Botones deshabilitados */
.quantity button.disabled {
	opacity: 0.3;
	cursor: not-allowed;
	background-color: #f9f9f9 !important;
	pointer-events: none;
}

/* Input bloqueado */
.quantity input.qty.locked {
	background-color: #f9f9f9;
	cursor: not-allowed;
	text-align: center;
	border-color: #e0e0e0;
}

/* Input para productos con cantidad 1 */
.quantity input.qty.locked[value="1"] {
	color: #333;
	font-weight: 600;
}

/* Productos agotados */
.quantity.out-of-stock {
	opacity: 0.5;
	pointer-events: none;
}

.quantity.out-of-stock .qty {
	background: #fff8f8;
	color: #d63638;
}

/* Animación para interacción */
.quantity button {
	transition: all 0.2s ease;
}

.button.loading .button-text {
	visibility: hidden;
}

.quantity .qty {
	pointer-events: none;
	user-select: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	background-color: #f9f9f9 !important;
	cursor: default !important;
}

/* Estilo para indicar que no es editable */
.quantity .qty[readonly] {
	border-color: #ddd !important;
	box-shadow: none !important;
}

/* Estado de carga para el botón */
.button.loading {
	position: relative;
	opacity: 0.8;
	pointer-events: none; /* Deshabilita clics mientras carga */
}

.button.loading:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 16px;
	height: 16px;
	margin: -8px 0 0 -8px;
	border: 2px solid rgba(255,255,255,0.3);
	border-top-color: white;
	border-radius: 50%;
	animation: spin 0.8s linear infinite;
}

.button.loading .button-text,
.button.loading .cart-icon {
	opacity: 0.3; /* Oculta el texto y el ícono mientras carga */
}

/* Intento más específico para el badge de agotado */
.woocommerce ul.products li.product .out-of-stock-badge[data-shape="type-2"] {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    left: auto !important;
    z-index: 10 !important;
    padding: 5px 10px !important;
    border-radius: 5px !important;
    width: fit-content !important;
}


/* Posiciona el badge de "EN OFERTA" en la esquina superior derecha */
.woocommerce ul.products li.product .onsale {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    left: auto !important;
    z-index: 10 !important;
    padding: 5px 10px !important;
    border-radius: 5px !important;
    width: fit-content !important;
}

/* Ocultar badges durante la carga */
.tienda-contenido.loading .out-of-stock-badge,
.tienda-contenido.loading .onsale {
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.2s ease, visibility 0.2s ease;
}

/* Asegurar que los badges se muestren correctamente después de cargar */
.tienda-contenido:not(.loading) .out-of-stock-badge,
.tienda-contenido:not(.loading) .onsale {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Mejorar la transición de carga para todos los elementos del producto */
.tienda-contenido.loading .product {
    position: relative;
}
.tienda-contenido.loading .product::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.8);
    z-index: 5;
    border-radius: 12px;
}

/* ============================= */
/* REMESAS */
/* ============================= */

/* Contenedor principal del artículo */
.ct-container-full article {
    max-width: 1000px !important;
    margin: auto !important;
    border-radius: none !important;
    box-shadow: none !important;
    padding: 20px 10px 20px 10px !important;
    margin-bottom: 0 !important;
    border: none !important;
	background-color: var(--theme-palette-color-7) !important;
}

#post-2315 {
    max-width: 1540px !important;
    margin: auto !important;
    border-radius: none !important;
    box-shadow: none !important;
    padding: 20px 10px 20px 10px !important;
    margin-bottom: 0 !important;
    border: none !important;
	background-color: var(--theme-palette-color-7) !important;
}

/* Contenedor principal del producto */
.product.type-product.post-1175 {
    border-radius: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin-bottom: 0 !important;
    background: #ffffff !important;
    border: none !important;
}

/* O también puedes usar esta clase más específica */
.product-entry-wrapper.is-width-constrained {
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
    padding: 25px !important;
    margin-bottom: 15px !important;
    background: #ffffff !important;
    border: 1px solid #f0f0f0 !important;
}

/* Para las pestañas inferiores (tabs) */
.woocommerce-tabs.wc-tabs-wrapper {
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
    padding: 25px !important;
    margin-bottom: 0 !important;
    background: #ffffff !important;
    border: 1px solid #f0f0f0 !important;
}

.submit {
	background-color: #2271b1 !important;
}

.submit:hover {
	background-color: #135e96 !important;
}

/* Reducir tamaño de títulos de políticas de tienda */
.wcfm_policies_heading {
    font-size: 18px !important;
    font-weight: 600 !important;
    margin-bottom: 12px !important;
    color: #333 !important;
}

/* Opcional: Ajustar el espaciado entre secciones */
.wcfm-shipping-policies,
.wcfm-refund-policies,
.wcfm-cancellation-policies {
    margin-bottom: 25px !important;
}

/* Opcional: Mejorar el texto de descripción */
.wcfm_policies_description {
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #555 !important;
}

/* Desactivar zoom en imagen de productos remesa */
.product_cat-remesas .woocommerce-product-gallery .zoomImg {
    display: none !important;
}

.product_cat-remesas .woocommerce-product-gallery .ct-media-container:hover {
    cursor: default !important;
}

.product_cat-remesas .woocommerce-product-gallery figure {
    pointer-events: none !important;
}

/* Opcional: Desactivar el icono de lupa */
.product_cat-remesas .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
    display: none !important;
}

/* ============================= */
/* RECARGAS */
/* ============================= */

.wp-block-stackable-spacer {
	display: none !important;
}

.wp-block-stackable-columns {
	margin-bottom: 20px !important;
    margin-top: 20px !important;
}

#post-942{
    max-width: 1450px !important;
    margin-bottom: 30px !important;
}

/* Reset para contenedores hijos */
#post-942 .stk-block-columns.stk-6129293 .stk-row,
#post-942 .stk-block-column.stk-74554b0,
#post-942 .stk-block-column.stk-74554b0 .stk-container,
#post-942 .stk-block-column.stk-74554b0 .stk-block-content,
#post-942 .woocommerce.columns-4 {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    display: block !important;
}

/* CONTENEDOR DE PRODUCTOS - Especificidad máxima */
body #post-942 .entry-content .ct-container-full .stk-block-columns .stk-block-column .woocommerce ul.products.columns-4 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 20px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* TABLETS - 2 columnas */
@media (max-width: 768px) {
	.post-1175, 
	.ct-container-full article {
		padding: 0 !important;
	}

	.post-1658, .ct-container-full article {
		padding: 10px 5px 10px 5px !important;
	}
}

/* MÓVILES - 1 columna (Estrategia nuclear) */
@media (max-width: 480px) {
	.ct-container-full article {
        margin-left: 5px !important;
        margin-right: 5px !important;
        max-width: none !important;
        width: calc(100vw - 10px) !important; /* Usar viewport width menos los márgenes */
        box-sizing: border-box !important; /* Incluir padding en el cálculo del ancho */
    }

	.product-entry-wrapper {
		margin-left: 5px !important;
        margin-right: 5px !important;
        max-width: none !important;
        width: calc(100vw - 10px) !important; /* Usar viewport width menos los márgenes */
        box-sizing: border-box !important; /* Incluir padding en el cálculo del ancho */
	}

	.woocommerce div.product {
		padding-top: 0 !important;
		margin-bottom: 0 !important;
	}

	/* Contenedor de las pestañas */
    .woocommerce-tabs.wc-tabs-wrapper {
        max-width: 100% !important;
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        display: flex;
        flex-wrap: wrap;
    }
    
    /* Contenido interno de las pestañas */
    .woocommerce-Tabs-panel {
        max-width: 100% !important;
        width: 100% !important;
        box-sizing: border-box !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    
    /* Asegurar que el texto y listas no se salgan */
    .woocommerce-Tabs-panel p,
    .woocommerce-Tabs-panel ul,
    .woocommerce-Tabs-panel li,
    .woocommerce-Tabs-panel .wcfm-product-policies {
        max-width: 100% !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }
    
    /* Forzar que las tablas y elementos largos se ajusten */
    .woocommerce-Tabs-panel table,
    .woocommerce-Tabs-panel iframe,
    .woocommerce-Tabs-panel img {
        max-width: 100% !important;
        height: auto !important;
    }
    
    /* Ajustar específicamente las políticas de la tienda */
    .wcfm-product-policies {
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding-left: 5px !important;
        padding-right: 5px !important;
    }
}

/* ESTILO DE EMERGENCIA - Si todo lo demás falla */
@media (max-width: 480px) {
	.post-1658, .ct-container-full article {
		padding: 5px 5px 5px 5px !important;
	}
}

/* ============================= */
/* ESTILOS PARA BOTONES DEL CARRITO */
/* ============================= */

/* Botón de aplicar cupón (ya funciona) */
button[name="apply_coupon"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
	background: #0073aa !important;
}
button[name="apply_coupon"]:hover {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
	background: #005a87 !important;
}

/* Botón de actualizar carrito */
button[name="update_cart"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
	background: #0073aa !important;
}

button[name="update_cart"]:hover {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
	background: #005a87 !important;
}

/* Botón de finalizar compra */
.checkout-button.button.alt.wc-forward {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
	background: #0073aa !important;
	margin-top: 10px !important;
}

.checkout-button.button.alt.wc-forward:hover {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
	background: #005a87 !important;
}

/* Iconos SVG */
.cupon-icon, .update-icon, .checkout-icon {
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0;
}

/* checkout */

.post-83{
    margin: 0 auto !important;
    padding: 0 20px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* ============================= */
/* ESTILOS MEJORADOS PARA CARRITO */
/* ============================= */

.post-82{
    margin: 0 auto !important;
    padding: 0 20px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Contenedor principal del carrito */
.woocommerce-cart-form {
    margin-bottom: 0 !important;
}

/* Tabla del carrito */
.woocommerce-cart-form__contents {
    border-collapse: separate;
    border-spacing: 0 15px;
    width: 100%;
}

/* Encabezados de la tabla */
.woocommerce-cart-form__contents thead th {
    background-color: #f8f9fa;
    padding: 15px;
    font-weight: 600;
    color: #2c3338;
    border-bottom: 2px solid #e9ecef;
}

/* Filas de productos - Tarjeta con sombra y borde */
.woocommerce-cart-form__cart-item {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    margin-bottom: 15px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.woocommerce-cart-form__cart-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}

/* Celdas individuales */
.woocommerce-cart-form__cart-item td {
    padding: 20px 15px;
    vertical-align: middle;
    border: none;
}

/* Primera celda (thumbnail) */
.woocommerce-cart-form__cart-item td.product-thumbnail {
    padding-left: 20px;
    width: 100px;
}

/* Imagen del producto */
.woocommerce-cart-form__cart-item td.product-thumbnail .ct-media-container {
    border-radius: 8px;
    overflow: hidden;
    display: block;
}

.woocommerce-cart-form__cart-item td.product-thumbnail img {
    border-radius: 8px;
    transition: transform 0.3s ease;
}

.woocommerce-cart-form__cart-item:hover td.product-thumbnail img {
    transform: scale(1.05);
}

/* Información del producto */
.woocommerce-cart-form__cart-item td.product-name {
    font-weight: 600;
}

.woocommerce-cart-form__cart-item td.product-name a {
    color: #2c3338;
    text-decoration: none;
    transition: color 0.2s ease;
}

.woocommerce-cart-form__cart-item td.product-name a:hover {
    color: #2271b1;
}

/* Precio en vista móvil */
.woocommerce-cart-form__cart-item .price.ct-hidden-sm {
    margin: 5px 0;
    font-size: 16px;
    color: #2271b1;
    font-weight: 600;
}

/* Selector de cantidad */
.woocommerce-cart-form__cart-item .quantity[data-type="type-2"] {
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
    display: inline-flex;
    align-items: center;
    height: 38px;
}

.woocommerce-cart-form__cart-item .quantity .qty {
    border: none;
    border-left: 1px solid #e0e0e0;
    border-right: 1px solid #e0e0e0;
    text-align: center;
    height: 100%;
}

.woocommerce-cart-form__cart-item .quantity .ct-increase,
.woocommerce-cart-form__cart-item .quantity .ct-decrease {
    flex: 1;
    background: #f8f9fa;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s ease;
    height: 100%;
    min-width: 30px;
}

.woocommerce-cart-form__cart-item .quantity .ct-increase:hover,
.woocommerce-cart-form__cart-item .quantity .ct-decrease:hover {
    background: #e9ecef;
}

/* Precio subtotal */
.woocommerce-cart-form__cart-item .product-subtotal {
    font-weight: 700;
    color: #2c3338;
    font-size: 16px;
}

/* Botón eliminar */
.woocommerce-cart-form__cart-item .product-remove a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #f8f9fa;
    transition: all 0.2s ease;
}

.woocommerce-cart-form__cart-item .product-remove a:hover {
    background: #dc3545;
    color: white;
}

.woocommerce-cart-form__cart-item .product-remove a:hover svg {
    filter: brightness(0) invert(1);
}

/* Acciones del carrito (cupón y actualizar) */
.woocommerce-cart-form .actions {
    background: #f8f9fa;
    border-radius: 10px;
    padding: 20px;
    margin-top: 20px;
}

/* Campo de cupón */
.woocommerce-cart-form .coupon {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.woocommerce-cart-form .coupon label {
    display: none;
}

.woocommerce-cart-form .coupon .input-text {
    flex: 1;
    min-width: 150px;
    padding: 10px 12px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 14px;
}

/* Botones */
.woocommerce-cart-form .button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 6px;
    font-weight: 500;
    transition: all 0.2s ease;
}

.woocommerce-cart-form .button[name="apply_coupon"],
.woocommerce-cart-form .button[name="update_cart"] {
    background: #6c757d;
    color: white;
    border: none;
}

.woocommerce-cart-form .button[name="apply_coupon"]:hover,
.woocommerce-cart-form .button[name="update_cart"]:hover {
    background: #5a6268;
}

/* Sección de totales */
.cart_totals {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    padding: 25px;
}

.cart_totals h2 {
    margin-top: 0;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid #f1f1f1;
    color: #2c3338;
}

.cart_totals table {
    width: 100%;
    margin-bottom: 25px;
}

.cart_totals th {
    text-align: left;
    padding: 10px 0;
    font-weight: 600;
    color: #2c3338;
}

.cart_totals td {
    text-align: right;
    padding: 10px 0;
}

.cart_totals .order-total th,
.cart_totals .order-total td {
    border-top: 2px solid #f1f1f1;
    padding-top: 15px;
    font-size: 1.1em;
}

/* Botón de finalizar compra */
.wc-proceed-to-checkout {
    margin-top: 20px;
}

.checkout-button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 15px;
    background: #28a745 !important;
    color: white;
    font-weight: 600;
    font-size: 16px;
    border: none;
    border-radius: 8px;
    transition: background 0.2s ease;
}

.checkout-button:hover {
    background: #218838 !important;
}

/* Mejora visual para el cálculo de envíos */
.woocommerce-shipping-calculator {
    margin-top: 10px;
}

.shipping-calculator-button {
    color: #2271b1;
    text-decoration: underline;
    cursor: pointer;
}

.shipping-calculator-button:hover {
    color: #135e96;
}

.shipping-calculator-form {
    margin-top: 15px;
    padding: 15px;
    background: #f8f9fa;
    border-radius: 6px;
}

.shipping-calculator-form .form-row {
    margin-bottom: 15px;
}

/* ============================= */
/* CORRECCIÓN BOTÓN ELIMINAR CARRITO */
/* ============================= */

/* Contenedor principal del botón eliminar */
.woocommerce-cart-form__cart-item .product-remove {
    position: relative;
    text-align: center;
}

/* Estilos base del enlace eliminar */
.woocommerce-cart-form__cart-item .product-remove a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: #f8f9fa !important;
    transition: all 0.2s ease !important;
    position: relative;
    margin: 0 auto !important;
}

/* Asegurar que el SVG esté centrado */
.woocommerce-cart-form__cart-item .product-remove a svg.ct-icon {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    width: 16px !important;
    height: 16px !important;
}

/* Efecto hover */
.woocommerce-cart-form__cart-item .product-remove a:hover {
    background: #dc3545 !important;
}

.woocommerce-cart-form__cart-item .product-remove a:hover svg {
    filter: brightness(0) invert(1) !important;
}

/* Para vista móvil - acciones móviles */
.woocommerce-cart-form__cart-item .product-mobile-actions.product-remove {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 10px;
}

.woocommerce-cart-form__cart-item .product-mobile-actions.product-remove a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    margin-left: 10px !important;
}

/* Asegurar que el botón mantenga su posición en todos los estados */
.woocommerce-cart-form__cart-item .product-remove a:active,
.woocommerce-cart-form__cart-item .product-remove a:focus {
    transform: none !important;
    outline: none !important;
}

/* ============================= */
/* AJUSTE DE PADDING PARA PRODUCTOS CARRITO */
/* ============================= */

/* Padding general para cada fila de producto */
.woocommerce-cart-form__cart-item {
    padding: 5px 5px !important;
}

/* Padding específico para la imagen (lado izquierdo) */
.woocommerce-cart-form__cart-item td.product-thumbnail {
    padding-left: 15px !important;
    padding-right: 5px !important;
}

/* Padding para el nombre del producto */
.woocommerce-cart-form__cart-item td.product-name {
    padding-left: 10px !important;
    padding-right: 10px !important;
}

/* Padding para la cantidad */
.woocommerce-cart-form__cart-item td.product-quantity {
    padding-left: 10px !important;
    padding-right: 10px !important;
}

/* Padding para el subtotal */
.woocommerce-cart-form__cart-item td.product-subtotal {
    padding-left: 10px !important;
    padding-right: 10px !important;
}

/* Ajuste específico para el botón eliminar (lado derecho) */
.woocommerce-cart-form__cart-item td.product-remove {
    padding-right: 15px !important;
    padding-left: 5px !important;
}

/* Asegurar que las imágenes no toquen los bordes */
.woocommerce-cart-form__cart-item td.product-thumbnail .ct-media-container {
    margin: 0 auto;
    display: block;
}

/* Mejorar el aspecto visual general de las celdas */
.woocommerce-cart-form__cart-item td {
    transition: padding 0.2s ease;
}

/* ============================= */
/* ESTILOS MEJORADOS PARA CHECKOUT */
/* ============================= */

/* Contenedor principal del checkout */
.woocommerce-checkout {
    margin-bottom: 30px;
}

/* Encabezados de sección */
.woocommerce-checkout h3 {
    padding: 15px 20px;
    border-radius: 10px;
    font-weight: 600;
    color: #2c3338;
    margin-bottom: 20px;
}

/* Contenedor de columnas */
.col2-set {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    margin-bottom: 0 !important;
    margin-top: 0 !important;
}

.col-2 {
    margin: 0 !important;
}

.col2-set .col-1,
.col2-set .col-2 {
    flex: 1;
    min-width: 300px;
}

@media (min-width: 1350px) {
    .col2-set .col-1,
    .col2-set .col-2 {
    flex: 1;
    min-width: 400px;
}
}

/* Campos del formulario */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    padding: 25px;
    margin-bottom: 25px;
}

.woocommerce-account-fields{
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    padding: 25px;
    margin-top: 25px;
    margin-bottom: 25px;
}

/* Grupos de formulario */
.form-row {
    margin-bottom: 20px;
    position: relative;
}

.form-row label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    color: #2c3338;
}

.form-row .required {
    color: #dc3545;
}

.form-row .optional {
    color: #6c757d;
    font-size: 0.9em;
}

/* Campos de entrada */
.input-text,
.select2-selection--single,
textarea {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 14px;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

.input-text:focus,
.select2-selection--single:focus,
textarea:focus {
    border-color: #2271b1;
    box-shadow: 0 0 0 2px rgba(34, 113, 177, 0.2);
    outline: none;
}

/* Select2 personalizado */
.select2-container--default .select2-selection--single {
    height: 46px;
    border: 1px solid #ddd;
    border-radius: 6px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 46px;
    padding-left: 15px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 46px;
}

#ship-to-different-address label {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-weight: 500;
}

#ship-to-different-address input[type="checkbox"] {
    margin-right: 10px;
    width: 18px;
    height: 18px;
}

/* Sección de revisión del pedido */
.ct-order-review {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    padding: 25px;
    margin-top: 30px;
}

.ct-order-review h3 {
    background: none;
    padding: 0 0 15px 0;
    margin-bottom: 20px;
    border-bottom: 2px solid #f1f1f1;
}

/* Tabla de revisión del pedido */
.woocommerce-checkout-review-order-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 25px;
}

.woocommerce-checkout-review-order-table th {
    text-align: left;
    padding: 12px 15px;
    background-color: #f8f9fa;
    font-weight: 600;
    color: #2c3338;
}

.woocommerce-checkout-review-order-table td {
    padding: 12px 15px;
    border-bottom: 1px solid #eee;
}

.woocommerce-checkout-review-order-table tfoot tr:last-child td {
    border-bottom: none;
    font-weight: 700;
    font-size: 1.1em;
}

/* Métodos de pago */
#payment {
    background: #f8f9fa;
    border-radius: 10px;
    padding: 25px;
    margin-top: 20px;
}

.wc_payment_methods {
    list-style: none;
    padding: 0;
    margin: 0 0 20px 0;
}

.wc_payment_methods li {
    margin-bottom: 15px;
    padding: 15px;
    background: #fff;
    border-radius: 8px;
    border: 1px solid #e9ecef;
}

.wc_payment_methods li label {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-weight: 500;
    margin-bottom: 10px;
}

.wc_payment_methods li input[type="radio"] {
    margin-right: 10px;
    width: 18px;
    height: 18px;
}

.wc_payment_methods li img {
    margin-left: 10px;
    max-height: 24px;
}

.payment_box {
    background: #f8f9fa;
    padding: 15px;
    border-radius: 6px;
    margin-top: 10px;
    border-left: 3px solid #2271b1;
}

/* Términos y condiciones */
.woocommerce-terms-and-conditions-wrapper {
    margin: 20px 0;
}

.woocommerce-privacy-policy-text {
    margin-bottom: 15px;
    font-size: 14px;
    color: #6c757d;
}

.woocommerce-terms-and-conditions-wrapper .form-row {
    display: flex;
    align-items: flex-start;
}

.woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
    margin-right: 10px;
    margin-top: 3px;
}

.woocommerce-terms-and-conditions-wrapper label {
    margin-bottom: 0;
    line-height: 1.5;
}

/* Botón de realizar pedido */
#place_order {
    width: 100%;
    padding: 15px;
    background: #28a745 !important;
    color: white;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: 16px;
    cursor: pointer;
    transition: background 0.2s ease;
}

#place_order:hover {
    background: #218838 !important;
}


/* Responsive */
@media (max-width: 768px) {

    .post-83 .woocommerce {
        padding: 10px !important;
        width: 100% !important;
    }

    .col2-set {
        flex-direction: column;
        gap: 20px;
    }
    
    .col2-set .col-1,
    .col2-set .col-2 {
        min-width: 100%;
    }
    
    .woocommerce-billing-fields__field-wrapper,
    .woocommerce-shipping-fields__field-wrapper,
    .woocommerce-additional-fields__field-wrapper {
        padding: 20px 15px;
    }
    
    .form-row-first,
    .form-row-last {
        width: 100%;
        float: none;
    }
}

@media (max-width: 768px) {

    .post-83 .woocommerce {
        padding: 5px !important;
        width: 100% !important;
    }
}

/* Estilos para el mapa de localización */
#wcfmmp-user-locaton-map {
    border-radius: 8px;
    overflow: hidden;
    margin-top: 15px;
    height: 300px;
}

/* Mejora visual para los campos de pago */
.wcpay-upe-form {
    background: #fff;
    padding: 15px;
    border-radius: 6px;
    border: 1px solid #e9ecef;
}

/* Estilos para métodos de pago personalizados */
.payment_method_cashapp .payment_box,
.payment_method_zelle .payment_box {
    background: #f8f9fa;
    padding: 15px;
    border-radius: 6px;
    border-left: 3px solid #00d632;
}

.payment_method_zelle .payment_box {
    border-left-color: #6d1fd4;
}

/* Ajustes para los logos de métodos de pago */
.payment-methods--logos img {
    margin: 0 5px;
    vertical-align: middle;
}

/* ============================= */
/* CORRECCIÓN SELECT PAÍS/REGIÓN - CHECKOUT */
/* ============================= */

/* Contenedor principal de Select2 */
.select2-container--default .select2-selection--single {
    height: 46px !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    padding: 0 !important;
}

/* Texto dentro del select */
.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 46px !important;
    padding-left: 15px !important;
    padding-right: 30px !important;
    color: #2c3338 !important;
    font-size: 14px !important;
    width: 100% !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
}

/* Flecha del select */
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 46px !important;
    width: 30px !important;
    right: 0 !important;
}

/* Dropdown del select */
.select2-container--default.select2-container--open .select2-selection--single {
    border-color: #2271b1 !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

/* Opciones del dropdown */
.select2-container--default .select2-results__option {
    padding: 10px 15px !important;
    font-size: 14px !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #2271b1 !important;
}

/* Asegurar que el dropdown tenga suficiente ancho */
.select2-container {
    width: 100% !important;
    max-width: 100% !important;
}

/* Corrección específica para el contenedor del dropdown */
.select2-dropdown {
    border: 1px solid #2271b1 !important;
    border-top: none !important;
    border-radius: 0 0 6px 6px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
    z-index: 9999 !important; /* Asegurar que esté por encima de otros elementos */
}

/* Búsqueda dentro del dropdown */
.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    padding: 8px 12px !important;
    margin: 10px !important;
    width: calc(100% - 20px) !important;
}

/* Para dispositivos móviles */
@media (max-width: 768px) {
    .select2-container--default .select2-selection--single {
        height: 44px !important;
    }
    
    .select2-container--default .select2-selection--single .select2-selection__rendered {
        line-height: 44px !important;
        font-size: 16px !important; /* Tamaño mayor para móviles (mejor usabilidad) */
    }
    
    .select2-container--default .select2-selection--single .select2-selection__arrow {
        height: 44px !important;
    }
}

/* Corrección para cuando el texto es muy largo */
.select2-container--default .select2-selection--single .select2-selection__rendered {
    max-width: none !important;
    text-overflow: ellipsis !important;
}

/* Mostrar tooltip en hover para textos largos */
.select2-container--default .select2-selection--single .select2-selection__rendered {
    position: relative;
}

.select2-container--default .select2-selection--single .select2-selection__rendered:hover::after {
    content: attr(title);
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    background: #333;
    color: white;
    padding: 5px 10px;
    border-radius: 4px;
    font-size: 12px;
    white-space: nowrap;
    z-index: 1000;
    margin-bottom: 5px;
}

/* Asegurar que el campo de país ocupe todo el ancho disponible */
#billing_country_field, 
#shipping_country_field {
    width: 100% !important;
}

/* Corrección para el estado/región que también podría tener el mismo problema */
#billing_state_field, 
#shipping_state_field {
    width: 100% !important;
}

#billing_state, 
#shipping_state {
    width: 100% !important;
    padding: 12px 15px !important;
    box-sizing: border-box !important;
}

.form.checkout{
    margin-bottom: 0 !important;
}

.woocommerce{
    margin-bottom: 0 !important;
}

.ct-order-review{
    margin-top: 0 !important;
}

.custom_wcfm_map {
  position: relative !important;
  z-index: 1 !important; /* Valor bajo para que esté detrás del header */
  overflow: hidden !important;
}

.ct-woocommerce-cart-form .woocommerce-cart-form table:first-child {
    margin-top: 0 !important;
}

div.woocommerce-billing-fields__field-wrapper:nth-child(3){
    display: none !important;
}

div.woocommerce-billing-fields__field-wrapper:nth-child(2){
    margin-bottom: 0 !important;
}

/* Ajustes específicos para el contenedor del header */
[data-column="end"] [data-items="primary"] {
    display: flex !important;
    align-items: center;
    gap: 15px;
    width: 100%;
}

.ct-header-text {
    flex-grow: 1; /* Ocupa todo el espacio disponible */
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0; /* Permite que se reduzca */
    height: 40px; /* Misma altura que la barra de búsqueda */
    display: flex;
    align-items: center;
}

/* Asegurar que todos los elementos del header tengan la misma altura */
.ct-header-account,
.ct-header-cart,
.header-menu-2 {
    display: flex;
    align-items: center;
    height: 40px; /* Misma altura que la barra de búsqueda */
}

/* LIMITAR TAMAÑO DEL LOGO */
[data-column="start"] {
    flex-shrink: 0;
    max-width: 260px; /* Limita el ancho máximo del contenedor del logo */
}

/* SOLUCIÓN AGresiva - Eliminar todos los espacios */
[data-row="middle"] .ct-container-fluid {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

[data-column="start"] {
    flex: 0 0 auto !important;
    max-width: 260px !important;
    margin: 0 !important;
    padding: 0 !important;
}

[data-column="end"] {
    flex: 1 !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    margin-left: 10px !important; /* Pequeño espacio si es necesario */
}

[data-column="end"] > [data-items="primary"] {
    display: flex !important;
    width: 100% !important;
    align-items: center !important;
    gap: 15px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ct-header-text {
    flex: 1 !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

div.ct-header-cart:nth-child(4) > a:nth-child(1) > span:nth-child(3){
    margin-right: 20px !important;
}

/* CORREGIR ALTURA DEL HEADER PRINCIPAL */
.ct-sticky-container {
    height: auto !important;
    min-height: 100px !important;
}

/* Altura específica para la fila media */
[data-row="middle"] {
    height: 60px !important;
    min-height: 60px !important;
}

/* Forzar altura en todos los elementos de la fila media */
[data-row="middle"] .ct-container-fluid,
[data-row="middle"] [data-column],
[data-row="middle"] [data-items] {
    height: 60px !important;
    min-height: 60px !important;
    display: flex;
    align-items: center;
}

/* Elementos específicos */
.site-branding,
.ct-header-text,
.header-menu-2,
.ct-header-account,
.ct-header-cart {
    height: 60px !important;
    display: flex;
    align-items: center;
}

/* Logo con altura controlada */
.site-branding img.default-logo {
    max-height: 50px !important;
    width: auto !important;
}

/* Contenedor de icono del carrito */
.ct-header-cart .ct-icon-container {
    width: 20px !important;
    height: 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.menu-header-menu {
    font-weight: 14px !important;
}

/* CENTRAR VERTICALMENTE EL LOGO */
.site-branding {
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
    margin-right: 15px !important;
}

.site-branding .site-logo-container {
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
}

.site-branding img.default-logo {
    align-self: center !important; /* Centrado vertical */
    object-fit: contain !important; /* Mantiene proporciones */
}

/* AGREGAR TEXTO DE IDIOMA JUNTO A BANDERAS */
.menu-item-1925 .trp-flag-image::after {
    content: "ES";
    margin-left: 5px;
    font-size: 12px;
    font-weight: bold;
    vertical-align: middle;
}

.menu-item-1926 .trp-flag-image::after {
    content: "EN"; 
    margin-left: 5px;
    font-size: 12px;
    font-weight: bold;
    vertical-align: middle;
}

/* Ajustar espaciado */
.trp-language-switcher-container .ct-menu-link {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
}

.header-custom-content {
    display: flex;
    align-items: center;
    gap: 20px;
    width: 100%;
}

.ct-header-location {
    flex-shrink: 0;
}

/* ============================= */
/* ETIQUETA DE UBICACIÓN */
/* ============================= */

.ct-header-location {
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    z-index: 100 !important;
}

.location-designed-link {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    text-decoration: none !important;
    padding: 0 20px !important;
    height: 100% !important;
    background: #febd69!important;
    position: relative !important;
    font-weight: 600 !important;
    color: #000000 !important;
    transition: all 0.3s ease !important;
    /* Crear el efecto diagonal con clip-path */
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 15px 50%) !important;
    margin-left: -15px !important; /* Compensar el clip-path */
}

/* Efecto hover */
.location-designed-link:hover {
    color: #2271b1 !important;
    background: #f5f5f5 !important;
}

/* Icono */
.location-menu-icon {
    width: 24px !important;
    height: 24px !important;
    display: block !important;
}

/* Texto */
.location-menu-text {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #000000 !important;
    white-space: nowrap !important;
    transition: color 0.3s ease !important;
}

/* Estado cuando hay ubicación seleccionada */
.ct-header-location.has-location .location-menu-icon {
    color: #2E7D32 !important;
}

.ct-header-location.has-location .location-designed-link:hover .location-menu-text {
    color: #2271b1 !important;
}

/* ============================= */
/* BOTON MENU TODO */
/* ============================= */

.todo-menu-container {
    position: relative;
    z-index: 10004;
    display: flex;
    align-items: stretch;
    height: 100%;
}

/* BOTÓN PRINCIPAL */
.todo-menu-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 16px;
    height: 100%;
    background: #2271b1;
    color: white;
    border: none;
    border-left: 1px solid #ffffff;     /* Borde izquierdo SOLIDO */
    border-right: 1px solid #ffffff;    /* Borde derecho SOLIDO */
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: 600;
    font-size: 14px;
    margin: 0;
}

.todo-menu-button:hover {
    background: var(--theme-text-color);
    border-left: 1px solid #f0f0f0;     /* Borde más claro al hover */
    border-right: 1px solid #f0f0f0;    /* Borde más claro al hover */
}

.todo-menu-button.active {
    background: var(--theme-text-color);
    border-left: 1px solid #f0f0f0;     /* Borde más claro cuando está activo */
    border-right: 1px solid #f0f0f0;    /* Borde más claro cuando está activo */
}

/* Animación de rotación del icono */
.todo-menu-icon {
    width: 16px;
    height: 16px;
    display: block;
    color: white;
    transition: transform 0.3s ease;
}

.todo-menu-text {
    white-space: nowrap;
}

/* MENÚ DESPLEGABLE */
.todo-dropdown-menu {
    position: fixed;
    top: 100px; /* Ajustar según la altura de tu header */
    left: 0;
    width: 280px;
    background: white;
    border-right: 2px solid #2271b1;
    border-bottom: 2px solid #2271b1;
    border-bottom-right-radius: 12px;
    box-shadow: 4px 4px 15px rgba(0, 0, 0, 0.15);
    z-index: 10002;
    opacity: 0;
    visibility: hidden;
    isolation: isolate;
    transform: translateX(-100%);
    transition: all 0.3s ease;
    overflow-y: auto;
    max-height: calc(100vh - 100px);
    padding: 20px 0;
}

.todo-dropdown-menu.active {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

/* Overlay para móviles */
.menu-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-color: rgba(0, 0, 0, 0.5) !important;
    z-index: 10000 !important; /* Un número menor que el menú */
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.menu-overlay.active {
    display: none !important;
}

/* Items del menú - PRIMER ELEMENTO CORREGIDO */
.todo-menu-item {
    display: block;
    padding: 12px 20px;
    color: #2c3338;
    text-decoration: none;
    transition: all 0.2s ease;
    border-bottom: 1px solid #f0f0f0;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.4;
}

/* Estilos para el elemento de título sin enlace */
.todo-menu-item.menu-title {
    cursor: default !important;
    pointer-events: none !important;
    color: inherit !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    border-bottom: 1px solid #eee !important;
    padding: 20px 20px !important;
    color: #2c3338;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.4;
    background-color: var(--theme-palette-color-6);
}

.todo-menu-item.menu-title:hover {
    background-color: transparent !important;
    color: inherit !important;
}

.todo-menu-item:last-child {
    border-bottom: none;
    padding-bottom: 15px;
}

.todo-menu-item:hover {
    background: #f8f9fa;
    color: #2271b1;
    padding-left: 25px;
}

/* Efecto hover para iconos del menú Todo */
.todo-menu-item:hover svg {
    fill: #2271b1 !important;
    stroke: #2271b1 !important;
    transition: all 0.3s ease;
}

/* Estado normal - solo contorno */
.todo-menu-item svg {
    fill: transparent !important;
    stroke: #2271b1 !important;
    transition: all 0.3s ease;
}

/* Efecto hover también para el texto */
.todo-menu-item:hover .menu-item-text {
    color: #2271b1 !important;
    transition: color 0.3s ease;
}

/* BOTÓN DE CERRAR (X) */
.todo-close-button {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
    background: #2271b1;
    color: white;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    font-size: 20px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10001;
    transition: all 0.3s ease;
}

.todo-close-button:hover {
    background: #135e96;
    transform: scale(1.1);
}

/* ============================= */
/* ESTILOS PARA BOTÓN DE CERRAR */
/* ============================= */

.todo-close-button {
    position: absolute;
    top: 11px; /* Ajuste fino para alinear con el primer elemento */
    right: 15px;
    width: 30px;
    height: 30px;
    background: #2271b1;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 18px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10001;
    transition: all 0.3s ease;
}

.todo-close-button:hover {
    background: #135e96;
}

/* Ajustar el primer elemento para que no se solape */
.todo-menu-item:first-child {
    padding-top: 12px;
    padding-right: 50px; /* Espacio para el botón */
    position: relative;
    z-index: 10000; /* Asegurar que esté sobre el botón */
}

/* Asegurar que el menú tenga espacio para el botón */
.todo-dropdown-menu {
    padding-top: 0;
    padding-bottom: 20px;
}

/* ============================= */
/* SOLUCI?N EXCLUSIVA PARA EL ESPACIO EN BLANCO */
/* ============================= */

/* Forzar la altura exacta del contenedor sticky - Solo en header */
#header .ct-sticky-container {
    height: 100px !important;
    max-height: 100px !important;
    min-height: 100px !important;
}

/* Asegurar que la fila media ocupe exactamente 60px - Solo en header */
#header [data-row="middle"] {
    height: 60px !important;
    max-height: 60px !important;
    min-height: 60px !important;
}

/* Asegurar que la fila inferior ocupe exactamente 40px - Solo en header */
#header [data-row="bottom"] {
    height: 40px !important;
    max-height: 40px !important;
    min-height: 40px !important;
}

/* CORRECCIÓN: Excluir los dropdowns del carrito y cuenta de la regla general */
#header .ct-sticky-container > *:not(.ct-cart-content):not(.ct-header-account-dropdown):not(.ct-cart-content *):not(.ct-header-account-dropdown *) {
    max-height: 100% !important;
}

/* Prevenir que cualquier elemento interno cause expansi?n no deseada - Solo en header */
#header .ct-sticky-container * {
    max-height: 100% !important;
}

/* Asegurar que el contenido principal comience justo despu?s del header */
main, .content-area, .ct-container:not(#footer .ct-container) {
    margin-top: 0 !important;
    padding-top: 5px !important;
}

/* Correcci?n espec?fica para el modo sticky - Solo en header */
#header [data-sticky] .ct-sticky-container {
    height: 100px !important;
}

/* ============================= */
/* PREVENIR CAMBIOS EN EL HEADER A 999px */
/* ============================= */

/* Forzar que solo se muestre la versi?n desktop - Solo en header */
#header [data-device="desktop"] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

#header [data-device="mobile"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* Mantener la estructura del header desktop - Solo en header */
#header .ct-sticky-container {
    height: 100px !important;
    min-height: 100px !important;
    max-height: 100px !important;
}

#header [data-row="middle"] {
    height: 60px !important;
    min-height: 60px !important;
    max-height: 60px !important;
}

#header [data-row="bottom"] {
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Asegurar que todos los elementos permanezcan visibles - Solo en header */
#header [data-row="bottom"] .ct-container-fluid,
#header [data-row="bottom"] [data-column="start"],
#header [data-row="bottom"] [data-items="primary"]/*,
#header .todo-menu-container,
#header #header-menu-1,
#header .ct-header-location*/ {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Mantener el men? visible - Solo en header */
#header #menu-header-menu {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

li.menu-item-type-custom:nth-child(5) > a:nth-child(1) > span:nth-child(2){
    text-transform: none !important;
}

/* Mantener la etiqueta de ubicaci?n visible - Solo en header */
#header .ct-header-location {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Mantener el logo original - Solo en header */
#header [data-device="desktop"] .default-logo {
    content: url('/wp-content/uploads/2025/09/logo3.png') !important;
    max-height: 40px !important;
    width: auto !important;
}

/* ============================= */
/* 825px */
/* ============================= */

@media (max-width: 825px) {
    
    /* Cambiar el logo - Solo en header */
    #header [data-device="desktop"] .default-logo {
        content: url('/wp-content/uploads/2025/08/android-chrome-512x512-1.png') !important;
        width: 40px !important;
        height: 40px !important;
        max-height: 40px !important;
    }
    
    /* Ajustar el contenedor del logo para el nuevo tama?o - Solo en header */
    #header .site-branding .site-logo-container {
        height: 40px !important;
        display: flex !important;
        align-items: center !important;
    }

    /* Reducir el ancho del contenedor del logo - Solo en header */
    #header [data-column="start"] {
        width: 80px !important;
        min-width: 80px !important;
        max-width: 80px !important;
    }

    /* Asegurar que el logo se ajuste al nuevo contenedor - Solo en header */
    #header .site-branding {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
    }

    #header .site-branding .site-logo-container {
        width: 40px !important;
        height: 40px !important;
    }

    /* Reduce el espacio superior e inferior en el encabezado de la p?gina */
	.entry-header.ct-container-narrow {
		padding-top: 0 !important;
		padding-bottom: 5px !important;
	}    

	/* Asegura que el t?tulo y las migas de pan no tengan m?rgenes extra */
	.entry-header.ct-container-narrow .page-title,
	.entry-header.ct-container-narrow .ct-breadcrumbs {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	/* Reduce el espacio superior e inferior en el encabezado de la p?gina */
	.entry-header.ct-container {
		padding-top: 0 !important;
		padding-bottom: 5px !important;
	}   

	/* Asegura que el t?tulo y las migas de pan no tengan m?rgenes extra */
	.entry-header.ct-container .page-title,
	.entry-header.ct-container .ct-breadcrumbs {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

    .page-title{
        margin-top: 0 !important;
    }
}

/* Asegurar que el men? se muestre en tama?os mayores a 826px - Solo en header */
@media (min-width: 826px) {    
    /* Restaurar el logo original en tama?os mayores - Solo en header */
    #header [data-device="desktop"] .default-logo {
        content: url('/wp-content/uploads/2025/09/logo3.png') !important;
        width: auto !important;
        height: auto !important;
        max-height: 40px !important;
    }

    #header-menu-1 {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: 40px !important;
        overflow: visible !important;
    }
    
    #menu-header-menu {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    /* Asegurar que los enlaces con iconos se muestren correctamente */
    #menu-header-menu .ct-menu-link {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
    }
}

/* ============================= */
/* BREAKPOINT 560px - HEADER DE 3 FILAS */
/* ============================= */

@media (max-width: 560px) {
  /* Ocultar completamente la versi?n mobile del tema - Solo en header */
  #header [data-device="mobile"] {
    display: none !important;
  }
  
  /* Forzar mostrar solo la versi?n desktop - Solo en header */
  #header [data-device="desktop"] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  
  /* Altura total del header: 140px (50+50+40) - Solo en header */
  #header .ct-header [data-device="desktop"] > .ct-sticky-container {
    height: 140px !important;
    min-height: 140px !important;
    max-height: 140px !important;
    display: flex !important;
    flex-direction: column !important;
  }
  
  /* Fila 1: Mantener elementos pero sin buscador (50px) - Solo en header */
  #header [data-row="middle"] {
    order: 1;
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 10px !important;
    border-left: 5px solid #2271b1 !important;
    border-right: 5px solid #febd69 !important;
    border-top: 5px solid #2271b1 !important;
  }
  
  /* Logo pegado a la izquierda - Solo en header */
  #header [data-row="middle"] [data-column="start"] {
    margin-right: auto !important;
  }
  
  /* Elementos pegados a la derecha - Solo en header */
  #header [data-row="middle"] [data-column="end"] {
    margin-left: auto !important;
    display: flex !important;
    align-items: center !important;
  }
  
  /* Espaciado entre elementos de la derecha - Solo en header */
  #header [data-row="middle"] [data-items="primary"] {
    gap: 8px !important;
    justify-content: flex-end !important;
  }

  /* Fila 2: Solo el buscador (50px) - Solo en header */
  #header .search-row-mobile {
    order: 2;
    display: flex !important;
    align-items: center;
    justify-content: center;
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    padding: 0 5px !important;
    background: #fff;
    border-left: 5px solid #2271b1 !important;
    border-right: 5px solid #febd69 !important;
  }
  
  
  /* Fila 3: Mantener igual que ahora (40px) - Solo en header */
  #header [data-row="bottom"] {
    order: 3;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    display: flex !important;
    align-items: center;
    padding: 0 10px !important;
  }
  
  /* Ocultar el buscador en la fila media original - Solo en header */
  #header [data-row="middle"] .ct-header-text {
    display: none !important;
  }
  
  /* Cambiar el logo - Solo en header */
  #header [data-row="middle"] .default-logo {
    content: url('/wp-content/uploads/2025/09/logo3.png') !important;
    width: auto !important;
    height: 40px !important;
    max-height: 40px !important;
    object-fit: contain;
  }
  
  /* Eliminar el espacio excesivo despu?s del header */
  main, .content-area, .ct-container:not(#footer .ct-container) {
    margin-top: 0 !important;
  }

  #header > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(1){
    margin-left: 0 !important;
  }

  #header div.ct-header-cart:nth-child(4){
    margin-right: 0 !important;
  }

  #header div.ct-header-cart:nth-child(4) > a:nth-child(1) > span:nth-child(3){
    margin-right: 10px !important;
  }

  #header #menu-item-1925 > a:nth-child(1) > span:nth-child(1) > img:nth-child(1){
    margin-right: 0 !important;
  }

  #header .ct-toggle-dropdown-desktop{
    margin-left: 0 !important;
  }

  #header #header-menu-2{
    margin-right: 0 !important;
  }

  .todo-menu-button{
    border-left: 0 !important;
    padding-left: 5px !important;
  }

  #header > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(3){
    padding-left: 2px !important;
  }
}

/* Ocultar la fila de b?squeda m?vil por defecto - Solo en header */
#header .search-row-mobile {
  display: none;
}

/* ============================= */
/* BREAKPOINT 380px - CAMBIOS ESPEC?FICOS */
/* ============================= */

@media (max-width: 385px) {
  /* Cambiar el logo - Solo en header */
  #header [data-row="middle"] .default-logo {
    content: url('/wp-content/uploads/2025/09/logo4.png') !important;
    width: auto !important;
    height: 20px !important;
    max-height: 30px !important;
  }
  
  /* Eliminar borde derecho del bot?n Todo - Solo en header */
  #header .todo-menu-button {
    border-right: none !important;
  }
}

/* ============================= */
/* BREAKPOINT 360px - OCULTAR TEXTO "TODO" */
/* ============================= */

@media (max-width: 360px) {
  /* Ocultar el texto "Todo" pero mantener el ?cono - Solo en header */
  #header .todo-menu-button .todo-menu-text {
    display: none !important;
  }
  
  /* Ajustar el padding del bot?n para que solo muestre el ?cono - Solo en header */
  #header .todo-menu-button {
    padding: 0 10px !important;
    min-width: auto !important;
  }
  
  /* Centrar el ?cono dentro del bot?n - Solo en header */
  #header .todo-menu-button .todo-menu-icon {
    margin-right: 0 !important;
  }
}

/* ============================= */
/* BREAKPOINT 380px - CAMBIOS ESPEC?FICOS */
/* ============================= */

@media (max-width: 330px) {
  /* Cambiar el logo - Solo en header */
  #header [data-row="middle"] .default-logo {
    content: url('/wp-content/uploads/2025/08/android-chrome-512x512-1.png') !important;
    width: 41px !important;
    height: 41px !important;
    max-height: 41px !important;
  }
  
  /* Eliminar borde derecho del bot?n Todo - Solo en header */
  #header .todo-menu-button {
    border-left: none !important;
    padding-left: 5px !important;
  }

  #header > div:nth-child(1) > div:nth-child(1) > div:nth-child(1) > div:nth-child(3){
    padding-left: 0 !important;
  }
}

/* ============================= */
/* MEN? LATERAL PARA M?VILES (560px) - SOLUCI?N FINAL */
/* ============================= */

/* MEN? DESPLEGABLE - Solo en header */
@media (max-width: 560px) {
  /* Mantener el men? con animaci?n - Solo en header */
  .todo-dropdown-menu {
    position: fixed !important;
    top: 0 !important;
    left: -280px !important;
    width: 280px !important;
    max-height: calc(100vh - 100px) !important;
    margin: 0 !important;
    padding: 0 0 20px 0 !important; /* Padding reducido */
    border-bottom: 2px solid #2271b1;
    border-bottom-right-radius: 12px;
    border-right: 2px solid #2271b1 !important;
    box-shadow: 4px 4px 15px rgba(0, 0, 0, 0.15);
    z-index: 10003 !important;
    background: white !important;
    isolation: isolate;
    transform: translateX(-100%);
    transition: all 0.3s ease;
    overflow-y: auto;
  }

  .todo-dropdown-menu.active {
        left: 0 !important;
    }

  /* Bot?n de cerrar posicionado de forma absoluta - Solo en header */
  .todo-close-button {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    width: 30px !important;
    height: 30px !important;
    background: #2271b1 !important;
    color: white !important;
    border: none !important;
    border-radius: 4px !important;
    font-size: 18px !important;
    font-weight: bold !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 10004 !important;
    cursor: pointer !important;
  }

  /* Ajustar los items del men? - Solo en header */
 .todo-menu-item {
    display: block !important;
    padding: 12px 20px !important;
    color: #2c3338 !important;
    text-decoration: none !important;
    border-bottom: 1px solid #f0f0f0 !important;
    font-weight: 500 !important;
    font-size: 14px !important;
  }

  /* Primer elemento con margen superior para evitar solapamiento - Solo en header */
  .todo-menu-item:first-child {
    margin-top: 5px !important;
  }

  /* Prevenir que otros elementos interfieran - Solo en header */
  #header .ct-header,
  #header [data-row],
  #header [data-column],
  #header [data-items] {
    position: relative !important;
    z-index: 9999 !important;
  }
}

/* ============================= */
/* SOLUCI?N MEJORADA PARA HEADER EN M?VILES */
/* ============================= */

@media (min-width: 561px) {
    #header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 10000 !important;
    background: white !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1) !important;
    height: 100px !important;
  }
  
  #main-container > main#main {
    padding-top: 100px !important;
  }
  
}

@media (max-width: 560px) {
  /* Hacer que el header sea fijo y ocupe el ancho completo */
  
  #header {
    position: static !important;
    height: 140px !important;
  }
  
  #main{
    padding-top: 0 !important;
  }
  
  /* Asegurar que el contenido del header tenga la altura correcta */
  #header .ct-header [data-device="desktop"] > .ct-sticky-container {
    height: 140px !important;
    min-height: 140px !important;
    max-height: 140px !important;
  }
  
  /* Reorganizar las filas del header */
  #header [data-row="middle"] {
    order: 1;
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
  }
  
  #header .search-row-mobile {
    order: 2;
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
  }
  
  #header [data-row="bottom"] {
    order: 3;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
  }
  
  /* Ocultar elementos no necesarios en m?viles */
  #header [data-row="middle"] .ct-header-text {
    display: none !important;
  }
  
  /* Asegurar que el buscador m?vil se muestre correctamente */
  #header .search-row-mobile {
    display: flex !important;
    visibility: visible !important;
    align-content: center !important;
    opacity: 1 !important;
  }
}

.rtcl-content-wrapper{
    max-width: 1540px !important;
    margin: auto !important;
}

/* Prevenir que elementos internos cause expansión no deseada - excluyendo dropdowns */
#header .ct-sticky-container > div:not(.ct-cart-content):not(.ct-header-account-dropdown),
#header .ct-sticky-container > div > *:not(.ct-cart-content):not(.ct-header-account-dropdown) {
    max-height: 100% !important;
}

/* Permitir que los dropdowns mantengan su altura natural */
#header .ct-cart-content,
#header .ct-header-account-dropdown,
#header .ct-cart-content *,
#header .ct-header-account-dropdown * {
    max-height: none !important;
    height: auto !important;
}

#header .ct-cart-content {
    --dropdownTopOffset: 15px;
    --theme-text-color: #ffffff;
    --mini-cart-background-color: #29333C;
}

.product_list_widget .product-title{
    color: #ffffff;
    font-size: 15px;
    font-weight: 700 !important;
}

.woocommerce-mini-cart .remove{
    color:  #2271b1 !important;
}

.woocommerce-mini-cart .remove :hover{
    color: #febd69 !important;
}

/* ============================= */
/* Arreglos en pagina de carrito */
/* ============================= */

th.product-name{
    padding-left: 15px !important;
}

th.product-name{
    background-color: #f8f9fa;
    padding: 15px 20px;
    border-bottom-left-radius: 10px;
    border-top-left-radius: 10px;
    font-weight: 600;
    color: #2c3338;
    margin-bottom: 20px;
    border-bottom: 2px solid #e9ecef;
}

th.product-quantity{
    background-color: #f8f9fa;
    padding: 15px 20px;
    font-weight: 600;
    color: #2c3338;
    margin-bottom: 20px;
    border-bottom: 2px solid #e9ecef;
}

th.product-subtotal{
    background-color: #f8f9fa;
    padding: 15px 20px;
    font-weight: 600;
    color: #2c3338;
    margin-bottom: 20px;
    border-bottom: 2px solid #e9ecef;
}

th.product-remove{
    background-color: #f8f9fa;
    padding: 15px 20px;
    border-bottom-right-radius: 10px;
    border-top-right-radius: 10px;
    font-weight: 600;
    color: #2c3338;
    margin-bottom: 20px;
    border-bottom: 2px solid #e9ecef;
}

/* ============================= */
/* Iconos a los botones de la ventana emergente del carrito */
/* ============================= */

/* Estilos para los botones del carrito con hover */
.woocommerce-mini-cart__buttons .button.wc-forward[href*="carrito"] {
    background: url('/wp-content/uploads/2025/08/carrito.png') no-repeat 10px center / 16px 16px, #2271b1 !important;
    padding-left: 35px !important;
    padding-right: 15px !important;
    transition: all 0.3s ease !important;
}

.woocommerce-mini-cart__buttons .button.wc-forward[href*="carrito"]:hover {
    background-color: #135e96 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2) !important;
}

.woocommerce-mini-cart__buttons .button.checkout.wc-forward[href*="finalizar-compra"] {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22,4 12,14.01 9,11.01'/%3E%3C/svg%3E") no-repeat 10px center / 16px 16px, #2271b1 !important;
    padding-left: 35px !important;
    padding-right: 15px !important;
    transition: all 0.3s ease !important;
}

.woocommerce-mini-cart__buttons .button.checkout.wc-forward[href*="finalizar-compra"]:hover {
    background-color: #135e96 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2) !important;
}

/* Aumentar el ancho del contenedor del carrito */
.ct-cart-content {
    min-width: 280px !important;
    width: auto !important;
}

/* Botones ajustados a su contenido, uno al lado del otro */
.woocommerce-mini-cart__buttons {
    display: flex !important;
    flex-direction: row !important;
    gap: 8px !important; /* Reducir el gap para ahorrar espacio */
    justify-content: center !important; /* Centrar los botones */
    align-items: center !important;
    flex-wrap: nowrap !important; /* Evitar que se envuelvan a otra línea */
}

.woocommerce-mini-cart__buttons .button {
    white-space: nowrap !important;
    text-align: center !important;
    width: auto !important; /* Ancho automático según contenido */
    flex: none !important; /* No expandir para llenar espacio */
    min-width: auto !important; /* Quitar mínimo forzado */
    font-size: 13px !important;
    padding: 8px 12px !important; /* Padding consistente */
}

@media (max-width: 560px) {
    /* SOLUCIÓN DRÁSTICA: Sacar las ventanas emergentes del flujo del header */
    .ct-cart-content,
    .ct-header-account-dropdown {
        position: fixed !important;
        z-index: 10010 !important;
        top: 130px !important; /* Debajo del header de 140px */
        left: 60% !important;
        transform: translateX(-50%) !important;
    }
    
    /* Asegurar que el header no interfiera */
    #header {
        z-index: 10000 !important;
        overflow: visible !important; /* Permitir que los hijos se muestren fuera */
    }
}

.ct-woocommerce-cart-form{
    gap: 20px !important;
}

@media (max-width: 700px) {
    .woocommerce-checkout-payment {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}

.ct-trending-block{
    display: none !important;
}

@media (max-width: 1000px) {
    .ct-trending-block{
        display: none !important;
    }
}

/* ============================= */
/* ESTILOS PARA FORMULARIO DE REGISTRO */
/* ============================= */

/* Contenedor principal del formulario */
#post-870 #wcfm_membership_container {
    max-width: 600px !important;
    margin-top: 30px !important;
    margin-bottom: 10px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
}

/* T?tulo principal */
#post-870 .wcfm_registration_form_heading {
    text-align: center !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #2c3338 !important;
    margin-bottom: 30px !important;
    padding-bottom: 15px !important;
    border-bottom: 2px solid #2271b1 !important;
}

/* Contenedor del formulario */
#post-870 #wcfm_membership_registration_form {
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1) !important;
    padding: 40px !important;
    border: 1px solid #e9ecef !important;
}

/* Contenedor de campos - ALINEACI?N IZQUIERDA */
#post-870 .wcfm-container {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
}

/* Grupos de campos - ALINEACI?N IZQUIERDA */
#post-870 .wcfm_ele {
    margin-bottom: 25px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important; /* Alinea todo a la izquierda */
    gap: 8px !important;
}

/* Etiquetas de los campos - ALINEACI?N IZQUIERDA */
#post-870 .wcfm_ele.wcfm_title {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #2c3338 !important;
    margin-bottom: 5px !important;
    width: 100% !important;
    text-align: left !important; /* Texto alineado a la izquierda */
}

#post-870 .wcfm_ele.wcfm_title strong {
    font-weight: 600 !important;
}

/* Campos de entrada - ANCHO CONTROLADO Y ALINEACI?N IZQUIERDA */
#post-870 .wcfm-text, #post-870 .wcfm-select, #post-870 .country_select {
    width: 100% !important;
    max-width: 400px !important; /* Ancho m?ximo fijo */
    padding: 12px 15px !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #2c3338 !important;
    background-color: #fff !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
}

#post-870 .wcfm-text:focus, #post-870 .wcfm-select:focus, #post-870 .country_select:focus {
    border-color: #2271b1 !important;
    box-shadow: 0 0 0 2px rgba(34, 113, 177, 0.2) !important;
    outline: none !important;
}

/* Select2 personalizado - ALINEACI?N IZQUIERDA */
#post-870 .select2-container--default #post-870 .select2-selection--single {
    height: 46px !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    max-width: 400px !important;
}

#post-870 .select2-container--default #post-870 .select2-selection--single #post-870 .select2-selection__rendered {
    line-height: 46px !important;
    padding-left: 15px !important;
    font-size: 14px !important;
    text-align: left !important;
}

/* Contenedor de Select2 */
#post-870 .select2-container {
    max-width: 400px !important;
    width: 100% !important;
}

/* Checkbox de t?rminos - ALINEACI?N IZQUIERDA */
#post-870 #terms {
    width: 18px !important;
    height: 18px !important;
    margin-right: 10px !important;
    vertical-align: middle !important;
}

#post-870 .terms_title {
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    margin-bottom: 0 !important;
    justify-content: flex-start !important; /* Alinea a la izquierda */
    width: 100% !important;
}

/* Contenedor espec?fico para t?rminos */
#post-870 .wcfm_ele .wcfm-checkbox {
    order: 2 !important;
    margin-left: 10px !important;
    margin-right: 0 !important;
}

#post-870 .terms_title {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: 100% !important;
    text-align: right !important;
}

#post-870 .terms_title strong {
    order: 1 !important;
}

/* LINK PARA T?RMINOS Y CONDICIONES */
#post-870 .terms_title strong a {
    color: #2271b1 !important;
    text-decoration: none !important;
    border-bottom: 1px solid #2271b1 !important;
    transition: all 0.3s ease !important;
}

#post-870 .terms_title strong a:hover {
    color: #135e96 !important;
    border-bottom-color: #135e96 !important;
}

/* Descripci?n de la URL de la tienda - ALINEACI?N IZQUIERDA */
#post-870 .wcfm_store_slug_verified {
    font-size: 12px !important;
    color: #666 !important;
    margin-top: 5px !important;
    font-style: italic !important;
    text-align: left !important;
    width: 100% !important;
}

/* Contenedor de verificaci?n de email - ALINEACI?N IZQUIERDA */
#post-870 .wcfm_email_verified {
    margin-left: 0 !important;
    margin-bottom: 25px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 400px !important;
}

/* Input de verificaci?n - ANCHO COMPLETO PERO LIMITADO */
#post-870 .wcfm_email_verified_input {
    width: 150px !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
}

/* BOT?N DE VERIFICACI?N - TEXTO COMPLETO VISIBLE */
#post-870 .wcfm_email_verified_button {
    width: auto !important; /* Ancho autom?tico seg?n contenido */
    min-width: 160px !important; /* Ancho m?nimo para texto completo */
    background: #6c757d !important;
    color: white !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 10px 20px !important; /* M?s padding horizontal */
    cursor: pointer !important;
    transition: background 0.3s ease !important;
    white-space: nowrap !important; /* Evita que el texto se divida */
    margin: 0 !important;
    flex-shrink: 0 !important;
}

#post-870 .wcfm_email_verified_button:hover {
    background: #5a6268 !important;
}

/* Mensaje de error/success - ALINEACI?N IZQUIERDA */
#post-870 .wcfm-message {
    padding: 10px 15px !important;
    border-radius: 6px !important;
    margin-bottom: 20px !important;
    font-size: 14px !important;
    text-align: left !important;
    width: 100% !important;
}

#post-870 .wcfm-message.email_verification_message {
    background: #f8f9fa !important;
    border: 1px solid #e9ecef !important;
    color: #666 !important;
    display: none !important;
}

#post-870 .wcfm-message.email_verification_message:not(:empty) {
    display: block !important;
}

/* Campos obligatorios */
#post-870 .required {
    color: #dc3545 !important;
}

/* Bot?n de enviar - ALINEACI?N CENTRADA */
#post-870 #wcfm_membership_registration_submit {
    text-align: center !important;
    margin-top: 30px !important;
    padding: 15px !important;
    background: #f8f9fa !important;
    border-radius: 6px !important;
    color: #666 !important;
    font-weight: 500 !important;
    width: 100% !important;
}

/* Clearfix */
#post-870 .wcfm-clearfix {
    clear: both !important;
}

/* Estilo para campos de direcci?n */
#post-870 .wcfmvm_static_infos[address] {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0 !important;
    width: 100% !important;
}

/* Select con flecha personalizada */
#post-870 .country_select {
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8.825L1.175 4 2.238 2.938 6 6.7l3.763-3.762L10.825 4z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 15px center !important;
    background-size: 12px !important;
    padding-right: 40px !important;
}

/* Responsive para m?viles */
@media (max-width: 580px) {
    #post-870 #wcfm_membership_registration_form {
        padding: 25px 20px !important;
    }
    
    #post-870 .wcfm_ele {
        margin-bottom: 20px !important;
        align-items: stretch !important;
    }
    
    #post-870 .wcfm_ele.wcfm_title {
        text-align: left !important;
    }
    
    #post-870 .wcfm-text, #post-870 .wcfm-select, #post-870 .country_select {
        max-width: 100% !important;
    }
    
    /* Bot?n de verificaci?n en m?viles */
    #post-870 .wcfm_email_verified_button {
        width: 100% !important;
        text-align: center !important;
    }
    
    /* T?rminos en m?viles */
    #post-870 .terms_title {
        justify-content: flex-start !important;
        text-align: left !important;
    }

    #post-870 .wcfm_email_verified_input {
        width: 100% !important;
    }
    
    /* Contenedor de verificaci?n en m?viles */
    #post-870 .wcfm_email_verified {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 8px !important;
    }

    #post-870 #wcfm_membership_container {
        padding-left: 0 !important;
        padding-right: 0!important;
    }

    #post-870 .wcfm-membership-wrapper{
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* Asegurar que todos los elementos de texto muestren contenido completo */
#post-870 .wcfm_text, #post-870 .wcfm_title, #post-870 .wcfm_email_verified_button, #post-870 .terms_title {
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
}

/* Estilo para el texto de la URL de la tienda */
#post-870 .wcfm_store_slug {
    font-weight: 600 !important;
    color: #2271b1 !important;
}

/* Mejorar la disposici?n del c?digo de verificaci?n en desktop */
@media (min-width: 581px) {
    #post-870 #wcfm_membership_container {
        max-width: 570px !important;
    }
    
    #post-870 .wcfm-text, #post-870 .wcfm-select, #post-870 .country_select {
        max-width: 450px !important;
    }

    #post-870 .wcfm_email_verified {
        flex-direction: row !important;
        align-items: center !important;
        gap: 10px !important;
    }
    
    #post-870 .wcfm_email_verified_input {
        width: 200px !important;
        flex-shrink: 0 !important;
    }
    
    #post-870 .wcfm_email_verified_button {
        flex-shrink: 0 !important;
    }
}

/* Mejorar la disposici?n del c?digo de verificaci?n en desktop */
@media (max-width: 768px) {
    #post-870 .wcfm-membership-wrapper{
        width: 95% !important;
        padding: 10px !important;
    }
}

#post-870 .wcfm-membership-wrapper{
        margin-top: 5px !important;
        margin-bottom: 5px !important;
        padding: 10px !important;
    }

#post-870 #store_name{
    margin-bottom: 10px !important;
}

/* CORRECCI?N CHECKBOX T?RMINOS - MISMA L?NEA */
#post-870 .wcfm_ele:has(#terms) {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
}

#post-870 .wcfm_ele:has(#terms) #post-870 .wcfm_title {
    width: auto !important;
    margin-bottom: 0 !important;
    order: 2 !important;
}

#post-870 #terms {
    order: 1 !important;
    margin: 0 !important;
}

#post-870 .terms_title {
    display: inline !important;
    margin: 0 !important;
}

/* LINK PARA T?RMINOS Y CONDICIONES */
#post-870 .terms_title a {
    color: #2271b1 !important;
    text-decoration: none !important;
    border-bottom: 1px solid #2271b1 !important;
    transition: all 0.3s ease !important;
}

#post-870 .terms_title a:hover {
    color: #135e96 !important;
    border-bottom-color: #135e96 !important;
}

/* CORRECCI?N SELECT PA?S - MISMO ANCHO QUE INPUTS */
#post-870 .country_select,
#post-870 .select2-container--default #post-870 .select2-selection--single,
#post-870 .select2-container {
    max-width: 450px !important;
    width: 100% !important;
}

/* Asegurar que el dropdown tambi?n tenga el ancho correcto */
#post-870 .select2-dropdown {
    min-width: 450px !important;
    width: auto !important;
}

/* Responsive para m?viles */
@media (max-width: 480px) {
    #post-870 .country_select,
    #post-870 .select2-container--default #post-870 .select2-selection--single,
    #post-870 .select2-container {
        max-width: 100% !important;
    }
    
    #post-870 .select2-dropdown {
        min-width: 100% !important;
        width: 100% !important;
    }

    #post-870 .wcfm-membership-wrapper{
        width: 99% !important;
        padding: 5px !important;
    }
}

#post-870 #wcfm-main-contentainer{
    margin-bottom: 0 !important;
}

/* Agregar en el CSS de tu tema */
.menu-loading {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease;
}

.menu-ready {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s ease-in-out;
}

/* OCULTAR EL MENÚ PRINCIPAL ANTES DE QUE CARGUE JAVASCRIPT */
[data-row="bottom"] {
    opacity: 0 !important;
    visibility: hidden !important;
}

/* ============================= */
/* ICONOS DERECHOS HEADER */
/* ============================= */

/* Iconos header derecho*/
.ct-header-account[data-state="out"] .ct-icon {
    width: 24px;
    height: 24px;
}

.ct-header-cart .ct-icon-container svg {
    width: 24px;
    height: 24px;
}

/* ============================= */
/* OCULTAR MODAL */
/* ============================= */

/* Ocultar el modal de cuenta completamente */
.ct-account-modal {
    display: none !important;
}

/* Opcional: Si quieres que el icono tenga un cursor de enlace normal */
.ct-header-account[data-state="out"] .ct-account-item {
    cursor: pointer !important;
}

/* ============================= */
/* ESTILOS PARA PÁGINA DE LOGIN/REGISTRO */
/* ============================= */

/* Contenedor principal */
.ct-woo-unauthorized {
    margin: 30px auto !important;
    max-width: 1200px !important;
    padding: 0 20px !important;
}

/* Layout de dos columnas */
.u-columns.col2-set {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 40px !important;
    margin: 0 auto !important;
    max-width: 1000px !important;
}

/* Columnas individuales */
.u-column1.col-1,
.u-column2.col-2 {
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1) !important;
    padding: 40px !important;
    padding-bottom: 10px !important;
    border: 1px solid #e9ecef !important;
    margin: 0 !important;
}

/* Títulos */
.u-column1.col-1 h2,
.u-column2.col-2 h2 {
    background-color: #f8f9fa !important;
    padding: 15px 20px !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
    color: #2c3338 !important;
    margin: -40px -40px 30px -40px !important;
    border-bottom: 2px solid #e9ecef !important;
    text-align: center !important;
    font-size: 24px !important;
}

/* Campos del formulario */
.woocommerce-form-row {
    margin-bottom: 20px !important;
    position: relative !important;
}

.woocommerce-form-row label {
    display: block !important;
    margin-bottom: 8px !important;
    font-weight: 500 !important;
    color: #2c3338 !important;
    font-size: 14px !important;
}

.woocommerce-form-row .required {
    color: #dc3545 !important;
}

/* Campos de entrada */
.woocommerce-Input.input-text {
    width: 100% !important;
    padding: 12px 15px !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    transition: all 0.2s ease !important;
    box-sizing: border-box !important;
    background: #fff !important;
}

.woocommerce-Input.input-text:focus {
    border-color: #2271b1 !important;
    box-shadow: 0 0 0 2px rgba(34, 113, 177, 0.2) !important;
    outline: none !important;
}

/* Contenedor de contraseña */
.password-input {
    position: relative !important;
    display: block !important;
}

.password-input .woocommerce-Input {
    padding-right: 50px !important;
}

/* Checkbox recordarme */
.woocommerce-form-login__rememberme {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 20px !important;
}

.woocommerce-form__input-checkbox {
    width: 18px !important;
    height: 18px !important;
}

/* Botones */
.woocommerce-button.button,
.woocommerce-Button.button {
    width: 100% !important;
    padding: 15px !important;
    background: #2271b1 !important;
    color: white !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    text-align: center !important;
    margin-bottom: 15px !important;
}

.woocommerce-button.button:hover,
.woocommerce-Button.button:hover {
    background: #135e96 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

/* Enlace de contraseña olvidada */
.woocommerce-LostPassword.lost_password {
    text-align: center !important;
    margin-top: 20px !important;
}

.woocommerce-LostPassword.lost_password a {
    color: #2271b1 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.woocommerce-LostPassword.lost_password a:hover {
    color: #135e96 !important;
    text-decoration: underline !important;
}

/* Texto de política de privacidad */
.woocommerce-privacy-policy-text {
    background: #f8f9fa !important;
    padding: 15px !important;
    border-radius: 6px !important;
    margin: 25px 0 !important;
    border-left: 3px solid #2271b1 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: #666 !important;
}

.woocommerce-privacy-policy-text a {
    color: #2271b1 !important;
    text-decoration: none !important;
}

.woocommerce-privacy-policy-text a:hover {
    text-decoration: underline !important;
}

/* Responsive */
@media (max-width: 768px) {
    .u-columns.col2-set {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
        padding: 0 10px !important;
    }
    
    .u-column1.col-1,
    .u-column2.col-2 {
        padding: 30px 25px !important;
    }
    
    .u-column1.col-1 h2,
    .u-column2.col-2 h2 {
        margin: -30px -25px 25px -25px !important;
        padding: 12px 20px !important;
        font-size: 20px !important;
    }
    
    .ct-woo-unauthorized {
        padding: 0 10px !important;
        margin: 20px auto !important;
    }
}

@media (max-width: 480px) {
    .u-column1.col-1,
    .u-column2.col-2 {
        padding: 25px 20px !important;
    }
    
    .u-column1.col-1 h2,
    .u-column2.col-2 h2 {
        margin: -25px -20px 20px -20px !important;
        padding: 10px 15px !important;
        font-size: 18px !important;
    }
    
    .woocommerce-button.button,
    .woocommerce-Button.button {
        padding: 12px !important;
        font-size: 15px !important;
    }

    p.woocommerce-form-row:nth-child(5) {
        margin-bottom: 5px !important;
    }

    .woocommerce-LostPassword {
        margin-top: 5px !important;
    }

    .woocommerce-ResetPassword{
        padding-bottom: 5px !important;
    }
}

/* Estados de validación */
.woocommerce-Input.input-text:invalid {
    border-color: #F44336 !important;
}

.woocommerce-Input.input-text:valid {
    border-color: #4CAF50 !important;
}

/* Efectos de transición suaves */
.u-column1.col-1,
.u-column2.col-2 {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.u-column1.col-1:hover,
.u-column2.col-2:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 25px rgba(0, 0, 0, 0.15);
}

/* Mejora visual para los campos con foco */
.form-row:focus-within label {
    color: #2271b1 !important;
}

/* ============================= */
/* ESTILOS PARA ICONOS EN BOTONES LOGIN/REGISTRO - SOLO VISUAL */
/* ============================= */

/* Contenedores de botones con iconos */
.button-with-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
}

/* Iconos SVG para botones */
.button-icon {
    width: 16px !important;
    height: 16px !important;
    flex-shrink: 0 !important;
    stroke: white !important;
    stroke-width: 2 !important;
    fill: none !important;
}

/* Enlace de contraseña olvidada */
.woocommerce-LostPassword.lost_password a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding-left: 0 !important;
}

.woocommerce-LostPassword.lost_password a .button-icon {
    width: 16px !important;
    height: 16px !important;
    stroke: #2271b1 !important;
    stroke-width: 2 !important;
    transition: stroke 0.2s ease !important;
}

.woocommerce-LostPassword.lost_password a:hover .button-icon {
    stroke: #135e96 !important;
}

/* Estilos base para iconos */
.button-icon {
    display: inline-block !important;
    transition: all 0.2s ease !important;
}

/* Efectos hover para botones con iconos */
.woocommerce-button.button:hover .button-icon,
.woocommerce-Button.button:hover .button-icon {
    transform: scale(1.1) !important;
}

/* Ajustes de padding para botones con iconos */
.woocommerce-form-login__submit.button-with-icon,
.woocommerce-form-register__submit.button-with-icon {
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* ============================= */
/* ESTILOS ESPECÍFICOS PARA PÁGINA RESTABLECER CONTRASEÑA */
/* ============================= */

/* Contenedor principal SOLO para restablecer contraseña */
.woocommerce-ResetPassword.lost_reset_password {
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1) !important;
    padding: 40px !important;
    border: 1px solid #e9ecef !important;
    max-width: 500px !important;
    margin: 30px auto !important;
}

/* Título visual SOLO para restablecer contraseña */
.woocommerce-ResetPassword.lost_reset_password::before {
    content: "Restablecer Contraseña" !important;
    display: block !important;
    background-color: #f8f9fa !important;
    padding: 15px 20px !important;
    border-radius: 10px 10px 0 0 !important;
    font-weight: 600 !important;
    color: #2c3338 !important;
    margin: -40px -40px 30px -40px !important;
    border-bottom: 2px solid #e9ecef !important;
    text-align: center !important;
    font-size: 24px !important;
}

/* Texto de instrucciones SOLO para restablecer contraseña */
.woocommerce-ResetPassword.lost_reset_password p:first-of-type {
    text-align: center !important;
    color: #666 !important;
    margin-bottom: 30px !important;
    line-height: 1.6 !important;
    font-size: 15px !important;
}

/* Botón SOLO para restablecer contraseña - ELIMINADO ::before */
.woocommerce-ResetPassword.lost_reset_password .woocommerce-Button.button {
    width: 100% !important;
    padding: 15px !important;
    background: #2271b1 !important;
    color: white !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
}

.woocommerce-ResetPassword.lost_reset_password .woocommerce-Button.button:hover {
    background: #135e96 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}


@media (max-width: 480px) {
    .woocommerce-ResetPassword.lost_reset_password{
        padding-bottom: 5px !important;
    }
}

/* ============================= */
/* ESTILOS ESPECÍFICOS CORREGIDOS PARA ESCRITORIO DEL CLIENTE */
/* ============================= */

/* Contenedor principal específico */
.ct-woo-account {
    margin: 30px auto !important;
    max-width: 1200px !important;
    padding: 0 20px !important;
    display: grid !important;
    grid-template-columns: 280px 1fr !important;
    gap: 40px !important;
    align-items: start !important;
}

/* Navegación lateral - CORREGIDO */
.ct-woo-account .ct-acount-nav {
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1) !important;
    border: 1px solid #e9ecef !important;
    overflow: hidden !important;
    width: 100% !important;
    height: fit-content !important;
}

.ct-woo-account .woocommerce-MyAccount-navigation {
    padding: 0 !important;
    width: 100% !important;
}

.ct-woo-account .woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.ct-woo-account .woocommerce-MyAccount-navigation li {
    margin: 0 !important;
    border-bottom: 1px solid #f1f1f1 !important;
    width: 100% !important;
}

.ct-woo-account .woocommerce-MyAccount-navigation li:last-child {
    border-bottom: none !important;
}

.ct-woo-account .woocommerce-MyAccount-navigation a {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 15px 20px !important;
    color: #2c3338 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.ct-woo-account .woocommerce-MyAccount-navigation a:hover {
    background: #f8f9fa !important;
    color: #2271b1 !important;
    padding-left: 25px !important;
}

/* Estado activo */
.ct-woo-account .woocommerce-MyAccount-navigation li.is-active a {
    background: #2271b1 !important;
    color: white !important;
    position: relative !important;
}

.ct-woo-account .woocommerce-MyAccount-navigation li.is-active a::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 4px !important;
    background: #135e96 !important;
}

/* Contenido principal - CORREGIDO (está al mismo nivel que ct-acount-nav) */
.ct-woo-account .woocommerce-MyAccount-content {
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1) !important;
    padding: 20px 40px !important;
    border: 1px solid #e9ecef !important;
    width: 100% !important;
    margin: 0 !important;
}

/* Mensaje de bienvenida */
.ct-woo-account .woocommerce-MyAccount-content p:first-of-type {
    background: #f8f9fa !important;
    padding: 20px !important;
    border-radius: 8px !important;
    border-left: 4px solid #2271b1 !important;
    margin-bottom: 25px !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    width: 100% !important;
}

/* Enlaces dentro del contenido */
.ct-woo-account .woocommerce-MyAccount-content a {
    color: #2271b1 !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    transition: color 0.2s ease !important;
}

.ct-woo-account .woocommerce-MyAccount-content a:hover {
    color: #135e96 !important;
    text-decoration: underline !important;
}

/* Texto fuerte */
.ct-woo-account .woocommerce-MyAccount-content strong {
    color: #2c3338 !important;
    font-weight: 600 !important;
}

/* Reset de cualquier float que pueda interferir */
.ct-woo-account .ct-acount-nav,
.ct-woo-account .woocommerce-MyAccount-content {
    float: none !important;
    display: block !important;
}

/* Responsive */
@media (max-width: 768px) {
    .ct-woo-account {
        padding: 0 10px !important;
        margin: 20px auto !important;
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }
    
    .ct-woo-account .woocommerce-MyAccount-content {
        padding: 25px !important;
    }
    
    .ct-woo-account .woocommerce-MyAccount-navigation a {
        padding: 12px 15px !important;
    }
}

@media (max-width: 480px) {
    .ct-woo-account .woocommerce-MyAccount-content {
        padding: 20px !important;
    }
    
    .ct-woo-account .woocommerce-MyAccount-content p:first-of-type {
        padding: 15px !important;
        font-size: 14px !important;
    }
    
    .ct-woo-account .ct-acount-nav {
        border-radius: 8px !important;
    }
}

/* ============================= */
/* ESTILOS CORREGIDOS PARA DIRECCIONES - UNA COLUMNA */
/* ============================= */

/* Contenedor de direcciones específico para cuenta - UNA COLUMNA */
.ct-woo-account .woocommerce-Addresses.col2-set.addresses {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Columnas individuales de direcciones */
.ct-woo-account .woocommerce-Addresses .woocommerce-Address {
    background: #f8f9fa !important;
    border-radius: 10px !important;
    padding: 25px !important;
    border: 1px solid #e9ecef !important;
    margin: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Títulos de direcciones */
.ct-woo-account .woocommerce-Address-title.title {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 15px !important;
    padding-bottom: 15px !important;
    border-bottom: 2px solid #e9ecef !important;
}

.ct-woo-account .woocommerce-Address-title h2 {
    margin: 0 !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #2c3338 !important;
}

/* Enlaces de edición */
.ct-woo-account .woocommerce-Address-title .edit {
    background: #2271b1 !important;
    color: white !important;
    padding: 8px 16px !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    transition: all 0.2s ease !important;
}

.ct-woo-account .woocommerce-Address-title .edit:hover {
    background: #135e96 !important;
    transform: translateY(-1px) !important;
}

/* Texto de dirección */
.ct-woo-account .woocommerce-Address address {
    font-style: normal !important;
    color: #666 !important;
    line-height: 1.6 !important;
    margin: 0 !important;
    font-size: 14px !important;
}

/* Reset específico para evitar conflictos con otros estilos */
.ct-woo-account .u-columns,
.ct-woo-account .col2-set,
.ct-woo-account .u-column1,
.ct-woo-account .u-column2,
.ct-woo-account .col-1,
.ct-woo-account .col-2 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    display: block !important;
}

/* Responsive para direcciones */
@media (max-width: 768px) {
    .ct-woo-account .woocommerce-Address-title.title {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
    }
    
    .ct-woo-account .woocommerce-Address-title .edit {
        align-self: flex-start !important;
    }
}

@media (max-width: 480px) {
    .ct-woo-account .woocommerce-Address {
        padding: 20px !important;
    }
    
    .ct-woo-account .woocommerce-Address-title h2 {
        font-size: 16px !important;
    }
}

/* ============================= */
/* ESTILOS CORREGIDOS PARA BOTONES DE AÑADIR DIRECCIÓN */
/* ============================= */

/* Enlaces de edición - CORREGIDO */
.ct-woo-account .woocommerce-Address-title .edit {
    background: #2271b1 !important;
    color: white !important;
    padding: 8px 16px !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    transition: all 0.2s ease !important;
    border: none !important;
    cursor: pointer !important;
    display: inline-block !important;
}

.ct-woo-account .woocommerce-Address-title .edit:hover {
    background: #135e96 !important;
    color: white !important; /* MANTENER COLOR BLANCO */
    transform: translateY(-1px) !important;
    text-decoration: none !important; /* QUITAR SUBRAYADO */
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
}

/* ============================= */
/* ESTILOS PARA BOTÓN AÑADIR MÉTODO DE PAGO - CORREGIDO */
/* ============================= */

/* Botón de añadir método de pago - CLASE CORRECTA */
.ct-woo-account .woocommerce-MyAccount-content .button {
    background: #2271b1 !important;
    color: white !important;
    padding: 12px 24px !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    transition: all 0.2s ease !important;
    border: none !important;
    cursor: pointer !important;
    display: inline-block !important;
    margin-top: 15px !important;
    width: fit-content !important;
}

.ct-woo-account .woocommerce-MyAccount-content .button:hover {
    background: #135e96 !important;
    color: white !important;
    transform: translateY(-1px) !important;
    text-decoration: none !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
}

/* ============================= */
/* CORRECCIÓN SOLO POSICIÓN - CAMPOS NOMBRE Y APELLIDOS */
/* ============================= */

/* Contenedor para los campos en línea */
.ct-woo-account .woocommerce-EditAccountForm .woocommerce-form-row--first,
.ct-woo-account .woocommerce-EditAccountForm .woocommerce-form-row--last {
    float: none !important;
    display: inline-block !important;
    width: 100% !important;
    vertical-align: top !important;
}

.ct-woo-account .woocommerce-EditAccountForm .woocommerce-form-row--first {
    margin-right: 4% !important;
}

/* Reset específico para el clear */
.ct-woo-account .woocommerce-EditAccountForm .clear {
    clear: both !important;
}

/* Responsive */
@media (max-width: 768px) {
    .ct-woo-account .woocommerce-EditAccountForm .woocommerce-form-row--first,
    .ct-woo-account .woocommerce-EditAccountForm .woocommerce-form-row--last {
        width: 100% !important;
        display: block !important;
        margin-right: 0 !important;
    }
}

/* ============================= */
/* RESET ESTILOS ESPECÍFICOS PARA CONTENEDORES PRIMEROS */
/* ============================= */

/* Solo resetear los estilos especiales de estos contenedores específicos */
.ct-woo-account .woocommerce-EditAccountForm .woocommerce-form-row--first.form-row-first,
.ct-woo-account .woocommerce-EditAccountForm .woocommerce-form-row--wide.form-row-wide {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 0 20px 0 !important;
    box-shadow: none !important;
}

/* ============================= */
/* ALINEACIÓN CAMPOS NOMBRE Y APELLIDOS - DIRECCIONES */
/* ============================= */

/* Campos en línea para Nombre y Apellidos */
.ct-woo-account .woocommerce-address-fields .form-row-first,
.ct-woo-account .woocommerce-address-fields .form-row-last {
    width: 100% !important;
    display: inline-block !important;
    vertical-align: top !important;
    float: none !important;
}

.ct-woo-account .woocommerce-address-fields .form-row-first {
    margin-right: 4% !important;
}

.ct-woo-account .woocommerce-address-fields .form-row-last {
    margin-right: 0 !important;
}

/* Asegurar que los inputs tengan el mismo ancho */
.ct-woo-account .woocommerce-address-fields .form-row-first .input-text,
.ct-woo-account .woocommerce-address-fields .form-row-last .input-text {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* ============================= */
/* RESET ESTILOS ESPECÍFICOS PARA CONTENEDORES PRIMEROS - DIRECCIONES CORREGIDO */
/* ============================= */

.ct-woo-account .woocommerce-MyAccount-content .woocommerce-address-fields .woocommerce-address-fields__field-wrapper .form-row-first,
.ct-woo-account .woocommerce-MyAccount-content .woocommerce-address-fields .woocommerce-address-fields__field-wrapper .form-row-wide {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 0 20px 0 !important;
    box-shadow: none !important;
}

.ct-woo-account .woocommerce-MyAccount-content .woocommerce-address-fields p:has(button[type="submit"]) {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 20px 0 0 0 !important;
    box-shadow: none !important;
}

/* ============================= */
/* RESET ESTILOS ESPECÍFICOS PARA CONTENEDORES PRIMEROS */
/* ============================= */

/* Solo resetear los estilos especiales de estos contenedores específicos */
.ct-woo-account .woocommerce-EditAccountForm .woocommerce-form-row--first.form-row-first,
.ct-woo-account .woocommerce-EditAccountForm .woocommerce-form-row--wide.form-row-wide {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 0 20px 0 !important;
    box-shadow: none !important;
}

/* ============================= */
/* ALINEACIÓN CAMPOS NOMBRE Y APELLIDOS - DIRECCIONES */
/* ============================= */

/* Campos en línea para Nombre y Apellidos */
.ct-woo-account .woocommerce-address-fields .form-row-first,
.ct-woo-account .woocommerce-address-fields .form-row-last {
    width: 100% !important;
    display: inline-block !important;
    vertical-align: top !important;
    float: none !important;
}

.ct-woo-account .woocommerce-address-fields .form-row-first {
    margin-right: 4% !important;
}

.ct-woo-account .woocommerce-address-fields .form-row-last {
    margin-right: 0 !important;
}

/* Asegurar que los inputs tengan el mismo ancho */
.ct-woo-account .woocommerce-address-fields .form-row-first .input-text,
.ct-woo-account .woocommerce-address-fields .form-row-last .input-text {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* ============================= */
/* RESET ESTILOS ESPECÍFICOS PARA CONTENEDORES PRIMEROS - DIRECCIONES CORREGIDO */
/* ============================= */

.ct-woo-account .woocommerce-MyAccount-content .woocommerce-address-fields .woocommerce-address-fields__field-wrapper .form-row-first,
.ct-woo-account .woocommerce-MyAccount-content .woocommerce-address-fields .woocommerce-address-fields__field-wrapper .form-row-wide {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 0 20px 0 !important;
    box-shadow: none !important;
}

.ct-woo-account .woocommerce-MyAccount-content .woocommerce-address-fields p:has(button[type="submit"]) {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 20px 0 0 0 !important;
    box-shadow: none !important;
}

/* ============================= */
/* CENTRADO COMPLETO DE BOTONES CON ICONOS */
/* ============================= */

/* Centrar los contenedores de los botones */
.ct-woo-account .woocommerce-EditAccountForm p:has(.woocommerce-Button.button),
.ct-woo-account .woocommerce-address-fields p:has(.button[type="submit"]){
    text-align: center !important;
    margin-bottom: 0 !important;
}

/* Botones con iconos - mantener inline-flex pero dentro de contenedor centrado */
.ct-woo-account .woocommerce-EditAccountForm .woocommerce-Button.button.button-with-icon,
.ct-woo-account .woocommerce-address-fields .button[type="submit"].button-with-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    text-align: center !important;
}

/* Botón Añadir método de pago - centrado */
.ct-woo-account .woocommerce-MyAccount-content > .button[href*="add-payment-method"].button-with-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 0 auto !important;
    text-align: center !important;
    width: fit-content !important;
}

/* Botón Enviar (convertirse en vendedor) - ya está centrado */
.ct-woo-account input[type="submit"][name="apply_for_vendor_submit"].button-with-icon {
    display: block !important;
    margin: 0 auto !important;
    text-align: center !important;
    position: relative !important;
    padding-left: 40px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='M22 2L11 13'/%3E%3Cpath d='M22 2l-7 20-4-9-9-4 20-7z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: 15px center !important;
    background-size: 16px 16px !important;
}

/* Responsive */
@media (max-width: 480px) {
    #post-84{
        padding: 0 !important;
    }

    .ct-woo-account{
        padding-left: 5px !important;
        padding-right: 5px !important;
    }

    .ct-woo-account .woocommerce-MyAccount-content{
        padding: 10px 10px !important;
    }

    #payment {
        padding: 10px 5px !important;
    }

    #payment ul.payment_methods .payment_box{
        padding: 10px 5px !important;
    }
}

@media (max-width: 560px) {
    .search-row-mobile {
        display: flex !important;
        align-items: stretch !important; /* Cambiado de center a stretch */
        justify-content: center !important;
        height: 100% !important;
    }

    .search-row-mobile .entry-content.is-layout-flow {
        display: flex !important;
        align-items: stretch !important;
        justify-content: center !important;
    }

    .search-row-mobile .ct-header-text {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        height: 100% !important;
    }
}

/* ============================= */
/* Barra búsqueda Amazon para Blocksy */
/* ============================= */

/* Estilos para el buscador estilo Amazon - VERSIÓN HEADER COMPACTA */
.ct-header-text .amazon-search-container {
    width: 100%;
    max-width: none !important;
    margin: 0 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    height: 40px; /* Altura fija para que ocupe solo una línea */
    flex-grow: 1; /* Ocupa todo el espacio disponible */
}

/* SOLUCIÓN: Mostrar solo el contenedor de búsqueda, ocultar elementos vacíos */
.ct-header-text .entry-content {
    margin: 0 !important;
    padding: 0 !important;
    width: 100%;
    display: contents; /* Hace que los hijos directos sean hijos del grid/flex */
}

/* ============================= */
/* ESCRITORIO DE VENDEDOR */
/* ============================= */

#post-2602{
    max-width: 1450px !important;
    padding-bottom: 500px !important;
}

div.wcv-cols-group:nth-child(6) > div:nth-child(1){
    margin-bottom: 0 !important;
}

/* Ocultar hero section SOLO en la página del escritorio del vendedor */
.post-2602 .hero-section.is-width-constrained {
    display: none !important;
}

/* Ocultar el header de entrada SOLO en esta página */
.post-2602 .entry-header {
    display: none !important;
}

.wcv-navigation{
    background: #010203;
}

.wcv-grid .wcv-gap-bottom{
    margin-bottom: 20px !important;
}

.wcv-grid .wcv-heading.wcv-dashboard-welcome-message{
    margin-top: 20px;
    margin-bottom: 20px;
}

.wcv-grid .wcv-bottom-space{
    margin-bottom: 20px;
}

.wcv-grid .wcv-tab-page-heading-wrapper {
    margin-bottom: 20px;
}

.wcv-gap-top {
    margin-top: 20px;
}

@media (max-width: 768px) {
    .wcv-grid .wcv-gap-bottom{
        margin-bottom: 15px !important;
    }

    .wcv-grid .wcv-heading.wcv-dashboard-welcome-message{
        margin-top: 15px !important;
        margin-bottom: 15px !important;
    }

    .wcv-grid .wcv-bottom-space{
        margin-bottom: 15px !important;
    }

    .wcvendors-pro-dashboard-wrapper .wcv-navigation{
        margin-bottom: 15px !important;
    }

    .wcv-grid .wcv-tab-page-heading-wrapper {
        margin-bottom: 15px !important;
    }

    .wcv-gap-top {
        margin-top: 15px !important;
    }
}

@media (max-width: 560px) {
    .wcv-grid .wcv-gap-bottom{
        margin-bottom: 10px !important;
    }

    .wcv-grid .wcv-heading.wcv-dashboard-welcome-message{
        margin-top: 10px !important;
        margin-bottom: 10px !important;
    }

    .wcv-grid .wcv-bottom-space{
        margin-bottom: 10px !important;
    }

    .wcvendors-pro-dashboard-wrapper .wcv-navigation{
        margin-bottom: 10px !important;
    }

    .wcv-grid .wcv-tab-page-heading-wrapper {
        margin-bottom: 10px !important;
    }

    .wcv-gap-top {
        margin-top: 10px !important;
    }
}

/* ============================= */
/* CORRECCIÓN SELECT2 ESCRITORIO VENDEDOR */
/* ============================= */

/* Contenedor principal de los selects */
.wcv-cols-group.wcv-horizontal-gutters .control-group {
    margin-bottom: 20px;
}

/* Labels de los selects */
.wcv-cols-group.wcv-horizontal-gutters .control-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: #2c3338;
}

/* Contenedor del select2 */
.wcv-cols-group.wcv-horizontal-gutters .select2-container {
    width: 100% !important;
    border-radius: 6px;
    border: 1px solid #ddd;
}

/* Campo de búsqueda dentro del select2 */
.wcv-cols-group.wcv-horizontal-gutters .select2-search--inline .select2-search__field {
    padding: 10px 12px !important;
    margin: 0 !important;
    line-height: 1.5 !important;
    height: auto !important;
    min-height: 38px !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    font-size: 14px;
}

/* Placeholder del campo de búsqueda */
.wcv-cols-group.wcv-horizontal-gutters .select2-search__field::placeholder {
    color: #999;
    opacity: 1;
}

/* Contenedor de selección múltiple */
.wcv-cols-group.wcv-horizontal-gutters .select2-selection--multiple {
    min-height: 38px !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    padding: 2px 8px !important;
    background: #fff !important;
}

/* Elementos seleccionados */
.wcv-cols-group.wcv-horizontal-gutters .select2-selection__choice {
    background: #2271b1 !important;
    color: white !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 4px 8px !important;
    margin: 3px 5px 3px 0 !important;
    font-size: 13px;
}

/* Botón de eliminar elemento seleccionado */
.wcv-cols-group.wcv-horizontal-gutters .select2-selection__choice__remove {
    color: white !important;
    margin-right: 5px !important;
    border: none !important;
    background: transparent !important;
}

.wcv-cols-group.wcv-horizontal-gutters .select2-selection__choice__remove:hover {
    color: #f8f9fa !important;
    background: transparent !important;
}

/* Dropdown del select2 - CORRECCIÓN POSICIÓN */
.wcv-cols-group.wcv-horizontal-gutters .select2-dropdown {
    border: 1px solid #2271b1 !important;
    border-radius: 0 0 6px 6px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    margin-top: -1px !important; /* Elimina el espacio entre el select y el dropdown */
}

/* Opciones del dropdown */
.wcv-cols-group.wcv-horizontal-gutters .select2-results__option {
    padding: 10px 12px !important;
    font-size: 14px;
    border-bottom: 1px solid #f0f0f0;
}

.wcv-cols-group.wcv-horizontal-gutters .select2-results__option--highlighted {
    background: #2271b1 !important;
    color: white !important;
}

/* Categorías anidadas en el dropdown */
.wcv-cols-group.wcv-horizontal-gutters .select2-results__option.level-1 {
    padding-left: 20px !important;
}

.wcv-cols-group.wcv-horizontal-gutters .select2-results__option.level-2 {
    padding-left: 40px !important;
}

.wcv-cols-group.wcv-horizontal-gutters .select2-results__option.level-3 {
    padding-left: 60px !important;
}

/* Estado focus del select2 */
.wcv-cols-group.wcv-horizontal-gutters .select2-container--focus .select2-selection--multiple {
    border-color: #2271b1 !important;
    box-shadow: 0 0 0 2px rgba(34, 113, 177, 0.2) !important;
    outline: none !important;
}

/* Estados hover */
.wcv-cols-group.wcv-horizontal-gutters .select2-selection--multiple:hover {
    border-color: #2271b1 !important;
}

/* Ajuste específico para el select de etiquetas */
.wcv-cols-group.wcv-horizontal-gutters .tag-select2 .select2-search__field {
    width: 100% !important;
}

/* Responsive */
@media (max-width: 768px) {
    .wcv-cols-group.wcv-horizontal-gutters .all-50 {
        width: 100% !important;
        margin-bottom: 15px;
    }
    
    .wcv-cols-group.wcv-horizontal-gutters .select2-container {
        font-size: 16px !important; /* Mejor para móviles */
    }
}

/* Corrección específica para el placeholder del segundo select */
.wcv-cols-group.wcv-horizontal-gutters .select2-selection__placeholder {
    color: #999 !important;
    line-height: 34px !important;
    padding-left: 8px !important;
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
}

/* Asegurar que el texto de búsqueda esté centrado verticalmente */
.wcv-cols-group.wcv-horizontal-gutters .select2-selection__rendered {
    line-height: 34px !important;
    padding: 0 !important;
}

/* Eliminar el espacio extra en el contenedor del select */
.wcv-cols-group.wcv-horizontal-gutters .control.select {
    margin: 0 !important;
    padding: 0 !important;
}

/* ============================= */
/* FORMULARIO COMPLETO PRODUCTO - ESCRITORIO VENDEDOR */
/* ============================= */

/* Formulario principal */
#wcv-product-edit.wcv-form {
    background: #ffffff;
    border-radius: 8px;
    padding: 25px;
    border: 1px solid #e0e0e0;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    margin-bottom: 20px;
}

/* Sección de medios (imágenes) */
.wcv-product-media {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 25px;
    border: 1px solid #e9ecef;
}

.wcv-product-media-wrapper {
    gap: 20px !important;
}

/* Títulos azules */
.blue-title.text-blue {
    color: #2271b1 !important;
    font-weight: 600;
    font-size: 16px;
    margin-bottom: 15px;
}

/* Contenedores de carga de imágenes */
.product-feat-image-upload,
.product-imgs-gallery-upload {
    background: #ffffff;
    border: 2px dashed #ddd;
    border-radius: 8px;
    padding: 25px;
    text-align: center;
    transition: all 0.3s ease;
}

.product-feat-image-upload:hover,
.product-imgs-gallery-upload:hover {
    border-color: #2271b1;
    background: #f8f9fa;
}

/* Botones de carga */
.wcv-browser-file.wcv-button.wcv-button-outline.text-blue {
    background: #2271b1 !important;
    color: #ffffff !important;
    border: 1px solid #2271b1 !important;
    padding: 10px 20px !important;
    border-radius: 6px !important;
    font-weight: 500 !important;
    transition: all 0.2s ease !important;
}

.wcv-browser-file.wcv-button.wcv-button-outline.text-blue:hover {
    background: #135e96 !important;
    border-color: #135e96 !important;
    transform: translateY(-1px);
}

/* Sección básica del producto */
.wcv-product-basic.wcv-product {
    background: #ffffff;
    border-radius: 8px;
    padding: 25px;
    border: 1px solid #e0e0e0;
    margin-bottom: 25px;
}

/* Grupos de control */
.wcv-product-basic .control-group,
.wcv-accordions .control-group {
    margin-bottom: 25px !important;
}

/* Labels */
.wcv-product-basic .control-group label,
.wcv-accordions .control-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: #2c3338;
    font-size: 14px;
}

/* Campos de texto y textarea */
.wcv-product-basic input[type="text"],
.wcv-product-basic textarea,
.wcv-accordions input[type="text"],
.wcv-accordions textarea,
.wcv-accordions input[type="number"],
.wcv-accordions input[type="url"] {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 14px;
    line-height: 1.5;
    color: #2c3338;
    background: #fff;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

.wcv-product-basic input[type="text"]:focus,
.wcv-product-basic textarea:focus,
.wcv-accordions input[type="text"]:focus,
.wcv-accordions textarea:focus,
.wcv-accordions input[type="number"]:focus,
.wcv-accordions input[type="url"]:focus {
    border-color: #2271b1;
    box-shadow: 0 0 0 2px rgba(34, 113, 177, 0.2);
    outline: none;
}

/* Placeholders */
.wcv-product-basic input::placeholder,
.wcv-product-basic textarea::placeholder,
.wcv-accordions input::placeholder,
.wcv-accordions textarea::placeholder {
    color: #999;
    opacity: 1;
}

/* Contenedor de columnas */
.wcv-product-basic .wcv-cols-group.wcv-horizontal-gutters,
.wcv-accordions .wcv-cols-group.wcv-horizontal-gutters {
    gap: 20px;
    margin-bottom: 20px;
}

/* Tip (tooltips) */
.wcv-tip {
    margin-left: 8px;
    cursor: help;
}

.wcv-tip .wcv-icon {
    color: #2271b1;
}

.wcv-tip .content {
    background: #2c3338;
    color: #ffffff;
    padding: 10px;
    border-radius: 4px;
    font-size: 12px;
    max-width: 200px;
}

/* Checkboxes */
.wcv-checkbox-container {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-weight: 500;
    color: #2c3338;
}

.wcv-checkbox-container input[type="checkbox"] {
    margin-right: 8px;
}

.checkmark {
    width: 18px;
    height: 18px;
    border: 2px solid #ddd;
    border-radius: 3px;
    margin-right: 8px;
    position: relative;
}

.wcv-checkbox-container input[type="checkbox"]:checked + .checkmark {
    background: #2271b1;
    border-color: #2271b1;
}

.wcv-checkbox-container input[type="checkbox"]:checked + .checkmark:after {
    content: "✓";
    color: white;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 12px;
    font-weight: bold;
}

/* Acordeones */
.wcv-accordions {
    margin-top: 30px;
}

.wcv-accordion-title {
    background: #f8f9fa;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    padding: 15px 20px;
    cursor: pointer;
    margin-bottom: 10px;
    transition: all 0.2s ease;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.wcv-accordion-title:hover {
    background: #e9ecef;
    border-color: #2271b1;
}

.wcv-accordion-title.active {
    background: #2271b1;
    color: #ffffff;
    border-color: #2271b1;
}

.wcv-accordion-title.active .wcv-icon {
    color: #ffffff;
}

.wcv-accordion-title h3 {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
}

.tabs-content {
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-top: none;
    border-radius: 0 0 6px 6px;
    padding: 20px;
    margin-bottom: 15px;
}

/* Campos de precio */
.wcv-price-input-container {
    position: relative;
    display: flex;
    align-items: center;
}

.wcv-price-symbol {
    position: absolute;
    left: 12px;
    color: #666;
    font-weight: 500;
}

.wcv-price-input {
    padding-left: 25px !important;
}

/* Selects generales */
.wcv-accordions select:not(.select2-hidden-accessible) {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 14px;
    background: #fff;
    color: #2c3338;
    transition: all 0.2s ease;
}

.wcv-accordions select:not(.select2-hidden-accessible):focus {
    border-color: #2271b1;
    box-shadow: 0 0 0 2px rgba(34, 113, 177, 0.2);
    outline: none;
}

/* Tablas */
.wcvendors-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border-radius: 6px;
    overflow: hidden;
    margin: 15px 0;
}

.wcvendors-table th {
    /*background: #2271b1;*/
    color: #ffffff;
    padding: 12px 15px;
    text-align: left;
    font-weight: 600;
    font-size: 14px;
}

.wcvendors-table td {
    padding: 12px 15px;
    border-bottom: 1px solid #e9ecef;
    color: #2c3338;
}

.wcvendors-table tbody tr:hover {
    background: #f8f9fa;
}

/* Botones de acción en tablas */
.wcv-button.wcv-button-blue {
    background: #2271b1 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 8px 16px !important;
    border-radius: 4px !important;
    font-weight: 500 !important;
    transition: all 0.2s ease !important;
}

.wcv-button.wcv-button-blue:hover {
    background: #135e96 !important;
    transform: translateY(-1px);
}

/* Botones principales del formulario */
.wcv-button-group {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #e0e0e0;
    text-align: center;
}

#product_save_button {
    background: #28a745 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 12px 30px !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    margin-right: 15px !important;
    transition: all 0.2s ease !important;
}

#product_save_button:hover {
    background: #218838 !important;
    transform: translateY(-1px);
}

#draft_button {
    background: #6c757d !important;
    color: #ffffff !important;
    border: none !important;
    padding: 12px 30px !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    transition: all 0.2s ease !important;
}

#draft_button:hover {
    background: #5a6268 !important;
    transform: translateY(-1px);
}

/* Estados ocultos */
.is_hidden {
    display: none !important;
}

.hide-all {
    display: none;
}

/* Responsive */
@media (max-width: 768px) {
    #wcv-product-edit.wcv-form {
        padding: 15px;
    }
    
    .wcv-product-media-wrapper {
        flex-direction: column;
    }
    
    .wcv-product-basic.wcv-product,
    .wcv-accordions .tabs-content {
        padding: 15px;
    }
    
    .wcv-product-basic .wcv-cols-group.wcv-horizontal-gutters,
    .wcv-accordions .wcv-cols-group.wcv-horizontal-gutters {
        flex-direction: column;
        gap: 15px;
    }
    
    .wcv-button-group {
        text-align: center;
    }
    
    #product_save_button,
    #draft_button {
        display: block;
        width: 100%;
        margin: 10px 0 !important;
    }
}

/* Estados de validación */
.wcv-product-basic input:invalid,
.wcv-product-basic textarea:invalid,
.wcv-accordions input:invalid,
.wcv-accordions textarea:invalid {
    border-color: #dc3545;
}

.wcv-product-basic input:valid,
.wcv-product-basic textarea:valid,
.wcv-accordions input:valid,
.wcv-accordions textarea:valid {
    border-color: #28a745;
}

/* Separadores */
.wcv_desktop[style*="background: #D5D4DC"] {
    background: #e0e0e0 !important;
    height: 1px !important;
    margin: 30px 0 !important;
}

/* ============================= */
/* REDUCCIÓN DE ALTURA EN FORMULARIO PRODUCTO */
/* ============================= */

/* Labels más compactos */
.wcv-product-basic .control-group label,
.wcv-accordions .control-group label {
    margin-bottom: 6px !important;
    font-size: 13px !important;
}

/* Campos de texto y textarea más compactos */
.wcv-product-basic input[type="text"],
.wcv-product-basic textarea,
.wcv-accordions input[type="text"],
.wcv-accordions textarea,
.wcv-accordions input[type="number"],
.wcv-accordions input[type="url"] {
    padding: 8px 12px !important;
    font-size: 13px !important;
    min-height: 36px !important;
}

/* Textareas específicamente más bajos */
.wcv-product-basic textarea,
.wcv-accordions textarea {
    min-height: 80px !important;
    resize: vertical;
}

/* Grupos de control más compactos */
.wcv-product-basic .control-group,
.wcv-accordions .control-group {
    margin-bottom: 18px !important;
}

/* Selects más compactos */
.wcv-accordions select:not(.select2-hidden-accessible) {
    padding: 8px 12px !important;
    font-size: 13px !important;
    min-height: 36px !important;
}

/* Acordeones más compactos */
.wcv-accordion-title {
    padding: 12px 16px !important;
    margin-bottom: 8px !important;
}

.wcv-accordion-title h3 {
    font-size: 14px !important;
}

/* Contenido de acordeones más compacto */
.tabs-content {
    padding: 16px !important;
    margin-bottom: 12px !important;
}

/* Sección de medios más compacta */
.wcv-product-media {
    padding: 16px !important;
    margin-bottom: 20px !important;
}

.product-feat-image-upload,
.product-imgs-gallery-upload {
    padding: 20px !important;
}

/* Títulos más compactos */
.blue-title.text-blue {
    margin-bottom: 12px !important;
    font-size: 14px !important;
}

/* Botones más compactos */
.wcv-browser-file.wcv-button.wcv-button-outline.text-blue {
    padding: 8px 16px !important;
    font-size: 13px !important;
}

/* Sección básica más compacta */
.wcv-product-basic.wcv-product {
    padding: 20px !important;
    margin-bottom: 20px !important;
}

/* Grupos de columnas más compactos */
.wcv-product-basic .wcv-cols-group.wcv-horizontal-gutters,
.wcv-accordions .wcv-cols-group.wcv-horizontal-gutters {
    gap: 15px !important;
    margin-bottom: 15px !important;
}

/* Campos de precio más compactos */
.wcv-price-input {
    padding-left: 20px !important;
}

.wcv-price-symbol {
    left: 10px !important;
}

/* Tablas más compactas */
.wcvendors-table th,
.wcvendors-table td {
    padding: 10px 12px !important;
    font-size: 13px !important;
}

/* Botones de acción más compactos */
.wcv-button.wcv-button-blue {
    padding: 6px 12px !important;
    font-size: 12px !important;
}

/* Botones principales más compactos */
#product_save_button,
#draft_button {
    padding: 10px 24px !important;
    font-size: 14px !important;
    margin-right: 12px !important;
}

.wcv-button-group {
    margin-top: 25px !important;
    padding-top: 16px !important;
}

/* Checkboxes más compactos */
.wcv-checkbox-container {
    font-size: 13px !important;
}

.checkmark {
    width: 16px !important;
    height: 16px !important;
}

.wcv-checkbox-container input[type="checkbox"]:checked + .checkmark:after {
    font-size: 11px !important;
}

/* Tooltips más compactos */
.wcv-tip .content {
    padding: 8px !important;
    font-size: 11px !important;
}

/* Separadores más compactos */
.wcv_desktop[style*="background: #D5D4DC"] {
    margin: 20px 0 !important;
}

/* Reducir margen inferior específico de 60px */
.wcv-product-basic .control-group[style*="margin-bottom: 60px"] {
    margin-bottom: 20px !important;
}

.wcv-product-basic .control-group[style*="margin-bottom: 60px !important"] {
    margin-bottom: 20px !important;
}

/* Ajustes específicos para elementos con alto fijo */
.wcv-upload-files-input {
    padding: 15px !important;
}

.wcv-upload-files-input small {
    margin-bottom: 8px !important;
}

/* Botones de reemplazar imagen más compactos */
.wcv-media-uploader-featured-replace {
    margin-top: 20px !important;
}

/* Mensajes de galería más compactos */
#product-imgs-gallery-parent span {
    margin-bottom: 15px !important;
    margin-top: 8px !important;
}

/* Ajustes responsive para versiones compactas */
@media (max-width: 768px) {
    .wcv-product-basic.wcv-product,
    .wcv-accordions .tabs-content {
        padding: 12px !important;
    }
    
    .wcv-accordion-title {
        padding: 10px 14px !important;
    }
    
    #product_save_button,
    #draft_button {
        padding: 8px 20px !important;
        font-size: 13px !important;
    }
}

/* ============================= */
/* REDUCCIÓN DE ALTURA DE CONTROLES */
/* ============================= */

/* Campos de texto y textarea - ALTURA REDUCIDA */
.wcv-product-basic input[type="text"],
.wcv-product-basic textarea,
.wcv-accordions input[type="text"],
.wcv-accordions textarea,
.wcv-accordions input[type="number"],
.wcv-accordions input[type="url"] {
    padding: 6px 10px !important;
    font-size: 13px !important;
    min-height: 32px !important;
    line-height: 1.3 !important;
}

/* Textareas específicamente más bajos pero funcionales */
.wcv-product-basic textarea,
.wcv-accordions textarea {
    min-height: 70px !important;
    line-height: 1.4 !important;
}

/* Selects más compactos en altura */
.wcv-accordions select:not(.select2-hidden-accessible) {
    padding: 6px 10px !important;
    font-size: 13px !important;
    min-height: 32px !important;
    line-height: 1.3 !important;
}

/* Acordeones - ALTURA DRAMÁTICAMENTE REDUCIDA */
.wcv-accordion-title {
    padding: 8px 14px !important;
    margin-bottom: 6px !important;
    min-height: auto !important;
    height: auto !important;
}

.wcv-accordion-title h3 {
    font-size: 14px !important;
    line-height: 1.2 !important;
    margin: 0 !important;
}

/* Iconos en acordeones más pequeños */
.wcv-accordion-title .wcv-icon {
    width: 18px !important;
    height: 18px !important;
}

/* Botones más compactos en altura */
.wcv-browser-file.wcv-button.wcv-button-outline.text-blue {
    padding: 6px 14px !important;
    font-size: 13px !important;
    min-height: 32px !important;
    line-height: 1.2 !important;
}

/* Botones principales más compactos */
#product_save_button,
#draft_button {
    padding: 8px 20px !important;
    font-size: 14px !important;
    min-height: 36px !important;
    line-height: 1.2 !important;
}

/* Campos de precio más compactos */
.wcv-price-input-container {
    min-height: 32px !important;
}

.wcv-price-input {
    padding-left: 18px !important;
    min-height: 32px !important;
}

.wcv-price-symbol {
    left: 8px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}

/* Checkboxes más compactos */
.wcv-checkbox-container {
    font-size: 13px !important;
    line-height: 1.2 !important;
    min-height: auto !important;
}

.checkmark {
    width: 16px !important;
    height: 16px !important;
    margin-right: 6px !important;
}

.wcv-checkbox-container input[type="checkbox"]:checked + .checkmark:after {
    font-size: 11px !important;
    line-height: 1 !important;
}

/* Contenedores de carga de imágenes más compactos */
.product-feat-image-upload,
.product-imgs-gallery-upload {
    padding: 16px !important;
    min-height: auto !important;
}

/* Área de carga de archivos más compacta */
.wcv-upload-files-input {
    padding: 12px !important;
    min-height: auto !important;
}

.wcv-upload-files-input small {
    margin-bottom: 6px !important;
    line-height: 1.2 !important;
}

/* Botón de reemplazar imagen más compacto */
.wcv-media-uploader-featured-replace {
    margin-top: 16px !important;
    padding: 6px 12px !important;
    min-height: 32px !important;
}

/* Tablas más compactas en altura */
.wcvendors-table th,
.wcvendors-table td {
    padding: 8px 10px !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
}

/* Select2 - ajustar altura para que coincida */
.select2-container .select2-selection--multiple,
.select2-container .select2-selection--single {
    min-height: 32px !important;
}

.select2-container .select2-selection--multiple .select2-selection__rendered,
.select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 1.3 !important;
    padding: 4px 8px !important;
}

/* Grupos de columnas más compactos */
.wcv-cols-group.wcv-horizontal-gutters {
    align-items: flex-start !important;
}

/* Ajuste específico para el campo de nombre del producto */
#post_title {
    height: 32px !important;
    min-height: 32px !important;
}

/* Ajuste específico para textareas de descripción */
#post_content,
#post_excerpt {
    min-height: 70px !important;
    height: 70px !important;
}

/* Tooltips más compactos */
.wcv-tip .wcv-icon {
    width: 16px !important;
    height: 16px !important;
}

/* Reducir espacio en elementos de fecha */
.wcv-datepicker-wrapper {
    min-height: 32px !important;
}

.wcv-datepicker-wrapper .wcv-icon {
    width: 18px !important;
    height: 18px !important;
}

/* Ajustes responsive para controles compactos */
@media (max-width: 768px) {
    .wcv-product-basic input[type="text"],
    .wcv-product-basic textarea,
    .wcv-accordions input[type="text"],
    .wcv-accordions textarea,
    .wcv-accordions input[type="number"],
    .wcv-accordions input[type="url"] {
        min-height: 36px !important; /* Un poco más alto en móviles para usabilidad */
    }
    
    .wcv-accordion-title {
        padding: 10px 12px !important;
        min-height: auto !important;
    }
    
    #product_save_button,
    #draft_button {
        min-height: 40px !important;
    }
}

/* ============================= */
/* CORRECCIÓN SELECT Y CONTROLES INTERNOS */
/* ============================= */

/* Select del tipo de producto - CORREGIDO */
#product-type.select {
    width: 100% !important;
    padding: 6px 10px !important;
    font-size: 13px !important;
    min-height: 32px !important;
    line-height: 1.3 !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    background: #fff !important;
    color: #2c3338 !important;
}

#product-type.select:focus {
    border-color: #2271b1 !important;
    box-shadow: 0 0 0 2px rgba(34, 113, 177, 0.2) !important;
    outline: none !important;
}

/* ALINEACIÓN DE LOS 3 TEXTBOX DE DIMENSIONES */
.wcv-cols-group-medium .all-33 {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

.wcv-cols-group-medium .all-33 .control-group {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    margin-bottom: 0 !important;
}

.wcv-cols-group-medium .all-33 .control-group .control {
    flex: 1 !important;
    display: flex !important;
    align-items: flex-end !important;
}

.wcv-cols-group-medium .all-33 input[type="text"] {
    width: 100% !important;
    margin-top: auto !important;
}

/* CORRECCIÓN DE ALTURA PARA TODOS LOS CONTROLES DENTRO DE ACORDEONES */
.wcv-accordions .control-group {
    margin-bottom: 18px !important;
}

.wcv-accordions input[type="text"],
.wcv-accordions input[type="number"],
.wcv-accordions input[type="url"],
.wcv-accordions input[type="email"],
.wcv-accordions input[type="password"] {
    padding: 6px 10px !important;
    font-size: 13px !important;
    min-height: 32px !important;
    line-height: 1.3 !important;
    width: 100% !important;
}

.wcv-accordions textarea {
    padding: 6px 10px !important;
    font-size: 13px !important;
    min-height: 70px !important;
    line-height: 1.4 !important;
    width: 100% !important;
}

.wcv-accordions select:not(.select2-hidden-accessible) {
    padding: 6px 10px !important;
    font-size: 13px !important;
    min-height: 32px !important;
    line-height: 1.3 !important;
    width: 100% !important;
}

/* Campos específicos dentro de acordeones */
.wcv-accordions #_sku,
.wcv-accordions #_weight,
.wcv-accordions #_length,
.wcv-accordions #_width,
.wcv-accordions #_height,
.wcv-accordions #_download_limit,
.wcv-accordions #_download_expiry,
.wcv-accordions #_low_stock_amount,
.wcv-accordions #_stock,
.wcv-accordions #_regular_price,
.wcv-accordions #_sale_price,
.wcv-accordions #menu_order,
.wcv-accordions #wcv_product_seo_title,
.wcv-accordions #wcv_product_seo_keywords {
    min-height: 32px !important;
    height: 32px !important;
}

/* Textareas dentro de acordeones */
.wcv-accordions #wcv_product_seo_description,
.wcv-accordions #_purchase_note {
    min-height: 70px !important;
    height: 70px !important;
}

/* Selects dentro de acordeones */
.wcv-accordions #_backorders,
.wcv-accordions #_stock_status,
.wcv-accordions #_download_type,
.wcv-accordions #product_shipping_class {
    min-height: 32px !important;
    height: 32px !important;
}

/* Checkboxes dentro de acordeones */
.wcv-accordions .wcv-checkbox-container {
    font-size: 13px !important;
    line-height: 1.2 !important;
    min-height: auto !important;
    margin-bottom: 8px !important;
}

/* Tooltips dentro de acordeones */
.wcv-accordions .wcv-tip {
    vertical-align: middle !important;
}

.wcv-accordions .wcv-tip .wcv-icon {
    width: 14px !important;
    height: 14px !important;
}

/* Campos de fecha dentro de acordeones */
.wcv-accordions .wcv-datepicker-wrapper {
    min-height: 32px !important;
}

.wcv-accordions .wcv-datepicker {
    padding: 6px 10px !important;
    font-size: 13px !important;
    min-height: 32px !important;
    line-height: 1.3 !important;
}

/* Botones dentro de acordeones */
.wcv-accordions .wcv-button {
    padding: 6px 12px !important;
    font-size: 13px !important;
    min-height: 32px !important;
    line-height: 1.2 !important;
}

/* Tablas dentro de acordeones */
.wcv-accordions .wcvendors-table th,
.wcv-accordions .wcvendors-table td {
    padding: 8px 10px !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
}

/* Ajuste específico para campos en línea */
.wcv-accordions .control.unstyled.inline {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    flex-wrap: wrap !important;
}

.wcv-accordions .control.unstyled.inline .wcv-checkbox-container {
    margin-bottom: 0 !important;
}

/* Responsive para controles dentro de acordeones */
@media (max-width: 768px) {
    .wcv-accordions input[type="text"],
    .wcv-accordions input[type="number"],
    .wcv-accordions input[type="url"],
    .wcv-accordions select:not(.select2-hidden-accessible) {
        min-height: 36px !important;
    }
    
    .wcv-accordions textarea {
        min-height: 80px !important;
    }
    
    .wcv-cols-group-medium .all-33 {
        width: 100% !important;
        margin-bottom: 15px !important;
    }
}

/* ============================= */
/* ALINEACIÓN DE INPUTS DE DIMENSIONES */
/* ============================= */

/* Contenedor principal de dimensiones */
.wcv-cols-group-medium {
    align-items: flex-end !important; /* Alinea todos al fondo (abajo) */
}

/* Cada columna de dimensión */
.wcv-cols-group-medium .all-33 {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    justify-content: flex-end !important; /* Empuja el contenido hacia abajo */
}

/* Grupo de control */
.wcv-cols-group-medium .all-33 .control-group {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    margin-bottom: 0 !important;
    justify-content: flex-end !important; /* Alinea el input al fondo */
}

/* Label del primer input (que tiene texto) */
.wcv-cols-group-medium .all-33:first-child .control-group label {
    margin-bottom: 6px !important;
    min-height: 18px !important; /* Altura fija para el label */
    display: flex !important;
    align-items: flex-end !important; /* Alinea el texto del label al fondo */
}

/* Labels vacíos de los otros inputs */
.wcv-cols-group-medium .all-33:not(:first-child) .control-group label {
    margin-bottom: 6px !important;
    min-height: 18px !important; /* Misma altura que el label con texto */
    visibility: hidden !important; /* Oculta pero mantiene el espacio */
}

/* Contenedor del input */
.wcv-cols-group-medium .all-33 .control-group .control {
    flex: none !important; /* No expandir */
    height: 32px !important; /* Altura fija para el input */
    display: flex !important;
    align-items: center !important;
}

/* Inputs de dimensiones */
.wcv-cols-group-medium .all-33 input[type="text"] {
    width: 100% !important;
    height: 32px !important;
    margin-top: 0 !important;
    flex: none !important;
}

/* Tooltip del primer input */
.wcv-cols-group-medium .all-33:first-child .wcv-tip {
    position: absolute !important;
    margin-top: -2px !important; /* Ajuste fino para alineación */
}

/* Asegurar que todos los inputs queden exactamente a la misma altura */
.wcv-cols-group-medium .all-33 .control {
    margin-top: auto !important; /* Empuja el input hacia abajo */
}

/* Responsive */
@media (max-width: 768px) {
    .wcv-cols-group-medium {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    
    .wcv-cols-group-medium .all-33 {
        margin-bottom: 15px !important;
        justify-content: flex-start !important;
    }
    
    .wcv-cols-group-medium .all-33 .control-group {
        justify-content: flex-start !important;
    }
}

/* ============================= */
/* CORRECCIÓN ETIQUETAS E ICONOS INFORMATIVOS */
/* ============================= */

/* Contenedor de control con tooltip */
.control-group {
    position: relative !important;
}

/* Label principal y tooltip en la misma línea */
.control-group > label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 6px !important;
    font-weight: 600 !important;
    color: #2c3338 !important;
    font-size: 13px !important;
    width: auto !important;
}

/* Tooltip inline al lado del label */
.control-group > .wcv-tip {
    display: inline-flex !important;
    align-items: center !important;
    margin-left: 0 !important;
    vertical-align: middle !important;
    position: relative !important;
}

/* Icono del tooltip más pequeño */
.control-group > .wcv-tip .wcv-icon {
    width: 14px !important;
    height: 14px !important;
    color: #2271b1 !important;
}

/* Casos específicos donde el tooltip está después del label */

/* Para controles donde el label y tooltip están separados */
.control-group label + .wcv-tip {
    margin-left: 8px !important;
    display: inline-flex !important;
    vertical-align: middle !important;
}

/* Asegurar que el control esté debajo */
.control-group > .control {
    clear: both !important;
    margin-top: 0 !important;
}

/* Casos específicos en acordeones */
.wcv-accordions .control-group > label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.wcv-accordions .control-group > .wcv-tip {
    display: inline-flex !important;
    margin-left: 0 !important;
}

/* Para el campo SKU y otros similares */
#inventory .control-group > label,
#shipping .control-group > label,
#general .control-group > label,
#linked_product .control-group > label,
#advanced .control-group > label,
#seo .control-group > label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

/* Casos específicos donde hay abbr */
.control-group > label abbr {
    text-decoration: none !important;
    border-bottom: none !important;
}

/* Para campos de precio que tienen estructura diferente */
.wcv-price-input-container + #wcv-price-input-_regular_price,
.wcv-price-input-container + #wcv-price-input-_sale_price {
    margin-top: 4px !important;
}

/* Responsive para tooltips */
@media (max-width: 768px) {
    .control-group > .wcv-tip .content {
        white-space: normal !important;
        max-width: 200px !important;
        left: 0 !important;
        transform: translateY(-100%) translateX(-50%) !important;
    }

    .control-group > label {
        flex-wrap: wrap !important;
    }
    
    #dashboard-menu-item-more-button{
        display: none !important;
    }
}

/* Casos específicos que necesitan ajuste adicional */

/* Campo SKU en inventario */
#inventory .control-group:has(#_sku) > label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

/* Campos de precio regular y venta */
#general .control-group:has(#_regular_price) > label,
#general .control-group:has(#_sale_price) > label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

/* Campos de descargas */
#general .control-group:has(#_download_limit) > label,
#general .control-group:has(#_download_expiry) > label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

/* Campos de stock */
#inventory .control-group:has(#_stock) > label,
#inventory .control-group:has(#_low_stock_amount) > label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

/* Campos de dimensiones (el primero) */
#shipping .control-group:has(#_length) > label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

/* Campos SEO */
#seo .control-group:has(#wcv_product_seo_title) > label,
#seo .control-group:has(#wcv_product_seo_keywords) > label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

/* ============================= */
/* CORRECCIÓN ESPECÍFICA DIMENSIONES Y SEO - ESTRUCTURAS DIFERENTES */
/* ============================= */

/* CORRECCIÓN PARA DIMENSIONES - tooltip al mismo nivel que label */
.control-group:has(#_length) {
    display: block !important;
}

.control-group:has(#_length) > label {
    display: inline !important;
    margin-right: 8px !important;
    vertical-align: middle !important;
}

.control-group:has(#_length) > .wcv-tip {
    display: inline !important;
    vertical-align: middle !important;
    margin-left: 0 !important;
}

.control-group:has(#_length) > .control {
    display: block !important;
    margin-top: 6px !important;
}

/* ============================= */
/* CORRECCIÓN FINAL DESCRIPCIÓN SEO */
/* ============================= */

/* CORRECCIÓN PARA DESCRIPCIÓN SEO - tooltip DENTRO de .control */
.control:has(#wcv_product_seo_description) > label {
    display: inline !important;
    margin-right: 8px !important;
    vertical-align: middle !important;
}

.control:has(#wcv_product_seo_description) > .wcv-tip {
    display: inline !important;
    vertical-align: middle !important;
    margin-left: 0 !important;
}

.control:has(#wcv_product_seo_description) > textarea {
    display: block !important;
    margin-top: 6px !important;
    clear: both !important;
}

/* Asegurar que el label y tooltip estén en la misma línea */
.control:has(#wcv_product_seo_description) {
    display: block !important;
}

/* ============================= */
/* TABS HORIZONTALES - ADAPTABLES AL CONTENIDO */
/* ============================= */

/* Contenedor principal de navegación */
.wcv-dashboard-nav-wrapper {
    padding: 10px 15px !important;
    margin-bottom: 15px !important;
}

/* Navegación horizontal */
.wcv-navigation.horizontal {
    min-height: auto !important;
}

/* Lista de menú */
.wcv-dashboard-menu.horizontal {
    gap: 5px !important;
    justify-content: flex-start !important; /* Alinear a la izquierda */
    flex-wrap: wrap !important; /* Permitir que se envuelvan si es necesario */
}

/* Items de navegación - SE ADAPTAN AL CONTENIDO */
.wcv-dashboard-nav-item {
    flex: 0 1 auto !important; /* No crecer, encogerse si es necesario, ancho automático */
    min-height: auto !important;
    width: auto !important; /* Ancho según contenido */
    max-width: none !important; /* Sin límite máximo */
}

/* Enlaces de los tabs - SE ADAPTAN AL CONTENIDO */
.wcv-dashboard-nav-item-link {
    padding: 8px 12px !important;
    min-height: 40px !important;
    height: 40px !important;
    flex-direction: row !important;
    justify-content: flex-start !important; /* Alinear contenido a la izquierda */
    align-items: center !important;
    gap: 8px !important;
    white-space: nowrap !important;
    width: auto !important; /* Ancho según contenido */
    min-width: min-content !important; /* Mínimo ancho necesario */
}

/* Iconos */
.wcv-dashboard-nav-item-link .wcv-icon {
    width: 16px !important;
    height: 16px !important;
    margin-bottom: 0 !important;
    flex-shrink: 0 !important;
}

/* Texto de los tabs */
.wcv-dashboard-nav-item-label {
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important; /* Evitar que el texto se reduzca */
}

/* Separador más compacto */
.wcv-dashboard-menu-divider {
    margin: 5px 3px !important;
    height: 20px !important;
    flex: 0 0 auto !important; /* Tamaño fijo para el separador */
}

/* Menú secundario */
.wcv-dashboard-menu.secondary {
    min-height: auto !important;
    padding: 5px 0 !important;
}

/* Botón "more" compacto */
#dashboard-menu-item-more-button .wcv-dashboard-nav-item-link {
    padding: 6px 8px !important;
    min-height: 32px !important;
    width: auto !important;
}

/* Estados hover y active */
.wcv-dashboard-nav-item-link:hover,
.wcv-dashboard-nav-item.active .wcv-dashboard-nav-item-link {
    transform: translateY(-1px) !important;
}

/* Asegurar que todos los tabs tengan el mismo estilo consistente */
.wcv-dashboard-nav-item-link {
    box-sizing: border-box !important;
}

/*letras*/

.wcv-grid h3{
    color: #2271b1;
    font-weight: 700;
    line-height: 1;
}

.wcv-grid h2{
    color: #404040;
    font-weight: 600;
    line-height: 1;
}

.wcv-grid .wcv-heading.wcv-dashboard-welcome-message{
    font-size: 28px;
}

/* ============================= */
/* Panel de vendedores AJUSTES
/* ============================= */

/* Estilos específicos para el formulario WC Vendors - Solo afecta este formulario */
form#wcv-store-settings.wcv-form {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    max-width: 100%;
    margin: 0 auto;
    padding: 20px;
    padding-top: 5px;
    background: #f8f9fa;
    border-radius: 10px;
}

/* Tabs de navegación - Solo dentro del formulario */
form#wcv-store-settings .wcv-tabs .tabs-nav {
    display: flex;
    border-bottom: 2px solid #e0e0e0;
    margin-bottom: 30px !important;
    background: transparent;
}

form#wcv-store-settings .wcv-tabs .tabs-nav li {
    margin-bottom: -2px;
    list-style: none;
}

form#wcv-store-settings .wcv-tabs .tabs-nav li a {
    display: block;
    padding: 15px 30px;
    text-decoration: none;
    color: #666;
    font-weight: 500;
    border-bottom: 2px solid transparent;
    transition: all 0.3s ease;
    background: #f8f9fa;
    margin-right: 5px;
    border-radius: 5px 5px 0 0;
}

form#wcv-store-settings .wcv-tabs .tabs-nav li.active a {
    color: #007cba;
    border-bottom-color: #007cba;
    background: #fff;
    font-weight: 600;
}

/* Secciones del formulario */
form#wcv-store-settings .wcv-store-setting-section {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 25px;
    margin-bottom: 25px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

form#wcv-store-settings .wcv-store-setting-section-title {
    color: #2c3e50;
    font-size: 1.4em;
    font-weight: 600;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 2px solid #f0f0f0;
}

/* Grupos de columnas */
form#wcv-store-settings .wcv-cols-group {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px;
}

form#wcv-store-settings .wcv-horizontal-gutters > * {
    padding: 0 10px;
    box-sizing: border-box;
}

form#wcv-store-settings .all-50 { width: 50%; }
form#wcv-store-settings .all-33 { width: 33.333%; }
form#wcv-store-settings .all-100 { width: 100%; }

/* Grupos de control */
form#wcv-store-settings .control-group {
    margin-bottom: 20px;
}

form#wcv-store-settings .control-group label {
    display: block;
    font-weight: 500;
    color: #444;
    margin-bottom: 8px;
    font-size: 0.95em;
}

/* Campos de entrada */
form#wcv-store-settings .control input[type="text"],
form#wcv-store-settings .control input[type="email"],
form#wcv-store-settings .control input[type="url"],
form#wcv-store-settings .control input[type="password"],
form#wcv-store-settings .control textarea {
    width: 100%;
    padding: 12px 15px;
    border: 2px solid #e0e0e0;
    border-radius: 6px;
    font-size: 14px;
    transition: all 0.3s ease;
    background: #fff;
    box-sizing: border-box;
    height: 48px;
}

form#wcv-store-settings .control textarea {
    height: auto;
    min-height: 100px;
    resize: vertical;
}

/* CORRECCIÓN DE SELECTS - Estilos unificados */
form#wcv-store-settings .control select,
form#wcv-store-settings .wcv-phone-input-wrapper .select2-container .select2-selection--single,
form#wcv-store-settings .control .select2-container .select2-selection--single {
    width: 100% !important;
    height: 48px !important;
    border: 2px solid #e0e0e0 !important;
    border-radius: 6px !important;
    background: #fff !important;
    padding: 0 15px !important;
    box-sizing: border-box !important;
}

/* Select2 personalizado - Corrección de altura y alineación */
form#wcv-store-settings .select2-container .select2-selection--single {
    height: 48px !important;
    line-height: 48px !important;
}

form#wcv-store-settings .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 44px !important;
    color: #333 !important;
    font-size: 14px !important;
    padding-left: 0 !important;
}

form#wcv-store-settings .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 46px !important;
    right: 10px !important;
}

/* Contenedor de teléfono - Corrección específica */
form#wcv-store-settings .wcv-phone-input-wrapper {
    display: flex;
    gap: 10px;
    align-items: center;
}

form#wcv-store-settings .wcv-phone-input-wrapper .select2-container {
    width: 140px !important;
    min-width: 140px;
}

form#wcv-store-settings .wcv-phone-input-wrapper input[type="text"] {
    flex: 1;
    height: 48px;
}

/* Select personalizado WC Vendors - Corrección */
form#wcv-store-settings .wcv-select-container {
    position: relative;
    border: 2px solid #e0e0e0;
    border-radius: 6px;
    background: white;
    cursor: pointer;
    height: 48px;
    display: flex;
    align-items: center;
}

form#wcv-store-settings .wcv-select-placeholder {
    padding: 0 15px;
    display: block;
    color: #333;
    width: 100%;
    line-height: 44px;
}

/* Tooltips */
form#wcv-store-settings .wcv-tip {
    position: relative;
    display: inline-block;
    margin-left: 5px;
    cursor: help;
    vertical-align: middle;
}

form#wcv-store-settings .wcv-tip .wcv-icon {
    width: 16px;
    height: 16px;
    fill: #666;
}

/* Botones */
form#wcv-store-settings .wcv-button-group {
    text-align: right;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #e0e0e0;
}

form#wcv-store-settings .wcv-button {
    padding: 14px 35px;
    border: none;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-block;
}

form#wcv-store-settings .wcv-button-blue {
    background: #007cba;
    color: white;
}

form#wcv-store-settings .wcv-button-blue:hover {
    background: #005a87;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 124, 186, 0.3);
}

/* Campos de pago */
form#wcv-store-settings .wcv-payout-method {
    background: #f8f9fa;
    padding: 20px;
    border-radius: 6px;
    margin-top: 15px;
    border: 1px solid #e0e0e0;
}

/* Estados de focus */
form#wcv-store-settings .control input:focus,
form#wcv-store-settings .control textarea:focus,
form#wcv-store-settings .control select:focus,
form#wcv-store-settings .select2-container--default.select2-container--focus .select2-selection--single {
    outline: none;
    border-color: #007cba !important;
    box-shadow: 0 0 0 3px rgba(0, 124, 186, 0.1);
}

/* Responsive */
@media (max-width: 768px) {
    form#wcv-store-settings .wcv-cols-group {
        flex-direction: column;
        margin: 0;
    }
    
    form#wcv-store-settings .all-50,
    form#wcv-store-settings .all-33 {
        width: 100%;
        padding: 0;
        margin-bottom: 15px;
    }
    
    form#wcv-store-settings .wcv-tabs .tabs-nav {
        flex-direction: column;
    }
    
    form#wcv-store-settings .wcv-tabs .tabs-nav li a {
        margin-right: 0;
        margin-bottom: 5px;
        border-radius: 5px;
        text-align: center;
    }
    
    form#wcv-store-settings .wcv-store-setting-section {
        padding: 15px;
    }
    
    form#wcv-store-settings {
        padding: 10px;
    }
    
    form#wcv-store-settings .wcv-phone-input-wrapper {
        flex-direction: column;
        gap: 10px;
    }
    
    form#wcv-store-settings .wcv-phone-input-wrapper .select2-container {
        width: 100% !important;
    }
}

/* Estados de validación */
form#wcv-store-settings .control input:invalid:not(:focus) {
    border-color: #dc3545;
}

form#wcv-store-settings .control input:valid:not(:focus) {
    border-color: #28a745;
}

/* Placeholders mejorados */
form#wcv-store-settings .control input::placeholder,
form#wcv-store-settings .control textarea::placeholder {
    color: #9ca3af;
    opacity: 1;
}

/* Efectos de hover suaves */
form#wcv-store-settings .control-group:hover label {
    color: #007cba;
}

/* Mejoras para accesibilidad */
form#wcv-store-settings .control-group .vertical-middle {
    vertical-align: middle;
}

form#wcv-store-settings .no-margin {
    margin-bottom: 0 !important;
}

.tabs-nav{
    margin-top: 0 !important;
}

/* Tabs de navegación - Mejorados con bordes */
form#wcv-store-settings .wcv-tabs .tabs-nav {
    display: flex;
    border-bottom: 2px solid #e0e0e0;
    margin: 20px 0 30px 0 !important;
    background: transparent;
    min-height: auto;
}

form#wcv-store-settings .wcv-tabs .tabs-nav li {
    margin-bottom: -2px;
    list-style: none;
}

form#wcv-store-settings .wcv-tabs .tabs-nav li a {
    display: block;
    padding: 12px 25px;
    text-decoration: none;
    color: #666;
    font-weight: 500;
    border: 2px solid #e0e0e0; /* Borde agregado */
    border-bottom: 2px solid transparent; /* Borde inferior transparente por defecto */
    transition: all 0.3s ease;
    background: #f8f9fa;
    margin-right: 5px;
    border-radius: 5px 5px 0 0;
    font-size: 14px;
    line-height: 1.2;
}

form#wcv-store-settings .wcv-tabs .tabs-nav li.active a {
    color: #007cba;
    border: 2px solid #e0e0e0; /* Mismo borde */
    border-bottom: 2px solid #fff; /* Borde inferior blanco para conectar con el contenido */
    background: #fff;
    font-weight: 600;
    position: relative;
}

/* Efecto visual para el tab activo - línea azul superior */
form#wcv-store-settings .wcv-tabs .tabs-nav li.active a::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    height: 3px;
    background: #007cba;
    border-radius: 3px 3px 0 0;
}

/* Mejorar el hover */
form#wcv-store-settings .wcv-tabs .tabs-nav li a:hover {
    color: #005a87;
    background: #e3f2fd;
    border-color: #007cba;
}

/* Tab inactivo con mejor contraste */
form#wcv-store-settings .wcv-tabs .tabs-nav li:not(.active) a {
    background: #f1f3f4; /* Fondo ligeramente más oscuro para mejor contraste */
    border-color: #d1d5db; /* Borde más visible */
}

/* Dot de notificación */
form#wcv-store-settings .wcv-dot {
    display: inline-block;
    width: 6px;
    height: 6px;
    background: #dc3545;
    border-radius: 50%;
    margin-left: 4px;
    vertical-align: middle;
}

/* Versión móvil */
@media (max-width: 768px) {
    form#wcv-store-settings .wcv-tabs .tabs-nav li a {
        padding: 10px 20px;
        margin-right: 0;
        margin-bottom: 3px;
        text-align: center;
        border: 2px solid #e0e0e0; /* Mantener borde en móvil */
        border-radius: 5px; /* Bordes completos en móvil */
    }
    
    form#wcv-store-settings .wcv-tabs .tabs-nav li.active a {
        border: 2px solid #007cba; /* Borde azul en activo para móvil */
        border-bottom: 2px solid #007cba; /* Mismo borde inferior */
    }
    
    form#wcv-store-settings .wcv-tabs .tabs-nav li.active a::before {
        display: none; /* Ocultar línea azul superior en móvil */
    }
    
    form#wcv-store-settings .wcv-tabs .tabs-nav {
        margin: 15px 0 25px 0 !important;
    }

    form#wcv-store-settings.wcv-form{
        padding-left: 5px !important;
        padding-right: 5px !important;
    }
}

/* ============================= */
/* ESTILOS PARA PÁGINA QUIÉNES SOMOS */
/* ============================= */

/* Contenedor principal de la página */
.post-824 .entry-content {
    margin-top: 20px !important;
    margin-bottom: 0 !important;
}

/* Espaciadores Stackable */
.post-824 .wp-block-stackable-spacer {
    margin: 0 !important;
    padding: 0 !important;
}

/* Columnas Stackable - Ajustes generales */
.post-824 .wp-block-stackable-columns {
    margin-bottom: 30px !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Primera sección - Quiénes somos */
.post-824 .stk-25acfd9 {
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1) !important;
    padding: 40px !important;
    border: 1px solid #e9ecef !important;
    margin-bottom: 40px !important;
}

/* Texto de Quiénes somos */
.post-824 .stk-25acfd9 p {
    font-size: 16px !important;
    line-height: 1.7 !important;
    color: #2c3338 !important;
    margin-bottom: 20px !important;
    text-align: justify !important;
}

.post-824 .stk-25acfd9 p:last-of-type {
    font-weight: 600 !important;
    color: #2271b1 !important;
    text-align: center !important;
    font-style: italic !important;
    margin-bottom: 0 !important;
}

/* Segunda sección - Contacto */
.post-824 .stk-b9a2dca {
    background: transparent !important;
    margin-bottom: 0 !important;
}

/* Títulos de sección */
.post-824 .stk-block-heading {
    margin-bottom: 25px !important;
}

.post-824 .stk-block-heading__text {
    color: #2c3338 !important;
    font-weight: 700 !important;
    font-size: 28px !important;
    border-bottom: 3px solid #2271b1 !important;
    padding-bottom: 10px !important;
    display: inline-block !important;
}

/* Columna de información de contacto */
.post-824 .stk-295c483 {
    background: #f8f9fa !important;
    border-radius: 12px !important;
    padding: 30px !important;
    border: 1px solid #e9ecef !important;
    height: fit-content !important;
}

/* Columna del formulario */
.post-824 .stk-0db497d {
    background: #fff !important;
    border-radius: 12px !important;
    padding: 30px !important;
    border: 1px solid #e9ecef !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1) !important;
}

/* ============================= */
/* ESTILOS MEJORADOS PARA INFORMACIÓN DE CONTACTO */
/* ============================= */

.contact-info-container {
    background: #fff !important;
    border-radius: 10px !important;
    padding: 25px !important;
    margin-top: 20px !important;
    border-left: 4px solid #2271b1 !important;
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.08) !important;
}

.contact-info-item {
    display: flex !important;
    align-items: flex-start !important;
    margin-bottom: 20px !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid #f0f0f0 !important;
}

.contact-info-item:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
}

.contact-details {
    flex: 1 !important;
}

.contact-label {
    display: block !important;
    font-weight: 600 !important;
    color: #2c3338 !important;
    margin-bottom: 5px !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.contact-value {
    display: block !important;
    color: #2271b1 !important;
    font-weight: 500 !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

.contact-value.phone,
.contact-value.email {
    color: #2c3338 !important;
}

.contact-value:hover {
    color: #135e96 !important;
}

.contact-address {
    color: #666 !important;
    font-style: normal !important;
    line-height: 1.5 !important;
}

/* ============================= */
/* CORRECCIÓN PANEL DE CONTACTO Y FORMULARIO */
/* ============================= */

/* Panel de contacto - igual que otros paneles */
.post-824 .stk-295c483 {
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1) !important;
    padding: 30px !important;
    border: 1px solid #e9ecef !important;
    margin-bottom: 0 !important;
}

/* Contenedor de información de contacto */
.contact-info-container {
    background: transparent !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin-top: 0 !important;
    border-left: none !important;
    box-shadow: none !important;
}

/* Items de contacto */
.contact-info-item {
    display: flex !important;
    align-items: flex-start !important;
    margin-bottom: 25px !important;
    padding-bottom: 25px !important;
    border-bottom: 1px solid #f0f0f0 !important;
}

.contact-info-item:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
}

.contact-icon {
    width: 30px !important;
    height: 30px !important;
    margin-right: 15px !important;
    flex-shrink: 0 !important;
    color: #2271b1 !important;
    background: #e7f1f9 !important;
    border-radius: 50% !important;
    padding: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.contact-details {
    flex: 1 !important;
}

.contact-label {
    display: block !important;
    font-weight: 600 !important;
    color: #2c3338 !important;
    margin-bottom: 8px !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.contact-value {
    display: block !important;
    color: #2271b1 !important;
    font-weight: 500 !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

.contact-value.phone,
.contact-value.email {
    color: #2c3338 !important;
    font-size: 15px !important;
}

.contact-value:hover {
    color: #135e96 !important;
}

.contact-address {
    color: #666 !important;
    font-style: normal !important;
    line-height: 1.5 !important;
    font-size: 15px !important;
}

/* ============================= */
/* CORRECCIÓN FORMULARIO DE CONTACTO - ANCHO COMPLETO */
/* ============================= */

/* Panel del formulario */
.post-824 .stk-0db497d {
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1) !important;
    padding: 30px !important;
    border: 1px solid #e9ecef !important;
    margin-bottom: 0 !important;
}

/* Contenedor del formulario WPForms - ANCHO COMPLETO */
.post-824 #wpforms-156 {
    margin-top: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Override de las variables CSS de WPForms */
.post-824 #wpforms-156.wpforms-block-5698b77c-6f9e-49e2-bf72-a0a42ed0eee1 {
    --wpforms-field-size-input-height: 48px !important;
    --wpforms-field-size-input-spacing: 20px !important;
    --wpforms-field-size-font-size: 16px !important;
    --wpforms-field-size-line-height: 1.5 !important;
    --wpforms-field-size-padding-h: 16px !important;
    --wpforms-field-size-checkbox-size: 18px !important;
    --wpforms-label-size-font-size: 15px !important;
    --wpforms-label-size-line-height: 1.4 !important;
    --wpforms-button-size-font-size: 16px !important;
    --wpforms-button-size-height: 50px !important;
    --wpforms-button-size-padding-h: 20px !important;
    --wpforms-button-size-margin-top: 15px !important;
}

/* Campos del formulario - ANCHO COMPLETO */
.post-824 .wpforms-field {
    margin-bottom: 0 !important;
    width: 100% !important;
}

.post-824 .wpforms-field-label {
    font-weight: 600 !important;
    color: #2c3338 !important;
    margin-bottom: 10px !important;
    font-size: 15px !important;
    width: 100% !important;
    display: block !important;
}

.post-824 .wpforms-field-required {
    color: #dc3545 !important;
}

/* Campos de entrada - ANCHO COMPLETO */
.post-824 .wpforms-field-large,
.post-824 .wpforms-field-medium {
    width: 100% !important;
    max-width: 100% !important;
    padding: 14px 16px !important;
    border: 2px solid #e0e0e0 !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
    background: #fff !important;
    line-height: 1.5 !important;
}

.post-824 .wpforms-field-large:focus,
.post-824 .wpforms-field-medium:focus {
    border-color: #2271b1 !important;
    box-shadow: 0 0 0 3px rgba(34, 113, 177, 0.1) !important;
    outline: none !important;
}

/* Textarea específico - ANCHO COMPLETO */
.post-824 .wpforms-field-medium {
    min-height: 140px !important;
    resize: vertical !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Contenedor del botón - ANCHO COMPLETO */
.post-824 .wpforms-submit-container {
    margin-top: 30px !important;
    width: 100% !important;
}

/* Botón de enviar - ANCHO COMPLETO */
.post-824 .wpforms-submit {
    width: fit-content !important;
    padding: 16px !important;
    background: #2271b1 !important;
    color: white !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    line-height: 1.5 !important;
    height: auto !important;
}

.post-824 .wpforms-submit:hover {
    background: #135e96 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15) !important;
}

/* Mensajes de error/éxito */
.post-824 .wpforms-error-container,
.post-824 .wpforms-confirmation-container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 15px 0 !important;
}

/* Placeholders */
.post-824 .wpforms-field-large::placeholder,
.post-824 .wpforms-field-medium::placeholder {
    color: #9ca3af !important;
    opacity: 1 !important;
}

/* Estados de validación */
.post-824 .wpforms-field.wpforms-field-error .wpforms-field-large,
.post-824 .wpforms-field.wpforms-field-error .wpforms-field-medium {
    border-color: #dc3545 !important;
}

.post-824 .wpforms-field.wpforms-field-valid .wpforms-field-large,
.post-824 .wpforms-field.wpforms-field-valid .wpforms-field-medium {
    border-color: #28a745 !important;
}

/* ============================= */
/* RESPONSIVE PARA FORMULARIO DE CONTACTO */
/* ============================= */

@media (max-width: 768px) {
    .post-824 .stk-295c483,
    .post-824 .stk-0db497d {
        padding: 25px !important;
    }
    
    .contact-info-item {
        margin-bottom: 20px !important;
        padding-bottom: 20px !important;
    }
    
    .contact-value {
        font-size: 15px !important;
    }
    
    .post-824 .wpforms-field-large,
    .post-824 .wpforms-field-medium {
        padding: 12px 14px !important;
        font-size: 16px !important; /* Importante para móviles */
    }
    
    .post-824 .wpforms-field-medium {
        min-height: 120px !important;
    }
    
    .post-824 .wpforms-submit {
        padding: 14px !important;
    }
}

@media (max-width: 480px) {
    .post-824 .stk-295c483,
    .post-824 .stk-0db497d {
        padding: 20px !important;
    }
    
    .contact-info-item {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
    
    .contact-icon {
        margin-bottom: 10px !important;
        margin-right: 0 !important;
    }
    
    .post-824 .wpforms-field {
        margin-bottom: 20px !important;
    }
    
    .post-824 .wpforms-field-label {
        font-size: 14px !important;
    }
}

.wp-block-image{
    display: flex;
    align-content: center;
    justify-content: center;
}

/* ============================= */
/* ESTILOS PARA BOTÓN CON ICONO */
/* ============================= */

#wpforms-submit-156 {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    transition: all 0.3s ease !important;
}

#wpforms-submit-156:hover {
    transform: translateY(-2px) !important;
}

#wpforms-submit-156:hover svg {
    transform: translateX(3px) !important;
    transition: transform 0.3s ease !important;
}

#wpforms-submit-156 svg {
    transition: transform 0.3s ease !important;
    flex-shrink: 0 !important;
}

/* Estado de carga */
#wpforms-submit-156[aria-disabled='true'] svg {
    animation: spin 1s linear infinite !important;
}

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

/* ============================= */
/* CORRECCIÓN ANCHO CONTENEDORES EN MÓVIL */
/* ============================= */

@media screen and (max-width: 999px) {
    .post-824 .stk-4f39026-container,
    .post-824 .stk-295c483-container,
    .post-824 .stk-0db497d-container {
        max-width: none !important;
        min-width: auto !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        width: 100% !important;
    }
    
    /* Asegurar que las columnas ocupen todo el ancho disponible */
    .post-824 .wp-block-stackable-columns.stk-b9a2dca .stk-row {
        flex-direction: column !important;
        gap: 20px !important;
    }
    
    .post-824 .wp-block-stackable-columns.stk-b9a2dca .stk-block-column {
        width: 100% !important;
        flex: 1 1 100% !important;
    }
}

/* Para pantallas más pequeñas, ajustar el padding */
@media screen and (max-width: 768px) {
    .post-824 .stk-4f39026-container,
    .post-824 .stk-295c483-container,
    .post-824 .stk-0db497d-container {
        padding: 0 15px !important;
        box-sizing: border-box !important;
    }
    
    .post-824 .stk-25acfd9,
    .post-824 .stk-295c483,
    .post-824 .stk-0db497d {
        margin-left: 10px !important;
        margin-right: 10px !important;
        width: calc(100% - 20px) !important;
    }
}

@media screen and (max-width: 480px) {
    .post-824 .stk-4f39026-container,
    .post-824 .stk-295c483-container,
    .post-824 .stk-0db497d-container {
        padding: 0 10px !important;
    }
    
    .post-824 .stk-25acfd9,
    .post-824 .stk-295c483,
    .post-824 .stk-0db497d {
        margin-left: 5px !important;
        margin-right: 5px !important;
        width: calc(100% - 10px) !important;
        padding: 20px 15px !important;
    }
}

/* ============================= */
/* FOOTER */
/* ============================= */

/* Custom Footer Styles */
.custom-footer-wrapper {
    margin-top: auto;
}

.custom-footer {
    background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%);
    color: white;
    padding: 0;
}

/* Fila estructural para métodos de pago */
.payment-methods-row {
    padding: 15px 0;
}

.payment-methods-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
}

.payment-method {
    background: white;
    border-radius: 10px;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    border: 2px solid transparent;
    width: 100px;
    height: 60px;
}

.payment-method:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.2);
    border-color: #3498db;
}

.payment-method img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: grayscale(0.3);
    transition: filter 0.3s ease;
}

.payment-method:hover img {
    filter: grayscale(0);
}

/* Ajustes específicos para imágenes problemáticas */
.payment-method:nth-child(2) img, /* Mastercard */
.payment-method:nth-child(3) img, /* AMEX */
.payment-method:nth-child(4) img { /* PayPal */
    transform: scale(1.3); /* Hacer estas imágenes más grandes */
}

.payment-method:nth-child(5) img, /* Cash App */
.payment-method:nth-child(6) img { /* Zelle */
    width: 100%;
    height: 100%;
}

/* Contenido principal del footer */
.footer-content {
    padding: 10px 0 0;
}

.footer-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Distribución de columnas corregida */
.footer-content .footer-container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 50px;
    align-items: start;
}

.contact-section {
    justify-self: start;
}

.menu-section {
    justify-self: center;
}

.help-section {
    justify-self: end;
}

.footer-section h3 {
    color: white;
    font-size: 1.4rem;
    margin-bottom: 25px;
    font-weight: 700;
    position: relative;
    padding-bottom: 12px;
}

.footer-section h3:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 50px;
    height: 3px;
    background: linear-gradient(90deg, #e74c3c, #f39c12);
    border-radius: 2px;
}

/* Contact Info Styles */
.contact-info {
    list-style: none;
    padding: 0;
    margin: 0;
}

.contact-info li {
    margin-bottom: 20px;
    display: flex;
    align-items: flex-start;
    transition: transform 0.3s ease;
}

.contact-info li:hover {
    transform: translateX(5px);
}

.contact-info .icon {
    margin-right: 15px;
    min-width: 24px;
    text-align: center;
    color: #f39c12;
    flex-shrink: 0;
}

.contact-info strong {
    color: #f39c12;
    display: block;
    margin-bottom: 5px;
    font-size: 1rem;
}

/* Quick Links Styles */
.quick-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.quick-links li {
    margin-bottom: 12px;
}

.quick-links a {
    color: white;
    text-decoration: none;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    padding: 8px 0;
    font-size: 1rem;
    opacity: 0.9;
}

.quick-links a svg {
    margin-right: 12px;
    flex-shrink: 0;
    opacity: 0.8;
}

.quick-links a:hover {
    color: #f39c12;
    transform: translateX(5px);
    opacity: 1;
}

.quick-links a:hover svg {
    opacity: 1;
}

/* Footer Bottom Styles */
.footer-bottom {
    background: rgba(0,0,0,0.3);
    margin-top: 10px;
    padding: 25px 0;
    border-top: 1px solid rgba(255,255,255,0.1);
}

.footer-bottom .footer-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.copyright {
    color: #bdc3c7;
    font-size: 0.9rem;
}

.legal-links {
    display: flex;
    align-items: center;
    gap: 10px;
}

.legal-links a {
    color: #bdc3c7;
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.3s ease;
}

.legal-links a:hover {
    color: white;
}

.legal-links .separator {
    color: #7f8c8d;
}

@media (max-width: 768px) {
    .payment-methods-row {
        padding: 10px 0;
    }
    
    .payment-methods-wrapper {
        gap: 10px;
    }
    
    .payment-method {
        width: 80px;
        height: 60px;
        padding: 10px;
    }
    
    .footer-content {
        padding: 30px 0 0;
    }
    
    /* MANTENER 3 COLUMNAS pero más compactas */
    .footer-content .footer-container {
        grid-template-columns: 1fr 1fr 1fr;
        gap: 20px;
        padding: 0 15px;
    }
    
    .footer-section h3 {
        font-size: 1.1rem;
        margin-bottom: 15px;
        padding-bottom: 6px;
    }
    
    /* CONTACTO - Reducir uniformemente */
    .contact-info li {
        margin-bottom: 12px;
    }
    
    .contact-info .icon {
        margin-right: 8px;
        min-width: 18px;
    }
    
    .contact-info .icon svg {
        width: 16px;
        height: 16px;
    }
    
    .contact-info strong {
        font-size: 0.85rem;
        margin-bottom: 3px;
    }
    
    .contact-info div {
        font-size: 0.8rem;
        line-height: 1.3;
    }
    
    /* ENLACES - Reducir uniformemente */
    .quick-links li {
        margin-bottom: 6px;
    }
    
    .quick-links a {
        font-size: 0.85rem;
        padding: 5px 0;
    }
    
    .quick-links a svg {
        margin-right: 6px;
        width: 14px;
        height: 14px;
    }
    
    .footer-bottom .footer-container {
        flex-direction: column;
        text-align: center;
        gap: 12px;
        padding: 0 15px;
    }
}

@media (max-width: 468px) {
    .payment-methods-wrapper {
        gap: 6px;
    }
    
    .payment-method {
        width: 65px;
        height: 45px;
        padding: 6px;
    }
    
    .footer-content .footer-container {
        grid-template-columns: 1fr;
        gap: 25px;
        text-align: center;
    }
    
    .contact-section,
    .menu-section,
    .help-section {
        justify-self: center;
    }
    
    /* CENTRAR CONTENIDO DE CONTACTO */
    .contact-info {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    
    .contact-info li {
        text-align: center;
        justify-content: center;
    }
    
    .contact-info .icon {
        margin-right: 8px;
    }
    
    /* CENTRAR LÍNEA DE TÍTULOS */
    .footer-section h3 {
        font-size: 1rem;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    
    .footer-section h3:after {
        left: 50%;
        transform: translateX(-50%);
    }
    
    .quick-links a {
        font-size: 0.9rem;
        justify-content: center;
    }
}

/* Limpiar márgenes antes del footer */
body > *:last-child:not(.custom-footer-wrapper) {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Asegurar que el wrapper del footer no tenga márgenes extra */
.custom-footer-wrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* ============================= */
/* STICKY FOOTER SOLUTION */
/* ============================= */

/* SOLUCIÓN PRECISA - Eliminar espacio sin romper el layout */
body {
    position: relative !important;
    overflow-x: hidden !important;
    min-height: 100vh !important;
}

#main-container,
main#main.site-main.hfeed {
    position: relative !important;
    top: 0 !important;
    margin-top: 0 !important;
    min-height: calc(100vh - 676px) !important; /* viewport - (header + footer) */
}

.ct-container,
section,
.tienda-contenido {
    position: relative !important;
    top: 0 !important;
}

.custom-footer-wrapper {
    position: relative !important;
    margin-top: 0 !important; /* Espacio normal entre contenido y footer */
}

/* Solo eliminar transformaciones problemáticas, no todas */
#main-container {
    transform: none !important;
}

/* ============================= */
/* MENÚ LATERAL FILTROS */
/* ============================= */

/* Layout barra lateral + productos */
.ct-container[data-sidebar="left"] {
    max-width: 1540px !important;
	display: flex !important;
	gap: 0px !important;
	align-items: flex-start;
	margin-top: 0px;
    padding-top: 5px !important;
    padding-bottom: 20px !important;
}

.ct-container[data-sidebar="left"] > aside.custom-sidebar {
	flex: 0 0 280px !important; /* Ancho fijo en el flexbox */
	margin-top: 0 !important;
	width: 280px !important;
	min-width: 280px !important;
	max-width: 280px !important;
}

.ct-container[data-sidebar="left"] > section {
	flex: 1 1 auto;
	min-width: 0;
}

.custom-sidebar {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 6px 8px rgba(0,0,0,0.08);
	border: 1px solid rgba(0,0,0,0.1);
	padding: 0;
	min-width: 280px; /* Ancho mínimo fijo */
	max-width: 280px; /* Ancho máximo fijo */
	font-family: inherit;
	overflow: hidden;
	height: auto; /* Altura automática para desktop */
	box-sizing: border-box;
}

.custom-sidebar > * {
	box-sizing: border-box;
}

/* Forzar ancho consistente en todos los elementos internos */
.custom-sidebar ul,
.custom-sidebar li,
.custom-sidebar a,
.custom-sidebar .price-filter-form,
.custom-sidebar .rating-list {
	box-sizing: border-box;
}

/* Indicador de carga para secciones de filtros */
.has-submenu.loading > a .text::after {
	content: '...';
	animation: loadingDots 1.5s infinite;
}

.has-submenu.loading > a .arrow {
	display: none;
}

.has-submenu.loading {
	opacity: 0.7;
	pointer-events: none;
}


.custom-sidebar ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.custom-sidebar li {
	border-bottom: 1px solid rgba(0,0,0,0.05);
	position: relative;
}

.custom-sidebar > ul > li:last-child,
.custom-sidebar > ul > li:last-child > a {
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
	overflow: hidden;
}

.custom-sidebar a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 16px;
	text-decoration: none;
	color: #2c3338;
	font-size: 14px;
	font-weight: 600;
	transition: background 0.2s ease, color 0.2s ease;
	cursor: pointer;
	width: 100%;
	box-sizing: border-box;
}

.custom-sidebar .label-with-arrow {
	display: flex;
	align-items: center;
	gap: 6px;
}

.custom-sidebar .arrow {
	font-size: 12px;
	line-height: 1;
	display: inline-block;
	transform: rotate(0deg);
	transition: transform 0.2s ease;
}

.menu-checkbox {  
	width: 18px;
	height: 18px;
	cursor: pointer;
	flex-shrink: 0;
	margin: 0 6px 0 0;
	position: relative;
	border: 2px solid var(--theme-palette-color-4);
	border-radius: 3px;
	background-color: white;
	transition: all 0.2s ease;
	/* Ocultar checkbox nativo */
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.menu-checkbox:checked {
	background-color: var(--theme-palette-color-8);
	border-color: var(--theme-palette-color-4);
	background-color: #2271b1; /* Azul Woocommerce por defecto */
}

.menu-checkbox:checked::after {
	content: "";
	position: absolute;
	left: 6px;
	top: 3px;
	width: 5px;
	height: 10px;
	border: solid white;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

.menu-checkbox:hover {
	border-color: var(--theme-palette-color-4);
}

.custom-sidebar .count {
	font-size: 13px;
	font-weight: 600;
	color: var(--theme-palette-color-8);
	background: var(--theme-palette-color-4);
	padding: 2px 6px;
	border-radius: 10px;
	transition: background 0.2s ease, color 0.2s ease;
	flex-shrink: 0;    
}

.custom-sidebar a:hover {
	background-color: var(--theme-palette-color-4);
	color: var(--theme-palette-color-8);
}

.custom-sidebar a:hover .count {
	background-color: #fff;
	color: #2c3338;
}


/* Submenús */
.custom-sidebar .submenu {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease-out;
	background-color: #fafafa;
	margin-left: 0;
}

.custom-sidebar .submenu .submenu {
	margin-left: 20px;
	border-left: 2px solid #f0f0f0;  /* ← ESTA ES LA LÍNEA VERTICAL */
}

.custom-sidebar .submenu .submenu .submenu {
	margin-left: 20px;
}

.custom-sidebar .submenu .submenu .submenu .submenu {
	margin-left: 30px;
}

/* Efecto visual para niveles anidados */
.custom-sidebar li[style*="margin-left"] {
    border-left: 2px solid transparent;  /* Línea transparente por defecto */
    transition: border-color 0.3s ease;
}

.custom-sidebar li[style*="margin-left"]:hover {
    border-left-color: var(--theme-palette-color-4);  /* Color al hacer hover */
}

.custom-sidebar li.open > .submenu {
	max-height: 500px;
	transition: max-height 0.3s ease-in;
}

.custom-sidebar .submenu a {
	font-size: 13px;
	padding-left: 26px;
}


/* Estilos para el menú de Precios */
.custom-sidebar .price-filter-form {
	padding: 12px 16px;
}

.custom-sidebar .price-filter-form .price-row {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 10px;
}

.custom-sidebar .price-filter-form .price-label {
	font-size: 13px;
	font-weight: 600;
	color: #2c3338;
	display: flex;
	align-items: center;
	gap: 4px;
}

.custom-sidebar .price-filter-form .price-value {
	color: var(--theme-palette-color-8);
	background: var(--theme-palette-color-4);
	padding: 2px 6px;
	border-radius: 10px;
	font-weight: 600;
	transition: background 0.2s ease, color 0.2s ease;
}

.custom-sidebar .price-slider-container {
	position: relative;
	height: 10px;
	margin: 20px 10px;
	display: flex;
	align-items: center;
}

.custom-sidebar .slider-track {
	position: absolute;
	width: 100%;
	height: 5px;
	/*background: var(--theme-palette-color-4);*/
	background: #e0e0e0; /* ← SOLO CAMBIA ESTO: Gris para parte NO seleccionada */
	border-radius: 5px;
	z-index: 1;
	overflow: hidden; /* Esto contiene el pseudo-elemento */
}

.custom-sidebar .slider-track::before {
	content: '';
	position: absolute;
	height: 5px;
	left: var(--min-position);
	right: calc(100% - var(--max-position));
	/*background: #e0e0e0;*/
	background: var(--theme-palette-color-4); /* Esto se mantiene igual (parte seleccionada) */
	border-radius: 5px;
	z-index: 2;
}

.custom-sidebar .price-range {
	position: absolute;
	width: 100%;
	height: 0;
	margin: 0;
	-webkit-appearance: none;
	pointer-events: none;
	z-index: 3;
}

.custom-sidebar .price-range::-webkit-slider-thumb {
	pointer-events: all;
	-webkit-appearance: none;
	width: 16px;
	height: 16px;
	background: var(--theme-palette-color-8);
	border-radius: 50%;
	cursor: pointer;
	border: 2px solid var(--theme-palette-color-4);
	position: relative;
	z-index: 4;
	margin-top: -5px;
}

.custom-sidebar .price-range::-moz-range-thumb {
	pointer-events: all;
	width: 16px;
	height: 16px;
	background: var(--theme-palette-color-8);
	border-radius: 50%;
	cursor: pointer;
	border: 2px solid var(--theme-palette-color-4);
	position: relative;
	z-index: 4;
}

.custom-sidebar .price-filter-form .price-apply-btn {
	display: block;
	background-color: var(--theme-palette-color-8) !important;
	color: var(--theme-palette-color-4) !important;
	border: none;
	padding: 0px 0px;
	text-align: center;
	margin: 0px auto;
	border: 2px solid var(--theme-palette-color-4) !important;
	border-radius: 6px;
	font-weight: 600;
	font-size: 13px;
	cursor: pointer;
	transition: background 0.2s ease;
	width: 40%;
}

.custom-sidebar .price-filter-form .price-apply-btn:hover {
	background-color: var(--theme-palette-color-4) !important;
	color: var(--theme-palette-color-8) !important;
}

/* FILTRO DE VALORACIÓN (ESTRELLAS) */
.rating-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.rating-list li {
	padding: 0;
	border-bottom: 1px solid rgba(0,0,0,0.05);
}

.rating-list li:last-child {
	border-bottom: none;
}

.rating-list a {
	padding: 8px 16px !important;
}

.rating-list label {
	display: flex;
	align-items: center;
	cursor: pointer;
	width: 100%;
}

.stars {
	display: flex;
	margin-right: 8px;
}

.star {
	color: #ddd;
	font-size: 16px;
	margin-right: 2px;
}

.star.full {
	color: #ffb100;
}

.count {
	font-size: 13px;
	font-weight: 600;
	color: var(--theme-palette-color-8);
	background: var(--theme-palette-color-4);
	padding: 2px 6px;
	border-radius: 10px;
	transition: background 0.2s ease, color 0.2s ease;
	margin-left: auto;
}

.rating-list input[type="checkbox"]:checked ~ .count {
	background: var(--theme-palette-color-8);
	color: var(--theme-palette-color-4);
}

.rating-list input[type="checkbox"]:checked + .stars {
	position: relative;
}

.rating-list input[type="checkbox"]:checked + .stars::after {
	content: '';
	position: absolute;
	top: -2px;
	left: -2px;
	right: -2px;
	bottom: -2px;
	border: 2px solid var(--theme-palette-color-8);
	border-radius: 4px;
	background: rgba(34, 113, 177, 0.05);
}

/* Estilos para el botón de filtro en móvil */
.mobile-filter-bar {
	display: none;
	background-color: transparent;
	border-bottom: none;
	position: sticky;
	top: 100px;
	z-index: 99;
	text-align: center;
	padding: 2px 0;
}

.filter-toggle-btn {
	max-width: 100px;
	width: 40%;
	padding: 4px 4px;
	border-radius: 8px;
	box-shadow: 0 4px 6px rgba(0,0,0,0.1);
	background-color: #fff;
	border: 1px solid #e0e0e0;
	cursor: pointer;
	font-size: 16px;
	font-weight: 600;
	color: #333;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin: 0 auto;
}

.filter-toggle-btn:hover {
	background-color: #f0f0f0;
}

.icon-filter:before {
	content: "▼";
	font-size: 12px;
}
.no-products {
	text-align: center;
	padding: 40px 20px;
	font-size: 18px;
	color: #666;
	grid-column: 1 / -1;
}
/* Superposición del fondo */
.body-filter-open:after {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	z-index: 999;
}

/* El contenedor del botón de cerrar está oculto en la versión de escritorio por defecto */
.sidebar-header {
	display: none;
}

/* Scroll personalizado para el sidebar */
.custom-sidebar::-webkit-scrollbar {
	width: 4px;
}

.custom-sidebar::-webkit-scrollbar-track {
	background: #f1f1f1;
}

.custom-sidebar::-webkit-scrollbar-thumb {
	background: #c1c1c1;
	border-radius: 2px;
}

.custom-sidebar::-webkit-scrollbar-thumb:hover {
	background: #a8a8a8;
}

/* Prevenir comportamientos no deseados en iOS */
@supports (-webkit-touch-callout: none) {
.custom-sidebar {
	padding-bottom: constant(safe-area-inset-bottom);
		padding-bottom: env(safe-area-inset-bottom);
	}

/* Asegurar que los inputs no causen zoom */
	input, select, textarea {
	font-size: 16px;
	}
}

/* Mejorar la apariencia de los elementos táctiles */
button, a {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	user-select: none;
}

/* Asegurar que los elementos sean lo suficientemente grandes para tocar */
.menu-checkbox {
	min-width: 24px;
	min-height: 24px;
}

.price-range::-webkit-slider-thumb {
	min-width: 24px;
	min-height: 24px;
}

/* Estilo del botón de cerrar */
/* Botón cerrar visible y posicionado */
.close-sidebar {
	display: flex !important;
	width: 25px !important;
	height: 25px !important;
	font-size: 12px !important;
	background: #2271b1 !important;
	color: white !important;
	border: none !important;
	border-radius: 4px !important;
	cursor: pointer !important;
	align-items: center !important;
	justify-content: center !important;
	position: relative !important;
	top: auto !important;
	right: auto !important;
	margin: 0 !important;
	flex-shrink: 0 !important;
}

/* Transiciones suaves para el menú */
.has-submenu .submenu {
	transition: max-height 0.3s ease-in-out;
}

.has-submenu .arrow {
	transition: transform 0.3s ease;
}

/* ============================= */
/* CATEGORÍAS */
/* ============================= */

/*
* Esta regla de Grid ha sido reforzada para asegurar que
* las tarjetas de categoría se muestren en columnas.
*/
.categorias-tienda{
    margin: 0 0 10px 0 !important;
}
.categorias-tienda,
.woocommerce ul.products.product-subcategories {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
	gap: 15px !important;
	justify-items: left !important; /* Centra los elementos */
    margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	max-width: 1200px !important;
}

.categoria-producto-style,
.woocommerce ul.products.product-subcategories li.product-category {
	width: 100%;
	max-width: 210px;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 2px 6px rgba(0,0,0,0.08);
	padding: 15px;
	text-align: center;
	transition: transform 0.2s ease;
	height: auto;
	display: flex; /* Añadido Flexbox para control interno */
	flex-direction: column; /* Organiza los elementos verticalmente */
	align-items: center; /* Centra el contenido horizontalmente */
	justify-content: flex-start; /* Alinea los elementos arriba */
}

.categoria-producto-style a,
.woocommerce ul.products.product-subcategories li.product-category a {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}

.categoria-producto-style img,
.woocommerce ul.products.product-subcategories li.product-category img {
	border-radius: 5px;
	margin: 0;
	width: 100%;
	height: 150px; /* Altura fija para uniformidad */
	object-fit: contain; /* Ajusta la imagen sin recortarla ni distorsionarla */
	flex-shrink: 0;
}

.categoria-producto-style .woocommerce-loop-product__title,
.woocommerce ul.products.product-subcategories li.product-category h2 {
	color: #2c3338;
	display: block;
	font-size: 1.1em;
	font-weight: 600;
	margin-top: 10px;
	min-height: 40px;
	text-align: center;
}

.categoria-producto-style .count,
.woocommerce ul.products.product-subcategories li.product-category .count {
	color: #007bff !important; /* Color azul forzado */
	font-size: 0.9em !important;
	font-weight: bold !important; /* Texto en negrita forzado */
	margin-top: -5px !important;
}

/* HOVER COMPARTIDO */

.woocommerce ul.products li.product:hover,
.categoria-producto-style:hover,
.woocommerce ul.products.product-subcategories li.product-category:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 16px rgba(0,0,0,0.12);
	border-color: #d1d5db;
}

/* ============================= */
/* PRODUCTOS */
/* ============================= */

.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); /* Optimizado para ajustar el tamaño */
	gap: 15px;
	justify-items: left !important;
	margin: 20px auto;
	margin-bottom: 5px;
	padding: 0;
	list-style: none;
	max-width: 1450px;
}

/* ============================= */
/* RESPONSIVIDAD */
/* ============================= */

/* Eliminar bordes y líneas de las tarjetas */
.categoria-producto-style,
.woocommerce ul.products li.product {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Eliminar cualquier línea interior en tarjetas */
.woocommerce-loop-product__title,
.woocommerce-loop-product__title a,
.woocommerce ul.products li.product .price,
.ct-woo-card-actions {
    border: none !important;
    box-shadow: none !important;
}

/* AJUSTES ADICIONALES DE ESPACIADO */

.woocommerce ul.products li.product,
.categoria-producto-style {
    padding: 12px !important;
    margin: 0 !important;
}

/* Eliminar cualquier espacio extra alrededor de los grids */
.woocommerce ul.products,
.categorias-tienda {
    margin: 0 !important;
    padding: 0 !important;
}

/* Asegurar que las imágenes no tengan bordes */
.woocommerce ul.products li.product a img,
.categoria-producto-style img {
    border: none !important;
    outline: none !important;
}

/* MEJORA VISUAL GENERAL */
.woocommerce ul.products li.product,
.categoria-producto-style {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
    border-radius: 12px !important;
    transition: all 0.3s ease !important;
}

.woocommerce ul.products li.product:hover,
.categoria-producto-style:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.12) !important;
}

.ct-container[data-sidebar="left"] > section,
.tienda-contenido {
    /*padding-bottom: 0px !important; /* Ajusta este valor (por ejemplo, 50px) para controlar la cantidad de espacio */
    position: relative;
    min-height: auto !important;
    flex: 1 1 auto;
    min-width: 0;
    padding: 0 10px 10px 10px !important;
}

div.ct-container:nth-child(2) > section:nth-child(1) {
    /*padding-bottom: 0px !important; /* Ajusta este valor (por ejemplo, 50px) para controlar la cantidad de espacio */
    position: relative;
    min-height: auto !important;
    flex: 1 1 auto;
    min-width: 0;
    padding: 10px 10px 10px 10px !important;
}

.search-box-container {
    padding: 15px;
    border-bottom: 1px solid #eee;
}

.search-box {
    display: flex;
    align-items: stretch;
    background: white;
    border: 1px solid #ddd;
    border-radius: 25px;
    overflow: hidden;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
}

.search-box:focus-within {
    border-color: #2271b1;
    box-shadow: 0 2px 8px rgba(34, 113, 177, 0.2);
}

.search-input {
    flex: 1;
    border: none;
    padding: 12px 15px;
    font-size: 14px;
    outline: none;
    background: transparent;
    height: 100%;
}

.search-btn {
    background: #2271b1;
    border: none;
    padding: 0 18px;
    cursor: pointer;
    color: white;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: -1px;
    border-radius: 0 25px 25px 0;
}

.search-btn:hover {
    background: #135e96;
    transform: none;
}

.search-btn:active {
    background: #0c4a7a;
}

.search-input:focus,
.search-btn:focus {
    outline: none;
}

.search-results-info {
    margin-top: 8px;
    font-size: 12px;
    color: #666;
    text-align: center;
    min-height: 18px;
}

.search-results-info .highlight {
    color: #2271b1;
    font-weight: 600;
}

@media (max-width: 796px) {

    .ct-container[data-sidebar="left"] > section,
    .tienda-contenido {
        padding: 10px 5px 0 10px !important;
    }

	.woocommerce div.product {
		padding-top: 15px;
		padding-bottom: 15px;
	}

	.woocommerce div.product .summary {
		margin-top: 15px;
		margin-bottom: 15px;
	}

	.woocommerce-products-header {
		margin-bottom: 0 !important;
	}

	.woocommerce-shop .page-content,
	.woocommerce.archive .page-content {
		padding-bottom: 20px !important;
	}

	.site-footer {
		margin-top: 20px !important;
	}

	.ct-titulo-barra {
		padding-left: 5px;
		margin: 10px auto;
	}

	.ct-titulo-barra .title-text {
		font-size: 1.25rem;
	}

	.mobile-filter-bar {
		display: block;
	}

	body.admin-bar .mobile-filter-bar {
		top: 100px;
	}

	body.body-filter-open {
		overflow: hidden;
	}

	.custom-sidebar {
		position: fixed;
		top: 0;
		left: 0;
		width: 85%;
		height: auto; /* Altura según contenido */
		max-height: 90vh; /* Límite máximo pero no siempre 100% */
		z-index: 9999996;
		transform: translateX(-100%);
		transition: transform 0.3s ease-out;
		overflow-y: auto; /* Scroll solo cuando sea necesario */
		-webkit-overflow-scrolling: touch;
		border-radius: 0;
		border: none;
        padding: 0 20px 0 15px !important;
	}

	body.body-filter-open .custom-sidebar {
		transform: translateX(0);
	}

	body.body-filter-open:after {
		content: '';
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0, 0, 0, 0.5);
		z-index: 10002;
		transition: opacity 0.3s ease-in-out;
	}

	body.body-filter-open .site-header,
	body.body-filter-open .site-content > div:not(.custom-sidebar),
	body.body-filter-open .site-footer {
		pointer-events: none;
	}

	.sidebar-header {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding:10px 10px 5px 10px !important;
        border-bottom: 1px solid #eee !important;
        margin-bottom: 15px !important;
        width: 100% !important;
        box-sizing: border-box !important;
        margin-bottom: 0px !important;
    }

	/* Logo visible */
    .sidebar-logo {
        width: 30px !important;
        height: 30px !important;
        flex-shrink: 0 !important;
        display: block !important;
    }
    
    .sidebar-logo img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
        border-radius: 8px !important;
        display: block !important;
    }

	.sidebar-menu {
		padding-top: 0;
		padding-bottom: 20px;
	}

	.sidebar-menu > li {
		padding-left: 0;
		margin-left: 0;
	}

	.sidebar-menu .submenu {
		padding-left: 0;
		margin: 0;
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.3s ease-in-out;
	}

	.custom-sidebar li.open > .submenu {
		max-height: 500px;
	}

	.sidebar-menu li a {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	/* Botón cerrar visible y posicionado */
    .close-sidebar {
        display: flex !important;
        width: 25px !important;
        height: 25px !important;
        font-size: 12px !important;
        background: #2271b1 !important;
        color: white !important;
        border: none !important;
        border-radius: 4px !important;
        cursor: pointer !important;
        align-items: center !important;
        justify-content: center !important;
        position: relative !important;
        top: auto !important;
        right: auto !important;
        margin: 0 !important;
        flex-shrink: 0 !important;
    }

	/* Prevenir que los inputs causen zoom en iOS */
	input[type="range"],
	input[type="checkbox"] {
		font-size: 16px;
	}

	.custom-sidebar > ul {
		min-height: calc(100vh - 60px);
		overflow-y: auto;
	}

	/* Prevenir que los inputs causen zoom en iOS */
	input[type="range"],
	input[type="checkbox"] {
		font-size: 16px;
	}
	
	.ct-container[data-sidebar="left"],
    .tienda-contenido,
    .woocommerce ul.products,
    .categorias-tienda {
        margin: 0 !important;
        padding-left: 5px !important;
        padding-right: 5px !important;
        width: 100% !important;
    }
    
    /* Ajuste específico para el contenedor principal */
    .ct-container[data-sidebar="left"] {
        padding: 0 !important;
    }
	
	/* FUERZA QUE EL CONTENEDOR DEL BOTÓN Y EL SELECTOR SEA FLEX EN FILA */
    .woocommerce ul.products li.product .ct-woo-card-actions {
        display: flex !important;
        flex-direction: row !important; /* Asegura que los elementos se mantengan en una fila */
        align-items: center !important;
        flex-wrap: nowrap !important;
        gap: 5px !important;
        width: 100% !important;
        justify-content: center !important;
    }

    /* Estilos del selector de cantidad */
    .woocommerce ul.products li.product .ct-woo-card-actions .quantity {
        flex-grow: 1 !important;
        max-width: 90px !important;
    }

    /* Estilos del botón de "Añadir al carrito" */
    .woocommerce ul.products li.product .ct-woo-card-actions .add_to_cart_button.button {
        padding: 8px 12px !important;
        white-space: nowrap !important;
    }

    /* Asegurar que el ícono sea visible y del tamaño adecuado */
    .woocommerce ul.products li.product .ct-woo-card-actions .add_to_cart_button.button .cart-icon {
        font-size: 18px !important;
        margin-left: 0 !important;
    }
	
	/* Flex-wrap para evitar que los elementos se amontonen */
    .woocommerce ul.products li.product.product_cat-recargas .ct-woo-card-actions {
        flex-wrap: wrap; /* Permite que los elementos pasen a la siguiente línea */
        justify-content: space-between !important; /* Distribuye el espacio entre los elementos */
        align-items: flex-start !important; /* Alinea los elementos en la parte superior */
        gap: 10px !important; /* Aumenta el espacio entre los elementos */
    }

    /* Asegura que el título no se desborde y mantenga el tamaño de fuente */
    .woocommerce ul.products li.product.product_cat-recargas .woocommerce-loop-product__title {
        font-size: 1em !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        flex: 1 1 100%; /* Ocupa todo el ancho disponible */
        margin-bottom: 5px !important; /* Espacio debajo del título */
    }

    /* Ajuste para el precio, asegurando que no se corte */
    .woocommerce ul.products li.product.product_cat-recargas .price {
        flex: 1 1 50%; /* Ocupa la mitad del ancho para coexistir */
        font-size: 1.2em !important; /* Haz que el precio sea más visible */
        text-align: left;
    }
    
    /* Asegura que las estrellas y las acciones de cantidad estén bien espaciadas */
    .woocommerce ul.products li.product.product_cat-recargas .star-rating {
        flex: 1 1 50%; /* Ocupa la mitad del ancho para coexistir */
        text-align: right; /* Alinea las estrellas a la derecha */
        margin-bottom: 0 !important;
    }
    
    /* Ajuste para el botón de cantidad, asegurando que ocupe el ancho correctamente */
    .woocommerce ul.products li.product.product_cat-recargas .quantity {
        flex: 1 1 auto !important; /* Ocupa el espacio restante */
        max-width: 100% !important; /* Asegura que no se desborde */
    }
    
    /* Ajuste para el botón de añadir al carrito */
    .woocommerce ul.products li.product.product_cat-recargas .button.add_to_cart_button {
        flex: 1 1 100% !important; /* El botón de añadir al carrito ocupa su propia línea */
        margin-top: 10px !important; /* Espacio sobre el botón */
    }
}

@media (max-width: 768px) {
    .search-box-container {
        padding: 12px;
    }
    
    .search-input {
        padding: 14px 12px;
        font-size: 16px;
    }
    
    .search-btn {
        padding: 0 16px;
    }
    
    .search-btn svg {
        width: 18px;
        height: 18px;
    }
}

@media (max-width: 480px) {
	.woocommerce-before-main-content {
		padding-bottom: 10px !important;
	}

	.woocommerce-products-header {
		margin-bottom: 5px !important;
	}

	.woocommerce-shop .page-content,
	.woocommerce.archive .page-content {
		padding-bottom: 10px !important;
	}

    .ct-container[data-sidebar="left"] > section,
    .tienda-contenido {
        padding: 5px 0px 0 0px !important;
    }

	.woocommerce-products {
		margin-bottom: 10px !important;
	}

	.site-footer {
		margin-top: 10px !important;
	}

	.woocommerce-after-shop-loop {
		margin-top: 15px;
		padding-bottom: 15px;
	}

	.custom-sidebar {
		width: 90%;
	}

	.sidebar-menu li a {
		padding: 12px 15px;
	}

	.price-filter-form {
		padding: 10px;
	}

	.price-slider-container {
		margin: 15px 5px;
	}

	/* Asegurar que los sliders sean fáciles de tocar */
	.price-range::-webkit-slider-thumb {
		width: 20px;
		height: 20px;
	}

	.price-range::-moz-range-thumb {
		width: 20px;
		height: 20px;
	}

	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: 14px;
	}

	.woocommerce ul.products li.product .price {
		font-size: 15px;
	}

	.woocommerce ul.products li.product .ct-woo-card-actions {
		flex-direction: column;
	}

	.woocommerce ul.products li.product .quantity {
		width: 100%;
	}

	.tooltip-text {
        width: 85vw;
        max-width: calc(100vw - 40px);
        left: 50%;
        transform: translateX(-50%);
        bottom: auto;
        top: 100%;
        margin-top: 12px;
    }
    
    .tooltip-text::after {
        top: -6px;
        left: 50%;
        margin-left: -6px;
        border-width: 6px;
        border-style: solid;
        border-color: transparent transparent #1d2327 transparent;
    }
    
    .help-tooltip:hover .tooltip-text {
        transform: translateX(-50%) translateY(0);
    }
    
    /* Casos especiales para bordes */
    .select-with-help:last-child .help-tooltip:hover .tooltip-text {
        left: auto;
        right: 0;
        transform: translateX(0) translateY(0);
    }
    
    .select-with-help:first-child .help-tooltip:hover .tooltip-text {
        left: 0;
        right: auto;
        transform: translateX(0) translateY(0);
    }
    
    /* Ajuste para tooltips muy largos */
    .checkbox-container .tooltip-text {
        white-space: normal;
    }
	
	.woocommerce ul.products li.product .ct-woo-card-actions {
        display: flex;
        align-items: center;
        flex-wrap: nowrap; /* Evita que los elementos se salten de línea */
        gap: 5px; /* Pequeño espacio entre el selector y el botón */
        width: 100%;
        justify-content: left; /* Centra los elementos */
    }
    
    /* Selector de cantidad compacto */
    .woocommerce ul.products li.product .quantity {
        width: 70px !important;
        min-width: 70px !important;
        flex-shrink: 0 !important;
    }
	
	/* Contenedor del precio: Mantiene todos los elementos en una fila, sin importar el espacio. */
    .woocommerce ul.products li.product .price {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: left !important;
    }

    /* Reduce el tamaño de la fuente para que quepa en una sola línea. */
    .woocommerce ul.products li.product .price .amount,
    .woocommerce ul.products li.product .price del .amount,
    .woocommerce ul.products li.product .price ins .amount {
        font-size: 0.8em !important; /* Puedes ajustar este valor si lo necesitas. */
        line-height: 1.2 !important; /* Asegura que la altura de la línea no cause saltos. */
        white-space: nowrap !important; /* Refuerza para evitar saltos. */
    }

    /* Asegura que el símbolo de la moneda y otros textos sean pequeños y se mantengan en línea. */
    .woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol {
        font-size: 0.8em !important;
        white-space: nowrap !important;
    }

    /* Opcional: Elimina el texto 'USD' si está presente para ahorrar espacio */
    .woocommerce ul.products li.product .price .woocommerce-price-suffix {
        display: none !important;
    }

    /* Asegura que el título no se desborde y mantenga el tamaño de fuente */
    .woocommerce ul.products li.product.product_cat-recargas .woocommerce-loop-product__title {
        font-size: 0.8em !important;
    }
}

/* ============================= */
/* ANIMACIONES */
/* ============================= */

@keyframes loadingDots {
	0%, 20% { content: '.'; }
	40% { content: '..'; }
	60%, 100% { content: '...'; }
}

@keyframes pulseGreen {
	0% { 
	transform: scale(1);
	box-shadow: 0 0 0 0 rgba(76, 175, 80, 0.7);
	}
	50% { 
		transform: scale(0.95);
		box-shadow: 0 0 0 10px rgba(76, 175, 80, 0);
	}
	100% { 
		transform: scale(1);
		box-shadow: 0 0 0 0 rgba(76, 175, 80, 0);
	}
}

@keyframes spin {
	to { transform: rotate(360deg); }
}

@keyframes fadeIn {
	from { opacity: 0; transform: translateY(5px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes spin {
	to { transform: rotate(360deg); }
}

/* En tu happyshop.css */
.params-activos {
    background: #f8f9fa;
    padding: 15px;
    border-radius: 8px;
    margin: 15px 0;
    border-left: 4px solid #2271b1;
}

.params-activos h4 {
    margin: 0 0 10px 0;
    color: #2271b1;
    font-size: 16px;
}

.params-activos ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.params-activos li {
    margin-bottom: 5px;
    padding: 5px 0;
    border-bottom: 1px solid #e9ecef;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.params-activos li:last-child {
    border-bottom: none;
}

.eliminar-filtro {
    background: #dc3545;
    color: white;
    border: none;
    padding: 2px 8px;
    border-radius: 3px;
    cursor: pointer;
    font-size: 12px;
}

.custom-sidebar .price-filter-form .price-apply-btn:disabled {
    background-color: #cccccc !important;
    color: #666666 !important;
    border-color: #cccccc !important;
    cursor: not-allowed !important;
    opacity: 0.5 !important;
}

.custom-sidebar .price-filter-form .price-apply-btn:disabled:hover {
    background-color: #cccccc !important;
    color: #666666 !important;
    border-color: #cccccc !important;
}

.arrow.down::before {
    content: "▼";
}

.arrow.right::before {
    content: "▶";
}

/* Opcional: eliminar el textContent actual si existe */
.arrow {
    content: "" !important;
}
/* Estilos para el botón aplicar de precios */
.custom-sidebar .price-filter-form .price-apply-btn:disabled {
    background-color: #cccccc !important;
    color: #666666 !important;
    border-color: #cccccc !important;
    cursor: not-allowed !important;
    opacity: 0.5 !important;
}

.custom-sidebar .price-filter-form .price-apply-btn:disabled:hover {
    background-color: #cccccc !important;
    color: #666666 !important;
    border-color: #cccccc !important;
}

.custom-sidebar .price-filter-form .price-apply-btn:not(:disabled) {
    background-color: var(--theme-palette-color-8) !important;
    color: var(--theme-palette-color-4) !important;
    border: 2px solid var(--theme-palette-color-4) !important;
    cursor: pointer !important;
}

.custom-sidebar .price-filter-form .price-apply-btn:not(:disabled):hover {
    background-color: var(--theme-palette-color-4) !important;
    color: var(--theme-palette-color-8) !important;
}
/* Estilos para checkbox de rating deshabilitados */
.rating-list li[style*="opacity: 0.5"] {
    background-color: #f9f9f9 !important;
}

.rating-list li[style*="opacity: 0.5"] a {
    cursor: not-allowed !important;
}

.rating-list li[style*="opacity: 0.5"] label {
    cursor: not-allowed !important;
}

.rating-list li[style*="opacity: 0.5"] .stars {
    opacity: 0.7;
}

.rating-list li[style*="opacity: 0.5"] .count {
    background-color: #cccccc !important;
    color: #888888 !important;
}

/* Estilo para checkbox deshabilitados */
.rating-list input[type="checkbox"]:disabled {
    opacity: 0.5;
    cursor: not-allowed !important;
}

.rating-list input[type="checkbox"]:disabled + .stars {
    opacity: 0.7;
}

.rating-list input[type="checkbox"]:disabled ~ .count {
    background-color: #cccccc !important;
    color: #888888 !important;
}

/* Ocultar contenido inicial hasta que se procesen los filtros de URL */
body.loading-url-filters .tienda-contenido {
    opacity: 0;
    visibility: hidden;
}

body.loading-url-filters .tienda-contenido::after {
    content: "Cargando filtros...";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 16px;
    color: #666;
}

/* Mejoras para el loader */
.url-filters-loading {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(255, 255, 255, 0.95);
    padding: 20px 30px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    z-index: 9999;
    font-size: 16px;
    font-weight: 500;
    color: #2271b1;
    border: 1px solid #c3c4c7;
}

/* Indicador visual de que PHP ya procesó los filtros */
.php-filtered-products {
    animation: fadeIn 0.5s ease-in;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Ocultar contenido inicial durante la carga */
.body-loading-url-filters .tienda-contenido {
    opacity: 0.3;
}

/* ============================= */
/* CORRECCIÓN CONTADOR CATEGORÍAS */
/* ============================= */

/* Estilos específicos para el contador en categorías */
.categoria-producto-style .price,
.woocommerce ul.products.product-subcategories li.product-category .price {
    /* Resetear estilos heredados */
    font-weight: bold !important;
    
}

/* Asegurar que en móviles se vea bien */
@media (max-width: 480px) {
    .categoria-producto-style .price,
    .woocommerce ul.products.product-subcategories li.product-category .price {
        font-size: 0.8em !important;
        margin-top: 0 !important;
    }
}

/* ============================= */
/* woo listing top */
/* ============================= */

.woo-listing-top{
	padding-top: 10px !important;
	min-height: 43px;
}

.woocommerce-result-count{
	margin: 0 !important;
    padding: 0 !important;
    font-size: 14px !important;
    color: #666 !important;
    font-weight: bold !important;
    text-transform: lowercase !important;
    font-variant: normal !important;
}
    
.woocommerce-result-count:first-letter {
    text-transform: uppercase !important;
}

/* Mantener la solución de contenido */
.woocommerce-result-count {
    content: attr(data-text) !important;
}

@media (max-width: 848px) {
    .woocommerce-result-count{
		padding-left: 0 !important;
	}

	.orderby {
		display: none !important;
	}

	.ct-sort-icon {
		display: none !important;
	}
}

@media (max-width: 480px) {
    .woocommerce-result-count{
		padding-left: 0 !important;
	}

	.orderby {
		display: none !important;
	}

	.ct-sort-icon {
		display: none !important;
	}
}

/* ============================= */
/* SKELETONS PARA TIENDA - MÁRGENES EXACTOS */
/* ============================= */

/* Ocultar sidebar real durante carga */
.tienda-contenido.loading ~ .custom-sidebar {
    opacity: 0.3;
    pointer-events: none;
}

/* Contenedor de skeletons - Mismos márgenes que .products */
.tienda-skeleton-container {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
    margin: 0 0 0 0 !important; /* EXACTAMENTE igual que .products: margin: 20px auto; */
    padding: 0 !important;
    list-style: none !important;
    gap: 15px !important;
    justify-items: stretch !important; /* Hace que las tarjetas ocupen todo el espacio disponible */
}

/* Esqueleto individual para tienda */
.tienda-product-skeleton {
    width: 100% !important;
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08) !important;
    padding: 15px !important;
    height: auto !important;
	max-height: 346px !important;
    text-align: left !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}

/* Elementos del skeleton con animación */
.tienda-skeleton-image {
    width: 100% !important;
    height: 180px !important;
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    border-radius: 5px !important;
    animation: tienda-skeleton-loading 1.5s infinite;
    margin: 0 0 10px 0 !important;
}

.tienda-skeleton-title {
    height: 20px !important;
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    border-radius: 4px !important;
    margin: 5px 0 !important;
    animation: tienda-skeleton-loading 1.5s infinite;
}

.tienda-skeleton-title:first-of-type {
    margin: 5px 0 5px 0 !important;
    height: 16px !important;
    width: 90% !important;
}

.tienda-skeleton-title.short {
    width: 60% !important;
    height: 14px !important;
    margin: 0 0 10px 0 !important;
}

.tienda-skeleton-price {
    height: 24px !important;
    width: 40% !important;
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    border-radius: 4px !important;
    margin: 5px 0 10px 0 !important;
    animation: tienda-skeleton-loading 1.5s infinite;
}

.tienda-skeleton-rating {
    height: 16px !important;
    width: 70% !important;
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    border-radius: 4px !important;
    margin: 0 0 15px 0 !important;
    animation: tienda-skeleton-loading 1.5s infinite;
}

.tienda-skeleton-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin-top: 5px !important;
    margin-bottom: 5px !important;
    width: 100% !important;
}

.tienda-skeleton-quantity {
    width: 80px !important;
    height: 38px !important;
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    border-radius: 6px !important;
    animation: tienda-skeleton-loading 1.5s infinite;
    flex-shrink: 0 !important;
}

.tienda-skeleton-button {
    flex-grow: 1 !important;
    height: 38px !important;
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    border-radius: 6px !important;
    animation: tienda-skeleton-loading 1.5s infinite;
}

@keyframes tienda-skeleton-loading {
    0% {
        background-position: 200% 0;
    }
    100% {
        background-position: -200% 0;
    }
}

/* Transición suave - Ocultar productos reales pero mantener el espacio del woo-listing-top */
.tienda-contenido.loading .products {
    opacity: 0;
    height: 0;
    overflow: hidden;
}

/* Mantener el woo-listing-top visible pero con opacidad reducida */
.tienda-contenido.loading .woo-listing-top {
    opacity: 0;
    height: 0;
	overflow: hidden
}

/* Ocultar skeletons cuando se muestre el contenido real */
.tienda-contenido:not(.loading) .tienda-skeleton-container {
    display: none;
}

/* ============================= */
/* ANIMACIONES - SIN MODIFICAR DISEÑO */
/* ============================= */

/* Contenedor principal con transición */
.rtcl-listings.rtcl-list-view,
ul.categorias-tienda,
.woocommerce ul.products {
    opacity: 1;
    transition: opacity 0.3s ease-in-out;
    position: relative;
}

.rtcl-listings.rtcl-list-view.hidden,
ul.categorias-tienda.hidden,
.woocommerce ul.products.hidden {
    opacity: 0;
    pointer-events: none;
}

/* Loader elegante */
.loading-servicios,
.loading-tienda {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    z-index: 10;
}

.loading-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid #f3f3f3;
    border-top: 3px solid #2271b1;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin: 0 auto 15px;
}

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

.loading-text {
    color: #666;
    font-size: 16px;
    margin: 0;
}

/* Efecto de fade out/in */
.rtcl-listings,
ul.categorias-tienda,
.woocommerce ul.products {
    transition: opacity 0.3s ease-in-out;
}

/* ANIMACIONES PARA ELEMENTOS REALES */
.rtcl-widget-listing-item,
li.categoria-producto-style:not(.skeleton-loader),
.woocommerce ul.products li.product {
    animation: fadeInUp 0.5s ease-out;
    animation-fill-mode: both;
}

/* Animación escalonada */
.rtcl-widget-listing-item:nth-child(1),
li.categoria-producto-style:not(.skeleton-loader):nth-child(1),
.woocommerce ul.products li.product:nth-child(1) { animation-delay: 0.1s; }

.rtcl-widget-listing-item:nth-child(2),
li.categoria-producto-style:not(.skeleton-loader):nth-child(2),
.woocommerce ul.products li.product:nth-child(2) { animation-delay: 0.2s; }

.rtcl-widget-listing-item:nth-child(3),
li.categoria-producto-style:not(.skeleton-loader):nth-child(3),
.woocommerce ul.products li.product:nth-child(3) { animation-delay: 0.3s; }

.rtcl-widget-listing-item:nth-child(4),
li.categoria-producto-style:not(.skeleton-loader):nth-child(4),
.woocommerce ul.products li.product:nth-child(4) { animation-delay: 0.4s; }

.rtcl-widget-listing-item:nth-child(5),
li.categoria-producto-style:not(.skeleton-loader):nth-child(5),
.woocommerce ul.products li.product:nth-child(5) { animation-delay: 0.5s; }

.rtcl-widget-listing-item:nth-child(6),
li.categoria-producto-style:not(.skeleton-loader):nth-child(6),
.woocommerce ul.products li.product:nth-child(6) { animation-delay: 0.6s; }

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

@keyframes pulse {
    0% { opacity: 0.9; }
    50% { opacity: 0.7; }
    100% { opacity: 0.9; }
}

@keyframes subtle-shimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}

/* ============================= */
/* BOTÓN LIMPIAR FILTROS EN SIDEBAR */
/* ============================= */

.custom-sidebar .clear-filters-btn {
    display: block;
    background-color: #0073aa !important;
    color: white !important;
    font-weight: 600;
    text-align: center;
    padding: 0px 0;
    margin: 10px auto;
    border: 2px solid #0073aa !important;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.2s ease;
    text-decoration: none !important;
    width: 60%;
}

.custom-sidebar .clear-filters-btn:hover {
    background-color: #005a87 !important;
    border-color: #005a87 !important;
    color: white !important;
}

.custom-sidebar .clear-filters-btn:disabled {
    background-color: #ccc !important;
    border-color: #ccc !important;
    color: #666 !important;
    cursor: not-allowed;
    opacity: 0.6;
}

.custom-sidebar .clear-filters-btn svg {
    width: 16px;
    height: 16px;
    margin-right: 8px;
    vertical-align: middle;
    stroke: white;
}

.custom-sidebar .clear-filters-btn:disabled svg {
    stroke: #666;
}

.clear-filters-btn:not(:disabled):hover {
    opacity: 0.9;
}

/* ============================= */
/* ESTILOS PARA ESTRUCTURA DE PRODUCTOS SIMILAR A SERVICIOS */
/* ============================= */

/* Contenedor principal similar a servicios */
.rtcl-listings-sc-wrapper {
    width: 100%;
    box-sizing: border-box;
}

.rtcl-listings-wrapper {
    width: 100%;
    box-sizing: border-box;
}

.rtcl-listings.rtcl-ajax-listings.rtcl-list-view.rtcl-style-1-view {
    width: 100%;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}

/* Contenedor de resultados vacíos */
.rtcl-listings .no-resultados-container {
    margin: 25px 15px;
    padding: 50px 35px;
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
    border: 1px solid #e5e7eb;
    text-align: center;
    max-width: calc(100% - 40px);
    width: calc(100% - 40px);
    box-sizing: border-box;
}

/* Asegurar que los estilos se apliquen específicamente */
.tienda-contenido .rtcl-listings .no-resultados-container {
    margin: 25px 15px !important;
    padding: 50px 35px !important;
    background: #ffffff !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1) !important;
    border: 1px solid #e5e7eb !important;
    text-align: center !important;
    max-width: calc(100% - 40px) !important;
    width: calc(100% - 40px) !important;
    box-sizing: border-box !important;
}

/* Responsive */
@media (max-width: 768px) {
    .tienda-contenido .rtcl-listings .no-resultados-container {
        margin: 20px 12px !important;
        padding: 40px 25px !important;
        max-width: calc(100% - 30px) !important;
        width: calc(100% - 30px) !important;
    }
    
}

@media (max-width: 480px) {
    .tienda-contenido .rtcl-listings .no-resultados-container {
        margin: 15px 10px !important;
        padding: 30px 20px !important;
        max-width: calc(100% - 25px) !important;
        width: calc(100% - 25px) !important;
    }
}

.no-resultados-icono {
    margin-bottom: 25px;
}

.no-resultados-icono svg {
    color: #ddd;
    stroke: #e0e0e0;
}

.no-resultados-titulo {
    font-size: 24px;
    font-weight: 600;
    color: #333;
    margin-bottom: 15px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* ESTILOS ESPECÍFICOS PARA EL PÁRRAFO DEL MENSAJE */
.no-resultados-mensaje {
    font-size: 16px !important;
    color: #666 !important;
    line-height: 1.6 !important;
    margin: 0 auto 30px auto !important; /* Centrado con margin auto */
    max-width: 500px !important;
    text-align: center !important;
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.no-resultados-acciones {
    display: flex;
    justify-content: center;
    gap: 15px;
}

.no-resultados-boton {
    padding: 12px 24px;
    border: 2px solid #0073aa;
    background: #0073aa;
    color: white !important;
    border-radius: 6px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    text-decoration: none;
}

.no-resultados-icono,
.no-resultados-titulo,
.no-resultados-mensaje,
.no-resultados-acciones {
    text-align: center;
    width: 100%;
}

.no-resultados-boton:hover {
    background: #005a87;
    border-color: #005a87;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 115, 170, 0.2);
    color: white !important;
}

@media (max-width: 768px) {    
    .no-resultados-titulo {
        font-size: 20px;
    }
    
    .no-resultados-acciones {
        flex-direction: column;
        align-items: center;
    }
    
    .no-resultados-boton {
        width: 100%;
        justify-content: center;
    }
}

/* ============================= */
/* PAGINACIÓN */
/* ============================= */

.woo-listing-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 2px !important;
    margin-bottom: 5px !important;
    padding: 0 0 0 0 !important;
    min-height: 43px;
}

.contador-productos {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 14px;
    color: #666;
    font-weight: bold !important;
}

.paginacion-superior {
    margin-left: auto;
    display: flex;
    align-items: center;
    height: 100%;
}

.paginacion-superior .woocommerce-pagination,
.paginacion-productos .woocommerce-pagination {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    box-shadow: none !important;
    padding-bottom: 5px !important;
}

.paginacion-top {
    border: none !important;
    background: none !important;
    box-shadow: none !important;
}

.paginacion-top > ul:nth-child(1){
    border: none !important;
}

.paginacion-top ul.page-numbers,
.paginacion-bottom ul.page-numbers {
    display: flex;
    gap: 4px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
    align-items: center;
    height: 100%;
}

.paginacion-top .page-numbers,
.paginacion-bottom .page-numbers {
    padding: 6px 10px !important;
    border: 1px solid #ddd !important;
    border-radius: 3px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 32px;
    font-size: 13px;
    line-height: 1;
    background: #fff;
    color: #333 !important;
    transition: all 0.2s ease;
}

.paginacion-top .page-numbers:hover,
.paginacion-bottom .page-numbers:hover {
    background-color: #f8f9fa;
    border-color: #0073aa;
    color: #333 !important;
}

.paginacion-top .page-numbers.current,
.paginacion-bottom .page-numbers.current {
    background-color: #0073aa !important;
    color: white !important;
    border-color: #0073aa !important;
}

.paginacion-top .page-numbers.current:hover,
.paginacion-bottom .page-numbers.current:hover {
    background-color: #005a87 !important;
    color: white !important;
    border-color: #005a87 !important;
}

.paginacion-top .page-numbers.disabled,
.paginacion-bottom .page-numbers.disabled {
    opacity: 0.5;
    cursor: not-allowed;
    background-color: #f8f9fa;
    color: #999 !important;
}

.paginacion-productos{
    margin-top: 10px !important;
    padding: 0 0;
    display: flex;
    justify-content: center;
    width: 100%;
}

.paginacion-bottom {
    display: flex;
    justify-content: center;
    width: 100%;
}

.paginacion-bottom > ul:nth-child(1){
    border: none !important;
}

@media (max-width: 780px) {
    .woo-listing-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 0 !important;
        min-height: auto !important;
        margin-bottom: 5px !important;
    }
    
    .paginacion-superior {
        margin-left: 0;
        width: 100%;
        justify-content: center;
    }

	.paginacion-top {
		display: none !important;
	}
    
    .contador-productos {
        text-align: center;
        width: 100%;
    }
    
    .paginacion-top ul.page-numbers,
    .paginacion-bottom ul.page-numbers {
        flex-wrap: wrap;
        justify-content: center;
    }
    
    .paginacion-top .page-numbers,
    .paginacion-bottom .page-numbers {
        padding: 5px 8px !important;
        min-width: 32px;
        height: 30px;
        font-size: 12px;
    }
}

/* ============================= */
/* CORRECCIÓN DE ESPACIADO EN GRIDS */
/* ============================= */

/* Ajustar grid de categorías */
.categorias-tienda,
.woocommerce ul.products.product-subcategories {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
    gap: 15px !important;
    margin: 0 !important;
    padding: 0 0 0 0 !important; /* Eliminar padding */
    width: 100% !important;
    justify-items: stretch !important; /* Hace que las tarjetas ocupen todo el espacio disponible */
}

/* Ajustar grid de productos */
.woocommerce ul.products {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
    gap: 15px !important;
    margin: 20px 0 5px 0 !important; /* Eliminar márgenes laterales */
    padding: 0 !important;
    width: 100% !important;
    justify-items: stretch !important;
}

/* Hacer que las tarjetas ocupen todo el espacio de la celda del grid */
.categoria-producto-style,
.woocommerce ul.products.product-subcategories li.product-category,
.woocommerce ul.products li.product, 
.woocommerce .products .product {
    width: 100% !important;
    max-width: none !important; /* Eliminar limitación máxima */
    margin: 0 !important;
}

/* Asegurar que las imágenes mantengan su relación de aspecto */
.categoria-producto-style img,
.woocommerce ul.products.product-subcategories li.product-category img,
.woocommerce ul.products li.product a img {
    object-fit: contain !important;
}

/* Ajustar el contenedor principal para que ocupe todo el ancho */
.ct-container[data-sidebar="left"] > section {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: none !important;
    width: 100% !important;
}

/* ============================= */
/* LOCALIZACION MODAL */
/* ============================= */

/* Estilos para el modal de localización */
.localizacion-modal {
	position: fixed;
	z-index: 999999;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.7);
	display: flex;
	align-items: center;
	justify-content: center;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}

.localizacion-modal-content {
	background-color: #fff;
	margin: auto;
	padding: 0;
	border-radius: 8px;
	width: 90%;
	max-width: 500px;
	box-shadow: 0 4px 20px rgba(0,0,0,0.15);
	animation: modalFadeIn 0.3s;
    font-size: 16px;
}

.localizacion-modal-header {
	padding: 20px;
	border-bottom: 1px solid #eee;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.modal-logo {
	width: 40px !important;
	height: 40px !important;
	flex-shrink: 0 !important;
	object-fit: contain !important;
	border-radius: 8px !important;
}

.localizacion-modal-header h3 {
	margin: 0 !important;
	color: #d63638;
	font-size: 1.3em;
}

.localizacion-close {
	width: 25px !important;
	height: 25px !important;
	font-size: 12px !important;
	background: #2271b1 !important;
	color: white !important;
	border: none !important;
	border-radius: 4px !important;
	cursor: pointer !important;
	align-items: center !important;
	justify-content: center !important;
	position: relative !important;
	top: auto !important;
	right: auto !important;
	margin: 0 !important;
	flex-shrink: 0 !important;
}

.localizacion-close:hover{
	width: 25px !important;
	height: 25px !important;
	font-size: 12px !important;
	background: #005a87 !important;
	color: white !important;
	border: none !important;
	border-radius: 4px !important;
	cursor: pointer !important;
	align-items: center !important;
	justify-content: center !important;
	position: relative !important;
	top: auto !important;
	right: auto !important;
	margin: 0 !important;
	flex-shrink: 0 !important;
}

.localizacion-modal-body p {
	padding: 20px;
	line-height: 1.6;
    margin-bottom: 15px;
    color: #3c434a;
}

.localizacion-modal-body p:first-child {
    font-weight: 600;
    color: #1d2327;
}

.localizacion-modal-body > p:nth-child(2){
	font-weight: 600;
    color: #1d2327;
}

.localizacion-modal-footer {
	padding: 20px;
	border-top: 1px solid #eee;
	display: flex;
	gap: 10px;
	justify-content: flex-end;
}

button.button{
	display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    white-space: nowrap;
	background-color: #2271b1 !important;
	color: white;
	border: none;
}

button.button:hover{
	background-color: #135e96 !important;
}

.localizacion-modal-footer .button {
	padding: 10px 20px;
	text-decoration: none;
}

.localizacion-modal-footer .button.primary {
	display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    white-space: nowrap;
	background-color: #2271b1;
	color: white;
	border: none;
}

.localizacion-modal-footer .button.primary:hover {
	background-color: #135e96;
}

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

/* Mejoras para responsividad */
@media (max-width: 768px) {
    .localizacion-modal-content {
        width: 95%;
        margin: 20px;
    }

	.localizacion-modal-header {
		align-items: center !important;
	}

	.localizacion-modal-header > h3:nth-child(2){
		justify-content: center !important;
	}
    
    .localizacion-modal-footer {
        display: flex;
    	justify-content: center;
		flex-wrap: wrap;
    }
}

/* Mejoras para responsividad */
@media (max-width: 480px) {
    .woo-listing-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 0 !important;
        min-height: auto !important;
        margin-bottom: 5px !important;
    }
	.localizacion-modal-header h3 {
		margin: 0 !important;
		color: #d63638;
		font-size: 1.0em;
	}

    .categorias-tienda {
        position: relative;
        width: 100% !important;
    }
}

/* ============================= */
/* PAGINACIÓN SIN AJAX */
/* ============================= */

.woo-listing-top-normal {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 5px !important;
    padding: 0 0 0 0 !important;
    min-height: 43px;
}

.contador-productos-normal {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 14px;
    color: #666;
    font-weight: bold !important;
}

.paginacion-superior-normal {
    margin-left: auto;
    display: flex;
    align-items: center;
    height: 100%;
}

.paginacion-superior-normal .woocommerce-pagination,
.paginacion-productos-normal .woocommerce-pagination {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    box-shadow: none !important;
    padding-bottom: 5px !important;
}

.paginacion-top-normal {
    border: none !important;
    background: none !important;
    box-shadow: none !important;
}

.paginacion-top-normal > ul:nth-child(1){
    border: none !important;
}

.paginacion-top-normal ul.page-numbers,
.paginacion-bottom-normal ul.page-numbers {
    display: flex;
    gap: 4px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
    align-items: center;
    height: 100%;
}

.paginacion-top-normal .page-numbers,
.paginacion-bottom-normal .page-numbers {
    padding: 6px 10px !important;
    border: 1px solid #ddd !important;
    border-radius: 3px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 32px;
    font-size: 13px;
    line-height: 1;
    background: #fff;
    color: #333 !important;
    transition: all 0.2s ease;
}

.paginacion-top-normal .page-numbers:hover,
.paginacion-bottom-normal .page-numbers:hover {
    background-color: #f8f9fa;
    border-color: #0073aa;
    color: #333 !important;
}

.paginacion-top-normal .page-numbers.current,
.paginacion-bottom-normal .page-numbers.current {
    background-color: #0073aa !important;
    color: white !important;
    border-color: #0073aa !important;
}

.paginacion-top-normal .page-numbers.current:hover,
.paginacion-bottom-normal .page-numbers.current:hover {
    background-color: #005a87 !important;
    color: white !important;
    border-color: #005a87 !important;
}

.paginacion-top-normal .page-numbers.disabled,
.paginacion-bottom-normal .page-numbers.disabled {
    opacity: 0.5;
    cursor: not-allowed;
    background-color: #f8f9fa;
    color: #999 !important;
}

.paginacion-productos-normal {
    margin-top: 10px !important;
    padding: 0 0;
    display: flex;
    justify-content: center;
    width: 100%;
}

.paginacion-bottom-normal {
    display: flex;
    justify-content: center;
    width: 100%;
}

.paginacion-bottom-normal > ul:nth-child(1){
    border: none !important;
}

@media (max-width: 780px) {
    .woo-listing-top-normal {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 0 !important;
        min-height: auto !important;
        margin-bottom: 5px !important;
    }
    
    .paginacion-superior-normal {
        margin-left: 0;
        width: 100%;
        justify-content: center;
    }

	.paginacion-top-normal {
		display: none !important;
	}
    
    .contador-productos-normal {
        text-align: center;
        width: 100%;
    }
    
    .paginacion-top-normal ul.page-numbers,
    .paginacion-bottom-normal ul.page-numbers {
        flex-wrap: wrap;
        justify-content: center;
    }
    
    .paginacion-top-normal .page-numbers,
    .paginacion-bottom-normal .page-numbers {
        padding: 5px 8px !important;
        min-width: 32px;
        height: 30px;
        font-size: 12px;
    }
}

@media (max-width: 560px) {
    .mobile-filter-bar {
        display: none;
        background-color: transparent;
        border-bottom: none;
        position: sticky;
        top: 0px;
        z-index: 99;
        text-align: center;
        padding: 2px 0;
    }

    .mobile-filter-bar {
        display: block;
    }

    body.admin-bar .mobile-filter-bar {
        top: 140px;
    }

    #menu-filtros{
        z-index: 100003;
    }
}

.single_add_to_cart_button{
    max-width: 200px !important;
}

/* ============================= */
/* MODIFICACIONES PARA 2 COLUMNAS EN MÓVILES > 360px */
/* ============================= */

@media (max-width: 360px) {
    .woocommerce ul.products li.product .ct-woo-card-actions .add_to_cart_button.button {
        font-size: 0;
        width: 50px;
        padding: 8px;
        justify-content: center;
    }
}

/* Para pantallas entre 361px y 480px - MOSTRAR 2 COLUMNAS */
@media (min-width: 301px) and (max-width: 480px) {
    .woocommerce ul.products,
    .categorias-tienda {
        grid-template-columns: repeat(2, minmax(140px, 1fr)) !important;
        gap: 10px !important;
        max-width: none !important;
        left: 0 !important;
        transform: none !important;
        margin: 15px 0 5px 0 !important;
    }

    .woocommerce ul.products li.product,
    li.categoria-producto-style {
        max-width: none !important;
        position: relative !important;
        display: block !important;
        margin: 0 !important;
        width: 100% !important;
    }

    /* Ajustar el tamaño de las imágenes para 2 columnas */
    .categoria-producto-style img,
    .woocommerce ul.products.product-subcategories li.product-category img,
    .woocommerce ul.products li.product a img {
        height: 120px !important;
        object-fit: contain !important;
    }

    /* Ajustar el padding de las tarjetas */
    .woocommerce ul.products li.product,
    .categoria-producto-style {
        padding: 8px !important;
    }

    /* Ajustar fuentes para mejor legibilidad */
    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .categoria-producto-style .woocommerce-loop-product__title {
        font-size: 13px !important;
        min-height: 35px !important;
        margin-top: 5px !important;
    }

    .woocommerce ul.products li.product .price {
        font-size: 14px !important;
    }
}

/* Para pantallas de 360px o menos - MANTENER 1 COLUMNA */
@media (max-width: 300px) {
    .woocommerce ul.products,
    .categorias-tienda {
        grid-template-columns: 1fr !important;
        max-width: 280px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        display: grid !important;
        margin: 0 !important;
    }

    li.categoria-producto-style {
        max-width: 280px !important;
        position: relative;
        display: grid !important;
        grid-template-columns: 1fr !important;
        margin: 0 !important;
    }

    /* Restaurar tamaño original de imágenes para 1 columna */
    .categoria-producto-style img,
    .woocommerce ul.products.product-subcategories li.product-category img {
        height: 150px !important;
    }
}

/* ============================= */
/* AJUSTES ADICIONALES PARA CONSISTENCIA */
/* ============================= */

/* Asegurar que los skeletons también respeten el nuevo grid */
@media (min-width: 301px) and (max-width: 480px) {
    .tienda-skeleton-container {
        grid-template-columns: repeat(2, minmax(140px, 1fr)) !important;
        gap: 10px !important;
    }

    .tienda-product-skeleton {
        padding: 8px !important;
        max-height: 300px !important;
    }

    .tienda-skeleton-image {
        height: 120px !important;
    }
}

@media (max-width: 300px) {
    .tienda-skeleton-container {
        grid-template-columns: 1fr !important;
        max-width: 280px !important;
        margin: 0 auto !important;
    }
}

/* ============================= */
/* CORRECCIÓN ALINEACIÓN BOTONES EN MÓVILES (361px - 480px) */
/* ============================= */

@media (min-width: 301px) and (max-width: 480px) {
    .woocommerce ul.products li.product {
        display: flex !important;
        flex-direction: column !important;
        min-height: 280px !important;
    }

    .categoria-producto-style {
        display: flex !important;
        flex-direction: column !important;
        min-height: 200px !important;
    }
    
    .woocommerce ul.products li.product .ct-woo-card-actions,
    .categoria-producto-style .ct-woo-card-actions {
        margin-top: auto !important;
        padding-top: 10px !important;
    }
}

@media (max-width: 300px) {
    .woocommerce ul.products li.product {
        display: flex !important;
        flex-direction: column !important;
        min-height: 280px !important;
    }

    .categoria-producto-style {
        display: flex !important;
        flex-direction: column !important;
        min-height: 180px !important;
    }
    
    .woocommerce ul.products li.product .ct-woo-card-actions,
    .categoria-producto-style .ct-woo-card-actions {
        margin-top: auto !important;
        padding-top: 10px !important;
    }
}

/*Pequeña correccion contenedor producto individual*/
@media (max-width: 480px) {
    .product-entry-wrapper{
        max-width: 100% !important;
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* ============================= */
/* BORDES ESTÉTICOS PARA MENÚ MÓVIL */
/* ============================= */

@media (max-width: 796px) {
    .ct-container[data-sidebar="left"] > aside.custom-sidebar {
        border-right: 2px solid #2271b1 !important;
        border-bottom: 2px solid #2271b1 !important;
        border-bottom-right-radius: 0 !important;
        border-top-right-radius: 0 !important;
        border-top-left-radius: 0 !important;
        border-bottom-left-radius: 0 !important;
    }
    
    /* Efecto sutil de sombra para complementar los bordes */
    .ct-container[data-sidebar="left"] > aside.custom-sidebar {
        box-shadow: 2px 0 15px rgba(34, 113, 177, 0.2) !important;
    }
}

/* ============================= */
/* BARRA DE SCROLL ELEGANTE CON DEGRADADO */
/* ============================= */

@media (max-width: 796px) {
    .ct-container[data-sidebar="left"] > aside.custom-sidebar {
        scrollbar-width: thin;
        scrollbar-color: #2271b1 #f8f9fa;
    }
    
    .ct-container[data-sidebar="left"] > aside.custom-sidebar::-webkit-scrollbar {
        width: 10px;
    }
    
    .ct-container[data-sidebar="left"] > aside.custom-sidebar::-webkit-scrollbar-track {
        background: #f8f9fa;
        border-radius: 10px;
        margin: 10px 0;
        box-shadow: inset 0 0 5px rgba(34, 113, 177, 0.1);
    }
    
    .ct-container[data-sidebar="left"] > aside.custom-sidebar::-webkit-scrollbar-thumb {
        background: linear-gradient(135deg, #2271b1, #135e96);
        border-radius: 10px;
        border: 2px solid #f8f9fa;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    }
    
    .ct-container[data-sidebar="left"] > aside.custom-sidebar::-webkit-scrollbar-thumb:hover {
        background: linear-gradient(135deg, #135e96, #0c4a7a);
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    }
}

/* ============================= */
/* LOCALIZACION MODAL */
/* ============================= */

/* Estilos para el modal de localización */
.localizacion-modal {
	position: fixed;
	z-index: 999999;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.7);
	display: flex;
	align-items: center;
	justify-content: center;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}

.localizacion-modal-content {
	background-color: #fff;
	margin: auto;
	padding: 0;
	border-radius: 8px;
	width: 90%;
	max-width: 500px;
	box-shadow: 0 4px 20px rgba(0,0,0,0.15);
	animation: modalFadeIn 0.3s;
    font-size: 16px;
}

.localizacion-modal-header {
	padding: 20px;
	border-bottom: 1px solid #eee;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.modal-logo {
	width: 40px !important;
	height: 40px !important;
	flex-shrink: 0 !important;
	object-fit: contain !important;
	border-radius: 8px !important;
}

.localizacion-modal-header h3 {
	margin: 0 !important;
	color: #d63638;
	font-size: 1.3em;
}

.localizacion-close {
	width: 25px !important;
	height: 25px !important;
	font-size: 12px !important;
	background: #2271b1 !important;
	color: white !important;
	border: none !important;
	border-radius: 4px !important;
	cursor: pointer !important;
	align-items: center !important;
	justify-content: center !important;
	position: relative !important;
	top: auto !important;
	right: auto !important;
	margin: 0 !important;
	flex-shrink: 0 !important;
}

.localizacion-close:hover{
	width: 25px !important;
	height: 25px !important;
	font-size: 12px !important;
	background: #005a87 !important;
	color: white !important;
	border: none !important;
	border-radius: 4px !important;
	cursor: pointer !important;
	align-items: center !important;
	justify-content: center !important;
	position: relative !important;
	top: auto !important;
	right: auto !important;
	margin: 0 !important;
	flex-shrink: 0 !important;
}

.localizacion-modal-body p {
	padding: 20px;
	line-height: 1.6;
    margin-bottom: 15px;
    color: #3c434a;
}

.localizacion-modal-body p:first-child {
    font-weight: 600;
    color: #1d2327;
}

.localizacion-modal-body > p:nth-child(2){
	font-weight: 600;
    color: #1d2327;
}

.localizacion-modal-footer {
	padding: 20px;
	border-top: 1px solid #eee;
	display: flex;
	gap: 10px;
	justify-content: flex-end;
}

button.button{
	display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    white-space: nowrap;
	background-color: #2271b1 !important;
	color: white;
	border: none;
}

button.button:hover{
	background-color: #135e96 !important;
}

.localizacion-modal-footer .button {
	padding: 10px 20px;
	text-decoration: none;
}

.localizacion-modal-footer .button.primary {
	display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    white-space: nowrap;
	background-color: #2271b1;
	color: white;
	border: none;
}

.localizacion-modal-footer .button.primary:hover {
	background-color: #135e96;
}

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

/* Mejoras para responsividad */
@media (max-width: 768px) {
    .localizacion-modal-content {
        width: 95%;
        margin: 20px;
    }

	.localizacion-modal-header {
		align-items: center !important;
	}

	.localizacion-modal-header > h3:nth-child(2){
		justify-content: center !important;
	}
    
    .localizacion-modal-footer {
        display: flex;
    	justify-content: center;
		flex-wrap: wrap;
    }
}

/* Mejoras para responsividad */
@media (max-width: 480px) {
    .woo-listing-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 0 !important;
        min-height: auto !important;
        margin-bottom: 5px !important;
    }
	.localizacion-modal-header h3 {
		margin: 0 !important;
		color: #d63638;
		font-size: 1.0em;
	}

    .categorias-tienda {
        position: relative;
        width: 100% !important;
    }
}

/* ============================= */
/* PAGINA INICIAL */
/* ============================= */

#post-2{
    max-width: 3000px !important;
    padding: 0 !important;
    margin: auto !important;
    background-color: #fff !important;
    width: 100% !important;
}

.n2-section-smartslider{
    padding-top: 30px !important;
    padding-bottom: 30px !important;
    margin-bottom: 0 !important;
}

/* Solo para 1200px - mantener altura fija y congelar posición de flechas */
@media (max-width: 1200px) {
    /* 1. Mantener altura fija del slider */
    .n2-ss-slider {
        height: 500px !important;
    }
    
    .n2-ss-slide {
        height: 500px !important;
    }
    
    .n2-ss-layers-container {
        height: 500px !important;
    }
    
    /* 2. Congelar posición de flechas - evitar que se sigan moviendo hacia el centro */
    .n2-ss-slider-controls-absolute-left-center,
    .n2-ss-slider-controls-absolute-right-center {
        transform: none !important;
        transition: none !important;
    }
    
    .n2-ss-widget.nextend-arrow {
        --widget-offset: 0px !important;
    }
}

/* Para 480px - reducir altura del slider proporcionalmente */
@media (max-width: 480px) {

    #post-2{
        width: 100% !important;
    }

    .n2-ss-slider {
        height: 450px !important;
    }
    
    .n2-ss-slide {
        height: 450px !important;
    }
    
    .n2-ss-layers-container {
        height: 450px !important;
    }
    
    .n2-ss-item-image-content img {
        max-height: 450px !important;
        width: auto !important;
        max-width: 100% !important;
    }
    .n2-section-smartslider{
        padding-top: 20px !important;
    }
}

/* Para 480px - reducir altura del slider proporcionalmente */
@media (max-width: 360px) {
    .n2-ss-slider {
        height: 380px !important;
    }
    
    .n2-ss-slide {
        height: 380px !important;
    }
    
    .n2-ss-layers-container {
        height: 380px !important;
    }
    
    .n2-ss-item-image-content img {
        max-height: 380px !important;
        width: auto !important;
        max-width: 100% !important;
    }
    .n2-section-smartslider{
        padding-top: 20px !important;
    }
}

/* Para 480px - reducir altura del slider proporcionalmente */
@media (max-width: 340px) {
    .n2-ss-slider-controls-absolute-left-center,
    .n2-ss-slider-controls-absolute-right-center,
    #n2-ss-4-arrow-previous,
    #n2-ss-4-arrow-next {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
}

/* SECCION CALL TO ACTION */

/* Sección Call to Action */
.happy-cta-section {
    padding: 30px 20px;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-top: 01px solid #dee2e6;
    border-bottom: 1px solid #dee2e6;
    margin-bottom: 0 !important;
}

.happy-cta-container {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

/* Header de la sección - Texto embellecido */
.happy-cta-header {
    margin-bottom: 50px;
    position: relative;
}

.happy-cta-title {
    font-size: 2rem;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 8px;
    position: relative;
}

.happy-cta-title::after {
    content: '';
    display: block;
    width: 50px;
    height: 2px;
    background: linear-gradient(135deg, #2271b1 0%, #ff6b35 100%);
    margin: 8px auto 0;
    border-radius: 2px;
}

.happy-cta-subtitle {
    font-size: 1.3rem;
    color: #4a5568;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
    font-weight: 400;
    position: relative;
    padding: 0 20px;
}

/* Grid de botones - Distribución en cruz (3x3) */
.happy-cta-buttons-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, 1fr);
    gap: 20px;
    max-width: 700px;
    margin: 0 auto;
    min-height: 450px;
}

/* Estilos base de botones */
.happy-cta-button {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px 15px;
    background: white;
    border: 2px solid #764ba2;
    border-radius: 10px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    text-align: center;
    min-height: 120px;
}

.happy-cta-button:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
    border-color: transparent;
}

/* Iconos */
.happy-cta-icon {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    margin-bottom: 12px;
    transition: all 0.3s ease;
    background: #fff;
}

.happy-cta-icon svg {
    width: 22px;
    height: 22px;
}

.happy-cta-content {
    text-align: center;
}

.happy-cta-button-title {
    display: block;
    font-size: 1.1rem;
    font-weight: 600;
    color: #1a202c;
    margin-bottom: 5px;
    line-height: 1.2;
}

.happy-cta-button-desc {
    display: block;
    font-size: 0.85rem;
    color: #718096;
    line-height: 1.3;
}

/* POSICIONAMIENTO ESPECÍFICO DE CADA BOTÓN - NUEVO ORDEN */

/* Colores específicos para cada botón - ESTADO NORMAL */
.happy-cta-shop {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
    border-color: #f5576c;
}

.happy-cta-shop .happy-cta-icon {
    background: none !important;
}

.happy-cta-shop .happy-cta-icon svg {
    stroke: white;
}

.happy-cta-shop .happy-cta-button-title,
.happy-cta-shop .happy-cta-button-desc {
    color: white;
}

.happy-cta-remittances {
    grid-column: 3 / 4;
    grid-row: 1 / 2;
    background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
    border-color: #4facfe;
}

.happy-cta-remittances .happy-cta-icon {
    background: none !important;
}

.happy-cta-remittances .happy-cta-icon svg {
    stroke: white;
}

.happy-cta-remittances .happy-cta-button-title,
.happy-cta-remittances .happy-cta-button-desc {
    color: white;
}

.happy-cta-vendor {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    min-height: 130px;
    transform: scale(1.03);
    z-index: 2;
    padding: 22px 16px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-color: #667eea;
}

.happy-cta-vendor .happy-cta-icon {
    width: 50px;
    height: 50px;
    background: none !important;
}

.happy-cta-vendor .happy-cta-icon svg {
    width: 24px;
    height: 24px;
    stroke: white;
}

.happy-cta-vendor .happy-cta-button-title {
    font-size: 1.15rem;
    color: white;
}

.happy-cta-vendor .happy-cta-button-desc {
    color: white;
}

.happy-cta-recharges {
    grid-column: 1 / 2;
    grid-row: 3 / 4;
    background: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);
    border-color: #43e97b;
}

.happy-cta-recharges .happy-cta-icon {
    background: none !important;
}

.happy-cta-recharges .happy-cta-icon svg {
    stroke: white;
}

.happy-cta-recharges .happy-cta-button-title,
.happy-cta-recharges .happy-cta-button-desc {
    color: white;
}

.happy-cta-services {
    grid-column: 3 / 4;
    grid-row: 3 / 4;
    background: linear-gradient(135deg, #ff9a9e 0%, #fecfef 100%);
    border-color: #ff9a9e;
}

.happy-cta-services .happy-cta-icon {
    background: none !important;
}

.happy-cta-services .happy-cta-icon svg {
    stroke: white;
}

.happy-cta-services .happy-cta-button-title,
.happy-cta-services .happy-cta-button-desc {
    color: white;
}

/* Estados hover - ahora más sutiles */
.happy-cta-button:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    filter: brightness(1.1);
}

.happy-cta-vendor:hover {
    transform: translateY(-3px) scale(1.03);
    filter: brightness(1.1);
}

/* Efecto visual para las celdas vacías */
.happy-cta-buttons-grid::before {
    content: '';
    grid-column: 2 / 3;
    grid-row: 1 / 2;
}

.happy-cta-buttons-grid::after {
    content: '';
    grid-column: 2 / 3;
    grid-row: 3 / 4;
}

/* Responsive - Reducción máxima de espacio */
@media (max-width: 768px) {
    .happy-features-section {
        padding: 20px 8px !important;
        margin: 0 !important;
    }
    
    .happy-cta-title {
        font-size: 1.75rem;
    }

    .happy-features-container {
        gap: 6px !important;
        margin: 0 !important;
    }
    
    .happy-feature-item {
        padding: 10px 4px !important;
        margin: 0 !important;
        min-height: 80px !important;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    
    .happy-feature-icon {
        width: 32px !important;
        height: 32px !important;
        margin: 0 0 6px 0 !important;
    }
    
    .happy-feature-icon svg {
        width: 16px !important;
        height: 16px !important;
    }
    
    .happy-feature-title {
        font-size: 0.75rem !important;
        margin: 0 0 2px 0 !important;
        line-height: 1.1 !important;
        text-align: center;
    }
    
    .happy-feature-desc {
        font-size: 0.7rem !important;
        line-height: 1.1 !important;
        margin: 0 !important;
    }
}

@media (max-width: 560px) {

    .happy-cta-buttons-grid{
        min-height: 250px !important;
        gap: 10px !important;
    }

    .happy-cta-title {
        font-size: 1.5rem;
    }

    .happy-cta-button{
        padding: 10px 5px !important;
        min-height: 80px !important;
    }

    .happy-cta-icon{
        margin-bottom: 5px !important;
    }

    .happy-features-section {
        padding: 5px 5px !important;
    }
    
    .happy-features-container {
        gap: 2px !important;
    }
    
    .happy-feature-item {
        padding: 4px 2px !important;
        min-height: 50px !important;
    }

    .happy-feature-icon {
        width: 20px !important;
        height: 20px !important;
        margin-bottom: 2px !important;
    }
    
    .happy-feature-icon svg {
        width: 12px !important;
        height: 12px !important;
    }
    
    .happy-cta-button-title {
        font-size: 0.8rem !important;
    }
    
    /* OCULTAR TEXTO SECUNDARIO en menos de 560px */
    .happy-cta-button-desc {
        display: none !important;
    }
}

/* happy section... */

/* Sección Características/Beneficios - Versión Ultra Compacta */
.happy-features-section {
    padding: 30px 20px;
    background: #fff;
    border-top: 0;
    border-bottom: 1px solid #dee2e6;
    margin-bottom: 0 !important;
    z-index: 1;
}

.happy-features-container {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 15px;
    align-items: start;
}

.happy-feature-item {
    text-align: center;
    padding: 18px 12px;
    background: white;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    transition: all 0.3s ease;
    border: 1px solid #e9ecef;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 120px;
}

.happy-feature-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    border-color: #2271b1;
}

/* Iconos con colores del header - alternando azul y naranja */
.happy-feature-item:nth-child(1) .happy-feature-icon {
    background: linear-gradient(135deg, #2271b1 0%, #135e96 100%);
}

.happy-feature-item:nth-child(2) .happy-feature-icon {
    background: linear-gradient(135deg, #ff6b35 0%, #e55a2b 100%);
}

.happy-feature-item:nth-child(3) .happy-feature-icon {
    background: linear-gradient(135deg, #2271b1 0%, #135e96 100%);
}

.happy-feature-item:nth-child(4) .happy-feature-icon {
    background: linear-gradient(135deg, #ff6b35 0%, #e55a2b 100%);
}

.happy-feature-icon {
    width: 45px;
    height: 45px;
    margin: 0 auto 10px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.happy-feature-item:hover .happy-feature-icon {
    transform: scale(1.05);
}

.happy-feature-icon svg {
    stroke: white;
    width: 20px;
    height: 20px;
}

.happy-feature-title {
    font-size: 0.95rem;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 6px;
    line-height: 1.2;
}

.happy-feature-desc {
    font-size: 0.8rem;
    color: #6c757d;
    line-height: 1.3;
    margin: 0;
}

/* Títulos con colores que combinan con los iconos */
.happy-feature-item:nth-child(1) .happy-feature-title,
.happy-feature-item:nth-child(3) .happy-feature-title {
    color: #2271b1;
}

.happy-feature-item:nth-child(2) .happy-feature-title,
.happy-feature-item:nth-child(4) .happy-feature-title {
    color: #ff6b35;
}

/* Responsive */
@media (max-width: 768px) {
    .happy-features-section {
        padding: 25px 15px;
    }
    
    .happy-features-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    
    .happy-feature-item {
        padding: 15px 10px;
        min-height: 110px;
    }
    
    .happy-feature-icon {
        width: 40px;
        height: 40px;
        margin-bottom: 8px;
    }
    
    .happy-feature-icon svg {
        width: 18px;
        height: 18px;
    }
    
    .happy-feature-title {
        font-size: 0.9rem;
    }
    
    .happy-feature-desc {
        font-size: 0.75rem;
    }
}

@media (max-width: 480px) {

    .happy-features-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }

    .happy-feature-desc{
        display: none !important;
    }
    
    .happy-feature-item {
        min-height: 100px;
        padding: 12px 8px;
    }
}

/* happy productos section... */

/* Sección Productos - Centrado y 6 productos */
.happy-products-section {
    padding: 30px 20px;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-top: 0;
    border-bottom: 1px solid #dee2e6;
    margin-bottom: 0 !important;
}

.happy-products-container {
    max-width: 1200px;
    margin: 0 auto;
}

.happy-products-header {
    text-align: center;
    margin-bottom: 30px;
}

.happy-products-title {
    font-size: 2rem;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 8px;
    position: relative;
}

.happy-products-title::after {
    content: '';
    display: block;
    width: 50px;
    height: 2px;
    background: linear-gradient(135deg, #2271b1 0%, #ff6b35 100%);
    margin: 8px auto 0;
    border-radius: 2px;
}

.happy-products-subtitle {
    font-size: 1rem;
    color: #6c757d;
    max-width: 500px;
    margin: 0 auto;
    line-height: 1.4;
}

.happy-products-link {
    color: #2271b1;
    text-decoration: none;
    font-weight: 600;
    margin-left: 5px;
    transition: all 0.3s ease;
    border-bottom: 1px solid transparent;
}

.happy-products-link:hover {
    color: #ff6b35;
    border-bottom-color: #ff6b35;
}

/* GRID DE PRODUCTOS - CENTRADO Y 6 COLUMNAS */
.happy-products-grid {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 20px !important;
    justify-content: center !important;
    margin: 0 auto !important;
    padding: 0 !important;
    width: 100% !important;
}

.happy-products-grid li.product {
    margin: 0 !important;
    width: 100% !important;
    justify-self: center !important;
}

/* Responsive - Mantener centrado */
@media (max-width: 1400px) {
    .happy-products-grid {
        grid-template-columns: repeat(5, 1fr) !important;
    }
}

@media (max-width: 1200px) {
    .happy-products-grid {
        grid-template-columns: repeat(4, 1fr) !important;
    }
}

@media (max-width: 992px) {
    .happy-products-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (max-width: 768px) {
    .happy-products-section {
        padding: 30px 15px;
        margin-bottom: 0 !important;
    }
    
    .happy-products-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    
    .happy-products-title {
        font-size: 1.75rem;
    }
}

@media (max-width: 480px) {
    .happy-products-grid {
        grid-template-columns: 1fr !important;
    }
    
    .happy-products-section {
        padding: 30px 5px;
        margin-bottom: 0 !important;
    }

    .happy-products-title {
        font-size: 1.5rem;
    }
    
    .happy-products-subtitle {
        font-size: 0.9rem;
    }
}

/* Sección Servicios - Fondo alternativo */
.happy-services-section {
    padding: 30px 20px;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-top: 0;
    border-bottom: 1px solid #dee2e6;
    margin-bottom: 0 !important;
    z-index: 1;
}

.happy-services-container {
    max-width: 1400px;
    margin: 0 auto;
}

.happy-services-header {
    text-align: center;
    margin-bottom: 40px;
}

.happy-services-title {
    font-size: 2rem;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 8px;
    position: relative;
}

.happy-services-title::after {
    content: '';
    display: block;
    width: 50px;
    height: 2px;
    background: linear-gradient(135deg, #2271b1 0%, #ff6b35 100%);
    margin: 8px auto 0;
    border-radius: 2px;
}

.happy-services-subtitle {
    font-size: 1.1rem;
    color: #6c757d;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.5;
}

.happy-services-link {
    color: #2271b1;
    text-decoration: none;
    font-weight: 600;
    margin-left: 5px;
    transition: all 0.3s ease;
    border-bottom: 1px solid transparent;
}

.happy-services-link:hover {
    color: #ff6b35;
    border-bottom-color: #ff6b35;
}

/* Grid de servicios - SIEMPRE VERTICAL */
.happy-services-grid-vertical {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 25px !important;
    margin: 0 auto !important;
}

/* Tarjetas verticales completas */
.happy-service-vertical-item.rtcl-listing-card {
    background: #fff !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
    margin-bottom: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    padding: 20px !important;
}

.happy-service-vertical-item.rtcl-listing-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
    transform: translateY(-2px) !important;
}

/* Imagen con botones de favoritos */
.listing-thumb {
    flex: 0 0 200px !important;
    width: 100% !important;
    height: 200px !important;
    overflow: hidden !important;
    background-color: #fff !important;
    position: relative !important;
}

.listing-thumb-inner {
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
}

.rtcl-media {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.rtcl-thumbnail {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
}

/* Botones de favoritos */
.rtcl-meta-buttons {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    z-index: 10 !important;
}

.rtcl-tooltip-wrapper {
    background: rgba(255, 255, 255, 0.9) !important;
    border-radius: 4px !important;
    padding: 5px !important;
}

.rtcl-favourites {
    color: #666 !important;
    text-decoration: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    font-size: 12px !important;
}

.rtcl-favourites:hover {
    color: #2271b1 !important;
}

/* Contenido de la tarjeta */
.item-content {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 20px !important;
    min-height: 0 !important;
}

/* Título */
.listing-title {
    margin-bottom: 10px !important;
}

.listing-title a {
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    color: #2c3e50 !important;
    text-decoration: none !important;
    line-height: 1.3 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-height: 2.8em !important;
}

.listing-title a:hover {
    color: #2271b1 !important;
}

/* Badge destacado */
.rtcl-listing-badge-wrap {
    margin-bottom: 10px !important;
}

.featured-badge {
    background: #ff6b35 !important;
    color: white !important;
    padding: 4px 8px !important;
    border-radius: 4px !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
}

/* Meta datos */
.rtcl-listing-meta-data {
    margin: 10px 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    /*max-height: 3.5em !important;*/
    overflow: hidden !important;
}

.rtcl-listing-meta-data li {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    color: #666 !important;
    font-size: 0.85rem !important;
}

.rtcl-listing-meta-data li i {
    color: #888 !important;
    font-size: 0.9rem !important;
}

.rtcl-listing-meta-data a {
    color: #666 !important;
    text-decoration: none !important;
}

.rtcl-listing-meta-data a:hover {
    color: #2271b1 !important;
}

.rtcl-delimiter {
    color: #888 !important;
}

/* Excerpt */
.rtcl-excerpt {
    flex: 1 !important;
    color: #666 !important;
    font-size: 0.95rem !important;
    line-height: 1.4 !important;
    margin-bottom: 15px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-height: 4.2em !important;
}

/* Botón */
.rtin-right {
    margin-top: auto !important;
    padding-top: 15px !important;
}

.rtin-details-button {
    background: #2271b1 !important;
    color: white !important;
    padding: 10px 20px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    transition: background 0.3s ease !important;
    text-align: center !important;
    display: inline-block !important;
    width: 100% !important;
    max-width: 140px !important;
}

.rtin-details-button:hover {
    background: #135e96 !important;
}

.happy-no-services {
    text-align: center;
    padding: 40px 20px;
    color: #6c757d;
    font-style: italic;
    background: white;
    border-radius: 8px;
    margin: 20px 0;
    grid-column: 1 / -1;
}

/* Responsive */
@media (max-width: 1200px) {
    .happy-services-grid-vertical {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 768px) {
    .happy-services-section {
        padding: 30px 15px;
    }
    
    .happy-services-title {
        font-size: 1.75rem;
    }
    
    .happy-services-grid-vertical {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
    
    .item-content {
        padding: 15px !important;
    }
    
    .listing-thumb {
        height: 180px !important;
    }
    
    .rtin-details-button {
        max-width: 120px !important;
        padding: 8px 15px !important;
    }
}

@media (max-width: 480px) {
    .happy-services-grid-vertical {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
        padding: 0 1px !important; /* Añade padding lateral */
    }

    .happy-services-title {
        font-size: 1.5rem;
    }

    .happy-services-section {
        padding: 30px 5px;
    }
    
    .happy-service-vertical-item.rtcl-listing-card {
        width: 100% !important;
        margin: 0 !important;
        max-width: 100% !important;
    }
    
    .item-content {
        padding: 15px 12px !important; /* Reduce padding interno */
    }
    
    .rtcl-listing-meta-data {
        gap: 8px !important; /* Reduce gap entre meta datos */
        font-size: 0.8rem !important;
    }
    
    .listing-title a {
        font-size: 1.1rem !important; /* Texto más pequeño */
    }

    .rtcl-listing-meta-data {
        flex-direction: column !important; /* Cambia a columna */
        gap: 5px !important;
        max-height: none !important; /* Quita el límite de altura */
        margin: 8px 0 !important;
    }
    
    .rtcl-listing-meta-data li {
        font-size: 0.8rem !important;
        line-height: 1.2 !important;
    }
    
    .rtcl-excerpt {
        -webkit-line-clamp: 2 !important; /* Reduce a 2 líneas */
        max-height: 2.8em !important;
        margin-top: 8px !important;
    }
    
    .item-content {
        padding: 12px 10px !important;
        gap: 8px !important; /* Añade gap entre elementos */
    }
}

/* Cómo Funciona */

/* Sección Cómo Funciona */
.happy-how-it-works-section {
    padding: 30px 20px;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-top: 0;
    border-bottom: 1px solid #dee2e6;
    margin-bottom: 0 !important;
}

.happy-how-it-works-container {
    max-width: 1200px;
    margin: 0 auto;
}

.happy-how-it-works-header {
    text-align: center;
    margin-bottom: 30px;
}

.happy-how-it-works-title {
    font-size: 2rem;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 8px;
    position: relative;
}

.happy-how-it-works-title::after {
    content: '';
    display: block;
    width: 50px;
    height: 2px;
    background: linear-gradient(135deg, #2271b1 0%, #ff6b35 100%);
    margin: 8px auto 0;
    border-radius: 2px;
}

.happy-how-it-works-subtitle {
    font-size: 1.2rem;
    color: #6c757d;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.5;
}

/* Grid de pasos */
.happy-steps-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    margin: 0 auto;
}

/* Items de pasos */
.happy-step-item {
    text-align: center;
    padding: 40px 30px;
    background: #f8f9fa;
    border-radius: 12px;
    position: relative;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}

.happy-step-item:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
    border-color: #2271b1;
    background: white;
}

/* Icono */
.happy-step-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px;
    background: linear-gradient(135deg, #2271b1 0%, #135e96 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.happy-step-item:hover .happy-step-icon {
    transform: scale(1.1);
    background: linear-gradient(135deg, #ff6b35 0%, #e55a2b 100%);
}

.happy-step-icon svg {
    stroke: white;
    width: 32px;
    height: 32px;
}

/* Número */
.happy-step-number {
    position: absolute;
    top: -15px;
    right: -15px;
    width: 40px;
    height: 40px;
    background: #ff6b35;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.2rem;
    box-shadow: 0 4px 12px rgba(255, 107, 53, 0.3);
}

/* Título y descripción */
.happy-step-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 15px;
    line-height: 1.3;
}

.happy-step-desc {
    font-size: 1rem;
    color: #6c757d;
    line-height: 1.5;
    margin: 0;
}

/* Enlaces de los pasos */
.happy-step-link {
    text-decoration: none !important;
    color: inherit !important;
    display: block !important;
}

.happy-how-it-works-section {
    padding: 30px 15px;
    margin-bottom: 0 !important;
}

/* Responsive */
@media (max-width: 1024px) {
    .happy-steps-grid {
        gap: 30px;
    }
    
    .happy-step-item {
        padding: 30px 20px;
    }
}

@media (max-width: 768px) {
    .happy-how-it-works-section {
        padding: 30px 15px;
    }
    
    .happy-how-it-works-title {
        font-size: 1.75rem;
    }
    
    .happy-steps-grid {
        grid-template-columns: repeat(3, 1fr) !important; /* Mantener 3 columnas */
        gap: 20px !important; /* Reducir gap */
    }
    
    .happy-step-item {
        padding: 25px 15px !important; /* Reducir padding */
    }
    
    .happy-step-icon {
        width: 60px !important; /* Reducir icono */
        height: 60px !important;
        margin-bottom: 15px !important;
    }
    
    .happy-step-icon svg {
        width: 24px !important; /* Reducir SVG */
        height: 24px !important;
    }
    
    .happy-step-number {
        width: 30px !important; /* Reducir número */
        height: 30px !important;
        top: -12px !important;
        right: -12px !important;
        font-size: 1rem !important;
    }
    
    .happy-step-title {
        font-size: 1.2rem !important; /* Reducir título */
        margin-bottom: 10px !important;
    }
    
    .happy-step-desc {
        font-size: 0.9rem !important; /* Reducir descripción */
        line-height: 1.4 !important;
    }
}

@media (max-width: 480px) {
    .happy-steps-grid {
        grid-template-columns: repeat(3, 1fr) !important; /* Mantener 3 columnas */
        gap: 10px !important; /* Reducir gap */
    }

    .happy-how-it-works-section {
        padding: 20px 10px;
    }

    .happy-step-desc {
        display: none !important;
    }
    
    .happy-how-it-works-title {
        font-size: 1.5rem;
    }
    
    .happy-how-it-works-subtitle {
        font-size: 1.1rem;
    }
    
    .happy-steps-grid {
        gap: 25px;
    }
    
    .happy-step-item {
        padding: 30px 20px;
    }
    
    .happy-step-title {
        font-size: 1.3rem;
    }
    
    .happy-step-desc {
        font-size: 0.95rem;
    }
}

@media (max-width: 400px) {
    .happy-steps-grid {
        gap: 12px !important;
    }
    
    .happy-step-item {
        padding: 15px 10px !important;
    }
    
    .happy-step-icon {
        width: 45px !important;
        height: 45px !important;
        margin-bottom: 10px !important;
    }
    
    .happy-step-icon svg {
        width: 18px !important;
        height: 18px !important;
    }
    
    .happy-step-number {
        width: 25px !important;
        height: 25px !important;
        top: -10px !important;
        right: -10px !important;
        font-size: 0.9rem !important;
    }
    
    .happy-step-title {
        font-size: 1rem !important;
        margin-bottom: 8px !important;
    }
}

@media (max-width: 320px) {
    .happy-steps-grid {
        gap: 8px !important;
    }
    
    .happy-step-item {
        padding: 12px 8px !important;
    }
    
    .happy-step-icon {
        width: 40px !important;
        height: 40px !important;
        margin-bottom: 8px !important;
    }
    
    .happy-step-icon svg {
        width: 16px !important;
        height: 16px !important;
    }
    
    .happy-step-number {
        width: 22px !important;
        height: 22px !important;
        top: -8px !important;
        right: -8px !important;
        font-size: 0.8rem !important;
    }
    
    .happy-step-title {
        font-size: 0.9rem !important;
        margin-bottom: 6px !important;
    }
}

/* Social Proof */

/* Sección Social Proof - Compacta */
.happy-social-proof-section {
    padding: 30px 20px;
    background: #fff;
    border-top: 0;
    border-bottom: 1px solid #dee2e6;
    margin-bottom: 0 !important;
}

.happy-social-proof-container {
    max-width: 1200px;
    margin: 0 auto;
}

.happy-social-proof-header {
    text-align: center;
    margin-bottom: 40px; /* Reducido de 60px */
}

.happy-social-proof-title {
    font-size: 2rem;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 8px;
    position: relative;
}

.happy-social-proof-title::after {
    content: '';
    display: block;
    width: 50px;
    height: 2px;
    background: linear-gradient(135deg, #2271b1 0%, #ff6b35 100%);
    margin: 8px auto 0;
    border-radius: 2px;
}

.happy-social-proof-subtitle {
    font-size: 1.2rem;
    color: #6c757d;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.5;
}

/* Grid de testimonios */
.happy-testimonials-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px; /* Reducido de 30px */
    margin-bottom: 40px; /* Reducido de 60px */
}

/* Items de testimonios */
.happy-testimonial-item {
    background: white;
    border-radius: 12px;
    padding: 25px; /* Reducido de 30px */
    box-shadow: 0 5px 20px rgba(0,0,0,0.08);
    transition: all 0.3s ease;
    border: 1px solid #e9ecef;
}

.happy-testimonial-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}

/* Estrellas */
.happy-stars {
    margin-bottom: 12px; /* Reducido de 15px */
    display: flex;
    gap: 2px;
}

.happy-star {
    color: #ffc107;
    font-size: 1.2rem;
}

/* Texto del testimonio */
.happy-testimonial-text {
    font-size: 1rem;
    color: #555;
    line-height: 1.6;
    margin-bottom: 15px; /* Reducido de 20px */
    font-style: italic;
}

/* Autor del testimonio */
.happy-testimonial-author {
    display: flex;
    align-items: center;
    gap: 12px; /* Reducido de 15px */
}

.happy-author-avatar {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, #2271b1 0%, #135e96 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 700;
    font-size: 1rem;
}

.happy-author-name {
    font-size: 1.1rem;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 3px; /* Reducido de 5px */
}

.happy-author-location {
    font-size: 0.9rem;
    color: #6c757d;
    margin: 0;
}

/* Estadísticas */
.happy-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px; /* Reducido de 30px */
    text-align: center;
}

.happy-stat-item {
    background: white;
    padding: 25px 15px; /* Reducido de 30px 20px */
    border-radius: 12px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.08);
    transition: all 0.3s ease;
}

.happy-stat-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.12);
}

.happy-stat-number {
    font-size: 2.5rem;
    font-weight: 700;
    color: #2271b1;
    margin-bottom: 8px; /* Reducido de 10px */
    line-height: 1;
}

.happy-stat-label {
    font-size: 1rem;
    color: #6c757d;
    font-weight: 500;
}

/* Responsive - También compactado */
@media (max-width: 1024px) {
    .happy-testimonials-grid {
        gap: 20px; /* Reducido de 25px */
    }
    
    .happy-stats-grid {
        gap: 15px; /* Reducido de 20px */
    }
}

@media (max-width: 768px) {
    .happy-social-proof-section {
        padding: 30px 10px; /* Reducido de 60px */
    }
    
    .happy-social-proof-title {
        font-size: 1.75rem;
    }
    
    .happy-testimonials-grid {
        grid-template-columns: 1fr;
        gap: 20px; /* Reducido de 25px */
        max-width: 600px;
        margin: 0 auto 40px; /* Reducido de 50px */
    }
    
    .happy-stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px; /* Reducido de 20px */
    }
    
    .happy-testimonial-item {
        padding: 20px; /* Reducido de 25px */
    }
}

@media (max-width: 480px) {
    .happy-social-proof-section {
        padding: 20px 5px; /* Reducido de 50px */
    }
    
    .happy-social-proof-title {
        font-size: 1.5rem;
    }
    
    .happy-social-proof-subtitle {
        font-size: 0.9rem;
    }
    
    .happy-stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px; /* Reducido de 20px */
    }
    
    .happy-stat-item {
        padding: 20px 12px; /* Reducido de 25px 15px */
    }
    
    .happy-stat-number {
        font-size: 1.5rem;
    }
    
    .happy-testimonial-author {
        flex-direction: column;
        text-align: center;
        gap: 8px; /* Reducido de 10px */
    }
}

/* Sección CTA Final - Fondo Naranja */
.happy-final-cta-section {
    padding: 40px 20px;
    background: linear-gradient(135deg, #ff6b35 0%, #e55a2b 100%);
    color: white;
    position: relative;
    overflow: hidden;
    margin-bottom: 0 !important;
}

.happy-final-cta-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000" opacity="0.05"><polygon fill="white" points="0,1000 1000,0 1000,1000"/></svg>');
    background-size: cover;
}


.happy-final-cta-container {
    max-width: 800px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
    text-align: center;
}

.happy-final-cta-content {
    padding: 0 20px;
}

.happy-final-cta-title {
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 20px;
    line-height: 1.2;
    text-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.happy-final-cta-subtitle {
    font-size: 1.3rem;
    margin-bottom: 40px;
    line-height: 1.5;
    opacity: 0.9;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.happy-final-cta-buttons {
    display: flex;
    gap: 20px;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.happy-final-cta-button {
    padding: 16px 32px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-size: 1.1rem;
    transition: all 0.3s ease;
    display: inline-block;
    text-align: center;
    min-width: 200px;
}

.happy-cta-primary {
    background: #2271b1;
    color: white;
    border: 2px solid #2271b1;
}

.happy-cta-primary:hover {
    background: #135e96;
    border-color: #135e96;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(34, 113, 177, 0.3);
}

.happy-cta-secondary {
    background: transparent;
    color: white;
    border: 2px solid white;
}

.happy-cta-secondary:hover {
    background: white;
    color: #ff6b35;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(255, 255, 255, 0.2);
}

.happy-final-cta-note {
    font-size: 0.95rem;
    opacity: 0.8;
    margin: 0;
}

/* Responsive */
@media (max-width: 768px) {
    .happy-final-cta-section {
        padding: 30px 15px;
    }
    
    .happy-final-cta-title {
        font-size: 2.2rem;
        margin-bottom: 15px;
    }
    
    .happy-final-cta-subtitle {
        font-size: 1.1rem;
        margin-bottom: 30px;
    }
    
    .happy-final-cta-buttons {
        flex-direction: column;
        gap: 15px;
    }
    
    .happy-final-cta-button {
        width: 100%;
        max-width: 300px;
        padding: 14px 24px;
    }
}

@media (max-width: 480px) {
    .happy-final-cta-section {
        padding: 20px 5px;
    }
    
    .happy-final-cta-title {
        font-size: 1.8rem;
    }
    
    .happy-final-cta-subtitle {
        font-size: 1rem;
        margin-bottom: 25px;
    }
    
    .happy-final-cta-button {
        font-size: 1rem;
        padding: 12px 20px;
    }
}

/* Sección Banner Remesas */
.happy-remesas-banner-section {
    padding: 60px 20px;
    background: #fff;
    border-top: 0;
    border-bottom: 1px solid #dee2e6;
    margin-bottom: 0 !important;
    z-index: 1;
}

.happy-remesas-banner-container {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}

.happy-remesas-banner-link {
    display: inline-block;
    text-decoration: none;
    transition: transform 0.3s ease;
}

.happy-remesas-banner-link:hover {
    transform: translateY(-3px);
}

.happy-remesas-banner-image {
    width: 900px;
    height: auto;
}

/* Responsive */
@media (max-width: 768px) {
    .happy-remesas-banner-section {
        padding: 30px 15px;
    }
}

@media (max-width: 768px) {
    .happy-remesas-banner-section {
        padding: 20px 5px;
    }
}

/* Sección Banner Recargas */
.happy-recargas-banner-section {
    padding: 60px 20px;
    background: #fff;
    border-top: 0;
    border-bottom: 1px solid #dee2e6;
    margin-bottom: 0 !important;
}

.happy-recargas-banner-container {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}

.happy-recargas-banner-link {
    display: inline-block;
    text-decoration: none;
    transition: transform 0.3s ease;
}

.happy-recargas-banner-link:hover {
    transform: translateY(-3px);
}

.happy-recargas-banner-image {
    width: 900px;
    height: auto;
    max-width: 100%;
}

/* Responsive */
@media (max-width: 768px) {
    .happy-recargas-banner-section {
        padding: 30px 15px;
    }
}

@media (max-width: 768px) {
    .happy-recargas-banner-section {
        padding: 20px 5px;
    }
}

/* Ocultar wcv_company_url eescritorio del vendedor */

/* Ocultar específicamente el control-group que contiene _wcv_company_url */
/* Ocultar todo el control-group específico */
.control-group:has([name="_wcv_company_url"]) {
    display: none !important;
}

/* ============================= */
/* FAQ */
/* ============================= */

/* FAQs Styles - Enhanced Questions */
.hs360-faqs-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.hs360-faq-category {
    margin-bottom: 40px;
    border: 1px solid #e1e1e1;
    border-radius: 12px;
    overflow: hidden;
    background: white;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    transition: all 0.3s ease;
}

.hs360-faq-category:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.faq-category-title {
    background: linear-gradient(135deg, #2271b1, #135e96);
    color: white;
    padding: 20px;
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    display: flex;
    align-items: center;
}

.hs360-faq-accordion {
    padding: 0;
}

.faq-item {
    border-bottom: 1px solid #f0f0f0;
    transition: all 0.3s ease;
}

.faq-item:last-child {
    border-bottom: none;
}

.faq-item:hover {
    background: #fafafa;
}

/* Enhanced Question Styling */
.faq-question {
    width: 100%;
    background: none;
    border: none;
    padding: 20px 20px 20px 25px;
    text-align: left;
    font-size: 16px;
    font-weight: 600;
    color: #2c3e50;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 18px;
    transition: all 0.3s ease;
    background: linear-gradient(to right, #fafafa, #f8f9fa);
    border-left: 4px solid transparent;
    position: relative;
    overflow: hidden;
}

.faq-question:hover {
    background: linear-gradient(to right, #f0f8ff, #e3f2fd);
    color: #2271b1;
    border-left-color: #2271b1;
    transform: translateX(5px);
}

.faq-question:hover .faq-icon {
    background: #2271b1;
    transform: scale(1.1);
}

/* Enhanced Plus Icon - SQUARE with perfect centering */
.faq-icon {
    width: 28px;
    height: 28px;
    border-radius: 6px;
    background: #2271b1;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 600;
    transition: all 0.3s ease;
    flex-shrink: 0;
    box-shadow: 0 2px 4px rgba(34, 113, 177, 0.3);
    line-height: 1;
    padding: 0;
    margin: 0;
}

.faq-question[aria-expanded="true"] .faq-icon {
    background: #135e96;
    transform: rotate(45deg) scale(1.1);
    box-shadow: 0 3px 6px rgba(19, 94, 150, 0.4);
}

.faq-question-text {
    flex: 1;
    text-align: left;
    line-height: 1.4;
}

/* Answer Styling - Keeping ONLY the steps style you liked */
.faq-answer {
    padding: 0;
    max-height: 0;
    overflow: hidden;
    transition: all 0.3s ease;
    background: white;
}

.faq-answer.active {
    max-height: 2000px;
}

.faq-answer-content {
    padding: 25px 25px 30px 25px;
    background: linear-gradient(to bottom, #fdfdfd, #ffffff);
    border-top: 1px solid #f0f0f0;
}

.faq-answer-content p {
    margin-bottom: 20px;
    line-height: 1.6;
    color: #555;
}

.faq-answer-content p:last-child {
    margin-bottom: 0;
}

/* Enhanced Steps (the ONLY style you want for answers) */
.faq-steps {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 20px 0;
}

.faq-step {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 15px;
    background: #f8f9fa;
    border-radius: 8px;
    border-left: 4px solid #2271b1;
}

.step-number {
    background: #2271b1;
    color: white;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 600;
    flex-shrink: 0;
    line-height: 1;
}

.step-text {
    color: #555;
    line-height: 1.5;
    flex: 1;
}

.step-text strong {
    color: #333;
}

/* Botón Contactar Soporte - Ajuste automático y centrado */
.hs360-cta-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #2271b1;
    color: white;
    padding: 12px 24px;
    text-decoration: none;
    border-radius: 4px;
    font-weight: 500;
    width: auto !important;
    margin: 0 auto !important;
    transition: all 0.3s ease;
}

.hs360-cta-button:hover {
    background: #135e96 !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(19, 94, 150, 0.3);
}

#post-1064{
    margin: auto !important;
}

/* Responsive */
@media (max-width: 768px) {
    .hs360-faqs-container {
        padding: 0 10px;
        margin: auto !important;
    }
    
    .faq-category-title {
        padding: 15px;
        font-size: 18px;
    }
    
    .faq-question {
        padding: 15px 15px 15px 20px;
        font-size: 15px;
        gap: 15px;
    }
    
    .faq-icon {
        width: 24px;
        height: 24px;
        font-size: 16px;
    }
    
    .faq-answer-content {
        padding: 20px 20px 25px 20px;
    }
    
    .faq-step {
        padding: 12px;
        gap: 12px;
    }
    
    .step-number {
        width: 22px;
        height: 22px;
        font-size: 13px;
    }
}

/* Responsive */
@media (max-width: 480px) {
    .hs360-faqs-container {
        margin: auto !important;
        padding: 0 5px;
    }

    #post-1064{
        margin: auto !important;
        padding: 0 !important;
    }

    .post-1064 .ct-container-full article{
        margin: 0 !important;
        padding: 0 !important;
    }
}

.search-button.hs-submit { 
  /* SOLUCIÓN CON BOX-SHADOW */
  box-shadow: 
    1px 0 0 0 #febd69,        /* Borde derecho */
    0 1px 0 0 #febd69,        /* Borde superior */  
    0 -1px 0 0 #febd69,       /* Borde inferior */
    1px 1px 0 0 #febd69,      /* Esquina superior derecha */
    1px -1px 0 0 #febd69;     /* Esquina inferior derecha */
}

.contact-info a {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s ease;
}

.contact-info a:hover {
    color: #007bff; /* Cambia por el color de tu preferencia */
}

.social-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.social-link svg {
    margin-right: 5px;
}

.contact-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: inherit;
    text-decoration: none;
    transition: color 0.3s ease;
    margin-right: 10px;
}

.contact-link:hover {
    color: #007bff; /* Cambia por el color de tu preferencia */
}

.social-icons {
    display: inline-flex;
    gap: 15px;
    margin-left: 10px;
    vertical-align: middle;
}

.social-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: inherit;
    text-decoration: none;
    transition: all 0.3s ease;
    padding: 5px;
    border-radius: 4px;
}

.social-icon:hover {
    color: #007bff; /* Cambia por el color de tu preferencia */
    transform: translateY(-2px);
}

.faq-step {
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #eee;
}

.faq-step:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.social-links {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.social-link {
    display: flex;
    align-items: center;
    gap: 8px;
    color: inherit;
    text-decoration: none;
    transition: color 0.3s ease;
    padding: 4px 0;
}

.social-link:hover {
    color: #007bff; /* Cambia por el color de tu preferencia */
}

.social-link svg {
    flex-shrink: 0;
}

/* Estilos para la sección de 2FA */
.woocommerce-2fa-section {
    background: #f8f8f8;
    padding: 20px;
    border-radius: 5px;
    margin-top: 30px;
    text-align: center;
}

.woocommerce-2fa-section h3 {
    color: #333;
    margin-bottom: 15px;
    font-size: 1.2em;
}

.woocommerce-2fa-section p {
    color: #666;
    margin-bottom: 20px;
}

.wp-2fa-user-profile-form {
    width: 100%;
    border: none !important;
}

.wp-2fa-user-profile-form tbody {
    border: none !important;
}

.wp-2fa-user-profile-form tr {
    border: none !important;
    display: block;
    padding-bottom: 20px !important;
}

.button.enable_styling {
    background: #007cba;
    color: white;
    padding: 12px 24px;
    text-decoration: none;
    border-radius: 3px;
    display: inline-block;
    border: none;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
}

.button.enable_styling:hover {
    background: #005a87;
}

/* Estilos para la página de configuración 2FA */
.post-2763 .entry-content {
    max-width: 100% !important;
}

.wp-2fa-configuration-form {
    background: #f8f8f8;
    padding: 30px;
    border-radius: 5px;
    margin: 20px 0;
}

.wp-2fa-configuration-form h2 {
    color: #333;
    font-size: 1.5em;
    margin-bottom: 15px;
    border-bottom: 2px solid #007cba;
    padding-bottom: 10px;
}

.wp-2fa-configuration-form h3 {
    color: #444;
    font-size: 1.2em;
    margin: 25px 0 15px 0;
}

.wp-2fa-configuration-form .description {
    color: #666;
    font-style: italic;
    margin-bottom: 20px;
}

/* Tablas de configuración */
.wp-2fa-user-profile-form {
    width: 100%;
    margin: 20px 0;
    background: white;
    border-radius: 5px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.wp-2fa-user-profile-form th,
.wp-2fa-user-profile-form td {
    padding: 15px 20px;
    border-bottom: 1px solid #e5e5e5;
    vertical-align: middle;
}

.wp-2fa-user-profile-form th {
    background: #f9f9f9;
    font-weight: 600;
    width: 200px;
    text-align: left;
}

.wp-2fa-user-profile-form tr:last-child th,
.wp-2fa-user-profile-form tr:last-child td {
    border-bottom: none;
}

/* Botones */
.button.enable_styling,
.wp-2fa-button-primary {
    background: #007cba;
    color: white;
    padding: 12px 24px;
    text-decoration: none;
    border-radius: 3px;
    border: none;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    display: inline-block;
    transition: background 0.3s ease;
}

.button.enable_styling:hover,
.wp-2fa-button-primary:hover {
    background: #005a87;
}

.wp-2fa-button-secondary {
    background: #6c757d;
    color: white;
    padding: 12px 24px;
    text-decoration: none;
    border-radius: 3px;
    border: none;
    cursor: pointer;
    font-size: 14px;
    display: inline-block;
    transition: background 0.3s ease;
}

.wp-2fa-button-secondary:hover {
    background: #545b62;
}

/* Modal y Wizard */
.wp2fa-modal .modal__container {
    background: white;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
}

.wp2fa-modal .modal__header {
    background: #007cba;
    color: white;
    padding: 20px;
    border-radius: 8px 8px 0 0;
}

.wp2fa-modal .modal__title {
    margin: 0;
    color: white;
}

.wp2fa-modal .modal__content {
    padding: 30px;
}

.wp2fa-modal .modal__footer {
    padding: 20px 30px;
    border-top: 1px solid #e5e5e5;
    text-align: right;
}

/* Opciones del wizard */
.radio-cells .option-pill {
    background: white;
    border: 2px solid #e5e5e5;
    border-radius: 5px;
    padding: 15px;
    margin-bottom: 10px;
    transition: border-color 0.3s ease;
}

.radio-cells .option-pill:hover {
    border-color: #007cba;
}

.radio-cells input[type="radio"] {
    margin-right: 10px;
}

/* QR Code y códigos */
.qr-code-wrapper {
    text-align: center;
    padding: 20px;
    background: white;
    border-radius: 5px;
    border: 1px solid #e5e5e5;
}

.app-key-wrapper {
    background: #f8f9fa;
    padding: 15px;
    border-radius: 5px;
    border: 1px solid #dee2e6;
    margin: 10px 0;
}

.app-key {
    background: white;
    border: 1px solid #ced4da;
    border-radius: 3px;
    padding: 8px 12px;
    width: 100%;
    font-family: monospace;
}

.click-to-copy {
    background: #28a745;
    color: white;
    padding: 5px 10px;
    border-radius: 3px;
    cursor: pointer;
    font-size: 12px;
    margin-left: 10px;
}

.click-to-copy:hover {
    background: #218838;
}

/* Lista de aplicaciones */
.apps-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 15px 0;
}

.app-logo img {
    height: 40px;
    width: auto;
    border-radius: 5px;
    transition: transform 0.3s ease;
}

.app-logo:hover img {
    transform: scale(1.1);
}

/* Códigos de respaldo */
.backup-key-wrapper textarea {
    width: 100%;
    background: #f8f9fa;
    border: 1px solid #ced4da;
    border-radius: 5px;
    padding: 15px;
    font-family: monospace;
    resize: vertical;
}

/* Tooltips */
.wizard-tooltip {
    color: #007cba;
    cursor: help;
    margin-left: 5px;
}

.tooltip-content-wrapper {
    display: none;
    position: absolute;
    background: white;
    border: 1px solid #e5e5e5;
    border-radius: 5px;
    padding: 15px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    z-index: 1000;
    max-width: 300px;
}

/* Responsive */
@media (max-width: 768px) {
    .wp-2fa-configuration-form {
        padding: 20px 15px;
    }
    
    .wp-2fa-user-profile-form th,
    .wp-2fa-user-profile-form td {
        padding: 10px 15px;
        display: block;
        width: 100%;
    }
    
    .wp-2fa-user-profile-form th {
        background: #f0f0f0;
        border-bottom: none;
    }
    
    .modal-40,
    .modal-60 {
        width: 100% !important;
        float: none !important;
    }
}

/* Estados de los steps del wizard */
.wizard-step {
    display: none;
}

.wizard-step.active {
    display: block;
}

.wp2fa-setup-actions {
    margin-top: 25px;
    text-align: center;
}

.wp2fa-setup-actions .button {
    margin: 0 5px 10px 5px;
}

/* Inputs de verificación */
.wp-2fa-configuration-form input[type="tel"],
.wp-2fa-configuration-form input[type="email"],
.wp-2fa-configuration-form input[type="text"] {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #ddd;
    border-radius: 3px;
    font-size: 14px;
    margin-top: 5px;
}

.wp-2fa-configuration-form label {
    font-weight: 600;
    color: #333;
    display: block;
    margin-bottom: 15px;
}

/* Botón Configurar 2FA - Estilo consistente con la web */
a.button.button-primary.enable_styling {
    background: #007cba;
    color: white;
    padding: 12px 24px;
    text-decoration: none;
    border-radius: 3px;
    border: none;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    display: inline-block;
    transition: all 0.3s ease;
    line-height: 1.4;
    text-align: center;
}

a.button.button-primary.enable_styling:hover {
    background: #005a87;
    color: white;
    text-decoration: none;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 124, 186, 0.3);
}

a.button.button-primary.enable_styling:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(0, 124, 186, 0.3);
}

/* Estados de focus para accesibilidad */
a.button.button-primary.enable_styling:focus {
    outline: 2px solid #007cba;
    outline-offset: 2px;
}

/* Para botones en tablas */
.wp-2fa-user-profile-form a.button.button-primary.enable_styling {
    margin: 0;
}

/* Responsive */
@media (max-width: 768px) {
    a.button.button-primary.enable_styling {
        padding: 10px 20px;
        font-size: 13px;
        width: 100%;
        text-align: center;
    }
}

div.entry-content:nth-child(3) > p:nth-child(2){
    display: none !important;
}

.rtcl .rtcl-btn .rtcl-icon, .rtcl-btn .rtcl-icon{
    color: #fff !important;
}

/* ============================================
   ESTILOS PARA PÁGINA DE VENDEDORES - SOLO VISUAL
   ============================================ */

/* Hero Section para vendedores */
.page-template-vendedor .hero-section[data-type="type-1"],
body.page-vendedor .hero-section[data-type="type-1"] {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%) !important;
    padding: 40px 0 !important;
    margin-bottom: 40px !important;
}

.page-template-vendedor .hero-section .page-title,
body.page-vendedor .hero-section .page-title {
    color: #2c3338 !important;
    font-size: 2.5rem !important;
    font-weight: 700 !important;
    margin-bottom: 0 !important;
}

/* Filtros y búsqueda de vendedores - NUEVA DISTRIBUCIÓN */
.wcv-vendor-list-filter {
    margin-bottom: 30px;
    padding: 20px;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    border: 1px solid #f0f0f0;
    gap: 15px;
}

/* Contenedor principal del buscador y switches */
.wcv-vendor-list-search {
    gap: 15px;
    margin: 0 !important;
}

/* Formulario ocupa todo el espacio disponible */
.wcv-vendor-list-search .wcv-form {
    gap: 10px;
    margin: 0 !important;
}

/* Input de texto ocupa todo el espacio */
.wcv-vendor-list-search input[type="text"] {
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 14px;
    transition: border-color 0.3s ease;
    margin: 0 !important;
    background: #ffffff;
}

.wcv-vendor-list-search input[type="text"]:focus {
    border-color: #2271b1;
    outline: none;
    box-shadow: 0 0 0 3px rgba(34, 113, 177, 0.1);
}

.wcv-vendor-list-search input[type="text"]::placeholder {
    color: #6c757d;
}

/* Botón buscar con color azul */
.wcv-vendor-list-search .wcv-button {
    background: #2271b1 !important; /* Color azul */
    color: white !important;
    border: none !important;
    padding: 12px 20px !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    font-weight: 600 !important;
    margin: 0 !important;
}

.wcv-vendor-list-search .wcv-button:hover {
    background: #135e96 !important;
    transform: translateY(-1px);
}

/* Switches de vista alineados con el botón buscar */
.wcv-vendor-list-switch {
    gap: 5px;
    background: #f8f9fa;
    border-radius: 8px;
    padding: 4px;
    margin: 0 !important;
}

.wcv-vendor-list-switch-item {
    padding: 10px 12px !important;
    background: transparent !important;
    border: none !important;
    border-radius: 6px !important;
    color: #6c757d !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    gap: 5px !important;
    margin: 0 !important;
}

.wcv-vendor-list-switch-item.active,
.wcv-vendor-list-switch-item:hover {
    background: #2271b1 !important;
    color: white !important;
}

/* Lista de vendedores */
.wcv_vendorslist {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid;
    gap: 25px;
}

.wcv_vendorslist.grid {
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}

.wcv_vendorslist.list {
    grid-template-columns: 1fr;
}

/* Tarjetas de vendedor */
.vendor_list {
    background: #ffffff;
    border-radius: 12px;
    padding: 25px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    border: 1px solid #f0f0f0;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.vendor_list:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    border-color: #2271b1;
}

/* Avatar del vendedor */
.vendor_list_avatar {
    text-align: center;
    margin-bottom: 20px;
}

.vendor_list_avatar img {
    width: 120px !important;
    height: 120px !important;
    border-radius: 50% !important;
    object-fit: cover;
    border: 4px solid #f8f9fa;
    transition: border-color 0.3s ease;
}

.vendor_list:hover .vendor_list_avatar img {
    border-color: #2271b1;
}

/* Información del vendedor */
.vendor_list_info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.vendor_list--shop-name {
    margin: 0 0 10px 0 !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    text-align: center;
}

.vendor_list--shop-name a {
    color: #2c3338 !important;
    text-decoration: none !important;
    transition: color 0.3s ease;
}

.vendor_list--shop-name a:hover {
    color: #2271b1 !important;
}

/* Información de contacto */
.vendors_list--shop-phone,
.vendors_list--shop-address {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: #6c757d !important;
    font-size: 14px !important;
    margin: 5px 0 !important;
}

.vendors_list--shop-phone .dashicons,
.vendors_list--shop-address .dashicons {
    color: #2271b1;
    width: 16px;
    height: 16px;
    font-size: 16px;
}

/* Botón de visitar tienda - TODOS VAN A /tienda */
.vendors_list--shop-link {
    background: linear-gradient(135deg, #2271b1 0%, #135e96 100%) !important;
    color: white !important;
    text-decoration: none !important;
    padding: 12px 20px !important;
    border-radius: 8px !important;
    text-align: center !important;
    font-weight: 600 !important;
    border: none !important;
    transition: all 0.3s ease !important;
    margin-top: auto !important;
    display: block !important;
}

.vendors_list--shop-link:hover {
    background: linear-gradient(135deg, #135e96 0%, #0d4b7a 100%) !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(34, 113, 177, 0.3);
}


/* Mensaje cuando no hay vendedores */
.wcv_vendorslist:empty::before {
    content: "No se encontraron vendedores";
    text-align: center;
    color: #6c757d;
    font-style: italic;
    padding: 40px;
    background: #f8f9fa;
    border-radius: 12px;
    grid-column: 1 / -1;
}

/* Solución 1: Asegurar que el scroll solo aparezca en el área del contenido */
#order-details-modal-2851 .modal-body {
    overflow-y: auto;
    overflow-x: hidden;
}

/* Solución 2: Crear espacio para el scroll sin que tape el contenido */
.wcv-order-table-wrapper {
    padding-right: 15px; /* Espacio para el scroll */
}

/* Solución 3: Ajustar específicamente la tabla de totales */
.wcv-order-totals {
    padding-right: 10px; /* Espacio adicional para evitar superposición */
}

/* Solución 4: Scroll personalizado más delgado */
#order-details-modal-2851 .modal-body::-webkit-scrollbar {
    width: 6px;
}

#order-details-modal-2851 .modal-body::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

#order-details-modal-2851 .modal-body::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 10px;
}

#order-details-modal-2851 .modal-body::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}

/* Solución 5: Ajustar el contenedor principal para scroll interno */
.wcv-order-details {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.wcv-order-customer-details,
.wcv-order-items-details {
    flex-shrink: 0; /* Evita que se reduzcan */
}

/* El área con scroll será específicamente el contenido de la tabla */
.wcv-order-table-wrapper {
    max-height: 300px; /* O la altura que necesites */
    overflow-y: auto;
}

/* Centrar el grid completo en página 942 - SOLO ESCRITORIO */
@media (min-width: 481px) {
    /* Alternativa con flexbox para centrado perfecto */
    body.page-id-942 .woocommerce ul.products {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 15px !important;
        margin: 20px auto !important;
        margin-bottom: 5px !important;
        padding: 0 !important;
        list-style: none !important;
        max-width: 1450px !important;
    }
    
    body.page-id-942 .woocommerce ul.products li.product {
        flex: 0 0 calc(16.666% - 15px) !important; /* Para 6 columnas */
        max-width: calc(16.666% - 15px) !important;
        min-width: 200px !important;
    }
}

@media (max-width: 480px) {
    body.page-id-942 .woocommerce ul.products li.product .onsale{
        height: 20px !important;
        top: 5px !important;
        right: 5px !important;
    }
}  

.woo-sctr-sticky-top {
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  background: transparent !important;
}

.woo-sctr-shortcode-wrap-wrap.woo-sctr-shortcode-wrap-wrap-1 .woo-sctr-shortcode-countdown-wrap.woo-sctr-shortcode-countdown-style-2 .woo-sctr-shortcode-countdown-value{
    border: 3px solid #65a153 !important;
}

.woo-sctr-shortcode-wrap-wrap.woo-sctr-shortcode-wrap-wrap-2 .woo-sctr-shortcode-countdown-wrap.woo-sctr-shortcode-countdown-style-2 .woo-sctr-shortcode-countdown-value {
  border: 3px solid #5353a1 !important;
}

.woo-sctr-shortcode-wrap-wrap.woo-sctr-shortcode-wrap-wrap-3 .woo-sctr-shortcode-countdown-wrap.woo-sctr-shortcode-countdown-style-2 .woo-sctr-shortcode-countdown-value {
    border: 3px solid #5353a1 !important;
}

/* ===== LOCALIZACIONES - VENDEDOR ===== */

/* ===== LOCALIZACIONES - VENDEDOR ===== */

/* Contenedor del árbol */
.wcv-product-location .location-tree-container {
    max-height: 400px;
    overflow-y: auto;
    border: 1px solid #dcdcde;
    padding: 15px;
    background: #fff;
    border-radius: 4px;
    position: relative;
    width: 100%;
    box-sizing: border-box;
}

/* Reset AGGRESIVO para inputs dentro del árbol */
.wcv-product-location .location-tree-container input[type="checkbox"] {
    position: static !important;
    margin: 0 8px 0 0 !important;
    width: 16px !important;
    height: 16px !important;
    float: none !important;
    display: inline-block !important;
    opacity: 1 !important;
    visibility: visible !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
}

/* Elementos del árbol */
.wcv-product-location .location-item {
    margin-bottom: 2px;
    width: 100%;
    position: relative;
}

.wcv-product-location .location-row {
    display: flex;
    align-items: center;
    min-height: 28px;
    width: 100%;
    position: relative;
}

/* Flechas para expandir/contraer */
.wcv-product-location .toggle-arrow {
    display: inline-block;
    width: 16px;
    text-align: center;
    font-size: 11px;
    color: #666;
    cursor: pointer;
    user-select: none;
    flex-shrink: 0;
    margin-right: 5px;
}

.wcv-product-location .toggle-arrow.placeholder {
    cursor: default;
    color: transparent;
}

/* Labels y checkboxes - FORZAR POSICIÓN RELATIVA */
.wcv-product-location .location-label {
    display: flex !important;
    align-items: center !important;
    cursor: pointer;
    flex: 1;
    min-height: 24px;
    padding: 2px 4px;
    border-radius: 3px;
    position: relative !important;
    margin: 0 !important;
}

.wcv-product-location .location-label:hover {
    background-color: #f0f6ff;
}

/* CHECKBOX - POSICIÓN ABSOLUTA CORREGIDA */
.wcv-product-location .location-checkbox {
    position: relative !important;
    margin: 0 8px 0 0 !important;
    width: 16px !important;
    height: 16px !important;
    flex-shrink: 0;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    top: auto !important;
    left: auto !important;
    float: none !important;
}

/* Texto del nombre */
.wcv-product-location .location-name {
    flex: 1;
    color: #2c3338;
    font-size: 14px;
    line-height: 1.3;
    position: relative;
    display: block;
}

/* Niveles de jerarquía */
.wcv-product-location .location-item.level-0 .location-name {
    font-weight: 600;
    color: #1d2327;
}

.wcv-product-location .location-item.level-1 .location-row {
    padding-left: 20px;
}

.wcv-product-location .location-item.level-2 .location-row {
    padding-left: 40px;
}

.wcv-product-location .location-item.level-3 .location-row {
    padding-left: 60px;
}

/* Hijos del árbol */
.wcv-product-location .location-children {
    display: none;
    width: 100%;
}

/* Estados de elementos seleccionados */
.wcv-product-location input[type="checkbox"]:checked + .location-name {
    color: #2271b1;
    font-weight: 500;
}

/* Scrollbar personalizado */
.wcv-product-location .location-tree-container::-webkit-scrollbar {
    width: 6px;
}

.wcv-product-location .location-tree-container::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 3px;
}

.wcv-product-location .location-tree-container::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 3px;
}

.wcv-product-location .location-tree-container::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}

/* Descripción */
.wcv-product-location .location-description {
    margin-bottom: 15px;
    color: #666;
    font-size: 14px;
    line-height: 1.4;
}

/* Localizaciones en frontend */
.product-locations {
    margin: 15px 0;
    padding: 12px;
    background: #f8f9fa;
    border-radius: 4px;
    border-left: 4px solid #007cba;
    font-size: 14px;
}

.product-locations strong {
    color: #007cba;
}

.product-locations span {
    color: #555;
}

/* ===== OVERRIDE ESPECÍFICO PARA POSITION ABSOLUTE ===== */
#wcv-product-edit .wcv-product-location input[type="checkbox"],
form#wcv-product-edit .wcv-product-location input[type="checkbox"],
.wcv-form .wcv-product-location input[type="checkbox"] {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    margin: 0 8px 0 0 !important;
    transform: none !important;
}

/* Forzar el layout flex */
.wcv-product-location .location-label {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
}

.wcv-product-location .location-checkbox {
    order: 1 !important;
    flex-shrink: 0 !important;
}

.wcv-product-location .location-name {
    order: 2 !important;
    flex: 1 !important;
}

/* Remover enlace de vendedor en página individual de producto */
.single-product .product_meta .wcvendors_cart_sold_by_meta {
    pointer-events: none;
    text-decoration: none;
    color: inherit;
    cursor: default;
    font-weight: 600;
    color: #333;
}

.single-product .product_meta a.wcvendors_cart_sold_by_meta:hover {
    text-decoration: none;
    color: inherit;
}

/* ============================================
   ESTILOS PROFESIONALES - PRODUCTO NO DISPONIBLE
   ============================================ */

.unavailable-product-container {
    max-width: 800px;
    margin: 40px auto;
    padding: 0 20px;
}

.unavailable-product-header {
    text-align: center;
    margin-bottom: 50px;
}

.unavailable-icon {
    margin-bottom: 25px;
}

.unavailable-icon svg {
    color: #dc3545;
}

.unavailable-product-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #2d3748;
    margin: 0 0 12px 0;
    line-height: 1.2;
}

.unavailable-product-subtitle {
    font-size: 1.125rem;
    color: #718096;
    margin: 0;
    font-weight: 400;
}

/* Tarjeta de información del producto */
.product-info-card {
    display: flex;
    align-items: center;
    gap: 20px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 24px;
    margin-bottom: 30px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.product-image {
    flex-shrink: 0;
}

.product-image img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 8px;
}

.product-details {
    flex: 1;
}

.product-name {
    font-size: 1.25rem;
    font-weight: 600;
    color: #2d3748;
    margin: 0 0 8px 0;
}

.status-badge {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.status-badge.unavailable {
    background: #fed7d7;
    color: #c53030;
}

/* Panel de ubicaciones */
.locations-panel {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    margin-bottom: 30px;
    overflow: hidden;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.locations-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    background: #f7fafc;
    border-bottom: 1px solid #e2e8f0;
}

.locations-header h3 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    font-size: 1.125rem;
    font-weight: 600;
    color: #2d3748;
}

.locations-header h3 svg {
    color: #4a5568;
}

.toggle-locations {
    display: flex;
    align-items: center;
    gap: 8px;
    background: none;
    border: 1px solid #cbd5e0;
    border-radius: 6px;
    padding: 8px 12px;
    font-size: 0.875rem;
    font-weight: 500;
    color: #4a5568;
    cursor: pointer;
    transition: all 0.2s ease;
}

.toggle-locations:hover {
    background: #edf2f7;
    border-color: #a0aec0;
}

.toggle-icon {
    transition: transform 0.2s ease;
}

.toggle-locations[aria-expanded="true"] .toggle-icon {
    transform: rotate(180deg);
}

/* ============================================
   ÁRBOL DE DISPONIBILIDAD - MEJORADO
   ============================================ */

.locations-tree {
    max-height: 500px;
    overflow-y: auto;
    padding: 20px;
    background: #ffffff;
    margin-top: 0;
}

/* Elementos del árbol */
.locations-tree .location-tree-item {
    margin-bottom: 2px;
    width: 100%;
}

.locations-tree .location-row {
    display: flex;
    align-items: center;
    min-height: 44px;
    width: 100%;
    padding: 8px 12px;
    border-radius: 8px;
    transition: all 0.3s ease;
    gap: 12px;
    border: 1px solid transparent;
}

.locations-tree .location-row:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

/* Estados de disponibilidad */
.locations-tree .location-tree-item.available .location-row {
    background: linear-gradient(135deg, #f0fff4 0%, #e6ffed 100%) !important;
    border-color: #c6f6d5 !important;
    border-left: 4px solid #38a169 !important;
}

.locations-tree .location-tree-item.partially-available .location-row {
    background: linear-gradient(135deg, #fffaf0 0%, #fff5e6 100%);
    border-color: #fed7aa;
    border-left: 4px solid #ed8936;
}

.locations-tree .location-tree-item.not-available .location-row {
    background: linear-gradient(135deg, #fff5f5 0%, #ffe6e6 100%);
    border-color: #fed7d7;
    border-left: 4px solid #e53e3e;
}

/* Flechas para expandir/contraer */
.locations-tree .toggle-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    cursor: pointer;
    user-select: none;
    flex-shrink: 0;
    transition: all 0.3s ease;
    border-radius: 4px;
}

.locations-tree .toggle-arrow:hover {
    background: rgba(0,0,0,0.05);
}

.locations-tree .toggle-arrow.placeholder {
    cursor: default;
    opacity: 0;
}

.locations-tree .toggle-arrow svg {
    width: 14px;
    height: 14px;
    transition: transform 0.3s ease;
}

.locations-tree .toggle-arrow.expanded svg {
    transform: rotate(90deg);
}

/* Iconos SVG de disponibilidad */
.locations-tree .availability-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.available-icon {
    color: #38a169;
}

.partial-icon {
    color: #ed8936;
}

.not-available-icon {
    color: #e53e3e;
}

/* Nombre de la localización */
.locations-tree .location-name {
    flex: 1;
    color: #2d3748;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 500;
}

/* Badge de disponibilidad */
.locations-tree .availability-badge {
    flex-shrink: 0;
    font-size: 12px;
    font-weight: 700;
    padding: 6px 12px;
    border-radius: 20px;
    margin-left: auto;
    min-width: 100px;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.locations-tree .available .availability-badge {
    background: linear-gradient(135deg, #48bb78 0%, #38a169 100%) !important;
    color: white !important;
    box-shadow: 0 2px 4px rgba(72, 187, 120, 0.3) !important;
}

.locations-tree .partially-available .availability-badge {
    background: linear-gradient(135deg, #ed8936 0%, #dd6b20 100%);
    color: white;
    box-shadow: 0 2px 4px rgba(237, 137, 54, 0.3);
}

.locations-tree .not-available .availability-badge {
    background: linear-gradient(135deg, #e53e3e 0%, #c53030 100%);
    color: white;
    box-shadow: 0 2px 4px rgba(229, 62, 62, 0.3);
}

/* Niveles de jerarquía */
.locations-tree .location-tree-item.level-0 .location-name {
    font-weight: 700;
    color: #1a202c;
    font-size: 16px;
}

.locations-tree .location-tree-item.level-1 .location-row {
    padding-left: 36px;
}

.locations-tree .location-tree-item.level-1 .location-name {
    font-weight: 600;
    color: #2d3748;
}

.locations-tree .location-tree-item.level-2 .location-row {
    padding-left: 72px;
}

.locations-tree .location-tree-item.level-2 .location-name {
    font-weight: 500;
    color: #4a5568;
}

.locations-tree .location-tree-item.level-3 .location-row {
    padding-left: 108px;
}

.locations-tree .location-tree-item.level-3 .location-name {
    font-weight: 400;
    color: #718096;
}

/* Hijos del árbol */
.locations-tree .location-children {
    display: none;
    width: 100%;
}

/* Leyenda de disponibilidad */
.availability-legend {
    display: flex;
    justify-content: center;
    gap: 24px;
    margin: 20px 0;
    padding: 16px;
    background: #f7fafc;
    border-radius: 8px;
    font-size: 14px;
    border: 1px solid #e2e8f0;
}

.legend-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    background: white;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    font-weight: 500;
}

.legend-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.legend-available {
    border-left: 4px solid #38a169 !important;
}

.legend-partial {
    border-left: 4px solid #ed8936;
}

.legend-unavailable {
    border-left: 4px solid #e53e3e;
}

/* Mensajes */
.no-restrictions-message,
.product-not-found {
    text-align: center;
    padding: 40px 20px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    margin-bottom: 30px;
}

.no-restrictions-message svg,
.product-not-found svg {
    color: #a0aec0;
    margin-bottom: 16px;
}

.no-restrictions-message p,
.product-not-found h3 {
    margin: 0;
    color: #4a5568;
}

/* ============================================
   BOTONES DE ACCIÓN - ESTILOS RESTAURADOS
   ============================================ */

.action-buttons {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 40px;
}

.action-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    border-radius: 10px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    border: 2px solid transparent;
    font-size: 16px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.action-btn.primary {
    background: linear-gradient(135deg, #007cba 0%, #006ba1 100%);
    color: white;
}

.action-btn.primary:hover {
    background: linear-gradient(135deg, #005a87 0%, #004d73 100%);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 124, 186, 0.3);
}

.action-btn.secondary {
    background: white;
    color: #4a5568;
    border-color: #cbd5e0;
}

.action-btn.secondary:hover {
    background: #f7fafc;
    border-color: #a0aec0;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.action-btn svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

/* ============================================
   SCROLLBAR Y RESPONSIVE
   ============================================ */

/* Scrollbar personalizado */
.locations-tree::-webkit-scrollbar {
    width: 8px;
}

.locations-tree::-webkit-scrollbar-track {
    background: #f7fafc;
    border-radius: 4px;
}

.locations-tree::-webkit-scrollbar-thumb {
    background: #cbd5e0;
    border-radius: 4px;
}

.locations-tree::-webkit-scrollbar-thumb:hover {
    background: #a0aec0;
}

/* Responsive */
@media (max-width: 768px) {
    .unavailable-product-title {
        font-size: 2rem;
    }
    
    .product-info-card {
        flex-direction: column;
        text-align: center;
        gap: 16px;
    }
    
    .locations-header {
        flex-direction: column;
        gap: 12px;
        align-items: flex-start;
    }
    
    .locations-tree {
        padding: 15px;
        max-height: 400px;
    }
    
    .locations-tree .location-row {
        flex-wrap: wrap;
        gap: 8px;
        min-height: auto;
    }
    
    .locations-tree .availability-badge {
        margin-left: 0;
        order: 3;
        width: 100%;
        text-align: center;
        margin-top: 8px;
    }
    
    .locations-tree .location-tree-item.level-1 .location-row {
        padding-left: 28px;
    }
    
    .locations-tree .location-tree-item.level-2 .location-row {
        padding-left: 56px;
    }
    
    .locations-tree .location-tree-item.level-3 .location-row {
        padding-left: 84px;
    }
    
    .availability-legend {
        flex-direction: column;
        gap: 12px;
        align-items: center;
    }
    
    .action-buttons {
        flex-direction: column;
        align-items: center;
    }
    
    .action-btn {
        justify-content: center;
        width: 100%;
        max-width: 280px;
    }
}

@media (max-width: 480px) {
    .unavailable-product-container {
        padding: 0 15px;
    }
    
    .unavailable-product-title {
        font-size: 1.75rem;
    }
    
    .locations-tree .location-tree-item.level-1 .location-row {
        padding-left: 20px;
    }
    
    .locations-tree .location-tree-item.level-2 .location-row {
        padding-left: 40px;
    }
    
    .locations-tree .location-tree-item.level-3 .location-row {
        padding-left: 60px;
    }
    
    .legend-item {
        width: 100%;
        justify-content: center;
    }
}