/*
Theme Name: Vapier Child 02
Template: vapier
Version: 1.7.4
*/

/* Refuerzo: máxima especificidad y !important para Montserrat en checkout */
/* IMPORTANTE: Excluir fuentes de iconos para que no se sobrescriban */
.woocommerce-checkout *:not([class*="icon-"]):not([class*="fa-"]):not(i):not(.fa):not(.icon):not([class*="arrow"]) {
    font-family: 'Montserrat', Arial, sans-serif !important;
}

.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row select,
#page.checkout-page-style-1 .woocommerce-checkout .form-row input,
#page.checkout-page-style-1 .woocommerce-checkout .form-row select {
    font-size: 15px !important;
    padding: 8px 10px !important;
    border-radius: 6px !important;
    border: 1px solid #e0e0e0 !important;
    background: #fff !important;
}

.woocommerce-checkout .form-row {
    margin-bottom: 10px !important;
}

.woocommerce-checkout .woocommerce-shipping-methods {
    font-size: 15px !important;
    padding: 8px 0 !important;
}

.woocommerce-checkout .woocommerce-shipping-methods label {
    font-size: 15px !important;
    color: #222 !important;
}

.woocommerce-checkout .woocommerce-shipping-methods .amount {
    font-size: 15px !important;
    color: #bd0028 !important;
    font-weight: 600 !important;
}

/* Payment methods: estilos movidos a checkout-custom.css */

.vq-shipping-card,
#page.checkout-page-style-1 .vq-shipping-card {
    background: #fff !important;
    border-radius: 10px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 18px 18px 12px 18px !important;
    margin-bottom: 18px !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
}

.vq-shipping-card .vq-shipping-header,
#page.checkout-page-style-1 .vq-shipping-card .vq-shipping-header {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #222 !important;
    margin-bottom: 6px !important;
}

.vq-shipping-card .vq-shipping-data,
#page.checkout-page-style-1 .vq-shipping-card .vq-shipping-data {
    font-size: 15px !important;
    color: #222 !important;
    margin-bottom: 4px !important;
}

.vq-shipping-card .vq-shipping-edit,
#page.checkout-page-style-1 .vq-shipping-card .vq-shipping-edit {
    font-size: 13px !important;
    color: #bd0028 !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    text-decoration: underline !important;
    margin-left: auto !important;
    margin-bottom: 8px !important;
}

.vq-shipping-card .vq-shipping-form,
#page.checkout-page-style-1 .vq-shipping-card .vq-shipping-form {
    display: none;
    margin-top: 10px !important;
    gap: 8px !important;
}

.vq-shipping-card.vq-editing .vq-shipping-form,
#page.checkout-page-style-1 .vq-shipping-card.vq-editing .vq-shipping-form {
    display: flex !important;
    flex-direction: column !important;
}

.vq-shipping-card .vq-shipping-checkbox,
#page.checkout-page-style-1 .vq-shipping-card .vq-shipping-checkbox {
    margin-top: 10px !important;
    font-size: 14px !important;
    color: #222 !important;
}

.vq-subpedido-spinner,
#page.checkout-page-style-1 .vq-subpedido-spinner {
    text-align: center !important;
    padding: 18px 0 8px 0 !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
}

/*
 Theme Name:   Vapier Child 02
 Template:     vapier
 Version:      1.7.5
 Text Domain:  vapier-child02
*/

/* ========================================
   OCULTAR BREADCRUMB EN CHECKOUT
   ======================================== */
.woocommerce-checkout .breadcrumb,
.woocommerce-checkout .bwp-breadcrumb,
.checkout .breadcrumb,
.checkout .bwp-breadcrumb {
    display: none !important;
}

/* ========================================
   REFUERZO CHECKOUT: MONTSERRAT Y COMPACTO
   ======================================== */

/* ========================================
   WOOCOMMERCE CART - ESTILO PRODUCCIÓN
   ======================================== */

/* Tabla minimalista: solo bordes horizontales */
.table.shop_table.cart,
table.shop_table.cart {
    border: none !important;
    border-collapse: collapse;
}

.table.shop_table.cart thead tr,
table.shop_table.cart thead tr {
    border-bottom: 1px solid #e8e8e8;
}

.table.shop_table.cart thead th,
table.shop_table.cart thead th {
    border: none;
    border-bottom: 1px solid #e8e8e8;
    padding: 15px 10px;
}

.table.shop_table.cart tbody tr,
table.shop_table.cart tbody tr {
    border-bottom: 1px solid #e8e8e8;
}

.table.shop_table.cart tbody td,
table.shop_table.cart tbody td {
    border: none;
    padding: 20px 10px;
    vertical-align: middle;
}

/* Contenedor de información del producto: imagen y detalles en horizontal */
.woocommerce-cart-form .shop_table.cart tbody tr td.product-thumbnail .product-info-wrapper {
    display: flex !important;
    align-items: flex-start !important;
    flex-direction: row !important;
    width: 100% !important;
    gap: 0px !important;
}

.woocommerce-cart-form .shop_table.cart tbody tr td.product-thumbnail a.product-image,
.woocommerce-cart-form .shop_table.cart tbody tr td.product-thumbnail .product-image {
    min-width: 80px !important;
    max-width: 80px !important;
    display: block !important;
    flex-shrink: 0 !important;
}

.woocommerce-cart-form .shop_table.cart tbody tr td.product-thumbnail a img,
.woocommerce-cart-form .shop_table.cart tbody tr td.product-thumbnail .product-image img {
    width: 80px !important;
    max-width: 80px !important;
}

