:root {
    --primary-color: #0e3e77;
    --secondary-color: #11d1e8;
    --tertiary-color: #102540;
}

body {
    color: #000000;
}

a:hover {
    color: var(--secondary-color);
}

.input-disabled {
    cursor: not-allowed;
    pointer-events: none !important;
}

.icon-close47:before {
    content: "\F62A";
    font-family: 'bootstrap-icons';
    font-size: 3rem;
}

table.compare-list .add-to-cart td a,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
    background-color: var(--primary-color);
    font-weight: 600;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
}

.btn-ventus {
    padding: 0 30px !important;
    height: 50px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    color: white !important;
    margin: 0 !important;
}

.btn-primary-ventus {
    background: var(--primary-color) !important;
    border: 1px solid var(--primary-color) !important;
    color: white !important;
}

.btn-primary-ventus:hover {
    background: var(--secondary-color) !important;
    border-color: var(--secondary-color) !important;
    color: var(--primary-color) !important;
    transition: background .3s ease-in-out, color .3s ease-in-out, border-color .3s ease-in-out;
}


.btn-primary-outline {
    background-color: white !important;
    border: 1px solid var(--primary-color) !important;
    color: var(--primary-color) !important;
    transition: background .3s ease-in-out, color .3s ease-in-out !important;
}


.btn-primary-outline:hover {
    background-color: var(--primary-color) !important;
    border: 1px solid var(--primary-color) !important;
    color: white !important;
}

.nav_categories nav {
    max-width: 250px;
    position: relative;
}

.nav_categories ul {
    list-style: none;
    padding: 0;
    margin: 0;
    border: 1px solid #ddd;
    background: white;
    width: 100%;
    position: absolute;
}

.nav_categories nav>ul li>a {
    padding: 15px 24px !important;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    line-height: normal;
    color: #000;
    font-weight: 600;
    font-size: 11.02px;
    overflow: hidden;
    transition: color .3s ease-in-out;
}

.nav_categories nav>ul li>a span {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 5px;
}

.nav_categories nav>ul li>a span svg {
    width: 21px;
    height: 21px;
}

.nav_categories ul .submenu {
    position: absolute;
    right: -100%;
    top: 0;
}

.nav_categories nav>ul>li:not(:first-child)>a {
    border-top: 1px solid #eeeeee;
}

.nav_categories nav>ul>li {
    color: var(--primary-color);
    background: white;
    position: relative;
    transition: color .3s ease-in-out, background .3s ease-in-out;
}

.nav_categories nav>ul li:hover {
    background: var(--primary-color);
}

.nav_categories nav>ul>li:hover,
.nav_categories nav>ul>li:hover>a {
    color: white;
}

.nav_categories nav>ul li .submenu {
    transform: translateX(-100%);
}

.nav_categories nav>ul li:hover>.submenu {
    transform: translateX(0);
}

.nav_categories nav>ul li:hover>.submenu.active-submenu {
    display: block !important;
}

.nav_categories nav>ul li:hover>.submenu>li {
    position: relative;
}

.nav_categories nav>ul li:hover>.submenu>li:hover>a {
    color: white;
}

.nav_categories nav>ul li i {
    transform: rotate(-90deg);
    transition: transform 0.3s ease-in-out;
}

.nav_categories nav>ul li:hover>a i {
    transform: rotate(-90deg);
}

header.main-header {
    z-index: 99;
}

.header_b2b .logotipe {
    flex: 0 0 33.333%;
    text-align: center;
    display: flex;
    justify-content: center;
}

.header_b2b .icons a {
    line-height: normal;
}

.header_b2b .icons {
    display: flex;
    align-items: center;
    gap: 12px;
}

.header_b2b .icons span[class*="icon"],
.header_b2b .icons i[class*="bi"],
.header-customize span[class*="icon"],
.header-customize i[class*="bi"] {
    font-size: 3rem;
    color: var(--primary-color);
}

.header_b2b .icons .btn-ventus {
    min-width: 165px;
    height: 42px !important;
    padding: 0 10px !important;
    letter-spacing: 0;
    color: white;
    font-weight: 600;
    letter-spacing: 1px;
}

.header_b2b .icons .btn-ventus i {
    color: white;
    font-size: 1.4rem;
    transition: color .3s ease;
}

.header_b2b .icons .btn-ventus:hover i {
    color: var(--primary-color);
}

.footer-above-wrapper {
    padding-block: 25px;
}

.footer-above-wrapper h4,
.footer-above-wrapper .h4 {
    margin-bottom: 10px;
    font-weight: 700 !important;
    font-size: 1.4rem !important;
    color: #fff !important;
    text-transform: uppercase !important;
}

.footer-above-wrapper ul {
    list-style: none;
    padding: 0;
    margin: 0
}

.footer-above-wrapper ul li::before {
    display: none;
}

.footer-above-wrapper ul li h3 {
    margin-bottom: 0;
    font-weight: 700;
    font-size: 1.4rem;
    color: white !important;
}

.footer-above-wrapper .ventas_web li {
    display: flex;
    align-items: center;
    gap: 10px;
}

.footer-above-wrapper .ventas_web li+li {
    margin-top: 10px;
}

.footer-above-wrapper .central_phone li+li {
    margin-top: 10px;
}

.footer-above-wrapper .central_phone li h3 {
    font-weight: normal;
    text-transform: initial;
    color: white !important;
}

.footer-above-wrapper .central_phone li h3 a {
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 7px;
}

.footer-above-wrapper .central_phone li h3 a::after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    background: greenyellow;
    margin: 10px 0;
    border-radius: 100%;
}

.footer-above-wrapper ul li .phone h3:not(.phone) {
    font-weight: normal;
    text-transform: initial;
    letter-spacing: normal;
}

.footer-above-wrapper .ventas_web li h3.phone::after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    background: greenyellow;
    margin: 10px 0;
    border-radius: 100%;
}

.footer-above-wrapper .ventas_web li h3.phone {
    display: flex;
    align-items: center;
    gap: 5px;
}

.footer-above-wrapper .anexos li h3 {
    font-weight: normal;
    text-transform: initial;
    color: white !important;
}

.footer-above-wrapper .anexos li h3 a {
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 7px;
}

.footer-above-wrapper .anexos li h3 a::after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    background: greenyellow;
    margin: 10px 0;
    border-radius: 100%;
}

.footer-above-wrapper .anexos li+li {
    margin-top: 10px;
}

footer .col-md-3 ul {
    color: white;
}

footer .main-footer ul {
    padding: 0;
    margin: 0;
    list-style: none;
    display: grid;
    grid-template-columns: 1fr 1fr;
}

footer .main-footer ul li::before {
    content: '\F285';
    font-family: 'bootstrap-icons';
    color: var(--secondary-color);
    font-weight: 700;
    font-size: 1rem;
    margin-right: 5px;
}

footer .main-footer h4 {
    text-transform: initial;
    letter-spacing: normal;
}

/* Single product */
.single-product .btn-back {
    border: none;
    background: transparent;
    margin-bottom: 15px;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 5px;
    transition: color .3s ease-in-out;
}

.single-product .btn-back:hover {
    color: var(--secondary-color);
}

.product-image-thumb-item:hover .woocommerce-thumbnail-image,
.product-image-thumb-item.synced .woocommerce-thumbnail-image {
    box-shadow: 0 0 0 1px #000;
}

.single-product .btn-back i {
    font-size: 10px;
}

.summary-product {
    padding-left: 0 !important;
}

.summary-product .product_title {
    font-size: 2.1rem;
    color: var(--primary-color);
    margin-top: 0;
}

.single-product-info .summary-product.entry-summary p.price {
    font-size: 2.2rem;
    color: var(--primary-color);
    font-weight: 700;
}

/* -------------------------------------------------------------------------
 * La ficha de un producto VARIABLE — 21-08-2026
 *
 * Cuatro cosas que vio el desarrollador comparando la ficha de un simple con la de un
 * variable. Todas son del mismo tipo: reglas escritas para el simple que en el
 * variable caen en otro sitio o no caen.
 * ---------------------------------------------------------------------- */

/*
 * 1. MANDA EL PRECIO DE LA VARIACIÓN, NO EL DEL PADRE
 *
 * El precio grande y azul era el del padre, que en un variable **es un rango** —lo
 * que cuesta el más barato— y no el precio de lo que se está comprando. El de la
 * variación elegida salía en 18px y en color secundario, o sea leyéndose como una
 * nota al pie. Se invierte la jerarquía: el rango queda como referencia y el
 * precio de la variación toma el tamaño que tenía.
 *
 * Es lo mismo que decidimos en las metas: `pvp` ya no se hereda del padre porque
 * un precio del padre es un precio que nadie ha afirmado para ese voltaje.
 */
/*
 * `body:not(.ventus-single-variation)` acota esto al caso en que el precio de la
 * variación **se ve**: si no hay nada que elegir, ese bloque se esconde y el del
 * padre vuelve a ser el precio de lo que se compra. Se escribe como excepción, y
 * no repitiendo el tamaño grande más abajo, para que el valor viva en un sitio.
 */
body:not(.ventus-single-variation) .product-type-variable .single-product-info .summary-product.entry-summary p.price {
    font-size: 1.6rem;
    color: #888888;
    font-weight: 400;
}

/*
 * LA FICHA DEL VARIABLE DE UN SOLO EJE SE LEE COMO LA DE UN SIMPLE
 *
 * La clase la pone `ventus_single_variation_body_class()` cuando la ficha se
 * compra como un simple: una sola variación, ya elegida. Entonces el desplegable
 * no pregunta nada y el precio sale dos veces. El porqué, y por qué se esconde en
 * vez de quitarse del marcado, está en la sección 5 de inc/product-grid.php.
 *
 * ⚠ DOS TRAMPAS QUE COSTARON UNA MEDICIÓN, Y LAS DOS SE VEN EN EL SELECTOR
 *
 *   1. **`.woocommerce` va en el propio `<body>`**, o sea en el mismo nodo que
 *      nuestra clase. La primera versión decía
 *      `.ventus-single-variation .woocommerce div.product …` y pedía un
 *      descendiente con esa clase que no existe: no casaba con nada.
 *
 *   2. **No se esconde `.single_variation`, sino el precio que lleva dentro.** Ese
 *      bloque lo muestra y lo oculta `add-to-cart-variation.js` con `slideDown()`,
 *      que escribe `display` **en línea**, y un estilo en línea gana a cualquier
 *      hoja salvo con `!important`. Escondiendo `.woocommerce-variation-price`, que
 *      el JS solo rellena, se consigue lo mismo sin pelearse con nadie — y si
 *      alguna variación llega a tener descripción, se sigue viendo.
 */
.ventus-single-variation div.product form.cart table.variations,
.ventus-single-variation div.product .woocommerce-variation-price {
    display: none;
}

.ventus-single-variation div.product form.cart .single_variation_wrap {
    margin-top: 0;
}

/*
 * ⚠ La lista larga de selectores es lo que hace falta, no adorno. El tema trae
 *   `.woocommerce div.product .single_variation span.price { font-size: 18px }`, y
 *   eso son **cuatro** clases —`div.product` es clase y etiqueta— más dos
 *   etiquetas. Con tres clases esta regla casaba, se veía en la hoja y no se
 *   aplicaba. Lo resolvió preguntándole al navegador con `CSS.getMatchedStylesForNode`,
 *   que devuelve las reglas en orden de precedencia: la del tema salía después.
 */
.woocommerce div.product .summary-product .single_variation span.price {
    font-size: 2.2rem;
    color: var(--primary-color);
    font-weight: 700;
}

/*
 * Y LA OFERTA, EN LÍNEA COMO EN EL SIMPLE
 *
 * El precio tachado salía en su propia línea y en 12px, y el rebajado debajo en
 * 20px con otro azul. La causa son dos reglas nuestras de más arriba
 * —`.woocommerce div.product span.price del` / `ins`, en este archivo— que visten
 * el par en bloque y con la paleta #62748E / #001766. Están pensadas para las
 * tarjetas del listado, y **el único `span.price` de la ficha es el de la
 * variación**, así que le caían encima: en un producto simple el precio es
 * `p.price` y se viste en línea, gris tachado + azul primario, los dos del mismo
 * tamaño. Medido en las dos fichas el 21-08-2026.
 *
 * Cinco clases porque hay que ganarle a esas dos, que llevan tres.
 */
.woocommerce div.product .summary-product .single_variation span.price del,
.woocommerce div.product .summary-product .single_variation span.price ins {
    display: inline-block;
    font-size: inherit;
    line-height: inherit;
    letter-spacing: normal;
    font-weight: 700;
}

.woocommerce div.product .summary-product .single_variation span.price del {
    /* El mismo gris y el mismo hueco que en la ficha de un simple. */
    color: #aaaaaa;
    margin-right: 15px;
}

.woocommerce div.product .summary-product .single_variation span.price ins {
    color: var(--primary-color);
    text-decoration: none;
}

/*
 * 2. LA ETIQUETA DEL ATRIBUTO ERA BLANCA SOBRE BLANCO
 *
 * Medido: `color: rgb(255,255,255)` y 10,5px. El nombre del atributo —«Color»,
 * «Voltaje»— estaba ahí, ocupando su sitio, y no se leía. WooCommerce lo emite en
 * un `<th>`, y en este sitio las tablas del catálogo son cabecera azul con texto
 * blanco: la regla de esas tablas alcanza también a esta.
 */
.summary-product table.variations th.label,
.summary-product table.variations th.label label {
    color: var(--primary-color);;
    font-size: 1.4rem;
}

