
/* ==========================================================================
   BLOQUEO UNIVERSAL TOTAL DE DESPLAZAMIENTO HORIZONTAL (ZERO HORIZONTAL SCROLL)
   ========================================================================== */
html {
    overflow-x: clip !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
body {
    overflow-x: clip !important;
    overflow-y: visible !important;
    max-width: 100% !important;
    width: 100% !important;
    position: relative !important;
    box-sizing: border-box !important;
}

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

.site-main,
.elementor,
.elementor-location-header,
.elementor-location-footer,
.elementor-section-wrap,
.lv-ty-page-wrapper,
.lv-cart-page-wrapper {
    max-width: 100% !important;
    width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
}

/* ==========================================================================
   LA VETA - WOOCOMMERCE DISEÑO Y EXPERIENCIA DE COMPRA
   ========================================================================== */

/* --------------------------------------------------------------------------
   0. BLOQUEO TOTAL DE SALTOS (ZERO LAYOUT SHIFT) EN VARIACIONES
   -------------------------------------------------------------------------- */
.single_variation_wrap {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
}

.woocommerce-variation.single_variation,
.single_variation,
.woocommerce-variation-price,
.woocommerce-variation-availability,
.woocommerce-variation-description {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    overflow: hidden !important;
    opacity: 0 !important;
    position: absolute !important;
    pointer-events: none !important;
}

table.variations .reset_variations,
.reset_variations {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    position: absolute !important;
    pointer-events: none !important;
}

/* --------------------------------------------------------------------------
   1. SELECTOR DE VARIACIONES Y CONVOCATORIAS (FORM LABEL + CHEVRON SVG)
   -------------------------------------------------------------------------- */
form.variations_form {
    width: 100% !important;
    display: block !important;
}

table.variations {
    display: block !important;
    width: 100% !important;
    border: none !important;
    margin: 0 0 16px 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

table.variations tbody,
table.variations tr,
table.variations th,
table.variations td {
    display: block !important;
    width: 100% !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

table.variations th.label,
.la-veta-selector-label-wrap {
    display: block !important;
    padding: 0 0 6px 0 !important;
    margin: 0 !important;
    background: transparent !important;
    text-align: left !important;
}

table.variations th.label label,
.la-veta-selector-label-wrap label.la-veta-selector-label {
    display: block !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    font-family: var(--e-global-typography-a401432b-font-family, 'Montserrat'), sans-serif !important;
    font-size: var(--e-global-typography-a401432b-font-size, 12px) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: var(--e-global-color-primary, #01376d) !important;
    line-height: 1.3 !important;
    border: none !important;
    box-shadow: none !important;
}

table.variations td.value,
.la-veta-select-styled-container {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

table.variations td.value select,
.la-veta-select-styled-container select.la-veta-select {
    display: block !important;
    width: 100% !important;
    height: 48px !important;
    border-radius: 10px !important;
    border: 1.5px solid var(--e-global-color-912da8ca, #cbd5e1) !important;
    padding: 0 40px 0 14px !important;
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: var(--e-global-color-primary, #01376d) !important;
    background-color: #ffffff !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2301376d' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-size: 16px !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    outline: none !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    transition: border-color 0.15s ease !important;
    cursor: pointer !important;
}

table.variations td.value select:focus,
.la-veta-select-styled-container select.la-veta-select:focus {
    border-color: var(--e-global-color-primary, #01376d) !important;
}

/* --------------------------------------------------------------------------
   2. FILA DE COMPRA (ALINEACIÓN Y SELECTOR DE UNIDADES)
   -------------------------------------------------------------------------- */
.woocommerce-variation-add-to-cart,
form.cart:not(.variations_form) {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    margin-top: 14px !important;
    flex-wrap: wrap !important;
}

.woocommerce-variation-add-to-cart .quantity,
form.cart:not(.variations_form) .quantity {
    flex: 0 0 auto !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
}

.woocommerce-variation-add-to-cart .quantity input.qty,
form.cart:not(.variations_form) .quantity input.qty {
    height: 48px !important;
    width: 64px !important;
    border-radius: 10px !important;
    border: 1.5px solid var(--e-global-color-912da8ca, #cbd5e1) !important;
    text-align: center !important;
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    color: var(--e-global-color-primary, #01376d) !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    outline: none !important;
}

/* Anular pseudo-elementos de carga residuales en botones */
.single_add_to_cart_button::after,
.single_add_to_cart_button::before,
button.loading::after,
button.loading::before,
.button.loading::after,
.button.loading::before {
    display: none !important;
    content: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    animation: none !important;
}

/* --------------------------------------------------------------------------
   3. TARJETA REGALO (YITH GIFT THIS PRODUCT)
   -------------------------------------------------------------------------- */
#gift-this-product,
.gift-this-product-main-container,
.ywgc-gift-this-product-container {
    display: block !important;
    width: 100% !important;
    clear: both !important;
    margin-top: 18px !important;
    margin-bottom: 0 !important;
    padding: 14px 16px !important;
    border-radius: 12px !important;
    background: var(--e-global-color-secondary, #00bfff) !important;
    border: 1px solid var(--e-global-color-secondary, #00bfff) !important;
    box-sizing: border-box !important;
    float: none !important;
    cursor: pointer !important;
}

.gift-this-product-description-container {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.gift-this-product-title-message {
    display: block !important;
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--e-global-color-462f2d23, #ffffff) !important;
    line-height: 1.45 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.gift-this-product-title-message br:last-of-type {
    display: none !important;
}

#give-as-present,
.give-as-present,
.give-as-present-button {
    display: inline-flex !important;
    align-self: flex-start !important;
    text-align: left !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    font-family: var(--e-global-typography-a5ce33eb-font-family, 'Montserrat'), sans-serif !important;
    font-size: var(--e-global-typography-a5ce33eb-font-size, 18px) !important;
    font-weight: 700 !important;
    line-height: var(--e-global-typography-a5ce33eb-line-height, 1.2) !important;
    letter-spacing: var(--e-global-typography-a5ce33eb-letter-spacing, normal) !important;
    color: var(--e-global-color-462f2d23, #ffffff) !important;
    text-decoration: underline !important;
    cursor: pointer !important;
    outline: none !important;
    box-shadow: none !important;
    transition: opacity 0.15s ease, color 0.15s ease !important;
}

#give-as-present:hover,
.give-as-present:hover,
.give-as-present-button:hover {
    color: var(--e-global-color-462f2d23, #ffffff) !important;
    opacity: 0.85 !important;
    text-decoration: underline !important;
}

#give-as-present:disabled,
.give-as-present:disabled,
.give-as-present-button:disabled {
    pointer-events: none !important;
}

/* --------------------------------------------------------------------------
   4. PÁGINA DE CARRITO A MEDIDA (100% FLEXBOX CON CLAMP GLOBAL DE ELEMENTOR)
   -------------------------------------------------------------------------- */
.lv-cart-page-wrapper {
    background-color: var(--e-global-color-462f2d23, #ffffff) !important;
    padding: clamp(48px, 6vw, 96px) clamp(32px, 6vw, 96px) !important;
    width: 100% !important;
    box-sizing: border-box !important;
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    overflow-x: clip !important;
}

.lv-cart-container {
    max-width: 1220px !important;
    margin: 0 auto !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.lv-cart-header {
    margin-bottom: 36px !important;
}

.lv-cart-title {
    font-family: var(--e-global-typography-primary-font-family, 'Bricolage Grotesque'), sans-serif !important;
    font-size: 38px !important;
    font-weight: 800 !important;
    color: var(--e-global-color-primary, #01376d) !important;
    margin: 0 0 6px 0 !important;
    letter-spacing: -0.5px !important;
    line-height: 1.15 !important;
}

.lv-cart-subtitle {
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 15px !important;
    color: #64748b !important;
    margin: 0 !important;
    font-weight: 400 !important;
}

/* Flexbox Principal 2 Columnas */
.lv-cart-main-grid {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 60px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: opacity 0.2s ease !important;
}

.lv-cart-left-col {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
}

.lv-cart-right-col {
    flex: 0 0 390px !important;
    width: 390px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Cabecera de Tabla Flexbox */
.lv-cart-table-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--e-global-color-912da8ca, #e2e8f0) !important;
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    color: #94a3b8 !important;
    margin-bottom: 8px !important;
    gap: 20px !important;
}

.lv-th-product {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.lv-th-quantity {
    width: 140px !important;
    text-align: right !important;
    flex-shrink: 0 !important;
}

.lv-th-subtotal {
    width: 110px !important;
    text-align: right !important;
    flex-shrink: 0 !important;
}

.lv-cart-items-list {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
}

/* Fila de Producto Flexbox */
.lv-cart-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 24px 0 !important;
    border-bottom: 1px solid var(--e-global-color-912da8ca, #e2e8f0) !important;
    gap: 20px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    background: transparent !important;
    transition: background 0.15s ease !important;
}

.lv-row-product {
    display: flex !important;
    align-items: flex-start !important;
    gap: 18px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.lv-product-thumb-box {
    width: 92px !important;
    height: 92px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    background: var(--e-global-color-1df42862, #f8fafc) !important;
    border: 1px solid var(--e-global-color-912da8ca, #e2e8f0) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.lv-product-thumb-box img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.lv-product-details {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.lv-product-title,
.lv-product-title a {
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 15.5px !important;
    font-weight: 700 !important;
    color: var(--e-global-color-primary, #01376d) !important;
    text-decoration: none !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    word-break: break-word !important;
}

.lv-product-title a:hover {
    color: var(--e-global-color-secondary, #00bfff) !important;
}

.lv-product-meta-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    margin-top: 2px !important;
}

.lv-meta-item {
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 12.5px !important;
    color: #64748b !important;
    line-height: 1.4 !important;
}

.lv-meta-label {
    font-weight: 600 !important;
    color: #475569 !important;
}

.lv-product-remove {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #94a3b8 !important;
    padding: 4px 0 !important;
    margin-top: 4px !important;
    text-decoration: none !important;
    outline: none !important;
    box-shadow: none !important;
    transition: color 0.15s ease !important;
}

.lv-product-remove:hover {
    color: #ef4444 !important;
}

.lv-row-quantity {
    width: 140px !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    flex-shrink: 0 !important;
}

.lv-qty-pill {
    display: inline-flex !important;
    align-items: center !important;
    border: 1.5px solid var(--e-global-color-912da8ca, #cbd5e1) !important;
    border-radius: 9px !important;
    height: 38px !important;
    background: #ffffff !important;
    overflow: hidden !important;
}

.lv-qty-btn {
    background: transparent !important;
    border: none !important;
    width: 32px !important;
    height: 38px !important;
    cursor: pointer !important;
    color: var(--e-global-color-primary, #01376d) !important;
    font-size: 16px !important;
    font-weight: bold !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.15s !important;
    padding: 0 !important;
    outline: none !important;
    box-shadow: none !important;
}

.lv-qty-btn:hover {
    background: var(--e-global-color-1df42862, #f1f5f9) !important;
}

.lv-qty-val {
    width: 34px !important;
    text-align: center !important;
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: var(--e-global-color-primary, #01376d) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.lv-row-subtotal {
    width: 110px !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--e-global-color-primary, #01376d) !important;
    text-align: right !important;
    line-height: 1.3 !important;
    flex-shrink: 0 !important;
}

.lv-continue-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-top: 24px !important;
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: var(--e-global-color-primary, #01376d) !important;
    text-decoration: none !important;
    transition: color 0.15s ease !important;
}

.lv-continue-link:hover {
    color: var(--e-global-color-secondary, #00bfff) !important;
    text-decoration: underline !important;
}

/* Columna Derecha: Tarjeta de Resumen */
.lv-summary-card {
    background: var(--e-global-color-1df42862, #f8fafc) !important;
    border: 1px solid var(--e-global-color-912da8ca, #e2e8f0) !important;
    border-radius: 20px !important;
    padding: 32px 28px !important;
    box-sizing: border-box !important;
}

.lv-summary-title {
    font-family: var(--e-global-typography-primary-font-family, 'Bricolage Grotesque'), sans-serif !important;
    font-size: 21px !important;
    font-weight: 800 !important;
    color: var(--e-global-color-primary, #01376d) !important;
    margin: 0 0 24px 0 !important;
    line-height: 1.2 !important;
}

.lv-summary-rows {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    margin-bottom: 24px !important;
}

.lv-summary-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 14.5px !important;
    color: #475569 !important;
}

.lv-sum-label {
    color: #64748b !important;
}

.lv-sum-value {
    font-weight: 700 !important;
    color: var(--e-global-color-primary, #01376d) !important;
}

.lv-summary-total-row {
    border-top: 1.5px solid var(--e-global-color-912da8ca, #cbd5e1) !important;
    padding-top: 20px !important;
    margin-top: 4px !important;
    margin-bottom: 24px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
}

.lv-total-label {
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--e-global-color-primary, #01376d) !important;
}

.lv-total-value {
    font-family: var(--e-global-typography-primary-font-family, 'Bricolage Grotesque'), sans-serif !important;
    font-size: 32px !important;
    font-weight: 800 !important;
    color: var(--e-global-color-primary, #01376d) !important;
}

.lv-coupon-section {
    margin-bottom: 24px !important;
}

.lv-coupon-label {
    display: block !important;
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: #64748b !important;
    margin-bottom: 8px !important;
}

.lv-coupon-form {
    display: flex !important;
    gap: 8px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.lv-coupon-form input[type="text"] {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 42px !important;
    border-radius: 8px !important;
    border: 1.5px solid var(--e-global-color-912da8ca, #cbd5e1) !important;
    padding: 0 12px !important;
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 13px !important;
    color: #0f172a !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    outline: none !important;
}

.lv-coupon-form input[type="text"]:focus {
    border-color: var(--e-global-color-primary, #01376d) !important;
}

.lv-coupon-btn {
    flex: 0 0 auto !important;
    height: 42px !important;
    padding: 0 16px !important;
    border-radius: 8px !important;
    background: var(--e-global-color-primary, #01376d) !important;
    color: #ffffff !important;
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    border: none !important;
    cursor: pointer !important;
    transition: background 0.15s ease !important;
    white-space: nowrap !important;
}

.lv-coupon-btn:hover {
    background: var(--e-global-color-accent, #ffd100) !important;
    color: var(--e-global-color-primary, #01376d) !important;
}

/* Botón Proceder al Pago Seguro */
.lv-checkout-btn,
a.lv-checkout-btn,
.lv-summary-card a.elementor-button.lv-checkout-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 52px !important;
    background-color: var(--e-global-color-primary, #01376d) !important;
    color: var(--e-global-color-462f2d23, #ffffff) !important;
    font-family: var(--e-global-typography-a5ce33eb-font-family, 'Montserrat'), sans-serif !important;
    font-size: var(--e-global-typography-a5ce33eb-font-size, 16px) !important;
    font-weight: var(--e-global-typography-a5ce33eb-font-weight, 500) !important;
    line-height: var(--e-global-typography-a5ce33eb-line-height, 1.2) !important;
    letter-spacing: var(--e-global-typography-a5ce33eb-letter-spacing, 0px) !important;
    border-radius: 12px !important;
    text-decoration: none !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-sizing: border-box !important;
    margin-bottom: 20px !important;
    padding: 0 20px !important;
    box-shadow: none !important;
}

.lv-checkout-btn:hover,
a.lv-checkout-btn:hover,
.lv-summary-card a.elementor-button.lv-checkout-btn:hover {
    background-color: var(--e-global-color-accent, #ffd100) !important;
    color: var(--e-global-color-primary, #01376d) !important;
    text-decoration: none !important;
}

.lv-checkout-btn .elementor-button-content-wrapper,
.elementor-button.lv-checkout-btn .elementor-button-content-wrapper {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
}

.lv-checkout-btn .elementor-button-icon,
.elementor-button.lv-checkout-btn .elementor-button-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    position: relative !important;
    top: 2px !important;
}

.lv-checkout-btn .elementor-button-icon svg,
.elementor-button.lv-checkout-btn .elementor-button-icon svg {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    transition: transform 0.2s ease !important;
}

.lv-checkout-btn:hover .elementor-button-icon svg,
.elementor-button.lv-checkout-btn:hover .elementor-button-icon svg {
    transform: translateX(3px) !important;
}

.lv-guarantee-card {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding-top: 16px !important;
    margin-top: 6px !important;
    border-top: none !important;
}

.lv-guarantee-icon svg {
    color: var(--e-global-color-primary, #01376d) !important;
}

.lv-guarantee-title {
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: var(--e-global-color-primary, #01376d) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    margin-bottom: 4px !important;
}

.lv-guarantee-desc {
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 11.5px !important;
    color: #64748b !important;
    line-height: 1.4 !important;
}

/* --------------------------------------------------------------------------
   5. ESTADO DE CARRITO VACÍO (EMPTY STATE)
   -------------------------------------------------------------------------- */
.lv-cart-empty-state {
    text-align: center !important;
    padding: 60px 24px 80px 24px !important;
    max-width: 600px !important;
    margin: 0 auto !important;
    background: transparent !important;
}

.lv-empty-icon-wrap {
    width: 84px !important;
    height: 84px !important;
    border-radius: 50% !important;
    background-color: var(--e-global-color-1df42862, #f8fafc) !important;
    border: 1.5px solid var(--e-global-color-912da8ca, #e2e8f0) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 24px !important;
    color: var(--e-global-color-primary, #01376d) !important;
}

.lv-empty-icon-wrap svg {
    color: var(--e-global-color-primary, #01376d) !important;
    width: 40px !important;
    height: 40px !important;
}

.lv-empty-title {
    font-family: var(--e-global-typography-primary-font-family, 'Bricolage Grotesque'), sans-serif !important;
    font-size: 26px !important;
    font-weight: 800 !important;
    color: var(--e-global-color-primary, #01376d) !important;
    margin: 0 0 12px 0 !important;
    line-height: 1.25 !important;
}

.lv-empty-text {
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 15px !important;
    color: #64748b !important;
    margin: 0 0 32px 0 !important;
    line-height: 1.55 !important;
}

.lv-btn-primary.lv-btn-pill,
a.lv-btn-primary.lv-btn-pill,
.lv-cart-empty-state a.elementor-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 48px !important;
    padding: 0 32px !important;
    border-radius: 9999px !important;
    background-color: var(--e-global-color-primary, #01376d) !important;
    color: var(--e-global-color-462f2d23, #ffffff) !important;
    font-family: var(--e-global-typography-a5ce33eb-font-family, 'Montserrat'), sans-serif !important;
    font-size: var(--e-global-typography-a5ce33eb-font-size, 16px) !important;
    font-weight: var(--e-global-typography-a5ce33eb-font-weight, 500) !important;
    line-height: var(--e-global-typography-a5ce33eb-line-height, 1.2) !important;
    letter-spacing: var(--e-global-typography-a5ce33eb-letter-spacing, 0px) !important;
    text-decoration: none !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

.lv-btn-primary.lv-btn-pill:hover,
a.lv-btn-primary.lv-btn-pill:hover,
.lv-cart-empty-state a.elementor-button:hover {
    background-color: var(--e-global-color-accent, #ffd100) !important;
    color: var(--e-global-color-primary, #01376d) !important;
    text-decoration: none !important;
}

/* --------------------------------------------------------------------------
   6. PÁGINA DE GRACIAS (THANK YOU PAGE)
   -------------------------------------------------------------------------- */
.lv-ty-shipping-box {
    display: flex !important;
    gap: 12px !important;
    background: var(--e-global-color-1df42862, #f8fafc) !important;
    border: 1px solid var(--e-global-color-912da8ca, #e2e8f0) !important;
    border-radius: 14px !important;
    padding: 14px 16px !important;
    margin-bottom: 20px !important;
    box-sizing: border-box !important;
}

.lv-ship-icon {
    color: var(--e-global-color-primary, #01376d) !important;
    flex-shrink: 0 !important;
    margin-top: 2px !important;
}

.lv-ship-content strong {
    display: block !important;
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: #64748b !important;
    margin-bottom: 4px !important;
}

.lv-ship-addr {
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 13px !important;
    color: var(--e-global-color-primary, #01376d) !important;
    font-style: normal !important;
    line-height: 1.4 !important;
}

/* --------------------------------------------------------------------------
   7. MINI-CARRITO DE ELEMENTOR (Z-INDEX Y SIN BLOQUEOS)
   -------------------------------------------------------------------------- */
.elementor-menu-cart__container.elementor-lightbox {
    z-index: 999999 !important;
    pointer-events: auto !important;
}

.elementor-menu-cart__main {
    z-index: 1000000 !important;
}

/* Tipografía refinada: eliminar negrita pesada (900/700) en el bloque de precio/subtotal */
.elementor-menu-cart__subtotal strong {
    font-weight: 400 !important;
}

.elementor-menu-cart__subtotal .woocommerce-Price-amount,
.elementor-menu-cart__subtotal .woocommerce-Price-amount bdi {
    font-weight: 400 !important;
}

/* --------------------------------------------------------------------------
   8. REGLAS MAESTRAS DE VISIBILIDAD Y BLINDAJE ANTI-OVERFLOW
   -------------------------------------------------------------------------- */
.lv-cart-hidden,
.lv-cart-main-grid.lv-cart-hidden,
#lv-cart-grid-view.lv-cart-hidden,
.lv-cart-empty-state.lv-cart-hidden,
#lv-cart-empty-view.lv-cart-hidden {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
}

.lv-cart-page-wrapper,
.lv-cart-container,
.lv-cart-main-grid,
.lv-cart-left-col,
.lv-cart-right-col,
.lv-cart-items-list,
.lv-cart-row,
.lv-row-product,
.lv-product-details,
.lv-summary-card,
.lv-coupon-section,
.lv-coupon-form {
    box-sizing: border-box !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

.lv-product-details {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
}

.lv-product-title,
.lv-product-title a {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
}

/* ==========================================================================
   SISTEMA RESPONSIVO (TABLET Y MÓVIL)
   ========================================================================== */

/* --- TABLET (max-width: 1024px) --- */
@media (max-width: 1024px) {
    .lv-cart-page-wrapper {
        padding: clamp(36px, 5vw, 60px) clamp(20px, 4vw, 40px) !important;
    }

    .lv-cart-title {
        font-size: 32px !important;
    }

    .lv-cart-main-grid {
        flex-direction: column !important;
        gap: 40px !important;
    }

    .lv-cart-right-col {
        width: 100% !important;
        flex: 1 1 auto !important;
    }

    .lv-summary-card {
        padding: 28px 24px !important;
    }
}

/* --- MÓVIL (< 767px) --- */
@media (max-width: 767px) {
    html, body {
        overflow-x: clip !important;
        max-width: 100vw !important;
    }

    .lv-cart-page-wrapper {
        padding: 24px 16px 48px 16px !important;
    }

    .lv-cart-header {
        margin-bottom: 24px !important;
        text-align: left !important;
    }

    .lv-cart-title {
        font-size: 26px !important;
        line-height: 1.2 !important;
    }

    .lv-cart-subtitle {
        font-size: 13.5px !important;
    }

    .lv-cart-main-grid {
        flex-direction: column !important;
        gap: 32px !important;
    }

    .lv-cart-table-head {
        display: none !important;
    }

    .lv-cart-row {
        display: flex !important;
        flex-wrap: wrap !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 14px !important;
        padding: 18px 0 !important;
        border-bottom: 1px solid var(--e-global-color-912da8ca, #e2e8f0) !important;
    }

    .lv-row-product {
        flex: 0 0 100% !important;
        width: 100% !important;
        display: flex !important;
        align-items: flex-start !important;
        gap: 14px !important;
    }

    .lv-product-thumb-box {
        width: 76px !important;
        height: 76px !important;
        border-radius: 10px !important;
        flex-shrink: 0 !important;
    }

    .lv-product-title,
    .lv-product-title a {
        font-size: 14.5px !important;
        line-height: 1.3 !important;
    }

    .lv-meta-item {
        font-size: 12px !important;
    }

    .lv-product-remove {
        font-size: 11.5px !important;
        padding: 2px 0 !important;
        margin-top: 2px !important;
    }

    .lv-row-quantity {
        width: auto !important;
        flex: 0 0 auto !important;
        justify-content: flex-start !important;
    }

    .lv-qty-pill {
        height: 36px !important;
        border-radius: 8px !important;
    }

    .lv-qty-btn {
        width: 30px !important;
        height: 36px !important;
        font-size: 15px !important;
    }

    .lv-qty-val {
        width: 30px !important;
        font-size: 13px !important;
    }

    .lv-row-subtotal {
        width: auto !important;
        flex: 0 0 auto !important;
        justify-content: flex-end !important;
        font-size: 16px !important;
    }

    .lv-continue-link {
        margin-top: 16px !important;
        font-size: 13px !important;
    }

    .lv-summary-card {
        padding: 24px 18px !important;
        border-radius: 16px !important;
    }

    .lv-summary-title {
        font-size: 19px !important;
        margin-bottom: 18px !important;
    }

    .lv-summary-rows {
        gap: 12px !important;
        margin-bottom: 18px !important;
    }

    .lv-summary-row {
        font-size: 13.5px !important;
    }

    .lv-summary-total-row {
        padding-top: 16px !important;
        margin-bottom: 18px !important;
    }

    .lv-total-label {
        font-size: 15px !important;
    }

    .lv-total-value {
        font-size: 26px !important;
    }

    .lv-coupon-section {
        margin-bottom: 20px !important;
    }

    .lv-coupon-form input[type="text"] {
        height: 40px !important;
        font-size: 12.5px !important;
    }

    .lv-coupon-btn {
        height: 40px !important;
        padding: 0 14px !important;
        font-size: 12.5px !important;
    }

    .lv-checkout-btn {
        height: 48px !important;
        font-size: 14.5px !important;
        border-radius: 10px !important;
        margin-bottom: 16px !important;
    }

    .lv-cart-empty-state {
        padding: 36px 12px 48px 12px !important;
    }

    .lv-empty-icon-wrap {
        width: 72px !important;
        height: 72px !important;
        margin-bottom: 18px !important;
    }

    .lv-empty-icon-wrap svg {
        width: 34px !important;
        height: 34px !important;
    }

    .lv-empty-title {
        font-size: 22px !important;
    }

    .lv-empty-text {
        font-size: 14px !important;
        margin-bottom: 24px !important;
    }
}

/* ==========================================================================
   PÁGINA DE GRACIAS (THANK YOU PAGE — 100% PURE FLEXBOX)
   ========================================================================== */

.lv-ty-page-wrapper {
    background-color: var(--e-global-color-462f2d23, #ffffff) !important;
    padding: clamp(48px, 6vw, 96px) clamp(32px, 6vw, 96px) !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: clip !important;
}

.lv-ty-container {
    max-width: 1220px !important;
    margin: 0 auto !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* 1. Hero */
.lv-ty-hero {
    text-align: center !important;
    max-width: 880px !important;
    margin: 0 auto 36px auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

.lv-ty-badge-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: #ecfdf5 !important;
    border: 1.5px solid #a7f3d0 !important;
    color: #059669 !important;
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    border-radius: 9999px !important;
    padding: 6px 16px !important;
    margin-bottom: 16px !important;
}

.lv-ty-title {
    font-family: var(--e-global-typography-primary-font-family, 'Bricolage Grotesque'), sans-serif !important;
    font-size: 38px !important;
    font-weight: 800 !important;
    color: var(--e-global-color-primary, #01376d) !important;
    margin: 0 0 10px 0 !important;
    letter-spacing: -0.5px !important;
    line-height: 1.15 !important;
}

.lv-ty-subtitle {
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 15px !important;
    color: #64748b !important;
    margin: 0 !important;
    line-height: 1.6 !important;
}

.lv-ty-subtitle strong {
    color: var(--e-global-color-primary, #01376d) !important;
}

/* 2. Quick Bar (100% Flexbox) */
.lv-ty-quick-bar {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    margin-bottom: 36px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.lv-ty-stat-card {
    flex: 1 1 calc(25% - 12px) !important;
    min-width: 0 !important;
    background: var(--e-global-color-1df42862, #f8fafc) !important;
    border: 1.5px solid var(--e-global-color-912da8ca, #e2e8f0) !important;
    border-radius: 16px !important;
    padding: 16px 18px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    box-sizing: border-box !important;
}

.lv-stat-label {
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    color: #64748b !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
}

.lv-stat-val {
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    color: var(--e-global-color-primary, #01376d) !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
}

.lv-stat-total .lv-stat-val {
    color: var(--e-global-color-primary, #01376d) !important;
    font-size: 18px !important;
}

/* 3. Main Flexbox Container */
.lv-ty-main-grid {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 48px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.lv-ty-col-left,
.lv-ty-left-col {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    box-sizing: border-box !important;
}

.lv-ty-col-right,
.lv-ty-right-col {
    flex: 0 0 390px !important;
    width: 390px !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    box-sizing: border-box !important;
}

.lv-ty-card {
    background: var(--e-global-color-462f2d23, #ffffff) !important;
    border: 1.5px solid var(--e-global-color-912da8ca, #e2e8f0) !important;
    border-radius: 24px !important;
    padding: 28px 24px !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

.lv-card-head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    border-bottom: 1.5px solid var(--e-global-color-912da8ca, #e2e8f0) !important;
    padding-bottom: 16px !important;
    margin-bottom: 20px !important;
}

.lv-card-title {
    font-family: var(--e-global-typography-primary-font-family, 'Bricolage Grotesque'), sans-serif !important;
    font-size: 21px !important;
    font-weight: 800 !important;
    color: var(--e-global-color-primary, #01376d) !important;
    margin: 0 !important;
}

.lv-order-tag {
    background: var(--e-global-color-1df42862, #f1f5f9) !important;
    border: 1px solid var(--e-global-color-912da8ca, #e2e8f0) !important;
    color: var(--e-global-color-primary, #01376d) !important;
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    border-radius: 6px !important;
    padding: 3px 8px !important;
}

/* Items List */
.lv-ty-items-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    margin-bottom: 20px !important;
    width: 100% !important;
}

.lv-ty-item-row {
    display: flex !important;
    gap: 16px !important;
    align-items: flex-start !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid var(--e-global-color-1df42862, #f1f5f9) !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.lv-ty-item-row:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

.lv-ty-item-thumb {
    width: 68px !important;
    height: 68px !important;
    border-radius: 12px !important;
    background: #f8fafc !important;
    border: 1px solid var(--e-global-color-912da8ca, #e2e8f0) !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    padding: 3px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

.lv-ty-item-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    display: block !important;
}

.lv-ty-item-info {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
}

.lv-ty-item-name {
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--e-global-color-primary, #01376d) !important;
    margin: 0 !important;
    line-height: 1.3 !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
}

.lv-ty-item-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px 6px !important;
    margin: 2px 0 !important;
}

.lv-ty-meta-chip {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 11.5px !important;
    color: #64748b !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 6px !important;
    padding: 2px 8px !important;
}

.lv-ty-meta-chip strong {
    color: var(--e-global-color-primary, #01376d) !important;
}

.lv-ty-item-qty-price {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-top: 4px !important;
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: var(--e-global-color-primary, #01376d) !important;
}

.lv-ty-qty {
    color: #64748b !important;
    font-weight: 500 !important;
}

/* Totals Box */
.lv-ty-totals-box {
    background: var(--e-global-color-1df42862, #f8fafc) !important;
    border-radius: 14px !important;
    padding: 16px 18px !important;
    margin-bottom: 24px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.lv-ty-total-line {
    display: flex !important;
    justify-content: space-between !important;
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 14px !important;
    color: #64748b !important;
    margin-bottom: 8px !important;
}

.lv-discount-line {
    color: #059669 !important;
}

.lv-ty-divider {
    height: 1px !important;
    background: var(--e-global-color-912da8ca, #e2e8f0) !important;
    margin: 10px 0 !important;
}

.lv-grand-total {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: var(--e-global-color-primary, #01376d) !important;
    margin-bottom: 0 !important;
}

/* Actions */
.lv-ty-actions {
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.lv-ty-btn-primary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    background: var(--e-global-color-primary, #01376d) !important;
    color: #ffffff !important;
    font-family: var(--e-global-typography-a5ce33eb-font-family, 'Montserrat'), sans-serif !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    border-radius: 10px !important;
    padding: 14px 22px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    flex: 1 1 auto !important;
    text-align: center !important;
}

.lv-ty-btn-primary:hover {
    background: var(--e-global-color-accent, #ffd100) !important;
    color: var(--e-global-color-primary, #01376d) !important;
}

.lv-ty-btn-secondary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--e-global-color-1df42862, #f1f5f9) !important;
    color: var(--e-global-color-primary, #01376d) !important;
    border: 1.5px solid var(--e-global-color-912da8ca, #e2e8f0) !important;
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    border-radius: 10px !important;
    padding: 14px 20px !important;
    text-decoration: none !important;
    transition: all 0.15s ease !important;
}

.lv-ty-btn-secondary:hover {
    border-color: var(--e-global-color-primary, #01376d) !important;
    background: #ffffff !important;
}

/* Right Column Cards */
.lv-steps-card {
    margin-bottom: 20px !important;
    width: 100% !important;
}

.lv-side-title {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-family: var(--e-global-typography-primary-font-family, 'Bricolage Grotesque'), sans-serif !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    color: var(--e-global-color-primary, #01376d) !important;
    margin: 0 0 18px 0 !important;
}

.lv-steps-timeline {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    width: 100% !important;
}

.lv-step-item {
    display: flex !important;
    gap: 12px !important;
    align-items: flex-start !important;
    width: 100% !important;
}

.lv-step-num {
    width: 24px !important;
    height: 24px !important;
    border-radius: 50% !important;
    background: var(--e-global-color-primary, #01376d) !important;
    color: #ffffff !important;
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 11.5px !important;
    font-weight: 800 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    margin-top: 1px !important;
}

.lv-step-text strong {
    display: block !important;
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: var(--e-global-color-primary, #01376d) !important;
    margin-bottom: 2px !important;
}

.lv-step-text p {
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 12.5px !important;
    color: #64748b !important;
    margin: 0 !important;
    line-height: 1.45 !important;
}

.lv-support-card {
    background: #f0f7ff !important;
    border: 1px solid #dbeafe !important;
    display: flex !important;
    gap: 14px !important;
    align-items: flex-start !important;
    width: 100% !important;
}

.lv-sup-icon {
    color: var(--e-global-color-primary, #01376d) !important;
    flex-shrink: 0 !important;
    margin-top: 2px !important;
}

.lv-sup-title {
    display: block !important;
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 800 !important;
    color: var(--e-global-color-primary, #01376d) !important;
    margin-bottom: 4px !important;
}

.lv-sup-desc {
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 12px !important;
    color: #64748b !important;
    margin: 0 0 10px 0 !important;
    line-height: 1.4 !important;
}

.lv-sup-links {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: 100% !important;
}

.lv-sup-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: var(--e-global-color-primary, #01376d) !important;
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: color 0.15s ease !important;
}

.lv-sup-link:hover {
    color: var(--e-global-color-secondary, #00bfff) !important;
}

/* ==========================================================================
   RESPONSIVO PÁGINA DE GRACIAS (100% PURE FLEXBOX)
   ========================================================================== */

/* Tablet (max-width: 1024px) */
@media (max-width: 1024px) {
    .lv-ty-page-wrapper {
        padding: clamp(36px, 5vw, 60px) clamp(20px, 4vw, 40px) !important;
    }

    .lv-ty-main-grid {
        flex-direction: column !important;
        gap: 32px !important;
    }

    .lv-ty-col-right,
    .lv-ty-right-col {
        width: 100% !important;
        flex: 1 1 auto !important;
    }
}

/* Móvil (max-width: 767px) */
@media (max-width: 767px) {
    .lv-ty-page-wrapper {
        padding: 24px 16px 48px 16px !important;
    }

    .lv-ty-hero {
        margin-bottom: 24px !important;
    }

    .lv-ty-title {
        font-size: 26px !important;
        line-height: 1.2 !important;
        margin-bottom: 8px !important;
    }

    .lv-ty-subtitle {
        font-size: 13.5px !important;
    }

    .lv-ty-badge-pill {
        font-size: 11.5px !important;
        padding: 4px 12px !important;
        margin-bottom: 12px !important;
    }

    .lv-ty-quick-bar {
        gap: 10px !important;
        margin-bottom: 24px !important;
    }

    .lv-ty-stat-card {
        flex: 1 1 calc(50% - 5px) !important;
        padding: 12px 14px !important;
        border-radius: 12px !important;
    }

    .lv-stat-label {
        font-size: 9.5px !important;
    }

    .lv-stat-val {
        font-size: 14px !important;
    }

    .lv-stat-total .lv-stat-val {
        font-size: 16px !important;
    }

    .lv-ty-card {
        padding: 20px 16px !important;
        border-radius: 16px !important;
    }

    .lv-card-head {
        padding-bottom: 12px !important;
        margin-bottom: 16px !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }

    .lv-card-title {
        font-size: 18px !important;
    }

    .lv-ty-item-row {
        gap: 12px !important;
        padding-bottom: 14px !important;
    }

    .lv-ty-item-thumb {
        width: 58px !important;
        height: 58px !important;
        border-radius: 10px !important;
    }

    .lv-ty-item-name {
        font-size: 14px !important;
    }

    .lv-ty-meta-chip {
        font-size: 11px !important;
        padding: 2px 6px !important;
    }

    .lv-ty-totals-box {
        padding: 14px 14px !important;
        border-radius: 12px !important;
        margin-bottom: 18px !important;
    }

    .lv-ty-total-line {
        font-size: 13px !important;
        margin-bottom: 6px !important;
    }

    .lv-grand-total {
        font-size: 16px !important;
    }

    .lv-ty-actions {
        flex-direction: column !important;
        gap: 10px !important;
    }

    .lv-ty-btn-primary,
    .lv-ty-btn-secondary {
        width: 100% !important;
        box-sizing: border-box !important;
        text-align: center !important;
        justify-content: center !important;
        padding: 12px 18px !important;
        font-size: 13.5px !important;
    }

    .lv-side-title {
        font-size: 17px !important;
        margin-bottom: 14px !important;
    }

    .lv-step-text strong {
        font-size: 13px !important;
    }

    .lv-step-text p {
        font-size: 12px !important;
    }

    .lv-support-card {
        padding: 16px 14px !important;
        border-radius: 14px !important;
    }

    .lv-sup-title {
        font-size: 13px !important;
    }

    .lv-sup-desc {
        font-size: 11.5px !important;
    }

    .lv-sup-link {
        font-size: 12px !important;
    }
}


/* ==========================================================================
   BLINDAJE TOTAL CONTRA OVERFLOW / SCROLLBAR HORIZONTAL EN GRACIAS
   ========================================================================== */

.lv-ty-page-wrapper,
.lv-ty-container,
.lv-ty-hero,
.lv-ty-quick-bar,
.lv-ty-stat-card,
.lv-ty-main-grid,
.lv-ty-col-left,
.lv-ty-left-col,
.lv-ty-col-right,
.lv-ty-right-col,
.lv-ty-card,
.lv-ty-items-list,
.lv-ty-item-row,
.lv-ty-item-info,
.lv-ty-item-meta,
.lv-ty-meta-chip,
.lv-ty-item-qty-price,
.lv-ty-totals-box,
.lv-steps-card,
.lv-steps-timeline,
.lv-step-item,
.lv-step-text,
.lv-support-card,
.lv-sup-content,
.lv-sup-links,
.lv-ty-actions,
.lv-ty-btn-primary,
.lv-ty-btn-secondary {
    box-sizing: border-box !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
}

.lv-ty-page-wrapper {
    overflow-x: clip !important;
}

.lv-ty-stat-card {
    flex: 1 1 calc(25% - 12px) !important;
    max-width: calc(25% - 12px) !important;
    min-width: 0 !important;
    overflow: hidden !important;
}

@media (max-width: 768px) {
    .lv-ty-page-wrapper {
        padding: 24px 16px 48px 16px !important;
    }

    .lv-ty-quick-bar {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
        margin-bottom: 24px !important;
        width: 100% !important;
    }

    .lv-ty-stat-card {
        flex: 1 1 calc(50% - 5px) !important;
        max-width: calc(50% - 5px) !important;
        min-width: 0 !important;
        padding: 12px 10px !important;
        border-radius: 12px !important;
    }

    .lv-stat-label {
        font-size: 9.5px !important;
    }

    .lv-stat-val {
        font-size: 13px !important;
        line-height: 1.25 !important;
    }

    .lv-stat-total .lv-stat-val {
        font-size: 15px !important;
    }

    .lv-ty-main-grid {
        flex-direction: column !important;
        gap: 24px !important;
        width: 100% !important;
    }

    .lv-ty-col-left,
    .lv-ty-col-right {
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 auto !important;
    }

    .lv-ty-card {
        padding: 18px 14px !important;
        border-radius: 16px !important;
        width: 100% !important;
    }

    .lv-ty-item-row {
        gap: 10px !important;
        padding-bottom: 12px !important;
        width: 100% !important;
    }

    .lv-ty-item-thumb {
        width: 52px !important;
        height: 52px !important;
        border-radius: 8px !important;
    }

    .lv-ty-item-name {
        font-size: 13.5px !important;
    }

    .lv-ty-meta-chip {
        font-size: 10.5px !important;
        padding: 2px 5px !important;
    }

    .lv-ty-totals-box {
        padding: 12px 12px !important;
        border-radius: 10px !important;
        margin-bottom: 16px !important;
    }

    .lv-ty-actions {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        width: 100% !important;
    }

    .lv-ty-btn-primary,
    .lv-ty-btn-secondary {
        display: flex !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        text-align: center !important;
        justify-content: center !important;
        padding: 12px 14px !important;
        font-size: 13px !important;
        border-radius: 8px !important;
    }

    .lv-support-card {
        padding: 14px 12px !important;
        border-radius: 12px !important;
        width: 100% !important;
    }
}


/* ==========================================================================
   RESPONSIVO FLUIDO 100% EN PORCENTAJES (GRACIAS)
   ========================================================================== */
@media (max-width: 1024px) {
    .lv-ty-main-grid {
        flex-direction: column !important;
        gap: 28px !important;
        width: 100% !important;
    }

    .lv-ty-col-left,
    .lv-ty-col-right,
    .lv-ty-left-col,
    .lv-ty-right-col {
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 100% !important;
    }
}

@media (max-width: 768px) {
    .lv-ty-page-wrapper {
        padding: 24px 16px 48px 16px !important;
        width: 100% !important;
    }

    .lv-ty-container {
        width: 100% !important;
        max-width: 100% !important;
    }

    .lv-ty-quick-bar {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        width: 100% !important;
        margin-bottom: 20px !important;
    }

    .lv-ty-stat-card {
        flex: 1 1 calc(50% - 4px) !important;
        width: calc(50% - 4px) !important;
        max-width: calc(50% - 4px) !important;
        min-width: 0 !important;
        padding: 10px 12px !important;
        border-radius: 12px !important;
        box-sizing: border-box !important;
    }

    .lv-stat-label {
        font-size: 9px !important;
    }

    .lv-stat-val {
        font-size: 13px !important;
        word-break: break-word !important;
        overflow-wrap: anywhere !important;
    }

    .lv-ty-card {
        padding: 16px 14px !important;
        border-radius: 14px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .lv-ty-item-row {
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .lv-ty-actions {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        width: 100% !important;
    }

    .lv-ty-btn-primary,
    .lv-ty-btn-secondary {
        display: flex !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        justify-content: center !important;
        text-align: center !important;
    }
}


/* ==========================================================
   LOOP CARDS: CENTRADO DE IMAGEN DE FONDO (CONTROL DE TAMAÑO EN ELEMENTOR)
   ========================================================== */
.e-loop-item [data-id="35414d0"],
.e-loop-item .elementor-element-35414d0,
.e-loop-item [data-id="7bdb045"],
.e-loop-item .elementor-element-7bdb045,
.e-loop-item [data-id="f3de018"],
.e-loop-item .elementor-element-f3de018,
.e-loop-item [data-id="c0326c2"],
.e-loop-item .elementor-element-c0326c2 {
    background-position: center center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}

/* ==========================================================================
   BLOQUE: Sistema de Notificaciones Flotantes (Toast) de WooCommerce
   FINALIDAD: Transforma los avisos de WooCommerce (.woocommerce-notices-wrapper)
              en tarjetas flotantes fijadas en la esquina inferior izquierda con estética Glassmorphism,
              evitando que tapen el contenido y otorgando una experiencia moderna con auto-cierre.
   ESTADO: Dado por bueno. No debería editarse a no ser que sea por conflicto de código.
   ========================================================================== */
.woocommerce-notices-wrapper {
    position: fixed !important;
    bottom: 24px !important;
    left: 24px !important;
    top: auto !important;
    right: auto !important;
    z-index: 99999 !important;
    max-width: 440px !important;
    width: calc(100vw - 48px) !important;
    pointer-events: none !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.woocommerce-notices-wrapper:empty {
    display: none !important;
}

.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
    pointer-events: auto !important;
    margin: 0 !important;
    padding: 16px 42px 16px 18px !important;
    border-radius: 12px !important;
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat'), sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    box-sizing: border-box !important;
    position: relative !important;
    overflow: hidden !important;
    border: none !important;
    outline: none !important;
    background: rgba(255, 255, 255, 0.72) !important;
    -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
    backdrop-filter: blur(20px) saturate(180%) !important;
    box-shadow: 0 16px 36px rgba(1, 20, 50, 0.16), 0 2px 8px rgba(0, 0, 0, 0.04), inset 0 0 0 1px rgba(255, 255, 255, 0.8) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 20px !important;
    animation: lvToastSlideIn 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
    transition: opacity 0.3s ease, transform 0.3s ease !important;
}

@keyframes lvToastSlideIn {
    from {
        opacity: 0;
        transform: translateY(20px) scale(0.96);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
    display: none !important;
    content: none !important;
}

.woocommerce-message {
    color: var(--e-global-color-primary, #01376d) !important;
}

.woocommerce-info {
    color: #0f172a !important;
}

.woocommerce-error {
    background: rgba(255, 255, 255, 0.78) !important;
    color: #991b1b !important;
    box-shadow: 0 16px 36px rgba(239, 68, 68, 0.12), 0 2px 8px rgba(0, 0, 0, 0.04), inset 0 0 0 1px rgba(254, 202, 202, 0.8) !important;
}

.woocommerce-error li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-message a.button,
.woocommerce-message .button,
.woocommerce-error a.button,
.woocommerce-info a.button {
    order: 2 !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 18px !important;
    font-size: 13px !important;
    border-radius: 9999px !important;
    border: none !important;
    outline: none !important;
    background-color: var(--e-global-color-primary, #01376d) !important;
    color: #ffffff !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    transform: none !important;
    line-height: 1.3 !important;
    transition: background-color 0.2s ease !important;
}

.woocommerce-message a.button:hover,
.woocommerce-message .button:hover,
.woocommerce-error a.button:hover,
.woocommerce-info a.button:hover {
    background-color: var(--e-global-color-secondary, #00bfff) !important;
    color: #ffffff !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    transform: none !important;
}

.lv-toast-close-btn {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    min-height: 22px !important;
    max-width: 22px !important;
    max-height: 22px !important;
    aspect-ratio: 1 / 1 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    border: none !important;
    outline: none !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    background: rgba(1, 55, 109, 0.07) !important;
    color: var(--e-global-color-primary, #01376d) !important;
    opacity: 0.65 !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    transition: opacity 0.2s ease, background-color 0.2s ease !important;
    flex-shrink: 0 !important;
}

.lv-toast-close-btn svg {
    width: 9px !important;
    height: 9px !important;
    display: block !important;
    pointer-events: none !important;
    stroke: currentColor !important;
}

.lv-toast-close-btn:hover {
    opacity: 1 !important;
    background: rgba(1, 55, 109, 0.15) !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    transform: none !important;
}

@media (max-width: 767px) {
    .woocommerce-notices-wrapper {
        bottom: 16px !important;
        left: 16px !important;
        width: calc(100vw - 32px) !important;
    }
    .woocommerce-message,
    .woocommerce-error,
    .woocommerce-info {
        padding: 14px 38px 14px 16px !important;
        gap: 16px !important;
    }
}

/* ==========================================================================
   BLOQUE: 8. Checkout - Eliminación de Asteriscos y Armonización de Notas
   FINALIDAD:
   1. Oculta todos los asteriscos de campos obligatorios para una estética limpia.
   2. Oculta el encabezado H3 vacío en Notas del Pedido y normaliza el espaciado
      superior para que coincida exactamente con la tarjeta de Facturación (22px).
   3. Oculta el checkbox manual de 'Crear cuenta' ya que la cuenta se crea de forma
      100% automática y transparente en el backend para todos los compradores.
   ========================================================================== */
.woocommerce-checkout .required,
.woocommerce-checkout abbr.required,
.woocommerce-checkout span.required,
.woocommerce-checkout label .required,
.woocommerce-checkout .form-row .required,
.woocommerce-checkout .woocommerce-form__label .required,
.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text .required,
.elementor-widget-woocommerce-checkout-page .required {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Normalización de la tarjeta de Notas del Pedido */
.woocommerce-checkout .woocommerce-additional-fields > h3:empty,
.woocommerce-checkout .woocommerce-additional-fields > h3 {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

.woocommerce-checkout .woocommerce-additional-fields .form-row {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.woocommerce-checkout .woocommerce-additional-fields .form-row label {
    margin-top: 0 !important;
}

/* Ocultar checkbox manual de crear cuenta (automatizado en el backend) */
.woocommerce-checkout .create-account,
.woocommerce-checkout #createaccount,
.woocommerce-checkout .woocommerce-account-fields {
    display: none !important;
}

/* Espaciado superior refinado para la página de finalizar compra */
body.woocommerce-checkout .elementor[data-elementor-type="wp-page"] > .e-con:first-child {
    margin-top: calc(-1 * var(--lv-header-height, 84px)) !important;
    padding-top: calc(var(--lv-header-height, 84px) + clamp(28px, 3vw, 48px)) !important;
}


/* ==========================================================================
   Checkout Layout 2.0:
   - Envío Resumen 100% ancho con tipografía del producto
   - Escritorio (>= 1025px): Email | NIF (50/50), Teléfono (100%), CP 30% | Localidad 70%
   - Tablet y Móvil (<= 1024px): 100% por fila en todos los campos
   ========================================================================== */
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals,
.elementor-widget-woocommerce-checkout-page table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px 0 !important;
    border-top: 1px solid #e2e8f0 !important;
    box-sizing: border-box !important;
    gap: 6px !important;
}
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals th,
.elementor-widget-woocommerce-checkout-page table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals th {
    width: 100% !important;
    max-width: 100% !important;
    text-align: left !important;
    padding: 0 !important;
    border: 0 !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    line-height: 1.35 !important;
    display: block !important;
}
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals td,
.elementor-widget-woocommerce-checkout-page table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals td {
    width: 100% !important;
    max-width: 100% !important;
    text-align: left !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    box-sizing: border-box !important;
    display: block !important;
}
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals ul#shipping_method,
.elementor-widget-woocommerce-checkout-page table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals ul#shipping_method,
.woocommerce-checkout ul#shipping_method {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    text-align: left !important;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    box-sizing: border-box !important;
}
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals ul#shipping_method li,
.elementor-widget-woocommerce-checkout-page table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals ul#shipping_method li,
.woocommerce-checkout ul#shipping_method li {
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals ul#shipping_method label,
.elementor-widget-woocommerce-checkout-page table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals ul#shipping_method label,
.woocommerce-checkout ul#shipping_method label {
    text-align: left !important;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    font-family: var(--e-global-typography-35780103-font-family, 'Montserrat', sans-serif) !important;
    font-size: var(--e-global-typography-35780103-font-size, 14.5px) !important;
    font-weight: var(--e-global-typography-35780103-font-weight, 500) !important;
    line-height: var(--e-global-typography-35780103-line-height, 1.45) !important;
    letter-spacing: var(--e-global-typography-35780103-letter-spacing, normal) !important;
    color: #475569 !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

@media (min-width: 1025px) {
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: space-between !important;
        row-gap: 16px !important;
        column-gap: 14px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper p.form-row,
    .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper p.form-row {
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper p.form-row.form-row-first,
    .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper p.form-row.form-row-first {
        width: calc(50% - 7px) !important;
        max-width: calc(50% - 7px) !important;
        flex: 0 0 calc(50% - 7px) !important;
        float: none !important;
        clear: left !important;
    }
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper p.form-row.form-row-last,
    .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper p.form-row.form-row-last {
        width: calc(50% - 7px) !important;
        max-width: calc(50% - 7px) !important;
        flex: 0 0 calc(50% - 7px) !important;
        float: none !important;
        clear: right !important;
    }
    #billing_postcode_field,
    #shipping_postcode_field {
        width: calc(30% - 10px) !important;
        max-width: calc(30% - 10px) !important;
        flex: 0 0 calc(30% - 10px) !important;
        float: none !important;
        clear: left !important;
    }
    #billing_city_field,
    #shipping_city_field {
        width: calc(70% - 4px) !important;
        max-width: calc(70% - 4px) !important;
        flex: 0 0 calc(70% - 4px) !important;
        float: none !important;
        clear: right !important;
    }
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper p.form-row.form-row-wide,
    .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper p.form-row.form-row-wide,
    #billing_phone_field,
    #shipping_phone_field,
    #billing_country_field,
    #shipping_country_field,
    #billing_address_1_field,
    #shipping_address_1_field,
    #billing_address_2_field,
    #shipping_address_2_field,
    #billing_state_field,
    #shipping_state_field {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        float: none !important;
        clear: both !important;
    }
}

@media (max-width: 1024px) {
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
        width: 100% !important;
    }
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper p.form-row,
    .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper p.form-row,
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper p.form-row.form-row-first,
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper p.form-row.form-row-last,
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper p.form-row.form-row-wide,
    .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper p.form-row.form-row-first,
    .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper p.form-row.form-row-last,
    .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper p.form-row.form-row-wide,
    #billing_postcode_field,
    #shipping_postcode_field,
    #billing_city_field,
    #shipping_city_field,
    #billing_phone_field,
    #shipping_phone_field {
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 100% !important;
        float: none !important;
        margin: 0 !important;
        clear: both !important;
        box-sizing: border-box !important;
    }
}