/* Detalles del producto: nombre, variante, precio y cantidad en columna - compactado */
.woocommerce-cart-form .shop_table.cart tbody tr td.product-thumbnail .product-details {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    gap: 8px !important;
    padding: 0 !important;
    margin: 0 !important;
    justify-content: flex-start !important;
}

/* Nombre del producto + variación - OVERRIDE COMPLETO de template.css línea 2449 */
.table.shop_table.cart>tbody>tr>td .product-name,
table.shop_table.cart>tbody>tr>td .product-name,
.table.shop_table.cart tbody tr td .product-name,
table.shop_table.cart tbody tr td .product-name {
    display: flex !important;
    flex-direction: column !important;
    vertical-align: baseline !important;
    margin: 0 !important;
    margin-left: 0 !important;
    padding: 0 !important;
    padding-left: 0 !important;
    gap: 0px !important;
}

.table.shop_table.cart>tbody>tr>td .product-name a,
table.shop_table.cart>tbody>tr>td .product-name a,
.table.shop_table.cart tbody tr td .product-name a,
table.shop_table.cart tbody tr td .product-name a {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #222 !important;
    text-decoration: none !important;
    margin: 0 !important;
    margin-left: 0 !important;
    padding: 0 !important;
    padding-left: 0 !important;
    line-height: 1.3 !important;
}

.table.shop_table.cart>tbody>tr>td .product-name a:hover {
    color: #bd0028;
}

/* Variación del producto (debajo del nombre) */
.table.shop_table.cart>tbody>tr>td .product-name .variation {
    font-size: 12px;
    color: #999;
    margin: 0;
    line-height: 1.3;
}

.table.shop_table.cart>tbody>tr>td .product-name .variation dt,
.table.shop_table.cart>tbody>tr>td .product-name .variation dd {
    display: inline;
    margin: 0;
}

.table.shop_table.cart>tbody>tr>td .product-name .variation dt {
    font-weight: 600;
    margin-right: 5px;
}

.table.shop_table.cart>tbody>tr>td .product-name .variation dd:after {
    content: '';
    display: block;
}

/* Precio unitario: color rojo del tema, tipografía minimalista */
.table.shop_table.cart>tbody>tr>td.product-thumbnail .product-unit-price,
.table.shop_table.cart>tbody>tr>td.product-thumbnail .product-unit-price *,
td.product-thumbnail .product-unit-price,
td.product-thumbnail .product-unit-price * {
    font-size: 18px !important;
    font-weight: 500 !important;
    color: #bd0028 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
}

.table.shop_table.cart>tbody>tr>td.product-thumbnail .product-unit-price .woocommerce-Price-amount {
    color: #bd0028 !important;
    font-weight: 500 !important;
}

.table.shop_table.cart>tbody>tr>td.product-thumbnail .product-unit-price span,
.table.shop_table.cart>tbody>tr>td.product-thumbnail .product-unit-price .woocommerce-Price-currencySymbol {
    color: #bd0028 !important;
    font-weight: 500 !important;
}

/* ========================================
   SELECTOR DE CANTIDAD - DIAGNÓSTICO Y RESETEO COMPLETO
   ======================================== */

/* CONTENEDOR del selector de cantidad: forzar flexbox */
td.product-thumbnail .quantity-selector {
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    background: #fff !important;
    max-width: 87px !important;
    width: auto !important;
}

/* DIV.QUANTITY generado por WooCommerce - RESETEO TOTAL */
td.product-thumbnail .quantity-selector .quantity,
td.product-thumbnail .quantity-selector div.quantity,
td.product-thumbnail div.quantity,
td.product-thumbnail .quantity {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    min-width: auto !important;
    width: auto !important;
    max-width: 87px !important;
    border: none !important;
    background: transparent !important;
    float: none !important;
}

/* Ocultar label */
td.product-thumbnail .screen-reader-text,
td.product-thumbnail label.screen-reader-text {
    display: none !important;
}

/* INPUT - Resetear TODO */
td.product-thumbnail input qty,
td.product-thumbnail input[type="number"].qty,
td.product-thumbnail .quantity input qty,
td.product-thumbnail .quantity input[type="number"] {
    border: none !important;
    text-align: center !important;
    width: 35px !important;
    height: 26px !important;
    padding: 0 !important;
    font-size: 13px !important;
    margin: 0 !important;
    order: 0 !important;
    font-weight: 500 !important;
    -moz-appearance: textfield !important;
    -webkit-appearance: none !important;
    float: none !important;
    /* RESETEAR float:right */
    position: relative !important;
    /* RESETEAR position si existe */
}

td.product-thumbnail input qty::-webkit-outer-spin-button,
td.product-thumbnail input qty::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* BOTONES - Resetear TODO */
td.product-thumbnail button,
td.product-thumbnail .quantity button,
td.product-thumbnail button.plus,
td.product-thumbnail button.minus {
    border: none !important;
    background: #f8f8f8 !important;
    width: 26px !important;
    height: 26px !important;
    cursor: pointer !important;
    font-size: 14px !important;
    color: #333 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s !important;
    font-weight: 400 !important;
    float: none !important;
    /* RESETEAR float */
    position: relative !important;
    /* RESETEAR position si existe */
    margin: 0 !important;
}

td.product-thumbnail button:hover,
td.product-thumbnail .quantity button:hover {
    background: #e8e8e8 !important;
    color: #000 !important;
}