/*
 * 3. LA CANTIDAD PEGADA AL BOTÓN
 *
 * Medido: 0 px entre una cosa y otra, contra 35 px en el simple. Ahí el hueco lo
 * pone el `margin-bottom` de `form.cart`, y en el variable el botón no es hijo del
 * formulario sino del envoltorio de la variación, así que ese margen no separa
 * nada.
 *
 * Se le da a la cantidad, no al envoltorio: los márgenes verticales colapsan, así
 * que separa igual si el botón queda dentro del envoltorio o fuera —y hoy queda
 * fuera por JavaScript del tema, ver deuda-tecnica.md—.
 */
/*
 * Y aquí lo mismo: WooCommerce trae
 * `.woocommerce div.product form.cart div.quantity { margin: 0 4px 0 0 }`, cuatro
 * clases y tres etiquetas. Hay que empatarlas y añadir el envoltorio de la
 * variación, que es lo que acota esto al caso variable.
 */
.woocommerce div.product form.cart .single_variation_wrap {
    margin-bottom: 0;
}
.woocommerce div.product form.cart .single_variation_wrap div.quantity {
    margin-bottom: 35px;
}

/*
 * 4. EL AVISO DEL ENVÍO, CON DOS ASPECTOS
 *
 * Es el mismo `<p>` de `woocommerce_template_custom_content()` en los dos casos, y
 * salía 12px gris en el simple y 14px negro en el variable. La regla que lo viste
 * es `.single-product .cart>p`, con `>`: en el simple el párrafo es hijo directo
 * del formulario y en el variable cuelga un nivel más abajo. Ahora lleva clase
 * propia y no depende de a qué profundidad lo deje el gancho.
 */
.summary-product .ventus-shipping-note {
    font-size: 1.2rem;
    color: #aaaaaa;
    text-transform: initial;
}

.woocommerce div.product form.cart .variations td, 
.woocommerce div.product form.cart .variations th {
    vertical-align: baseline;
}

.woocommerce div.product form.cart .variations th {
    padding-left: 0;
}

.single-product .product-flash-wrap {
    top: 20px !important;
    right: 0 !important;
    left: inherit !important;
}

.single-product .summary-product .out-of-stock {
    color: #E14747 !important;
}

.single-product .single_sharer {
    margin-top: 32px;
}

/*
 * `.sku_wrapper` entra aquí el 21-08-2026: el SKU pasó al marcado nativo de
 * WooCommerce —«SKU:» en el envoltorio y el código en un `<span class="sku">`
 * dentro— para que el JS de variaciones lo actualice solo. Sin esta clase, la
 * etiqueta se quedaba con el estilo por defecto y el código con el suyo.
 *
 * Y `margin-bottom: 0` porque el marcado nuevo lleva también `product_meta`, que
 * en `style.css` trae 10px: el hueco entre el SKU y el precio se abría sin que
 * nadie lo hubiera pedido.
 */
.single-product .sku,
.single-product .sku_wrapper,
.single-product .cart>p,
.single-product .single_sharer>h3 {
    font-size: 1.2rem;
    color: #aaaaaa;
    text-transform: initial;
}

.single-product .summary-product .sku_wrapper {
    margin-bottom: 20px;
}

/*
 * ⚠ Y EL SPAN, EN LÍNEA. Lo cazó el desarrollador:
 *   `.product_meta > span { display: block }` —de la época en que ese bloque pintaba
 *   SKU, categorías y etiquetas, cada una en su renglón— alcanza a nuestro
 *   `<span class="sku">` y tiraba el código a una segunda línea, debajo de la
 *   etiqueta «SKU:».
 *
 *   Se neutraliza aquí y no se toca la regla de `style.css`, que sigue valiendo
 *   para lo que fue escrita. La clase `product_meta` no es decorativa: es donde
 *   `add-to-cart-variation.js` busca el SKU para actualizarlo.
 */
.single-product .summary-product .sku_wrapper>span {
    /*
     * Los cuatro son lo que `.product_meta > span` impone: `display: block`, su
     * tipografía, su color y `text-transform`. Ese último se vio al añadir el
     * voltaje al lado del SKU: salía «VOLTAJE: 110V/50HZ» a gritos, y el nombre del
     * término es «110V/50Hz». Se hereda todo del párrafo, que es quien viste la
     * línea.
     */
    display: inline;
    font: inherit;
    color: inherit;
    text-transform: inherit;
}

/*
 * El voltaje sí en mayúsculas —decisión del desarrollador—, y solo él: va en su
 * propio renglón debajo del SKU, y ahí las mayúsculas lo separan del código sin
 * necesidad de otro color ni otro tamaño. El nombre del término se escribe
 * «110V/50Hz», así que la mayúscula la pone el CSS y no el dato.
 */
.single-product .summary-product .sku_wrapper .ventus-voltage-sku {
    text-transform: uppercase;
    display: block;
    padding-top: 4px;
}

.single-product p.stock {
    color: #10B765 !important;
    margin-bottom: 0px !important;
}

.woocommerce div.product .cart {
    /*display: flex;*/
    gap: 15px;
    align-items: center;
    flex-wrap: wrap;
}

.woocommerce div.product .cart>p {
    flex: 0 0 100%;
}

.woocommerce div.product .cart .button {
    background: var(--primary-color);
    font-size: 1.3rem !important;
    letter-spacing: normal;
    border-radius: 5px;
    cursor: pointer;
}

.woocommerce div.product .cart .button:hover {
    background: #101a26;
}

.icon-up-open-mini:before {
    content: "\F4FE";
    color: var(--primary-color);
    font-family: 'bootstrap-icons';
}

.icon-down-open-mini:before {
    content: "\F2EA";
    color: var(--primary-color);
    font-family: 'bootstrap-icons';
}

.woocommerce div.product form.cart div.quantity .quantity-inner .qty,
.product-quantity div.quantity .quantity-inner .qty {
    height: 50px;
    border-radius: 5px 0 0 5px;
}

.woocommerce div.product form.cart div.quantity .quantity-inner .icon-up-open-mini {
    border-radius: 0 5px 0 0;
}

.woocommerce div.product form.cart div.quantity .quantity-inner .icon-down-open-mini {
    border-radius: 0 0 5px 0;
}

.inner_material_descargable {
    max-width: 50%;
}

.download_item {
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: space-between;
    border-bottom: 1px solid #ddd;
    padding: 15px 0;
}

.download_item h3 {
    margin: 0 !important;
    font-size: 1.7rem !important;
    letter-spacing: normal !important;
    color: var(--primary-color) !important;
    font-weight: 500 !important;
}

.woocommerce div.product span.price del {
    display: block;
    font-weight: 400;
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 0px;
    text-decoration: line-through;
    color: #62748E;
}

.woocommerce div.product span.price ins {
    display: block;
    font-weight: 700;
    font-size: 20px;
    line-height: 28px;
    letter-spacing: -0.5px;
    color: #001766;
}

.footer-product .product-actions2 div.add-to-cart-wrap a {
    background: var(--primary-color);
    border-radius: 5px;
    color: white;
    transition: background .3s ease-in-out, color .3s ease-in-out;
}

.footer-product .product-actions2 div.add-to-cart-wrap a:hover {
    background: var(--secondary-color);
    color: var(--primary-color);
}

.related h4.sc-title.p-font {
    text-transform: none;
    font-size: 28px;
    letter-spacing: 0;
    line-height: normal;
    margin-bottom: 20px;
    font-weight: 400;
    color: var(--primary-color);
}

.related .sc-title:after {
    display: none;
}

.product-listing .icon-cart-vp:before {
    display: none !important;
}

.footer-product .product-actions2 div.add-to-cart-wrap a {
    font-size: 14px !important;
    letter-spacing: normal;
    font-weight: 700;
}

.product-actions2 a.product_type_soldout.btn_add_to_cart {
    border-radius: 5px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    color: white !important;
}

.product-actions2 a.product_type_soldout.btn_add_to_cart::before {
    content: 'Agotado';
    font-size: 14px !important;
    letter-spacing: normal;
    font-weight: 700;
    text-transform: uppercase;
}

.back_store_single_product a {
    color: var(--primary-color);
    font-weight: 500;
    letter-spacing: normal;
}

.back_store_single_product a i {
    font-size: 12px;
}

/*Archive products*/
.archive.woocommerce-page table {
    border-collapse: collapse;
}

.archive.woocommerce-page table th,
.archive.woocommerce-page table td {
    border: 1px solid #ddd;
    padding: 10px;
    color: #121212;
}

.archive.woocommerce-page table thead tr {
    border: 1.5px solid var(--primary-color);
}

/*.archive.woocommerce-page table thead th:first-child{
    border-radius: 5px 0 0 0;
}

.archive.woocommerce-page table thead th:last-child{
    border-radius: 0 5px 0 0;
}*/

.archive.woocommerce-page table td.product-total-peso,
.archive.woocommerce-page table td.product-total-volumen,
.archive.woocommerce-page table td.product-total {
    font-weight: 600;
}

.archive.woocommerce-page table th {
    text-align: left;
    background: var(--primary-color);
    color: white;
    line-height: normal;
    border-color: white;
}

.archive.woocommerce-page table .product-thumb {
    display: flex;
    gap: 15px;
    align-items: center;
}

.archive.woocommerce-page table .product-thumb img {
    max-width: 80px;
    height: 80px;
    aspect-ratio: 1 / 1;
}

.archive.woocommerce-page table .product-thumb h3,
.archive.woocommerce-page table .product-thumb h3 a {
    font-size: 1.3rem;
    color: var(--primary-color);
    margin: 0;
    text-transform: initial;
    letter-spacing: 0;
}

.archive.woocommerce-page table .product-thumb .product-link {
    font-size: 1.3rem;
    color: var(--primary-color);
    margin: 0;
    text-decoration: underline;
    transition: color .3s ease-in-out;
}

.archive.woocommerce-page table .product-thumb .product-link:hover {
    color: var(--secondary-color);
}

.archive.woocommerce-page table .product-neto {
    overflow: hidden;
    position: relative;
}

.archive.woocommerce-page table .product-neto .descuento {
    background: #66ADF1;
    color: white;
    font-weight: 700;
    position: absolute;
    right: -45px;
    top: -15px;
    width: 100%;
    text-align: center;
    height: 50px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    transform: rotate(45deg);
}

.archive.woocommerce-page table .product-neto .price {
    display: flex;
    flex-direction: column-reverse;
    justify-content: center;
    align-items: center;
    min-height: auto;
}

.archive.woocommerce-page table .product-neto .price del {
    color: #aaa;
}

.archive.woocommerce-page table .product-neto .price ins {
    text-decoration: none;
}

.archive.woocommerce-page table .product-neto .price .tax-msg {
    display: none;
}

.archive.woocommerce-page table .product-stock {
    text-align: center;
}

.archive.woocommerce-page table .product-stock button {
    background: transparent;
    border: none;
    font-weight: 700;
    font-size: 18px;
}

.archive.woocommerce-page table .stock,
#stockModal .stock {
    background: var(--primary-color);
    width: 20px;
    height: 20px;
    display: block;
    border-radius: 100%;
}

.archive.woocommerce-page table .stock.fullstock,
#stockModal .stock.fullstock {
    background: #10B765;
}

.archive.woocommerce-page table .stock.halfstock,
#stockModal .stock.halfstock {
    background: #FAD92D;
}

.archive.woocommerce-page table .stock.outstock,
#stockModal .stock.outstock {
    background: #E14747;
}

.archive.woocommerce-page table .product-quantity {
    position: relative;
}

.archive.woocommerce-page table .product-quantity .quantity-input {
    width: 110px;
    max-width: 110px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.archive.woocommerce-page .product-quantity .quantity-input input[type="number"] {
    width: 32px;
    border-block: 1px solid #aaa;
    text-align: center;
    height: 32px;
    border-inline: none;
    cursor: not-allowed;
    pointer-events: none !important;
}

.archive.woocommerce-page .product-quantity .quantity-input button {
    width: 32px;
    height: 32px;
    border: 1px solid #aaa;
    background: white;
    color: #121212;
    transition: background .3s ease-in-out;
}

.archive.woocommerce-page .custom-cart-form .max-quantity .plus {
    opacity: .3;
    background: #ddd;
    cursor: not-allowed;
    pointer-events: none !important;
}

.archive.woocommerce-page .product-quantity .quantity-input button:hover {
    background: #c2c2c2;
}

.archive.woocommerce-page .product-quantity.outstock form {
    opacity: .3;
}

.archive.woocommerce-page .product-quantity.outstock form .quantity-input button,
.archive.woocommerce-page .product-quantity.outstock form .quantity-input input {
    background: #ddd;
}

/**/
.archive.woocommerce-page .product-quantity.outstock .max-quantity .plus {
    opacity: 1;
}

.max-quantity-message {
    font-size: 10px;
    line-height: normal;
    color: #E14747;
    position: absolute;
    top: 10px;
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: center;
}

.archive.woocommerce-page .inner_filters {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.archive.woocommerce-page .inner_filters form {
    display: flex;
    gap: 10px;
    align-items: center;
}

.archive.woocommerce-page .inner_filters form a {
    color: var(--primary-color);
    text-decoration: underline;
    font-weight: normal;
    transition: font-weight .3s ease-in-out;
}

.archive.woocommerce-page .inner_filters form a:hover {
    font-weight: 700;
    text-decoration: underline;
}

.archive.woocommerce-page .inner_filters form label {
    padding: 10px 16px;
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: space-between;
    margin: 0;
    border: 1px solid #aaa;
    border-radius: 5px;
    font-weight: normal;
    color: var(--primary-color);
    font-size: 12px;
}

.archive.woocommerce-page .inner_filters form label::after {
    content: '\F10B';
    /*width: 15px;
    height: 15px;
    border: 1px solid #aaa;
    border-radius: 3px;*/
    color: #aaaaaa;
    font-family: 'bootstrap-icons';
    font-size: 1.5rem;
}

.archive.woocommerce-page .inner_filters form label.checked {
    font-weight: 700;
    border-color: var(--primary-color);
}

.archive.woocommerce-page .inner_filters form label input:checked~ ::after,
.archive.woocommerce-page .inner_filters form label.checked::after {
    content: '\F26C';
    color: var(--primary-color);
    font-family: 'bootstrap-icons';
}

.archive.woocommerce-page .inner_filters form input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

/* Puerto y proveedor en la fila: la píldora de las casillas, sin su icono. */
.archive.woocommerce-page .inner_filters form label.ventus-filter-select-bar::after {
    content: none;
}

/* Sin el icono, que es lo que da la altura a las casillas, quedaba más baja. */
.archive.woocommerce-page .inner_filters form label.ventus-filter-select-bar {
    align-self: stretch;
}

.archive.woocommerce-page .inner_filters form label.ventus-filter-select-bar select {
    border: 0;
    background: transparent;
    color: var(--primary-color);
    font-weight: inherit;
    cursor: pointer;
    /* El tema da a los `select` altura y relleno propios, que hacían esta
       píldora más alta que sus vecinas, y les quita la flecha. */
    height: auto;
    padding: 0;
    margin: 0;
    line-height: inherit;
    -webkit-appearance: menulist;
    appearance: auto;
}

/* Por debajo de 1150px no caben en la fila; siguen en el panel. */
@media screen and (max-width: 1150px) {
    .archive.woocommerce-page .inner_filters form label.ventus-filter-select-bar {
        display: none;
    }
}

.archive.woocommerce-page #filter-button {
    background: transparent;
    border: none;
    font-size: 1.5rem;
    font-weight: 700;
}

.archive-product-wrap.clearfix.layout-container {
    display: flex;
    flex-direction: column;
}

.woocommerce-no-products-found {
    margin-top: 25px;
}

.fixed-side {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: white;
    z-index: 999;
    max-width: 375px;
    padding: 25px;
    transform: translateX(-100%);
    transition: transform .3s ease-in-out;
}

.open-fixed-side {
    overflow: hidden;
}

.open-fixed-side #product-filter-overlay {
    opacity: 1;
    z-index: 99;
    pointer-events: auto;
}

.open-fixed-side .fixed-side {
    transform: translateX(0);
}

.archive.woocommerce-page .fixed-side {
    padding-bottom: 120px;
}

.fixed-side .form-group {
    margin-bottom: 35px;
}

.fixed-side select {
    height: 48px;
    border-color: var(--primary-color);
    color: var(--primary-color);
    font-weight: 600;
    background-image: url(/wp-content/themes/megatron/assets/images/arrow-down.png);
}

.fixed-side label {
    font-weight: normal;
}

.fixed-side .fixed-filters-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}

.fixed-side .fixed-filters-header .close-side {
    border: none;
    background: transparent;
    font-size: 3.5rem;
    color: var(--primary-color);
}

.fixed-side .fixed-filters-content {
    max-height: calc(100dvh - 350px);
    min-height: calc(100dvh - 350px);
    overflow-y: scroll;
}

.fixed-side .fixed-filters-content .widget_price_filter {
    padding: 0 5px;
}

.fixed-side .price_label {
    display: flex;
    justify-content: space-between;
}

.fixed-side .widgettitle {
    display: none;
}

.fixed-side .buttons-actions {
    position: absolute;
    bottom: 120px;
    left: 0;
    right: 0;
    width: calc(100% - 50px);
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column-reverse;
    gap: 15px;
}

.fixed-side .buttons-actions button {
    width: 100%;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.fixed-side .buttons-actions a {
    color: black;
    text-decoration: underline;
    font-size: 14px;
    transition: color .3s ease-in-out;
}

.fixed-side .buttons-actions a:hover {
    color: var(--secondary-color);
    text-decoration: underline !important;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
    background: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
}

.inner_title_search h1 {
    text-align: center;
    font-size: 24px;
    font-weight: 700;
}

.inner_title_search h1 span {
    font-size: 14px;
    font-weight: normal;
    display: block;
}

.archive.search-no-results #page-title,
.archive.search-results #page-title {
    overflow: visible;
}

.archive.search-results #page-title:is(.search_into) .search-product,
.archive.search-no-results #page-title:is(.search_into) .search-product {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 9;
}

.archive.search-results input[type="search"],
.archive.search-no-results input[type="search"] {
    background: transparent;
    color: white;
    font-size: 14px;
    padding-right: 40px;
}

.archive.search-results .yith_wcas_result_categories,
.archive.search-no-results .yith_wcas_result_categories {
    display: none !important;
}

.archive.search-results input[type="search"]::placeholder,
.archive.search-no-results input[type="search"]::placeholder {
    color: white;
    font-style: normal;
}

.archive.search-results .woocommerce-product-search i,
.archive.search-no-results .woocommerce-product-search i,
.archive.search-no-results .yith-ajaxsearchform-container #yith-searchsubmit {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 2rem;
}

.archive.search-no-results .yith-ajaxsearchform-container #yith-searchsubmi,
.archive.search-results .yith-ajaxsearchform-container #yith-searchsubmit {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(calc(-50% - 5px));
    font-size: 2rem;
    background: transparent;
    border: none;
    height: auto !important;
    padding: 0 !important;
    margin: 0;
    line-height: 0;
}

.archive-product-title-inner {
    padding-top: 35px;
    padding-bottom: 35px;
}

.post-type-archive-product .archive-product-title-inner {
    text-align: center;
}

.post-type-archive-product .archive-product-title-inner p {
    margin-bottom: 15px !important;
    font-size: 14px;
    font-style: normal !important;
    letter-spacing: normal !important;
}

#page-title:not(.search_into) {
    overflow: visible;
}

#page-title:not(.search_into) input[type="search"],
#page-title:not(.search_into) .wp-block-yith-search-block {
    width: 380px;
    margin: 0 auto;
}

#page-title:not(.search_into) .wp-block-yith-search-block .ywcas-input-field-wrapper {
    border-color: none;
    background-color: rgb(255, 255, 255) !important;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Montserrat';
    height: 45px;
}


#page-title:not(.search_into) input#yith-s {
    border-radius: 5px !important;
}

#page-title:not(.search_into) .yith-ajaxsearchform-container button[type="submit"] {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 15px;
    color: var(--primary-color);
    font-size: 2rem;
    background: transparent;
    border: none;
    font-weight: normal;
}

#page-title:not(.search_into) .wp-block-yith-search-block .ywcas-input-field input {
    font-size: 13px !important;
    color: var(--primary-color) !important;
}

#page-title:not(.search_into) .wp-block-yith-search-block .ywcas-input-field input::placeholder {
    color: #aaaaaa !important;
}

#page-title:not(.search_into) .wp-block-yith-search-block .ywcas-submit-icon {
    color: var(--primary-color) !important;
}

#page-title:not(.search_into) form {
    width: 380px;
    margin: 0 auto;
    position: relative;
}

#page-title .autocomplete-suggestion .yith_wcas_result_content .title,
#page-title .yith_wcas_result_categories,
#page-title .autocomplete-suggestion .yith_wcas_result_content {
    color: var(--primary-color) !important;
}

/*#page-title:not(.search_into) form i {
    position: absolute;
    right: 10px;
    color: var(--primary-color);
    font-size: 2rem;
    top: 50%;
    transform: translateY(-50%);
}*/
#page-title:not(.search_into) {
    position: relative;
    right: 0;
    top: initial;
    transform: inherit;
}

#page-title:not(.search_into) input[type="search"] {
    width: 380px;
    background: white;
    color: var(--primary-color);
}

#page-title:not(.search_into) input[type="search"]::placeholder {
    color: #aaaaaa;
}

#page-title:not(.search_into) .woocommerce-product-search i {
    left: inherit;
    width: fit-content;
}

#page-title:not(.search_into) p {
    margin-bottom: 15px !important;
    font-size: 14px;
    font-style: normal !important;
    letter-spacing: normal !important;
    text-align: center;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
    width: 15px;
    height: 15px;
    background-color: #D9D9D9;
    top: -6px;
    border-radius: 100%;
}

.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content {
    background-color: #aaaaaa;
    background: #aaaaaa;
    height: 2px;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-range {
    background-color: #d9d9d9;
}

.blockUI.blockOverlay {
    background-color: rgb(255 255 255) !important;
    z-index: 9999 !important;
}

.blockUI.blockMsg.blockPage {
    border: none !important;
    z-index: 9999 !important;
}

.woocommerce .blockUI.blockOverlay::before {
    display: none;
}


.checked {
    font-weight: bold;
}

.updating {
    background: #aaaaaa26;
}

.updating a,
.updating button,
.updating input {
    pointer-events: none !important;
    cursor: not-allowed !important;
}

.loader {
    width: 41px;
    padding: 8px;
    aspect-ratio: 1;
    border-radius: 50%;
    background: var(--primary-color);
    --_m: conic-gradient(#0000 10%, #000), linear-gradient(#000 0 0) content-box;
    -webkit-mask: var(--_m);
    mask: var(--_m);
    -webkit-mask-composite: source-out;
    mask-composite: subtract;
    animation: l3 1s infinite linear;
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
}

@keyframes l3 {
    to {
        transform: rotate(1turn)
    }
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="number"] {
    -moz-appearance: textfield;
}

.blog-paging-default .pagination {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #aaa;
}

.blog-paging-default .pagination>li>a.prev,
.blog-paging-default .pagination>li>span.prev,
.blog-paging-default .pagination>li>a.next,
.blog-paging-default .pagination>li>span.next {
    position: relative;
    border: none;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
}

.blog-paging-default .pagination>li>a.next span,
.blog-paging-default .pagination>li>a.prev span {
    display: none;
}

.blog-paging-default .pagination>li>a,
.blog-paging-default .pagination>li>span {
    height: 40px;
    width: 40px;
    line-height: 40px;
    color: #121212;
}

.blog-paging-default .pagination>li:not(:last-child) {
    border-right: 1px solid #aaa;
}

.blog-paging-default .pagination>li>a.prev i,
.blog-paging-default .pagination>li>span.prev i,
.blog-paging-default .pagination>li>a.next i,
.blog-paging-default .pagination>li>span.next i {
    font-size: 12px;
    color: #121212;
    margin: 0 !important;
}

.blog-paging-default .pagination>li>a:hover,
.blog-paging-default .pagination>li>span:hover,
.blog-paging-default .pagination>li>a:focus,
.blog-paging-default .pagination>li>span:focus,
.blog-paging-default .pagination>li>a.current,
.blog-paging-default .pagination>li>span.current {
    background-color: white;
    color: #121212;
    text-decoration: none;
    font-weight: 700;
}

.blog-paging-default .pagination>li>a.next i::before,
.blog-paging-default .pagination>li>span.next i::before {
    content: '\F280';
    font-family: 'bootstrap-icons';
}

.blog-paging-default .pagination>li>a.prev i::before,
.blog-paging-default .pagination>li>span.prev i::before {
    content: '\F27F';
    font-family: 'bootstrap-icons';
}

.blog-paging-default .pagination>li>a.prev:hover,
.blog-paging-default .pagination>li>span.prev:hover,
.blog-paging-default .pagination>li>a.next:hover,
.blog-paging-default .pagination>li>span.next:hover {
    background-color: var(--primary-color);
    color: #fff;
    text-decoration: none;
    border-color: var(--primary-color) !important;
    font-weight: 700;
    border-radius: 0;
}

.blog-paging-default .pagination>li>a.prev:hover i,
.blog-paging-default .pagination>li>span.prev:hover i,
.blog-paging-default .pagination>li>a.next:hover i,
.blog-paging-default .pagination>li>span.next:hover i {
    color: white;
}

#fixed-mini-cart {
    position: fixed;
    right: 0;
    bottom: 0;
    width: 100%;
    background: var(--primary-color);
    color: white;
    padding: 15px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    z-index: 9999;
}

.mini-cart-content {
    overflow-y: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.mini-cart-totals {
    display: flex;
    justify-content: space-between;
    gap: 50px;
    align-items: center;
}

.mini-cart-totals p {
    margin-bottom: 0 !important;
}

.mini-cart-totals p strong {
    display: block;
}

#fixed-mini-cart .mini-cart-buttons a:hover {
    background-color: var(--secondary-color) !important;
}

.user-no-login {
    background-image: url('/wp-content/uploads/2026/09/background-login-b2b-global-scaled.jpeg');
    overflow: hidden;
}

.user-no-login .woocommerce-notices-wrapper {
    position: relative;
    right: 0;
    /* transform: translateX(50%); */
    width: 100%;
    max-width: 375px;
    top: 32px;
    border-radius: 5px;
    background: white;
    font-size: 14px;
}

.user-no-login .woocommerce-notices-wrapper .woocommerce-error {
    background: transparent;
    width: 100%;
    margin-bottom: 0;
    padding-bottom: 0;
    border: none;
    font-size: 13px;
    line-height: normal;
    padding: 1em 2em 1em 3.5em;
    color: black;
    letter-spacing: normal;
}

.user-no-login .page-content .entry-content>.woocommerce {
    display: flex;
    gap: 45px !important;
    margin-top: 32px;
    flex-direction: column;
    align-items: center;
}

.user-no-login #wrapper {
    height: 100dvh;
    background: transparent;
}