/* Botón MENOS - order: -1 */
td.product-thumbnail button.minus,
td.product-thumbnail .quantity button.minus {
    order: -1 !important;
    border-right: 1px solid #ddd !important;
    float: none !important;
}

/* Botón MÁS - order: 1 */
td.product-thumbnail button.plus,
td.product-thumbnail .quantity button.plus {
    order: 1 !important;
    border-left: 1px solid #ddd !important;
    float: none !important;
}

/* Total del producto: color rojo, tipografía peso medio */
.table.shop_table.cart>tbody>tr>td.product-subtotal,
.table.shop_table.cart>tbody>tr>td.product-subtotal *,
td.product-subtotal,
td.product-subtotal * {
    font-size: 20px !important;
    font-weight: 500 !important;
    color: #bd0028 !important;
    line-height: 1 !important;
}

.table.shop_table.cart>tbody>tr>td.product-subtotal span,
table.shop_table.cart>tbody>tr>td.product-subtotal span {
    color: #bd0028 !important;
    font-weight: 500 !important;
}

.table.shop_table.cart>tbody>tr>td.product-subtotal .woocommerce-Price-amount {
    color: #bd0028 !important;
    font-weight: 500 !important;
}

.table.shop_table.cart>tbody>tr>td.product-subtotal .woocommerce-Price-currencySymbol {
    color: #bd0028 !important;
    font-weight: 500 !important;
}

/* Filas que no son cart_item */
.table.shop_table.cart>tbody>tr:not(.cart_item)>td,
table.shop_table.cart>tbody>tr:not(.cart_item)>td {
    text-align: left;
}

/* ========================================
   AUTO-ACTUALIZACIÓN DEL CARRITO
   ======================================== */

/* Ocultar botón "Update Cart" - la actualización es automática con JavaScript */
.woocommerce-cart .woocommerce-cart-form .actions .bottom-cart button[name="update_cart"] {
    display: none !important;
}

/* Botón "Continuar comprando" - estilo coherente con template.css línea 15116 */
.woocommerce-cart .woocommerce-cart-form .actions .bottom-cart a.button.continue-shopping {
    color: #fff !important;
    background: #000 !important;
    font-size: 13px !important;
    padding: 0 50px !important;
    line-height: 50px !important;
    cursor: pointer !important;
    border: 0 !important;
    text-decoration: none !important;
    display: inline-block !important;
    font-family: Montserrat, sans-serif !important;
    margin: 0 !important;
}

.woocommerce-cart .woocommerce-cart-form .actions .bottom-cart a.button.continue-shopping:hover {
    background: #8a001d !important;
}

/* Indicador visual opcional durante la actualización */
td.product-thumbnail input qty.qty-updating {
    opacity: 0.6;
    transition: opacity 0.3s ease;
}

/* ========================================
   OCULTAR COLUMNAS INNECESARIAS
   ======================================== */

/* Ocultar columnas de precio y cantidad (ahora están en la celda del producto) */
.table.shop_table.cart>thead th.product-price,
table.shop_table.cart>thead th.product-price,
.table.shop_table.cart>thead th.product-quantity,
table.shop_table.cart>thead th.product-quantity {
    display: none;
}

.table.shop_table.cart>tbody>tr>td.product-price,
table.shop_table.cart>tbody>tr>td.product-price,
.table.shop_table.cart>tbody>tr>td.product-quantity,
table.shop_table.cart>tbody>tr>td.product-quantity {
    display: none;
}

/* ========================================
   CART TOTALS - Panel de totales
   ======================================== */

.cart_totals .woocommerce-shipping-destination {
    margin-bottom: 10px;
}

.cart_totals .woocommerce-shipping-destination>strong {
    color: #000;
    font-weight: 700;
}

.cart_totals table.shop_table>tbody {
    border: 1px solid hsla(0, 0%, 89%, 0.25);
    border-top: 0;
}

.cart_totals table.shop_table>tbody>tr td,
.cart_totals table.shop_table>tbody>tr th {
    padding: 15px;
    border: 0;
    border-bottom: 1px solid hsla(0, 0%, 89%, 0.5);
}

.cart_totals table.shop_table>tbody>tr.order-total .woocommerce-Price-amount {
    font-size: 24px;
}

.cart_totals table.shop_table>tbody>tr.shipping ul.woocommerce-shipping-methods {
    margin-bottom: 10px;
}

.cart_totals table.shop_table>tbody>tr.shipping ul li {
    margin-right: 20px;
}

.cart_totals table.shop_table>tbody>tr.shipping ul li input[type='checkbox'],
.cart_totals table.shop_table>tbody>tr.shipping ul li input[type='radio'] {
    margin-top: 0;
}

.cart_totals table.shop_table>tbody>tr.shipping ul li .shipping_method {
    display: none;
}

.cart_totals table.shop_table>tbody>tr.shipping ul li label {
    margin: 0;
    margin-left: 0;
    font-weight: 400;
    margin-bottom: 0;
    position: relative;
    padding-left: 18px;
    cursor: pointer;
}

.cart_totals table.shop_table>tbody>tr.shipping ul li label:before {
    position: absolute;
    left: 0;
    border-radius: 50%;
    top: calc(50% - 6px);
    width: 12px;
    height: 12px;
    border: 1px solid #868686;
    content: '';
}

.cart_totals table.shop_table>tbody>tr.shipping ul li .shipping_method:checked+label:before {
    background: #bd0028;
    border-color: #bd0028;
}

.cart_totals table.shop_table>tbody>tr>td a.shipping-calculator-button {
    color: #000;
    text-transform: uppercase;
    font-weight: 700;
    position: relative;
    display: inline-block;
    padding-bottom: 2px;
    font-size: 13px;
}

.cart_totals table.shop_table>tbody>tr>td a.shipping-calculator-button:before {
    content: '';
    width: 100%;
    height: 2px;
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background: #000;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.cart_totals table.shop_table>tbody>tr>td a.shipping-calculator-button:hover {
    color: #bd0028;
}

.cart_totals table.shop_table>tbody>tr>td a.shipping-calculator-button:hover:before {
    background: #bd0028;
    width: 60%;
}

.cart_totals table.shop_table>tbody>tr>td .shipping-calculator-form {
    margin-top: 30px;
}

.cart_totals table.shop_table>tbody>tr>td .shipping-calculator-form .select2,
.cart_totals table.shop_table>tbody>tr>td .shipping-calculator-form .select2 span {
    height: 40px;
    line-height: 40px;
    border-radius: 0;
}

.cart_totals table.shop_table>tbody>tr>td .shipping-calculator-form .button {
    background: #bd0028;
    color: #fff;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 2px;
    border-radius: 0;
    cursor: pointer;
    padding: 0 20px;
    line-height: 40px;
}

.cart_totals table.shop_table>tbody>tr>td .shipping-calculator-form .button:hover {
    background: #8a001d;
}

.cart_totals table.shop_table>tbody>tr>td .woocommerce-Price-amount,
.cart_totals table.shop_table>tbody>tr>td .woocommerce-shipping-destination strong {
    font-weight: 500;
}

/* Botón de proceder al pago */
.cart_totals .wc-proceed-to-checkout {
    padding: 0 30px;
}

.cart_totals .wc-proceed-to-checkout>a.wc-forward {
    background: #000;
    color: #fff;
    padding: 24px 20px;
    text-transform: uppercase;
    font-size: 12px;
    display: inline-block;
    width: 100%;
    text-align: center;
    font-weight: 600;
}

.cart_totals .wc-proceed-to-checkout>a.wc-forward:hover {
    background: #8a001d;
}

.cart_totals .wc-proceed-to-checkout>a.wc-forward:before {
    display: none;
}

/* ========================================
   RESPONSIVE - Móviles
   ======================================== */

@media (max-width: 991px) {

    .table.shop_table.cart>thead,
    table.shop_table.cart>thead {
        display: none;
    }

    .table.shop_table.cart>tbody,
    table.shop_table.cart>tbody {
        border: 2px solid #e8e8e8;
    }

    .table.shop_table.cart>tbody>tr,
    table.shop_table.cart>tbody>tr {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        border-bottom: 2px solid #e8e8e8;
    }

    .table.shop_table.cart>tbody>tr td,
    table.shop_table.cart>tbody>tr td {
        border: 0;
        padding: 5px 10px;
    }

    .table.shop_table.cart>tbody>tr td.product-quantity,
    table.shop_table.cart>tbody>tr td.product-quantity {
        flex: 1;
    }

    .table.shop_table.cart>tbody>tr td.product-thumbnail,
    table.shop_table.cart>tbody>tr td.product-thumbnail {
        flex: 0 0 100%;
        border-bottom: 1px dashed #e8e8e8;
    }

    .table.shop_table.cart>tbody>tr td.actions,
    table.shop_table.cart>tbody>tr td.actions {
        flex: 0 0 100%;
    }

    .table.shop_table.cart>tbody>tr:last-child,
    table.shop_table.cart>tbody>tr:last-child {
        border-bottom: 0;
    }
}

@media (max-width: 480px) {

    .table.shop_table.cart>tbody>tr>td.product-quantity>.quantity,
    table.shop_table.cart>tbody>tr>td.product-quantity>.quantity {
        min-width: 80px;
    }

    .table.shop_table.cart>tbody>tr>td.product-quantity>.quantity input,
    table.shop_table.cart>tbody>tr>td.product-quantity>.quantity input {
        width: 30px;
    }

    .table.shop_table.cart>tbody>tr>td.product-quantity>.quantity button,
    table.shop_table.cart>tbody>tr>td.product-quantity>.quantity button {
        width: 25px;
    }

    .table.shop_table.cart>tbody>tr,
    table.shop_table.cart>tbody>tr {
        padding-left: 100px;
        position: relative;
    }
}

/* ========================================
   DESGLOSE DE PRESUPUESTO - ESTILO MINIMALISTA
   ======================================== */

/* Título del desglose - tipografía minimalista */
.cart_totals.vwss-quote-view h2 {
    font-size: 22px !important;
    font-weight: 500 !important;
    color: #000 !important;
    margin: 0 0 20px 0 !important;
    padding: 10px 0 0 0 !important;
    padding-left: 0 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    background: transparent !important;
    background-color: transparent !important;
    font-family: inherit !important;
}

/* Contenedor principal - márgenes laterales SIN FONDO */
.cart_totals.vwss-quote-view {
    padding: 0 20px !important;
    background: transparent !important;
    background-color: transparent !important;
}

/* Secciones de proveedor - SIN BORDES, minimalista, SIN FONDO */
.vwss-supplier-section {
    margin-bottom: 20px !important;
    padding: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
}