.user-no-login #wrapper-content {
    background-color: transparent;
}

.user-no-login .site-content-page {
    height: 100dvh;
    display: flex;
    align-items: center;
}

.user-no-login .customer_login_form_wrap {
    max-width: 390px;
    margin: 0 auto;
    background: white;
    padding: 64px 40px;
    border-radius: 10px;
    box-shadow: 0px 4px 14px 0px #00000040;
}

.user-no-login .customer_login_form_wrap .icon-accepted:before {
    content: "\F26E";
    font-family: 'bootstrap-icons';
    font-size: 12px;
}

.user-no-login .woocommerce-order-received .site-content-page,
.user-no-login .woocommerce-account .site-content-page {
    margin-bottom: 0 !important;
}

.user-no-login div#wrapper-content {
    padding-bottom: 0;
}

.form-login-title h4 {
    font-size: 21px;
    letter-spacing: normal;
    text-transform: initial;
    color: var(--primary-color);
    margin: 0;
}

.form-login-title span {
    font-size: 14px;
    color: #121212;
    font-family: 'Montserrat' !important;
    margin-block: 15px;
    letter-spacing: normal;
}

.form-login-title:after {
    display: none;
}

.user-no-login .customer_login_form_wrap form.login,
.user-no-login .customer_login_form_wrap form.register {
    margin: 0;
}

.woocommerce-account .customer_login_form_wrap .lost_password a {
    color: #121212;
    font-style: normal;
    text-decoration: underline;
    font-size: 14px;
    letter-spacing: normal;
    font-family: 'Montserrat' !important;
}

.woocommerce-account .customer_login_form_wrap .form-row input.input-text {
    text-align: center;
    background-color: white;
    width: 100%;
}

.woocommerce-account .customer_login_form_wrap .form-row input.input-text {
    text-align: left;
    background-color: white;
    width: 100%;
    color: var(--primary-color);
}

.woocommerce-account .customer_login_form_wrap .form-row input.input-text::placeholder {
    color: var(--primary-color);
}

.woocommerce-account .customer_login_form_wrap input[type="submit"] {
    font-size: 14px !important;
}

.woocommerce-account .customer_login_form_wrap .form-row {
    position: relative;
}

.woocommerce-account .customer_login_form_wrap i {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 10px;
    color: var(--primary-color);
    opacity: .6;
}

/*.woocommerce-ResetPassword {
    max-width: 390px;
    margin: 0 auto;
    background: white;
    padding: 64px 40px;
    border-radius: 10px;
    box-shadow: 0px 4px 14px 0px #00000040;
}*/

.woocommerce-ResetPassword>p:first-child {
    font-size: var(--fs-14);
    letter-spacing: normal;
    line-height: normal;
    text-transform: initial;
    color: var(--primary-color);
    margin: 0;
    text-align: center;
}

.woocommerce-ResetPassword.show_reset_password>p:first-child {
    font-size: 21px
}

.woocommerce-lost-password .form-login-title .header-logo+span {
    display: none !important;
}

.lost_reset_password .woocommerce-form-row {
    width: 100% !important;
    margin-top: 15px !important;
}

.lost_reset_password button[type="submit"] {
    width: 100% !important;
}

.item-mobile+.item-mobile {
    margin-top: 25px;
}

.item-mobile .inner_info__mobile {
    display: flex;
    gap: 15px;
    align-items: flex-start;
    margin-bottom: 15px;
}

.item-mobile table {
    display: block;
    overflow-x: scroll;
}

.item-mobile .inner_info__mobile>div {
    flex: 0 0 50%;
    max-width: 50%;
}

.item-mobile .inner_info__mobile img {
    aspect-ratio: 1 / 1;
    max-width: 72px !important;
    max-height: 72px;
    object-fit: contain;
}

.item-mobile .inner_info__mobile .product-thumb {
    display: flex;
    background: transparent;
    gap: 10px;
}

.item-mobile h3.product-name.p-font a {
    font-size: 12px;
    color: var(--primary-color);
}

.item-mobile .quantity-input {
    display: flex;
}

.item-mobile .totals_info {
    margin-top: 15px;
}

.item-mobile .totals_info p {
    font-size: 12px;
    margin-bottom: 0 !important;
}

.item-mobile .group-info .product-link {
    position: relative;
    visibility: visible;
    opacity: 1;
    font-size: 12px;
    text-decoration: underline;
    color: var(--primary-color);
}

.item-mobile .product-info {
    padding: 0;
}

#fixed-filters .filter-options label {
    border: 1px solid var(--primary-color);
    width: 100%;
    border-radius: 5px;
    height: 45px;
    padding: 0 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--primary-color);
}

#fixed-filters .filter-options label {
    margin-bottom: 25px;
}

#fixed-filters .filter-options label::after {
    content: '\F10B';
    color: #aaaaaa;
    font-family: 'bootstrap-icons';
    font-size: 1.5rem;
}

#fixed-filters .filter-options label.checked::after {
    content: '\F26C';
    color: var(--primary-color);
    font-family: 'bootstrap-icons';
}

#fixed-filters .filter-options input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

.catalog-filter-inner.clearfix {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
}

.woocommerce-info {
    border-top-color: #000000 !important;
    margin: 0 0 15px 0 !important;
    float: left !important;
    display: block !important;
    width: 100% !important;
}

.cart_item .quantity-inner {
    display: flex !important;
    flex-direction: row;
    padding: 0 !important;
    width: 100% !important;
}

.cart_item .quantity-inner input {
    order: 1;
    width: 32px !important;
    border-radius: 0 !important;
    height: 32px !important;
}

.cart_item .quantity-inner button {
    width: 32px !important;
    height: 32px !important;
    border: 1px solid #DDD !important;
    background: transparent !important;
    position: relative !important;
}

.cart_item .quantity-inner button[data-type="minus"] {
    order: 0;
    border-right: 0 !important;
}

.cart_item .quantity-inner button[data-type="plus"] {
    order: 2;
    border-left: 0 !important;
}

small.tax_label {
    display: none !important;
}

.carrito .cart_item>div {
    display: flex;
    align-items: center;
}

.btns_cart_actions {
    margin-top: 15px;
    display: flex;
    gap: 15px;
    flex-direction: column;
}

.btns_cart_actions a {
    min-width: 300px;
    max-width: 300px;
    display: flex;
    justify-content: center;
}

.btns_cart_actions a+a {
    margin-top: 15px;
}

a.checkout-button.button.alt.wc-forward:after {
    display: none !important;
}

.woocommerce .cart-actions a.checkout-button.button.alt.wc-forward:hover {
    background: var(--secondary-color) !important;
    border-color: var(--secondary-color);
    color: var(--primary-color) !important;
    transition: background .3s ease-in-out, color .3s ease-in-out, border-color .3s ease-in-out;
}


.woocommerce-cart-form {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 15px;
    justify-content: space-between;
    flex: 0 0 66.666%;
    max-width: 66.666%;
}

.woocommerce-cart-form .quantity-inner input {
    cursor: not-allowed;
    pointer-events: none;
}

.cart_ventus_form {
    display: flex;
    gap: 15px;
}

.woocommerce-cart-form .list_actions {
    flex: 0 0 100%;
    max-width: 100%;
    display: flex;
    flex-direction: column;
}

.woocommerce-cart-form .cart-collaterals_totals {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    flex: 0 0 34.4444%;
    max-width: calc(34.4444% - 30px);
}

.mensajecart {
    float: inherit;
    width: 100%;
    padding: 0;
}

.carrito .cart_item {
    justify-content: space-between;
}

.infoproductos {
    display: flex;
    gap: 5px;
}

.product-thumbnail-wc {
    flex: 0 0 115px;
}

.product-thumbnail-wc img {
    width: 100% !important;
}

.woocommerce table.shop_table.cart tbody tr:first-child td {
    width: auto !important;
    padding-block: 0;
}

.product-remove a {
    color: red;
}

.product-name .sku {
    text-transform: uppercase;
}

.carrito .cart_item .product-name {
    vertical-align: middle;
    width: 69%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.woocommerce td.product-quantity {
    min-width: 100px;
}

.woocommerce-cart .woocommerce td.product-quantity .quantity,
.summary-product .quantity {
    display: flex;
}


.woocommerce-cart .woocommerce td.product-quantity input,
.summary-product .quantity input {
    width: 32px !important;
    height: 32px;
    margin: 0 !important;
    padding: 0;
    order: 1;
    color: black;
    border-radius: 0;
    border-color: #dddddd;
    cursor: not-allowed;
    pointer-events: none;
}

.woocommerce-cart .woocommerce td.product-quantity button,
.summary-product .quantity button {
    width: 32px;
    height: 32px;
    margin: 0 !important;
    box-shadow: none;
    padding: 0;
    color: black;
    border-radius: 0;
    border: 1px solid #DDDDDD;
    background: transparent;
}

.woocommerce-cart .woocommerce td.product-quantity button[data-type="minus"],
.summary-product .quantity button[data-type="minus"] {
    order: 0;
    border-right: none;
}

.woocommerce-cart .woocommerce td.product-quantity button[data-type="plus"],
.summary-product .quantity button[data-type="plus"] {
    order: 2;
    border-left: none;
}

.cart_ventus_form .coupon {
    padding: 35px !important;
    text-align: right;
    font-size: 0;
    background: #fff;
    border-radius: 5px 5px 0px 0px;
    float: left;
    box-shadow: 0 1px 4px rgba(127, 127, 127, 0.11);
    border: 1px solid #eee !important;
    margin-top: 15px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.cart_ventus_form .coupon h3 {
    font-size: 14px;
    text-align: left;
    margin-bottom: 0;
}

.cart_ventus_form .coupon input {
    width: 100%;
}

.cart_ventus_form .woocommerce-error {
    font-size: 14px;
    background: transparent;
    border: none;
    text-align: left;
    color: #e14747;
}

.cart_ventus_form .woocommerce-message {
    font-size: 14px;
    background: transparent;
    border: none;
    text-align: left;
    color: #8fae1b;
}

.cart_ventus_form .woocommerce-error,
.cart_ventus_form .woocommerce-message {
    padding: 0;
    margin: 0;
    display: flex;
    align-items: flex-start;
    gap: 5px;
}

.cart_ventus_form .woocommerce-error::before,
.cart_ventus_form .woocommerce-message::before {
    position: relative;
    top: 0;
    left: 0;
    font-size: 1.5rem;
    font-family: 'bootstrap-icons';
}

.cart_ventus_form .woocommerce-error::before {
    content: '\F33B';
    color: #e14747;
}

.cart_ventus_form .woocommerce-message::before {
    content: '\F26B';
    color: #8fae1b;
}

.woocommerce-cart .col-lg-offset-7 {
    padding: 0;
}

.woocommerce .cart-actions {
    padding: 25px 35px !important;
}

.woocommerce-cart .cart-collaterals .cart_totals table tr th {
    text-transform: initial;
    width: 150px;
}

.footer-product {
    display: flex;
    flex-direction: column;
}

.product-quick-view {
    display: none !important;
}

.footer-product .product-actions2,
a.product_type_soldout.btn_add_to_cart,
.footer-product .product-actions2 div.add-to-cart-wrap,
.footer-product .priceandrating {
    width: 100%;
}

.footer-product .priceandrating {
    margin-bottom: 15px;
}

.footer-product .priceandrating .price {
    display: flex;
    gap: 15px;
}

.footer-product span.price {
    color: var(--primary-color) !important;
}

.woocommerce-remove-coupon {
    display: block;
    font-size: 1rem;
}

.cart-discount th span {
    display: block;
    font-size: 1rem;
}

.return-to-shop .wc-backward {
    width: fit-content;
}

.woocommerce-checkout.terms-not-agree #place_order {
    pointer-events: none;
    cursor: not-allowed;
    opacity: .5;
}

.woocommerce-orders-table__cell-order-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.woocommerce-checkout-review-order {
    height: auto;
    display: flex;
    flex-direction: column;
    box-shadow: none !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

#payment.woocommerce-checkout-payment {
    width: 100%;
    float: left;
    padding-left: 0;
}

.wc_payment_methods.payment_methods {
    display: none !important
}

.woocommerce-checkout-review-order-table {
    padding: 10px;
    background: #f5f5f5 !important;
    border: none;
    border-radius: 5px;
    box-shadow: 0 1px 4px rgba(127, 127, 127, 0.11);
    border: 1px solid #eee;
    padding-bottom: 25px;
    margin-bottom: 15px !important;
}

.tr-wsp td {
    text-align: left !important;
    font-size: 12px !important;
    text-transform: initial !important;
    letter-spacing: normal !important;
}

.tr-wsp a {
    color: #26A619;
}

.woocommerce table.woocommerce-checkout-review-order-table tfoot tr:first-child th,
.woocommerce table.woocommerce-checkout-review-order-table tfoot tr:first-child td {
    border-color: #DDDDDD;
}

.woocommerce table.woocommerce-checkout-review-order-table tfoot tr:last-child td {
    border: none;
}

.woocommerce table.order_details tbody td,
.woocommerce table.woocommerce-checkout-review-order-table tbody td,
.woocommerce table.order_details tfoot td,
.woocommerce table.woocommerce-checkout-review-order-table tfoot td,
.woocommerce table.order_details tfoot th,
.woocommerce table.woocommerce-checkout-review-order-table tfoot th {
    color: #000000;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    padding: 5px 20px !important;
}

.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
    font-weight: 700 !important;
}

.woocommerce form .form-row label.checkbox,
.woocommerce-page form .form-row label.checkbox {
    font-size: 12px;
    display: flex;
    align-items: flex-end;
}

.woocommerce form .form-row label.checkbox a,
.woocommerce-page form .form-row label.checkbox a {
    color: #000;
    text-decoration: underline;
}

.woocommerce form .form-row label.checkbox .required {
    color: #000;
}

.checkout-before-form+.woocommerce-checkout {
    border-top: none;
    padding-top: 0;
}

.woocommerce-billing-fields .woocommerce-billing-fields__field-wrapper {
    width: 100%;
    margin: 0 auto;
}

.woocommerce-checkout h3 {
    font-size: 17px !important;
    color: #121212 !important;
    margin-bottom: 25px;
    font-weight: 600;
    letter-spacing: normal;
    text-align: left;
}

.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="rut"] {
    color: var(--primary-color);
    background: #eeeeee;
    border-color: #dddddd;
}

#order_review strong.product-quantity {
    font-size: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.woocommerce-checkout .cart_item .product-name {
    display: flex;
    gap: 35px;
}

.woocommerce-checkout .cart_item .product-name .product-name__thumbnail {
    padding-right: 0 !important;
    float: inherit !important;
}

.woocommerce-checkout td.product-name img {
    padding-right: 0;
    max-width: 55px;
    border-radius: 5px;
    width: 55px;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.woocommerce-checkout #custom_checkout_field h2 {
    font-size: 17px !important;
    color: #121212 !important;
    margin-bottom: 25px;
    font-weight: 600 !important;
    letter-spacing: normal;
    text-align: left;
    position: relative;
    display: block;
    float: left;
    width: 100%;
    margin-top: 45px;
}

.woocommerce-shipping-radios {
    display: flex;
    gap: 10px;
    flex-direction: column;
    padding-right: 70px;
}

.woocommerce-shipping-radios>label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: normal;
    color: var(--primary-color);
    margin: 0;
    position: relative;
}

.woocommerce-shipping-radios>label input {
    margin: 0;
}

.woocommerce-shipping-radios>label input[type="radio"] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

.woocommerce-shipping-radios>label::before {
    content: '';
    color: #aaaaaa;
    position: absolute;
    border: 1px solid #ddd;
    height: 15px;
    width: 15px;
    display: block;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 100%;
}

.woocommerce-shipping-radios>label::after {
    content: '';
    background: transparent;
    position: absolute;
    right: 2.5px;
    top: 50%;
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 100%;
    transform: translateY(-50%);
    transition: background .3s ease-in-out;
}

.woocommerce-shipping-radios>label.radio-checked::after {
    background: var(--primary-color);
}

.woocommerce-shipping-radios>label.radio-checked::before {
    border-color: var(--primary-color);
}

.pickup-local label {
    font-weight: 600 !important;
}

.msg-top-pickup {
    background: #eeee;
    padding: 10px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 7px;
    margin-bottom: 15px;
}

.msg-top-pickup p {
    font-size: var(--fs-14);
    margin: 0;
}

.msg-pickup small {
    line-height: 18px;
    display: block;
}

.woocommerce-billing-fields>div:not(#custom_checkout_field) input {
    cursor: not-allowed;
    pointer-events: none;
}

.woocommerce-billing-fields>div:is(#custom_checkout_field) input {
    background-color: white;
}

/** My account **/
.woocommerce-account .page-content .entry-content>.woocommerce {
    display: flex;
    gap: 80px;
    margin-top: 32px;
}

.woocommerce-account .page-content .entry-content>.woocommerce::after,
.woocommerce-account .page-content .entry-content>.woocommerce::before {
    display: none;
}

.woocommerce-MyAccount-navigation {
    flex: 0 0 280px;
}

.woocommerce-MyAccount-navigation ul {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.woocommerce-MyAccount-navigation a,
.woocommerce-MyAccount-navigation a:visited {
    font-size: 18px;
    text-transform: initial;
    line-height: 1.2;
    letter-spacing: normal;
    color: black;
    height: 70px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: border-color .3s ease-in-out, background .3s ease-in-out, color .3s ease-in-out;
}

.woocommerce-MyAccount-navigation a i {
    font-size: 2.5rem;
}

.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a:hover {
    border-color: var(--primary-color);
    border-width: 1px;
    background: var(--primary-color);
    color: white;
}

.woocommerce-account .woocommerce-MyAccount-content {
    border: none;
    padding: 0;
}

.woocommerce table.customer_details,
.woocommerce table.my_account_orders {
    border: none;
}

.woocommerce table.shop_table thead th {
    font-size: 12px;
}

.woocommerce-MyAccount-content td {
    font-size: 12px !important;
    padding: 15px 5px !important;
}

.woocommerce-MyAccount-content h2 {
    font-size: 17px !important;
    margin: 0 !important;
    letter-spacing: normal !important;
    font-weight: 600 !important;
    color: #121212 !important;
    border: none !important;
}

.woocommerce-MyAccount-content h2::after {
    display: none !important;
}

.woocommerce-MyAccount-content .woocommerce-orders-table__header-order-actions span {
    display: none !important;
}

.woocommerce table.woocommerce-orders-table.woocommerce-MyAccount-orders.account-orders-table thead th:first-child {
    width: 150px;
}

.woocommerce-orders-table__cell-order-actions .btn-ventus {
    padding: 17.5px 10px !important;
}

.woocommerce-Pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 32px;
}

.woocommerce-Pagination>a {
    width: fit-content;
}

td.woocommerce-table__product-total.product-total,
th.woocommerce-table__product-table.product-total {
    display: table-cell !important;
}

table.woocommerce-table.woocommerce-table--order-details.shop_table.order_details {
    padding: 15px;
}

table.woocommerce-table.woocommerce-table--order-details.shop_table.order_details tbody tr td:not(.woocommerce-table__product-name),
table.woocommerce-table.woocommerce-table--order-details.shop_table.order_details thead tr th:not(.woocommerce-table__product-name) {
    text-align: right;
}

table.woocommerce-table.woocommerce-table--order-details.shop_table.order_details tfoot {
    display: table-footer-group !important;
    background-color: #eeeeee;
    /*display: flex !important;*/
    flex-direction: column;
    align-items: flex-end;
    padding: 5px 10px;
}

table.woocommerce-table.woocommerce-table--order-details.shop_table.order_details tfoot tr {
    /*display: flex !important;*/
    width: 100%;
    justify-content: flex-end;
    align-items: center;
}

table.woocommerce-table.woocommerce-table--order-details.shop_table.order_details tfoot th,
table.woocommerce-table.woocommerce-table--order-details.shop_table.order_details tfoot td {
    padding: 10px !important;
    font-size: 13px !important;
    text-transform: initial !important;
    line-height: normal !important;
}

table.woocommerce-table.woocommerce-table--order-details.shop_table.order_details tfoot .item-total_myaccount th strong,
table.woocommerce-table.woocommerce-table--order-details.shop_table.order_details tfoot .item-total_myaccount td strong {
    font-weight: 600;
}

table.woocommerce-table.woocommerce-table--order-details.shop_table.order_details tfoot td {
    flex: 0 0 180px;
    line-height: normal;
}

.woocommerce-MyAccount-content .woocommerce-table__product-name {
    font-size: 13px !important;
    line-height: normal !important;
}

.woocommerce-MyAccount-content .woocommerce-table__product-name img {
    max-width: 48px;
    height: 48px;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    margin-right: 25px;
}

.woocommerce-MyAccount-content .woocommerce-table__product-name a,
.woocommerce-MyAccount-content .woocommerce-table__product-name .product-quantity {
    margin-right: 15px;
}

.woocommerce-MyAccount-content .woocommerce-table__product-name .product-quantity {
    display: none !important;
}

.woocommerce-order-received .site-content-page p,
.woocommerce-account .site-content-page p {
    margin-bottom: 20px;
}

.woocommerce-account .site-content-page .woocommerce-MyAccount-content>.woocommerce-notices-wrapper+p {
    font-weight: 700;
}

.woocommerce-account .site-content-page .woocommerce-MyAccount-content .woocommerce-order-details h2,
.woocommerce-account .site-content-page .woocommerce-MyAccount-content .woocommerce-customer-details h2 {
    font-size: 17px;
    color: var(--primary-color) !important;
    font-weight: normal !important;
    margin-bottom: 25px !important;
}

.woocommerce-account .site-content-page .woocommerce-MyAccount-content .woocommerce-order-details h2::before,
.woocommerce-account .site-content-page .woocommerce-MyAccount-content .woocommerce-customer-details h2::before {
    content: '' !important;
    background: var(--primary-color);
    width: 40px;
    height: 3px;
    display: block;
    position: absolute;
    bottom: 0;
}

.woocommerce.woocommerce-view-order .col2-set .col-1,
.woocommerce-page.woocommerce-view-order .col2-set .col-1 {
    width: 100%;
}

.woocommerce.woocommerce-view-order .col2-set .col-2,
.woocommerce-page.woocommerce-view-order .col2-set .col-2 {
    display: none !important;
}

/*My Account*/
.woocommerce-EditAccountForm .woocommerce-form-row--wide,
.woocommerce-EditAccountForm>p,
.woocommerce-EditAccountForm fieldset legend:not(.company-info) {
    display: none !important;
}

.woocommerce-EditAccountForm fieldset legend {
    font-size: 17px !important;
    margin: 0 !important;
    letter-spacing: normal !important;
    font-weight: 600 !important;
    color: #121212 !important;
    border: none !important;
    margin-bottom: 15px !important;
}

.woocommerce-EditAccountForm input:read-only {
    cursor: not-allowed;
    pointer-events: none;
    background-color: #eeeeee;
    border-color: #dddddd;
    color: var(--primary-color);
}

.woocommerce-Addresses header {
    margin-top: 0 !important;
}

.woocommerce-Addresses header h3 {
    font-size: 17px !important;
    margin: 0 !important;
    letter-spacing: normal !important;
    font-weight: 600 !important;
    color: #121212 !important;
    border: none !important;
    margin-bottom: 15px !important;
    padding-bottom: 0 !important;
}

.woocommerce-Addresses header h3::after {
    display: none !important;
}

.woocommerce-Addresses address {
    background: #eeeeee;
    padding: 24px 20px;
    border-radius: 4px;
    border: 1px solid #ddd;
    font-size: 14px;
    margin: 0;
    line-height: 24px;
}

.woocommerce-Addresses address>p {
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 5px;
}

.woocommerce-Addresses:last-child .inner-columns {
    gap: 25px;
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.woocommerce-Addresses:last-child .inner-columns .col-1 {
    width: 100%;
}

.addresses+.addresses {
    margin-top: 45px;
}

.woocommerce-customer-details address {
    padding: 20px !important;
    font-size: 14px;
}

.inner-address-view-order {
    display: flex;
    gap: 10px;
}

/*
 * Se reparten el ancho entre las columnas que HAYA, que no siempre son tres.
 *
 * Con `flex: 0 0 33.333%` y `gap: 10px`, tres columnas sumaban 100% mas 20px de
 * huecos: desbordaban siempre. Y al condicionar la de entrega a que el pedido
 * tenga envio, quedaban dos ocupando dos tercios y un tercio vacio.
 *
 * `min-width: 0` es la otra mitad: sin el, un correo largo —hay clientes con 36
 * caracteres— no se puede partir, empuja su columna mas alla de su ancho y
 * desborda igual.
 */
.inner-address-view-order .item-address-view-order {
    flex: 1 1 0;
    min-width: 0;
}

.woocommerce-customer-details address h3 {
    font-weight: 700 !important;
    margin-bottom: 10px !important;
    letter-spacing: normal !important;
}

.woocommerce-order-details .order-again {
    margin-top: 15px;
}

.woocommerce-order-details .order-again a {
    width: fit-content;
}

.woocommerce-order-received .woocommerce-order {
    margin-top: 80px;
}

.woocommerce-order-received .product-quantity {
    display: none !important;
}

.woocommerce-order-received .woocommerce-table__product-name {
    gap: 15px;
}

.woocommerce-order-received .btn-pdf-download {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-top: 15px;
}

.header-status {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.icon-status i {
    width: 80px;
    height: 80px;
    display: flex;
    border-radius: 100%;
    align-items: center;
    justify-content: center;
    font-size: 6rem;
    color: white;
    margin-bottom: 15px;
}

.status-success i {
    background: #10B765;
}

.status-failed i {
    background: #ff3535;
}

.header-status p {
    text-align: center;
    font-size: 17px;
}

.header-status p span {
    display: block !important;
}

.woocommerce ul.order_details {
    justify-content: center;
    display: flex;
}

.woocommerce-thankyou-order-failed-actions {
    display: flex;
    justify-content: center;
    gap: 15px;
}

.woocommerce-order .woocommerce-order-details h2,
.woocommerce-order .woocommerce-customer-details h2 {
    font-size: 17px !important;
    letter-spacing: normal;
}

.woocommerce-order .woocommerce-order-details h2::after,
.woocommerce-order .woocommerce-customer-details h2::after {
    border: 1px solid var(--primary-color) !important;
}

/* `auto` y no `scroll`: con `scroll` la barra se pintaba siempre, hubiera o no
   nada que desplazar. */
.woocommerce .woocommerce-customer-details address {
    overflow-x: auto;
}

tr.woocommerce-shipping-totals.shipping {
    height: auto;
}

.widget_shopping_cart_content .woocommerce-mini-cart {
    display: flex;
    flex-direction: column;
}

.widget_shopping_cart_content .woocommerce-mini-cart li {
    width: 100% !important;
}

.shopping-cart-wrapper .cart_list_wrapper.large-size .product_list_widget li:nth-child(2) {
    border-top: 1px solid #333 !important;
}

.shopping-cart-wrapper .cart_list_wrapper.sub-menu-dark li .cart-right>a,
.shopping-cart-wrapper .cart_list_wrapper.sub-menu-dark .cart-total-left>a,
.shopping-cart-wrapper .cart_list_wrapper.sub-menu-dark li .cart-right>a.mini-cart-remove {
    display: block;
}

.shopping-cart-wrapper .cart_list_wrapper.sub-menu-dark li .cart-right>a {
    color: var(--primary-color);
    font-size: 14px;
}

.shopping-cart-wrapper .cart_list_wrapper.sub-menu-dark li .cart-right i:before {
    content: "\F62A";
    font-family: 'bootstrap-icons';
    font-size: 18px;
    color: red;
}

.mini-cart-footer {
    display: flex;
    /*flex-direction: column;*/
    flex-wrap: wrap;
    padding: 0 15px !important;
    gap: 15px;
    border-top: none !important;
}

.mini-cart-footer .cart-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100% !important;
    border-bottom: solid 1px #333 !important;
    border-top: solid 1px #333 !important;
    margin: 0 !important;
}

.mini-cart-footer::after,
.mini-cart-footer::before {
    display: none;
}

.mini-cart-footer .cart-total::after,
.mini-cart-footer .cart-total::before {
    display: none !important;
}

.mini-cart-footer .cart-total .cart-total-left a {
    background: var(--primary-color);
    color: white !important;
    padding: 0 15px;
    height: 35px;
    border-radius: 5px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 600;
    gap: 7px;
    transition: background .3s ease-in-out;
}

.mini-cart-footer .cart-total .cart-total-left a i::before {
    content: '\F5DE';
    font-family: 'bootstrap-icons';
    color: white;
}

.mini-cart-footer .cart-total .cart-total-left a:hover {
    background-color: var(--secondary-color);
}

.mini-cart-footer .cart-button-wrapper {
    width: 100% !important;
    padding: 0px 0 15px 0px !important;
}

.shopping-cart-wrapper .widget_shopping_cart_content .cart_list_wrapper p.buttons {
    padding: 0;
}

.shopping-cart-wrapper .widget_shopping_cart_content .cart_list_wrapper p.buttons a {
    font-weight: 700 !important;
}

.shopping-cart-wrapper .cart_list_wrapper.large-size .mini-cart-footer {
    margin: 0 !important;
}

.shopping-cart-wrapper ul.cart_list,
.shopping-cart-wrapper ul.product_list_widget {
    overflow: scroll;
}

#backinstock_textbox,
#backinstock_button,
.notifymeptag {
    display: none !important;
}

#backinstock_button {
    height: 45px;
    padding: 0 35px;
    background: var(--primary-color);
    color: white;
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 600;
    border: none;
    border-radius: 5px;
    transition: background .3s ease-in-out;
}