.vwss-supplier-section h4 {
    margin: 0 0 10px 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #bd0028 !important;
    text-align: left !important;
    text-transform: none !important;
    padding-bottom: 8px !important;
    border-bottom: 1px solid #f0f0f0 !important;
    font-family: inherit !important;
}

/* Tabla de productos dentro de cada proveedor - SIN BORDES */
.vwss-supplier-section table {
    width: 100% !important;
    font-size: 12px !important;
    margin-bottom: 0 !important;
    border: none !important;
    border-collapse: collapse !important;
}

.vwss-supplier-section table tbody tr {
    border: none !important;
    border-bottom: none !important;
}

.vwss-supplier-section table tbody tr td {
    padding: 6px 0 !important;
    border: none !important;
    color: #666 !important;
}

/* Subtotal de proveedor - minimalista, alineado a la derecha sin tocar borde */
.vwss-supplier-section>div[style*="text-align: right"] {
    text-align: right !important;
    padding-top: 10px !important;
    padding-right: 10px !important;
    border-top: 1px solid #e8e8e8 !important;
    margin-top: 5px !important;
}

.vwss-supplier-section>div[style*="text-align: right"] strong {
    font-size: 12px !important;
    font-weight: 400 !important;
    color: #999 !important;
}

.vwss-supplier-section>div[style*="text-align: right"] span {
    margin-left: 5px !important;
    font-weight: 500 !important;
    font-size: 13px !important;
    color: #333 !important;
}

/* Evitar que el símbolo de moneda se separe del número */
.vwss-supplier-section>div[style*="text-align: right"] span,
.vwss-quote-totals strong,
.vwss-quote-totals span {
    white-space: nowrap !important;
}

/* Caja de totales - SIN FONDO BLANCO ni BORDES, minimalista */
.vwss-quote-totals {
    padding: 15px 10px !important;
    background: transparent !important;
    border: none !important;
    border-top: 1px solid #e8e8e8 !important;
    margin-top: 20px !important;
}

.vwss-quote-totals>div {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
    padding-right: 0 !important;
    font-size: 13px !important;
    color: #666 !important;
}

.vwss-quote-totals>div span:first-child {
    color: #999 !important;
    font-weight: 400 !important;
}

.vwss-quote-totals>div span:last-child,
.vwss-quote-totals>div strong {
    text-align: right !important;
    white-space: nowrap !important;
    color: #333 !important;
    font-weight: 500 !important;
}

/* Total estimado - más grande y destacado */
.vwss-quote-totals>div:last-of-type {
    margin-top: 15px !important;
    padding-top: 15px !important;
    border-top: 1px solid #e8e8e8 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
}

.vwss-quote-totals>div:last-of-type span {
    font-weight: 600 !important;
    color: #333 !important;
}

/* Botón descargar PDF - mismo estilo que botones normales, más pequeño */
.vwss-download-pdf,
a.vwss-download-pdf,
a.button.vwss-download-pdf {
    display: inline-block !important;
    background: #333 !important;
    color: white !important;
    padding: 10px 20px !important;
    text-decoration: none !important;
    font-weight: 400 !important;
    font-size: 12px !important;
    border-radius: 3px !important;
    border: none !important;
    transition: background 0.3s ease !important;
    margin-top: 15px !important;
}

.vwss-download-pdf:hover,
a.vwss-download-pdf:hover,
a.button.vwss-download-pdf:hover {
    background: #555 !important;
    color: white !important;
}

/* Botón finalizar compra - NARANJA destacado */
.wc-proceed-to-checkout a.checkout-button,
.wc-proceed-to-checkout .button.checkout-button,
.cart_totals .wc-proceed-to-checkout a,
.cart_totals .wc-proceed-to-checkout .button {
    display: block !important;
    width: 100% !important;
    background: #e67e22 !important;
    color: white !important;
    padding: 15px 20px !important;
    text-align: center !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    border-radius: 3px !important;
    border: none !important;
    transition: background 0.3s ease !important;
    margin-top: 20px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.wc-proceed-to-checkout a.checkout-button:hover,
.wc-proceed-to-checkout .button.checkout-button:hover,
.cart_totals .wc-proceed-to-checkout a:hover,
.cart_totals .wc-proceed-to-checkout .button:hover {
    background: #d35400 !important;
    color: white !important;
}

/* ========================================
   CHECKOUT - SPINNER DE CARGA
   ======================================== */

.vwss-loading-container {
    text-align: center;
    padding: 60px 20px;
    min-height: 300px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.vwss-spinner {
    border: 4px solid #f3f3f3;
    border-top: 4px solid #bd0028;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    animation: vwss-spin 1s linear infinite;
    margin: 0 auto 20px;
}

@keyframes vwss-spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.vwss-loading-text {
    font-size: 14px;
    font-weight: bold;
    color: #bd0028;
    text-transform: uppercase;
    margin: 15px 0 5px 0;
}

.vwss-loading-subtext {
    font-size: 12px;
    color: #666;
    margin: 0;
}

/* Desglose de presupuesto en checkout */
.vwss-checkout-review {
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
}

.vwss-checkout-review .title-product-name {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #000 !important;
    text-align: left !important;
    background: transparent !important;
    padding: 0 0 15px 0 !important;
    margin: 0 0 20px 0 !important;
    border-bottom: 2px solid #bd0028 !important;
}

.vwss-loading-text {
    font-size: 16px;
    font-weight: 700;
    color: #bd0028;
    margin: 15px 0 5px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.vwss-loading-subtext {
    font-size: 13px;
    color: #666;
    margin: 5px 0 0;
}

/* Contenedor del desglose en checkout */
.vwss-checkout-review {
    position: relative;
}

.vwss-quote-locked {
    padding: 15px 0;
}

.vwss-quote-totals {
    background: #f8f9fa;
    border-radius: 4px;
    margin-top: 10px;
}

/* === VQ Checkout Compact Shipping Card === */
.vq-shipping-card,
#page.checkout-page-style-1 .vq-shipping-card {
    background: #fff !important;
    border-radius: 10px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 18px 18px 12px 18px !important;
    margin-bottom: 18px !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
}

.vq-shipping-card .vq-shipping-header,
#page.checkout-page-style-1 .vq-shipping-card .vq-shipping-header {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #222 !important;
    margin-bottom: 6px !important;
}

.vq-shipping-card .vq-shipping-data,
#page.checkout-page-style-1 .vq-shipping-card .vq-shipping-data {
    font-size: 15px !important;
    color: #222 !important;
    margin-bottom: 4px !important;
}