#backinstock_button:hover {
    background: var(--secondary-color);
}

.ambisn-outer-container {
    display: none !important;
}

.notify {
    position: relative;
    display: inline-block;
}

.notify .unsuscribe {
    position: absolute;
    z-index: 9;
    cursor: pointer;
    top: 50%;
    transform: translateY(-50%);
    font-size: 2rem;
    right: 15px;
    font-weight: 700;
    color: var(--primary-color);
    transition: color .3s ease-in-out;
}

.notify:hover .btn-primary-outline {
    background-color: var(--primary-color) !important;
    color: white !important;
}

.notify .btn-primary-outline {
    padding-right: 50px !important;
}

.notify:hover .unsuscribe {
    color: white !important;
}

/*
 * LA TIRA DE MINIATURAS DE LA FICHA CABE ENTERA
 *
 * El tema padre le da al contenedor `height: 100%` con `overflow: hidden`
 * (megatron/style.css:10261), y ese 100% es **el alto de la imagen grande**, que
 * no tiene nada que ver con el de la tira: Slick la dimensiona desde
 * `slidesToShow: 4` y cada miniatura ocupa 132 px —102 de foto más los 30 de
 * `margin-bottom` que añade el propio padre—. Cuatro son 528 contra 410 del
 * visor: **118 px recortados**, o sea la cuarta miniatura entera.
 *
 * Medido el 23-08-2026 en seis productos —#215472, #215024, #28098, #28089,
 * #28096 y #28097—: los seis dan 410 de contenedor contra 528 de tira, y de la
 * cuarta miniatura se ven **14 a 17 px de sus 102**. Es sistemático, no de un
 * producto ni de los variables.
 *
 * Y lo peor es con **cuatro imágenes justas**: Slick cree que caben todas, no
 * habilita arrastre, y la cuarta queda inalcanzable para siempre. Con más de
 * cuatro al menos se puede arrastrar.
 *
 * `height: auto` deja que la tira dicte su alto: medido, la cuarta pasa de 17 a
 * **102 de 102 px visibles**. Se queda dentro de la misma media query que el
 * padre —`min-width: 1230px`— porque por debajo la tira se vuelve horizontal y
 * ahi este alto no significa nada.
 *
 * ⚠ Contrapartida medida: el contenedor es `position: absolute`, así que al
 *   crecer sobresale **18 px** por debajo del arranque de `.woocommerce-tabs`.
 *   Se acepta a cambio de recuperar una miniatura de cuatro. Si molesta, la
 *   salida no es bajar `slidesToShow` —eso vive en el JS del padre y dejaría su
 *   variable `option` en 4, descuadrando el `center()` de la tira— sino recortar
 *   el `margin-bottom: 30px` de `.product-image-thumb-item`.
 */
@media (min-width: 1230px) {
    .single-product-image-inner.vertical .product-image-thumb-wrap {
        height: auto;
    }
}

/*
 * El aviso del cliente sin voltaje asignado, que lo pinta
 * `ventus_no_voltage_notice()` en inc/voltage.php.
 *
 * Mismo rojo que «Agotado» en la ficha —`.single-product
 * .summary-product .out-of-stock`, unas 2.500 líneas más arriba— porque es
 * la misma clase de mensaje: algo que el cliente no puede comprar y una
 * explicación de por qué. Con el color heredado se leía como texto normal del
 * catálogo y pasaba desapercibido.
 *
 * Las dos clases juntas a propósito: `.ventus-voltage` sola la lleva también
 * la línea de la barra azul, que no es un aviso.
 */
.ventus-voltage.ventus-voltage--unset {
    color: #E14747;
}

/*
 * `--loud` la pone la función solo cuando el aviso entra por
 * `woocommerce_before_shop_loop`, o sea encabezando un listado que SÍ tiene
 * filas: ahí compite con ellas y en minúscula se leía como una más. Cuando
 * entra por `woocommerce_no_products_found` es lo único en la página y se queda
 * como está.
 */
.ventus-voltage.ventus-voltage--loud {
    text-transform: uppercase;
}

/*
 * FUERA EL RELLENO QUE BOOTSTRAP LE METE AL `body` AL ABRIR UN MODAL
 *
 * 🔴 QUÉ HACE Y POR QUÉ MOLESTA
 *
 *   Al abrir cualquier modal, Bootstrap pone `overflow: hidden` en el `body` —con eso la
 *   barra de desplazamiento desaparece— y compensa con un `padding-right: 15px` **en
 *   línea** sobre el propio `body`.
 *
 *   El problema es que la cabecera, el pie y el resto no crecen hacia ese relleno: se
 *   quedan 15 px más estrechos que la ventana, y esos 15 px de fondo blanco se ven como
 *   una franja a la derecha mientras el modal está abierto. Medido el 08-09-2026 con un
 *   navegador de verdad: ventana 1.280, contenido 1.265.
 *
 * ⚠ HACE FALTA `!important` PORQUE EL RELLENO ES UN ESTILO EN LÍNEA
 *
 *   Lo escribe el JS de Bootstrap en `element.style`, no en una hoja. Una regla normal no
 *   lo tocaría.
 *
 * ⚠ LO QUE QUEDA: el contenido se ensancha 15 px al abrir el modal, que es justo lo que
 *   ese relleno evitaba. Se probaron las alternativas que quitan las dos cosas a la vez y
 *   ninguna sale gratis: reservar la barra siempre (`overflow-y: scroll`) la deja pintada
 *   en todas las páginas, y dejar el `body` sin bloquear permite desplazar el fondo detrás
 *   del modal —400 px en la prueba—. Entre las tres, esta es la que menos molesta.
 */
body.modal-open,
body.modal-open .modal {
    padding-right: 0 !important;
}

/*
 * QUE EL CLIC FUERA DE LA CAJA CIERRE, EN TODA LA ZONA OSCURA
 *
 * 🔴 EL CENTRADO SE COMÍA LOS CLICS
 *
 *   El `.modal-dialog` de estos tres ocupa el 100 % de ancho y alto para centrar la caja.
 *   Bootstrap cierra cuando el clic llega al `.modal`, y con el diálogo por encima **no
 *   llegaba** salvo por los lados.
 *
 *   Medido el 08-09-2026 en «cerrar sesión», cuatro puntos: en la esquina y al lado
 *   cerraba; **encima y debajo de la caja, no** — que es justo donde más ancho es el
 *   diálogo y donde uno pulsa para descartar.
 *
 *   Con `pointer-events: none` el diálogo deja pasar el clic al `.modal` de debajo, y se
 *   lo devuelve solo a la caja. Sin JavaScript: el cierre lo sigue haciendo Bootstrap.
 */
#confirmLogoutModal .modal-dialog,
#stockModal .modal-dialog,
#ventus-voltage-modal .modal-dialog {
    pointer-events: none;
}

#confirmLogoutModal .modal-content,
#stockModal .modal-content,
#ventus-voltage-modal .modal-content {
    pointer-events: auto;
}

/*
 * 🔴 EL MARGEN A CERO, O EL MODAL SALE CON BARRA DE DESPLAZAMIENTO
 *
 *   `height: 100%` deja el diálogo tan alto como la ventana, y encima Bootstrap le pone
 *   `margin: 30px` arriba y abajo —10 px en móvil—. Los dos juntos suman más que la
 *   pantalla: `.modal` tiene `overflow-y: auto`, así que aparece una barra vertical
 *   dentro del propio modal aunque no haya nada que desplazar.
 *
 *   Medido el 08-09-2026 en «¿Confirmas que deseas cerrar sesión?»: 900 px visibles y
 *   **960 de contenido**, exactamente los 60 del margen.
 *
 *   Le pasaba a los tres, que es lo que tiene compartir el grupo de selectores. Con el
 *   margen a cero el diálogo cabe justo y la barra desaparece; el centrado lo sigue
 *   haciendo el `flex`, que no necesita márgenes.
 */
#confirmLogoutModal .modal-dialog,
#stockModal .modal-dialog,
#ventus-voltage-modal .modal-dialog {
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: center;
    max-height: 100vh;
    margin: 0 auto;
}

#confirmLogoutModal .modal-content,
#stockModal .modal-content,
#ventus-voltage-modal .modal-content {
    width: 100%;
    max-width: 455px;
    border: none !important;
    border-radius: 10px !important;
    padding: 70px 40px;
}

#confirmLogoutModal .modal-content .modal-body,
#stockModal .modal-content .modal-body,
#ventus-voltage-modal .modal-content .modal-body {
    padding: 10px 0px;
    border-top: none;
    border-bottom: none;
}

#confirmLogoutModal .modal-content h3,
#ventus-voltage-modal .modal-content h3 {
    font-size: 20px;
    text-transform: initial;
    letter-spacing: normal;
    margin-top: 0 !important;
    margin-bottom: 40px;
    text-align: center;
}

#confirmLogoutModal .modal-content .buttons-actions,
#ventus-voltage-modal .modal-content .buttons-actions {
    display: flex;
    gap: 15px;
    justify-content: center;
}

/* -------------------------------------------------------------------------
 * El modal para cambiar de voltaje
 *
 * Hereda del de cerrar sesión todo lo que es diseño —el diálogo centrado, el
 * borde redondeado, el h3, la fila de botones— sumándose arriba a sus grupos de
 * selectores en vez de repetir las medidas. Aquí queda solo lo propio: el campo
 * y el camino sin JavaScript.
 *
 * Lo pinta ventus_voltage_modal(), en inc/voltage.php.
 * ---------------------------------------------------------------------- */

#ventus-voltage-modal .modal-content {
    /* Menos aire que el de cerrar sesión: este lleva texto y un campo. */
    padding: 40px;
}

#ventus-voltage-modal .modal-content h3 {
    margin-bottom: 15px;
}

#ventus-voltage-modal .ventus-voltage-modal-help {
    text-align: center;
    margin-bottom: 25px;
}

/*
 * La etiqueta del campo, escondida a la vista y presente para un lector de
 * pantalla: es el recorte de siempre de WordPress.
 *
 * Va escrito aquí y no se da por hecho: **ningún tema de este sitio define
 * `.screen-reader-text`** —en el padre está solo en un `.less` sin compilar— y
 * quien la define es `woocommerce.css`, la hoja del plugin. Depender de ella
 * para que una etiqueta no se vea es frágil justo ahora, con la F8 de caché y
 * rendimiento por delante: quitar las hojas de WooCommerce es de lo primero que
 * se prueba en ese frente, y dejaría el texto a la vista.
 *
 * Va acotada al modal a propósito: definirla global cambiaría de golpe cómo se
 * ve cualquier marcado de WordPress o de un plugin que use esa clase.
 */
#ventus-voltage-modal .screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