.vq-shipping-card .vq-shipping-edit,
#page.checkout-page-style-1 .vq-shipping-card .vq-shipping-edit {
    font-size: 13px !important;
    color: #bd0028 !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    text-decoration: underline !important;
    margin-left: auto !important;
    margin-bottom: 8px !important;
}

.vq-shipping-card .vq-shipping-form,
#page.checkout-page-style-1 .vq-shipping-card .vq-shipping-form {
    display: none;
    margin-top: 10px !important;
    gap: 8px !important;
}

.vq-shipping-card.vq-editing .vq-shipping-form,
#page.checkout-page-style-1 .vq-shipping-card.vq-editing .vq-shipping-form {
    display: flex !important;
    flex-direction: column !important;
}

.vq-shipping-card .vq-shipping-checkbox,
#page.checkout-page-style-1 .vq-shipping-card .vq-shipping-checkbox {
    margin-top: 10px !important;
    font-size: 14px !important;
    color: #222 !important;
}

/* === Spinner en subpedidos === */
.vq-subpedido-spinner,
#page.checkout-page-style-1 .vq-subpedido-spinner {
    text-align: center !important;
    padding: 18px 0 8px 0 !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
}

.vq-subpedido-spinner .vwss-spinner {
    width: 32px !important;
    height: 32px !important;
    border-width: 3px !important;
    margin-bottom: 8px !important;
}

.vq-subpedido-spinner .vwss-loading-text {
    font-size: 13px !important;
    color: #bd0028 !important;
    font-weight: 600 !important;
    margin: 0 !important;
}

/* ========================================
   CHECKOUT - CUSTOM STYLES
   Estilos para replicar la vista de checkout de producción (Blocks) en desarrollo (Classic)
   ======================================== */

/* === OCULTAR CONTENIDO ESTÁNDAR DE WOOCOMMERCE === */

/* Ocultar barra superior de navegación en checkout (CARRITO/CHECKOUT/ORDER TRACKING) */
.woocommerce-checkout .woocommerce-breadcrumb-custom,
.woocommerce-checkout .cart-checkout-nav,
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.checkout-page-style-1 .breadcrumb,
.checkout-page-style-1 .breadcrumb-checkout,
.woocommerce-checkout .breadcrumb,
.woocommerce-checkout .breadcrumb-checkout,
.page-id-15 .breadcrumb,
ul.breadcrumb,
.woocommerce .breadcrumb,
.woocommerce-breadcrumb,
.bwp-breadcrumb,
body.woocommerce-checkout .breadcrumb-checkout,
body.checkout .breadcrumb,
.woocommerce-page-header,
.woocommerce-checkout .woocommerce-page-header {
    display: none !important;
}

/* Ocultar campo de email en shipping (ya se pide en contacto) */
#shipping_email_field {
    display: none !important;
}

/* Ocultar solo el campo de notas (textarea) sin afectar el contenedor principal */
.woocommerce-additional-fields__field-wrapper {
    display: none !important;
}

/* Ocultar el formulario billing ORIGINAL de WooCommerce (siempre oculto) */
.woocommerce-billing-fields {
    display: none !important;
}

/* Ocultar TODO el contenido de review-order que renderiza WooCommerce */
.woocommerce-checkout-review-order-table:not(.vwss-checkout-review) {
    display: none !important;
}

/* Ocultar tabla de productos, totales y shipping dentro de cualquier review-order */
table.shop_table.woocommerce-checkout-review-order-table tbody,
table.shop_table.woocommerce-checkout-review-order-table tfoot,
table.shop_table.woocommerce-checkout-review-order-table thead,
.shop_table.woocommerce-checkout-review-order-table tbody,
.shop_table.woocommerce-checkout-review-order-table tfoot,
.shop_table.woocommerce-checkout-review-order-table thead {
    display: none !important;
}

/* Ocultar específicamente secciones de WooCommerce que aparecen después del desglose */
.woocommerce-checkout-review-order .cart_item,
.woocommerce-checkout-review-order .cart-subtotal,
.woocommerce-checkout-review-order .order-total,
.woocommerce-checkout-review-order .shipping,
.woocommerce-checkout-review-order .tax-rate,
.woocommerce-checkout-review-order .tax-total,
.woocommerce-checkout-review-order .woocommerce-shipping-totals {
    display: none !important;
}

/* Ocultar payment methods renderizados en la columna DERECHA por WooCommerce */
.woocommerce-checkout-review-order #payment,
#order_review #payment {
    display: none !important;
}