#ventus-voltage-modal select {
    width: 100%;
    margin-bottom: 30px;
    /*
     * LA FLECHITA, Y POR QUÉ NO SALÍA
     *
     * No es que le faltara: `html select` de `style.css:6853` ya la pone, pero
     * apuntando a **`https://ventuscorp.cl/`** —la hoja se escribió con la URL
     * absoluta del sitio de Chile—, así que cada `<select>` del sitio va a buscar
     * su flecha a otro dominio. El archivo existe aquí mismo, en el tema padre.
     *
     * Se corrige solo en el modal, como lo pidió el desarrollador: cambiar
     * `html select` la devolvería de golpe en todos los desplegables del sitio, y eso es tocar el
     * diseño en sitios que nadie ha mirado. La ruta absoluta queda anotada en
     * deuda-tecnica.md, que es una línea y afecta a todo el sitio.
     */
    background-image: url(/wp-content/themes/megatron/assets/images/arrow-down.png);
    background-repeat: no-repeat;
    background-position: calc(100% - 15px) 50%;
    padding-right: 40px;
}

/*
 * EL CAMINO SIN JAVASCRIPT
 *
 * El enlace «cambiar» apunta al id del modal, así que sin JS el navegador salta
 * al fragmento y estas cuatro reglas lo abren: Bootstrap deja `.modal` en
 * `display:none`, y `.fade` con `opacity:0` y el diálogo desplazado hacia
 * arriba, esperando la clase `.in` que solo añade su JS.
 *
 * Con JS no se llega a aplicar: Bootstrap cancela la navegación al fragmento.
 *
 * Sin esto, el personal de Ventus sin JavaScript se queda sin poder cambiar de
 * voltaje — que es el mismo agujero que tenía el botón «Aplicar» metido en un
 * `<noscript>`.
 */
#ventus-voltage-modal:target {
    display: block;
    opacity: 1;
    background: rgba(0, 0, 0, 0.5);
}

#ventus-voltage-modal:target .modal-dialog {
    transform: none;
}

#stockModal .modal-content {
    max-width: 250px;
    padding: 25px 25px;
}

#stockModal .actions-stock p {
    display: flex;
    gap: 20px;
    margin-bottom: 7px;
    font-size: 12px;
}

#stockModal .actions-stock p:last-child {
    margin-bottom: 0;
}

#stockModal h3 {
    font-size: 17px;
    text-transform: initial;
    letter-spacing: normal;
    border-bottom: 1px solid #dddddd;
    padding-bottom: 15px;
}

#stockModal h3 i {
    font-size: 2rem;
    color: var(--primary-color);
}

#stockModal .close-modal {
    position: absolute;
    right: 0;
    background: transparent;
    border: none;
    font-size: 2.5rem;
    padding: 0;
    width: auto;
    height: auto;
    line-height: normal;
    color: var(--primary-color);
    top: 0;
}

input[type="text"]:focus,
input[type="search"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
textarea:focus,
select:focus {
    border-color: var(--secondary-color);
}

::selection {
    background-color: #339af0;
    color: #ffffff;
}

.carrito .cart_item .product-name a {
    font-weight: 700;
}

.vc_tta-panel-body {
    padding-left: 25px !important;
}

.product-flash {
    font-weight: 700;
}

.product-listing.woocommerce .product-thumb {
    overflow: hidden;
}

.method-pickup {
    display: flex;
    gap: 2px;
}

.method-pickup abbr {
    color: var(--secondary-color);
}

.woocommerce table.shop_table.cart td {
    border: none !important;
    background: white !important;
}

.upload-products i {
    transform: rotate(0deg);
    transition: transform .3s ease-in-out;
}

.upload-products .active i {
    transform: rotate(180deg);
}

.woocommerce table.shop_table.cart .product-thumbnail {
    width: auto;
}

.inner-upload {
    padding: 50px;
    border: 1px solid #ddd;
    border-radius: 5px;
    margin-top: 15px;
}

.inner-upload p {
    color: black;
    font-size: 16px;
    letter-spacing: normal;
}

.inner-upload p a {
    font-weight: 600;
}

.inner-upload .notice {
    margin-top: 15px;
}

.woocommerce-tabs {
    margin-top: 80px !important;
}

.woocommerce-tabs ul.tabs {
    display: flex;
    gap: 20px;
    list-style: none;
    font-size: 17px;
    font-weight: 600;
    text-transform: uppercase;
    padding: 0;
}

.woocommerce-tabs ul.tabs li {
    padding-left: 0;
}

.woocommerce-tabs ul.tabs li::before {
    display: none;
}

.woocommerce-tabs ul.tabs li a {
    color: var(--tertiary-color);
    letter-spacing: normal;
    border-bottom: 3px solid transparent;
    padding-bottom: 10px;
}

.woocommerce-tabs ul.tabs li.active a {
    border-color: var(--primary-color);
}

.woocommerce-tabs .woocommerce-Tabs-panel {
    margin-top: 32px;
}

.msg-discount {
    font-size: 11px;
    color: green;
    line-height: normal;
    margin: 8px;
    margin-bottom: 0;
}

.message-volumen {
    font-size: 13px;
    color: green;
    line-height: normal;
    margin: 8px;
    margin-bottom: 20px !important;
    float: left;
    text-align: left;
}

.message-volumen span {
    font-weight: 700;
}

.product-total .message-volumen {
    text-align: right;
    margin: 0;
}

.tax-rate th small {
    display: none;
}

.table-filter .fecha-llegada {
    text-align: center;
    margin-bottom: 0;
}

.table-filter .fecha-llegada strong {
    display: block;
}

.single-product .fecha-llegada {
    margin-bottom: 0;
    margin-top: 15px;
}

.btn-ventus {
    border-radius: 5px;
}

.on-sale.product-flash::before {
    display: inline-block;
    content: "-";
}

@media screen and (max-width: 768px) {
    .fixed-side .form-group {
        margin-bottom: 15px;
    }

    .archive.woocommerce-page #filter-button {
        display: flex;
        gap: 7px;
        flex-direction: row-reverse;
    }

    .archive.woocommerce-page table .product-neto .descuento {
        right: -45px;
        top: -27px;
        font-size: 9px;
    }

    .product-listing.woocommerce {
        margin: 0 0;
    }

    .archive.woocommerce-page table td {
        font-size: 12px;
    }

    .woocommerce-shop #page-title:not(.search_into) {
        position: relative;
        right: 0;
        top: initial;
        transform: inherit;
        max-width: calc(100% - 30px);
        margin: 0 auto;
        border-radius: 8px;
    }

    .woocommerce-shop #page-title:not(.search_into) form,
    .woocommerce-shop #page-title:not(.search_into) input[type="search"] {
        width: 100%;
    }

    .archive.woocommerce-page table th {
        font-size: 12px;
    }

    .woocommerce-page .product-filter {
        display: none !important;
    }

    .header-mobile-nav.menu-drop-fly {
        left: -100%;
    }

    #nav-menu-mobile .header-logo {
        background: white;
    }

    div#nav-menu-mobile {
        width: 100%;
        background-color: transparent;
    }

    .inner_menu_mobile {
        max-width: 100%;
        background: var(--tertiary-color) !important;
        height: 100%;
    }

    .top_header_mobile {
        display: flex;
        gap: 45px;
        width: 100%;
        background: white;
        padding: 0 15px;
        align-items: center;
        justify-content: center;
    }

    .top_header_mobile img {
        max-height: 92px;
        padding-block: 15px;
    }

    .top_header_mobile .toggle-icon-wrapper {
        position: absolute;
        left: 15px;
    }

    .menusuperiormov {
        width: 100%;
        margin-bottom: 15px;
        background: var(--secondary-color);
        padding: 8px 15px;
        color: white;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .menusuperiormov .icons {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .menusuperiormov .icons a {
        text-transform: uppercase;
        font-weight: 600;
        color: white;
        gap: 10px;
        display: flex;
        align-items: center;
        width: 100%;
        justify-content: center;
    }

    .menusuperiormov .icons a span[class*="icon-"] {
        font-size: 2rem;
    }

    .x-nav-menu li.x-menu-item>a.x-menu-a-text {
        font-size: 1.5rem;
        letter-spacing: normal;
        font-weight: 600;
        text-transform: uppercase;
    }


    .header-mobile-inner span[class*="icon-"] {
        font-size: 3rem;
        color: var(--primary-color);
    }

    .header-customize {
        display: flex !important;
        align-items: center;
    }

    .header-logo-mobile {
        padding: 0;
    }

    .x-nav-menu ul.x-sub-menu>li.x-menu-item>a.x-menu-a-text {
        text-transform: uppercase;
    }

    footer .footer-above-wrapper .row div[class*="col-"]+div[class*="col-"] {
        margin-top: 35px;
    }

    footer .main-footer {
        margin-bottom: 0 !important;
    }

    footer .main-footer .row div[class*="col-"]+div[class*="col-"] {
        margin-top: 50px;
    }

    footer .main-footer h4 {
        font-size: 1.7rem;
    }

    footer .main-footer ul {
        grid-template-columns: 1fr;
    }

    footer .main-footer ul li:nth-of-type(4n) {
        margin-bottom: 35px;
    }

    .woocommerce div.product span.price del {
        display: block;
        margin-bottom: 15px;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs {
        display: flex;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs li a {
        font-size: 12px;
        text-transform: initial;
    }

    .woocommerce div.product .woocommerce-tabs iframe {
        width: 100%;
    }

    a.product_type_soldout.btn_add_to_cart span.icon-cart-vp:before {
        line-height: 50px !important;
    }

    .site-content-single-product {
        margin-top: 0 !important;
    }

    .inner_material_descargable {
        max-width: 100%;
    }

    .woocommerce-cart-form {
        justify-content: space-between;
    }

    .woocommerce-cart-form .list_actions,
    .woocommerce-cart-form .cart-collaterals_totals {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .woocommerce .cart-actions {
        width: 100%;
    }

    .btns_cart_actions a {
        max-width: 100%;
    }

    .carrito .cart_item {
        display: flex;
        align-items: center;
    }

    .carrito .product-remove {
        position: relative;
        right: 0;
        top: 0;
    }

    .carrito .infoproductos {
        display: flex;
        align-items: center;
        gap: 15px;
    }

    .carrito .cart_item .product-name {
        vertical-align: middle;
        width: 100%;
        display: flex;
        flex-direction: column;
    }

    .carrito .product-subtotal.text-center {
        width: 100%;
        float: inherit;
        text-align: left;
        margin-top: 10px;
    }

    .carrito .cart_item .product-name p.precioscart {
        margin-bottom: 10px;
    }

    .woocommerce table.shop_table_responsive tr td::before,
    .woocommerce-page table.shop_table_responsive tr td::before {
        font-weight: normal;
    }

    form.woocommerce-checkout>.row>div[class*="col-md"] {
        float: left;
    }

    .product-name__text {
        font-weight: 600;
        line-height: normal;
        font-size: 12px;
        flex: 0 0 140px;
    }

    .woocommerce form .form-row label.checkbox,
    .woocommerce-page form .form-row label.checkbox {
        align-items: center;
    }

    .woocommerce form .form-row label.checkbox .required {
        display: none;
    }

    .woocommerce-shipping-radios {
        margin-bottom: 35px;
    }

    #custom_checkout_field {
        margin-bottom: 25px;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation {
        position: fixed;
        bottom: 0;
        background: var(--primary-color);
        left: 0;
        padding: 15px;
        z-index: 9;
        box-shadow: 0px -1px 14px 0px #00000040;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul a {
        display: flex;
        flex-direction: column-reverse;
        border: none;
        padding: 0;
        line-height: normal;
        gap: 10px !important;
        height: auto;
        color: white;
        font-size: 12px;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation li {
        display: block;
        flex: 0 0 calc(25% - 15px);
        text-align: center;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation li.is-active {
        font-weight: 700;
        border-bottom: 2px solid white;
    }

    .inner-address-view-order {
        flex-direction: column;
    }

    /* En vertical `flex-basis` es la altura, asi que el `0` de arriba no vale
       aqui: cada bloque ocupa lo que ocupe su contenido. */
    .inner-address-view-order .item-address-view-order {
        flex: 1 1 auto;
    }

    .woocommerce ul.order_details {
        justify-content: center;
        display: flex;
        text-align: left;
        flex-direction: column;
        align-content: flex-start;
        gap: 15px;
    }

    .woocommerce ul.order_details li {
        display: flex;
        align-items: flex-start;
        flex-direction: column;
        margin: 0;
        justify-content: center;
        padding: 0 20px;
        border-bottom: none;
    }

    .woocommerce ul.order_details li:not(:last-child)::after {
        content: '';
        height: 30px;
        border-left: 1px dashed;
        margin-top: 10px;
    }

    .woocommerce-table--order-details td.product-name strong.product-quantity {
        position: relative;
        top: 0;
        background: transparent;
        color: black;
        width: inherit;
        height: inherit;
        border-radius: inherit;
        line-height: inherit;
        left: 11px;
        font-size: inherit;
        font-weight: normal;
        text-align: center;
    }

    .woocommerce-table--order-details thead {
        display: none !important;
    }

    .woocommerce-table--order-details tbody {
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    .woocommerce-table--order-details tbody tr {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }

    .woocommerce-table--order-details tbody tr td {
        display: flex;
        align-items: center;
    }

    .woocommerce-table--order-details tbody tr td a {
        flex: 0 0 240px;
        max-width: 240px;
        line-height: normal;
    }

    .woocommerce-table--order-details tbody tr td .product-quantity {
        height: auto !important;
    }

    .woocommerce-Addresses:last-child .inner-columns {
        gap: 15px;
        grid-template-columns: 1fr;
    }

    .mini-cart-buttons {
        display: flex;
        gap: 50px;
        justify-content: space-between;
        width: 100%;
    }

    .mini-cart-buttons a {
        font-size: 10px;
        padding: 0 15px !important;
    }

    .mini-cart-buttons a i {
        font-size: 20px;
    }

    .mini-cart-buttons p {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 0 !important;
    }

    #fixed-mini-cart {
        padding-top: 35px;
    }

    #fixed-mini-cart .show-totals {
        width: 40px;
        background: white;
        height: 4px;
        flex: 0 0 100%;
        position: absolute;
        top: 15px;
        border-radius: 60px;
        cursor: pointer;
        left: 0;
        right: 0;
        margin: 0 auto;
        transition: background .3s ease-in-out;
    }

    #fixed-mini-cart .show-totals:hover {
        background: var(--secondary-color);
    }

    #fixed-mini-cart .mini-cart-content {
        flex-direction: column;
    }

    .mini-cart-totals {
        display: flex;
        justify-content: space-between;
        gap: 8px;
        align-items: flex-start;
        flex-direction: column;
        width: 100%;
        margin-bottom: 50px;
    }

    .mini-cart-totals p {
        width: 100%;
        display: flex;
        justify-content: space-between;
    }

    .archive.woocommerce-page #fixed-filters #filter-button {
        flex-direction: revert;
    }

    .archive.search-results #page-title:is(.search_into) {
        position: relative;
        right: 0;
        top: initial;
        transform: inherit;
        max-width: calc(100% - 30px);
        margin: 0 auto;
        border-radius: 8px;
    }

    .archive.search-results #page-title:is(.search_into) .search-product,
    .archive.search-no-results #page-title:is(.search_into) .search-product {
        position: relative;
        right: 0;
        top: 0;
        transform: translateY(0%);
        margin-top: 25px;
    }

    .archive.search-results #page-title:is(.search_into) .search-product form {
        max-width: 218px;
        margin: 0 auto;
        position: relative;
    }

    .inner_title_search h1 span {
        margin-bottom: 25px;
    }

    .shopping-cart-wrapper .widget_shopping_cart_content .cart_list_wrapper p.buttons {
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .shopping-cart-wrapper .widget_shopping_cart_content .cart_list_wrapper p.buttons a {
        width: 100% !important;
    }

    .shopping-cart-wrapper .widget_shopping_cart_content .cart_list_wrapper p.buttons a+a {
        margin-left: 0 !important;
    }

    .shopping-cart-wrapper .cart_list_wrapper.sub-menu-dark .cart-total {
        padding: 10px 0;
    }

    .shopping-cart-wrapper .cart-total p.total {
        position: relative !important;
        background: transparent !important;
        border-radius: 0 !important;
        height: inherit !important;
        width: inherit !important;
        line-height: inherit !important;
        text-align: center !important;
        color: inherit !important;
        font-size: 10px;
    }

    .fixed-side .buttons-actions {
        bottom: 150px;
    }

    .woocommerce .widget_price_filter .price_slider_amount,
    #fixed-filters .filter-options label:first-child {
        margin-top: 15px;
    }

    #fixed-filters .filter-options label {
        margin-bottom: 15px;
    }

    #fixed-filters .filter-options label:last-child {
        margin-bottom: 25px;
    }

    .product-listing.woocommerce .product-info {
        padding-top: 0;
    }

    .product-listing.woocommerce h3.product-name.p-font {
        height: auto !important;
    }

    .item-mobile .group-info .product-link {
        left: -8px;
    }

    .btns_cart_actions a {
        width: 100%;
    }

    form.woocommerce-checkout {
        margin-top: 15px;
    }

    .woocommerce-order-received .site-content-page {
        margin-bottom: 0px;
    }

    .woocommerce-cart-form {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .cart_ventus_form {
        flex-direction: column;
    }

    .vc_tta-panel-body {
        padding: 15px 0 !important;
    }

    .vc_tta-style-tour_style1 .vc_active .vc_tta-panel-heading {
        background-color: var(--primary-color);
    }

    table.woocommerce-table.woocommerce-table--order-details.shop_table.order_details tfoot {
        display: flex !important;
    }

    table.woocommerce-table.woocommerce-table--order-details.shop_table.order_details tfoot tr {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
    }

    table.woocommerce-table.woocommerce-table--order-details.shop_table.order_details tfoot tr td:first-child {
        display: none !important;
    }

    table.woocommerce-table.woocommerce-table--order-details.shop_table.order_details tbody tr {
        padding-block: 15px;
    }

    table.woocommerce-table.woocommerce-table--order-details.shop_table.order_details tbody tr+tr {
        border-top: 1px solid #aaaaaa38;
    }

    table.woocommerce-table.woocommerce-table--order-details.shop_table.order_details tfoot td {
        flex: 0 0 auto;
    }

    table.woocommerce-table.woocommerce-table--order-details.shop_table.order_details tbody td {
        padding-block: 0 !important;
        gap: 5px;
    }

    tr.woocommerce-cart-form__cart-item.cart_item {
        display: flex !important;
        flex-wrap: wrap;
    }

    .woocommerce table.shop_table.cart .product-thumbnail {
        width: auto !important;
        padding-block: 0;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
    }

    .woocommerce table.shop_table.cart .product-name {
        text-align: left;
    }

    .woocommerce table.shop_table.cart .product-remove {
        flex: 0 0 40px;
    }

    .woocommerce table.shop_table.cart .product-thumbnail {
        flex: 0 0 calc(100% - 50px);
        border: none;
    }


    .woocommerce table.shop_table.cart .product-subtotal,
    .woocommerce table.shop_table.cart .product-quantity {
        flex: 0 0 100%;
        border: none;
        padding-left: calc(100% - 195px);
    }

    .woocommerce table.shop_table.cart .product-subtotal {
        margin-top: 10px;
        text-align: left !important;
    }

    .product-subtotal::before,
    .product-quantity::before,
    .product-thumbnail::before {
        display: none;
    }

    .cart-collaterals_totals>td {
        background: transparent;
        border: none;
    }

    .product-thumbnail-wc {
        flex: 0 0 85px;
    }

    .upload-products button {
        width: 100%;
    }

    .inner-upload {
        padding: 20px;
    }

    .btn-back {
        display: none !important;
    }

    .footer-product .product-actions2 div.add-to-cart-wrap a {
        font-size: 12px !important;
    }

    .woocommerce table.shop_table.cart .product-thumbnail {
        padding-left: 0 !important;
    }

    .method-pickup {
        display: block;
    }
}