/* Ocultar campos de envío estándar (duplicados) - hasta que se haga clic en Editar */
.woocommerce-shipping-fields h3 {
    display: none !important;
}

/* Ocultar campos de envío por defecto */
.shipping_address>.woocommerce-shipping-fields__field-wrapper {
    display: none !important;
}

/* Mostrar campos cuando está en modo edición */
.shipping_address.is-editing>.woocommerce-shipping-fields__field-wrapper {
    display: block !important;
}

/* Payment methods en la IZQUIERDA (nuestro wrapper custom) - oculto hasta que se cargue el quote */
#vwss-payment-methods-wrapper {
    display: none;
}

/* Mostrar payment methods en la izquierda después de cargar el quote */
.quote-loaded #vwss-payment-methods-wrapper {
    display: block;
}

/* === DIRECCIÓN DE ENVÍO - VISTA COMPACTA === */

.wc-block-components-address-card-wrapper {
    margin-bottom: 20px;
}

.wc-block-components-address-card {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 16px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background-color: #f9f9f9;
    gap: 16px;
}

.wc-block-components-address-card address {
    margin: 0;
    font-style: normal;
    flex: 1;
    line-height: 1.6;
}

.wc-block-components-address-card__address-section--primary {
    display: block;
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 4px;
    color: #333;
}

.wc-block-components-address-card__address-section--secondary {
    display: block;
    font-size: 13px;
    color: #666;
    line-height: 1.5;
}

.wc-block-components-address-card__edit {
    display: inline-block;
    padding: 8px 16px;
    background: transparent;
    border: 1px solid #333;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 500;
    color: #333;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.3s ease;
    white-space: nowrap;
    flex-shrink: 0;
}

.wc-block-components-address-card__edit:hover {
    background-color: #333;
    color: #fff;
}

.wc-block-components-address-form-wrapper {
    display: none;
}

.wc-block-components-address-form-wrapper.is-editing {
    display: block;
    margin-top: 16px;
}

.wc-block-components-address-card-wrapper.is-editing .wc-block-components-address-card {
    display: none;
}

/* === CHECKBOX "USAR MISMA DIRECCIÓN" === */

.wc-block-checkout__use-address-for-billing {
    margin: 20px 0;
}

/* === SECCIÓN DE FACTURACIÓN === */

.billing_address {
    margin-top: 20px;
    display: none;
    /* Oculto por defecto, se muestra con JS cuando se desmarca checkbox */
}

.wc-block-checkout__billing-fields-title {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #333 !important;
    margin: 0 0 20px 0 !important;
}

.billing_address .form-row {
    margin-bottom: 16px;
}

/* === CHECKBOX STYLING === */

.wc-block-components-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
}

.wc-block-components-checkbox label {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    margin: 0;
}

.wc-block-components-checkbox__input {
    width: 18px;
    height: 18px;
    cursor: pointer;
    position: relative;
    appearance: none;
    -webkit-appearance: none;
    border: 2px solid #333;
    border-radius: 3px;
    background: #fff;
    transition: all 0.2s ease;
}

.wc-block-components-checkbox__input:checked {
    background-color: #333;
    border-color: #333;
}

.wc-block-components-checkbox__mark {
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 12px;
    height: 12px;
    fill: #fff;
    pointer-events: none;
}

.wc-block-components-checkbox__input:checked~.wc-block-components-checkbox__mark {
    display: block;
}

.wc-block-components-checkbox__label {
    font-size: 14px;
    color: #333;
    user-select: none;
}

/* === OPCIONES DE ENVÍO === */

.vwss-shipping-options {
    margin: 20px 0;
}

.vwss-shipping-option-group {
    margin-bottom: 24px;
    padding: 16px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background-color: #f9f9f9;
}

.vwss-shipping-option-group h4 {
    margin: 0 0 12px 0;
    font-size: 15px;
    font-weight: 600;
    color: #333;
}

.vwss-shipping-option {
    display: flex;
    align-items: center;
    padding: 10px;
    margin-bottom: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background-color: #fff;
    cursor: pointer;
    transition: all 0.2s ease;
}

.vwss-shipping-option:hover {
    border-color: #999;
}

.vwss-shipping-option.selected {
    border-color: #333;
    background-color: #f5f5f5;
}

.vwss-shipping-option input[type="radio"] {
    margin-right: 12px;
    width: 18px;
    height: 18px;
    cursor: pointer;
}

.vwss-shipping-option-label {
    flex: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}

.vwss-shipping-option-name {
    font-size: 14px;
    color: #333;
}

.vwss-shipping-option-price {
    font-size: 14px;
    font-weight: 600;
    color: #333;
}

.vwss-shipping-loading {
    text-align: center;
    padding: 20px;
}

.vwss-shipping-loading .vwss-spinner {
    width: 30px;
    height: 30px;
    margin: 0 auto 10px;
}

/* === INFORMACIÓN DE CONTACTO (EMAIL) === */

.wc-block-checkout__contact-fields {
    display: block !important;
    visibility: visible !important;
    margin-bottom: 30px;
}

/* Título "Datos para el envío" */
.wc-block-checkout__shipping-fields-title {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #333 !important;
    margin: 0 0 20px 0 !important;
}

.wc-block-components-checkout-step__heading {
    display: block !important;
    margin-bottom: 16px;
}

.wc-block-components-checkout-step__title {
    display: block !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #333 !important;
    margin: 0 !important;
}

.wc-block-components-checkout-step__content {
    display: block !important;
}

#contact-fields {
    display: block !important;
    visibility: visible !important;
}

/* === DIRECCIÓN DE ENVÍO - VISTA COMPACTA === */

.wc-block-components-address-address-wrapper {
    display: block !important;
    visibility: visible !important;
}

/* === SECCIONES COLAPSABLES (FIELDSETS) === */

.wc-block-components-checkout-step {
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid #e0e0e0;
}

.wc-block-components-checkout-step:last-child {
    border-bottom: none;
}

/* Título de opciones de envío */
.wc-block-components-checkout-step legend,
.wc-block-components-checkout-step .wc-block-components-title {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #333 !important;
}

/* === DESGLOSE DEL PRESUPUESTO (DERECHA) === */

/* Eliminar bordes y padding del contenedor del tema padre */
.woocommerce-checkout-review-order .checkout-review-order-table-wrapper,
.checkout-review-order-table-wrapper {
    padding: 0 !important;
    border: none !important;
}

#vwss-checkout-content {
    background-color: #f8f8f8;
    padding: 24px;
    border-radius: 0;
}

.vwss-checkout-review .title-product-name {
    font-size: 18px;
    font-weight: 700;
    text-align: left;
    margin-bottom: 8px;
    padding-bottom: 12px;
    color: #222;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    border-bottom: 3px solid #bd0028;
}

.vwss-subpedido {
    margin-bottom: 28px;
    padding: 0;
    background: transparent;
}

.vwss-subpedido-title {
    font-size: 14px;
    font-weight: 700;
    color: #bd0028;
    margin: 20px 0 12px 0;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.vwss-product-list {
    margin-bottom: 12px;
}

.vwss-product-row {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    gap: 12px;
    padding: 6px 0;
    font-size: 13px;
    color: #555;
    align-items: center;
}

.vwss-product-qty {
    color: #555;
    min-width: 30px;
    text-align: left;
}

.vwss-product-name {
    color: #333;
    text-align: left;
}

.vwss-product-price {
    color: #777;
    white-space: nowrap;
    text-align: right;
    font-size: 12px;
}

.vwss-product-total {
    font-weight: 600;
    color: #222;
    white-space: nowrap;
    text-align: right;
    min-width: 70px;
}

.vwss-subpedido-subtotal {
    display: flex;
    justify-content: space-between;
    padding: 10px 0 0 0;
    margin-top: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #222;
}

/* Separador entre secciones */
.vwss-subpedido+.vwss-subpedido {
    padding-top: 8px;
}

.vwss-totals {
    margin-top: 20px;
    padding-top: 16px;
    border-top: 2px solid #000;
}

.vwss-total-row {
    display: flex;
    justify-content: space-between;
    padding: 6px 0;
    font-size: 13px;
    color: #555;
}

.vwss-total-row span:first-child {
    font-weight: 400;
}

.vwss-total-row span:last-child {
    font-weight: 600;
    color: #222;
}

.vwss-total-row.subtotal {
    font-size: 14px;
    font-weight: 600;
    color: #222;
    padding-bottom: 8px;
}

.vwss-total-row.subtotal span {
    font-weight: 600;
}

.vwss-total-row.re,
.vwss-total-row.iva {
    font-size: 13px;
    color: #666;
}

.vwss-total-row.shipping-detail {
    font-size: 13px;
    color: #666;
}

.vwss-total-row.shipping-total {
    font-size: 13px;
    color: #666;
    padding-bottom: 8px;
}

.vwss-total-row.final {
    margin-top: 8px;
    padding: 12px 0 0 0;
    border-top: 2px solid #000;
    font-size: 16px;
    font-weight: 700;
    color: #000;
}

.vwss-total-row.final span {
    font-weight: 700;
}

.vwss-loading-container {
    text-align: center;
    padding: 40px 20px;
    background-color: #f8f8f8;
    border-radius: 8px;
}

/* === RESPONSIVE === */

@media (max-width: 768px) {
    .wc-block-components-address-card {
        flex-direction: column;
        gap: 12px;
    }

    .wc-block-components-address-card__edit {
        align-self: flex-start;
    }

    .vwss-product-row {
        flex-wrap: wrap;
        gap: 4px;
    }

    .vwss-product-name {
        flex-basis: 100%;
    }
}

/* === FUENTE MONTSERRAT (OVERRIDE) === */

/* Hide category grid on shop page */
.content-categories-top {
    display: none !important;
}

.woocommerce-checkout,
.wc-block-components-checkout-step,
.wc-block-components-address-card,
.vwss-checkout-review,
.wc-block-components-checkbox__label {
    font-family: 'Montserrat', sans-serif !important;
}

/* =====================================================================
   PRODUCT LOOP - Solo mostrar botón de carrito en el overlay
   Al desinstalar WooSW el add-to-cart WC nativo (prio 10) aparece junto
   al de vapier (prio 15) causando duplicado. Ocultamos el segundo.
   ===================================================================== */
.product-wapper .product-button .woosw-wishlist,
.product-wapper .product-button .wooscp-compare,
.product-wapper .product-button .woosw-btn,
.product-wapper .product-button .product-quickview {
    display: none !important;
}

/* Red de seguridad: si hay dos div[data-title] consecutivos (2 botones de carrito),
   ocultar el segundo */
.product-wapper .product-button>div[data-title]+div[data-title] {
    display: none !important;
}