.woocommerce #respond input#submit.disabled,
.woocommerce #respond input#submit:disabled,
.woocommerce #respond input#submit:disabled[disabled],
.woocommerce a.button.disabled,
.woocommerce a.button:disabled,
.woocommerce a.button:disabled[disabled],
.woocommerce button.button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled],
.woocommerce input.button.disabled,
.woocommerce input.button:disabled,
.woocommerce input.button:disabled[disabled] {
    background-color: var(--primary-color);
}

.nav_categories nav>ul li.marcas:hover>.submenu.active-submenu {
    display: flex !important;
    flex-wrap: wrap;
    width: 600px;
    position: absolute;
    left: 100%;
    top: 0;
    z-index: 1000;
}


li.marcas ul.submenu.active-submenu>li {
    width: 33%;
    box-sizing: border-box;
}

.yith_wcas_result_content .tax-msg {
    display: none;
}

.autocomplete-suggestions .yith_wcas_result_content::after {
    content: " neto";
}

.product-item-wrap {
    max-width: 282px;
    background-color: #fff;
    border: 1px solid #E2E8F099;
    border-radius: 18px;
    box-shadow: 0px 8px 24px -12px #0512231F, 0px 1px 2px 0px #0512230A;
    overflow: hidden;
}

.product-item-wrap .product-info {
    flex: 1;
    padding: 20px;
}

.product-item-wrap .product-info .button.buy-now-button {
    border: 1px solid #00348F33;
    border-radius: 5px;
    color: #001766;
    background-color: #fff;
    transition: all .5s ease;
}

.product-item-wrap .product-info .button.buy-now-button:hover {
    background-color: #001766;
    color: #fff;
    transition: all .5s ease;
}

.owl-carousel .owl-stage-outer {
    padding: 10px 0;
}

.product-listing .owl-carousel-products-slider .owl-controls .owl-dots {
    display: block !important;
}

.product-listing .owl-theme .owl-controls {
    justify-content: center;
}

.product-listing .owl-theme .owl-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: calc(100% + 100px);
    display: flex;
    justify-content: space-between;
}

.product-listing .owl-theme .owl-dots .owl-dot span {
    width: 58px;
    height: 8px;
    border-radius: 16px;
    background-color: #D9D9D9;
}

.product-listing .owl-theme .owl-dots .owl-dot.active span {
    background-color: #023E77;
}

.product-slider .owl-stage-outer {
    padding-bottom: 31px;
}

.owl-next,
.owl-prev {
    border-radius: 50rem;
}

.product-item-inner .product-info h3.product-name.p-font a {
    display: -webkit-box;
    max-width: 100%;
    height: 40px;
    max-height: 40px;
    margin: 0 auto;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: unset;
    text-transform: none;
    font-weight: 600;
    line-height: 19.25px;
    text-align: left;
    margin-bottom: 12px;
    font-size: 14px;
    transition: all .8s ease;
    color: #051223;
    letter-spacing: normal;
}
/* ---------------------------------------------------------------------------
 * La casilla de marca personalizada del checkout
 *
 * 🔴 SE MONTABA ENCIMA DE SU PROPIO TEXTO
 *
 *   `woocommerce_form_field()` pinta las casillas dentro de `<label class="checkbox">`,
 *   y `bootstrap.min.css` 3.4.1 —que el tema padre carga en el front— trae
 *
 *       .checkbox input[type="checkbox"] { position: absolute }
 *
 *   El componente de Bootstrap saca la casilla del flujo contando con un `padding-left`
 *   en el label que aquí no se lo pone nadie, así que se sentaba sobre la primera letra:
 *   se leía «uiero marca personalizada». Medido en el navegador el 30-08-2026.
 *
 *   Se devuelve al flujo y la fila se maqueta con `flex`, que además alinea la casilla
 *   con el texto sin depender de márgenes negativos.
 *
 * ⚠ Va acotado por id y no tocando `.checkbox`, que es de Bootstrap y la usa medio sitio.
 * ------------------------------------------------------------------------ */

/*
 * ⚠ Y ARRANCABA 72 px A LA DERECHA DE LOS CAMPOS
 *
 *   `style.css:1090` le da `width: 70%; margin: 0 auto`, igual que a la columna de
 *   facturación — pero cada 70% se calcula sobre un padre distinto, así que salían 406 px
 *   centrados frente a los 550 de aquella. Medido: la casilla en 147 y «Razón Social» en
 *   75.
 *
 *   El padre es un `div.row` de Bootstrap, que resta 15 px por lado con sus márgenes
 *   negativos. Devolviéndole ese canalón, el bloque ocupa el ancho entero y su contenido
 *   cae exactamente donde empiezan los campos.
 *
 * ⚠ Y le pasa igual al bloque de la dirección de entrega, que es su hermano dentro del
 *   mismo `div.row`: misma causa, misma regla. Por eso van juntos en el selector en vez de
 *   repetirla.
 */
.woocommerce-additional-fields,
.woocommerce-shipping-fields .shipping_address {
    width: 100%;
    margin: 0;
    padding: 0 15px;
}

/*
 * Y EL BLOQUE DE ENVÍO RESPIRA POR ABAJO, CON DIRECCIÓN O SIN ELLA
 *
 * Debajo va siempre la casilla de marca personalizada, que solo trae `8px` de margen
 * arriba (`#ventus_custom_brand_field`). Sin esto las dos cosas se tocan, y se leen como
 * si la casilla fuera parte de la dirección.
 *
 * Los `25px` no son inventados: son los que este checkout le da a sus `h3`
 * (`.woocommerce-checkout h3`), o sea el aire propio de la página.
 *
 * ⚠ Va aparte y no en el margen de la regla de arriba, que la comparte con
 *   `.woocommerce-additional-fields`: ese bloque ya cae bien donde está.
 */
.woocommerce-shipping-fields .shipping_address {
    margin-bottom: 25px;
}

#ventus_custom_brand_field {
    width: 100%;
    margin: 8px 0 24px;
    padding: 0;
}

#ventus_custom_brand_field label.checkbox {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    padding-left: 0;
    font-size: 16px;
    font-weight: normal;
    text-transform: none;
    letter-spacing: normal;
    color: #0f2540;
    cursor: pointer;
}

#ventus_custom_brand_field input.input-checkbox {
    position: static;   /* deshace el `absolute` de Bootstrap */
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin: 0;
    /* Pinta el tic con el color del sitio en vez del azul del navegador. */
    accent-color: var(--primary-color);
    cursor: pointer;
}

/* ---------------------------------------------------------------------------
 * Los botones de la fila de acciones del carrito
 *
 * Se leían «vaciar carrito» y «agregar más productos», todo en minúscula, aunque los
 * literales de la plantilla siempre estuvieron capitalizados. Lo hacía
 * `style.css` con `.woocommerce table.shop_table.cart tbody td { text-transform:
 * lowercase }`, y esos dos botones viven dentro de un `<td class="actions">` de esa tabla.
 *
 * Se devuelve el texto tal cual está escrito, solo en esos botones: la regla de la tabla
 * sigue valiendo para el resto de las celdas.
 * ------------------------------------------------------------------------ */

.woocommerce table.shop_table.cart tbody td .btns_cart_actions .btn-ventus {
    text-transform: none;
}
