/*
Theme Name: Villa Lucia Theme
Theme URI: https://www.sidreriavillalucia.es
Author: Sidreria Villa Lucia
Description: Tema clon a medida con maquetacion exacta de 2 columnas.
Version: 1.3.67
Text Domain: villalucia-theme
*/

* {
    box-sizing: border-box !important;
    margin: 0;
    padding: 0;
    font-family: Arial, Helvetica, sans-serif !important;
}

body {
    background-color: #121212 !important;
    background-image: url('images/fondo.jpg') !important;
    background-repeat: no-repeat !important;
    background-position: center top !important;
    background-attachment: fixed !important;
    background-size: cover !important;
    color: #333 !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 100vh !important;
}

/* ==========================================================================
   HEADER PRINCIPAL
   ========================================================================== */
.site-header {
    background-color: #000000 !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid #222 !important;
    width: 100% !important;
}

.header-container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

.site-logo img.img-logo-header {
    height: 50px !important;
    max-height: 50px !important;
    width: auto !important;
    display: block !important;
    object-fit: contain !important;
}

.site-nav {
    display: flex !important;
    align-items: center !important;
    gap: 25px !important;
}

.site-nav a {
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: bold !important;
    text-decoration: none !important;
}

.badge-carrito-top {
    display: flex !important;
    align-items: center !important;
    color: #ffffff !important;
    font-weight: bold !important;
    font-size: 18px !important;
    gap: 5px !important;
    text-decoration: none !important;
}

.badge-carrito-top .badge-count {
    background: #d32f2f !important;
    color: #ffffff !important;
    border-radius: 50% !important;
    padding: 2px 7px !important;
    font-size: 12px !important;
}

/* ==========================================================================
   ESTRUCTURA Y COLUMNAS
   ========================================================================== */
.vl-main-container {
    max-width: 1200px !important;
    margin: 25px auto !important;
    padding: 0 15px !important;
    background: transparent !important;
    flex: 1 !important;
    width: 100% !important;
}

@media (min-width: 992px) {
    .vl-content-wrapper {
        display: grid !important;
        grid-template-columns: 1fr 380px !important;
        gap: 30px !important;
        align-items: start !important;
    }

    .vl-sidebar-col {
        position: -webkit-sticky !important;
        position: sticky !important;
        top: 20px !important;
    }
}

@media (max-width: 991px) {
    .vl-content-wrapper {
        display: flex !important;
        flex-direction: column !important;
        gap: 20px !important;
    }
}

/* ==========================================================================
   COLUMNA IZQUIERDA: CARTA DIGITAL
   ========================================================================== */
.vl-carta-card {
    background: rgba(232, 232, 232, 0.15) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    border-radius: 12px !important;
    padding: 20px !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.5) !important;
}

.vl-categoria-bloque {
    background: #ffffff !important;
    border-radius: 8px !important;
    margin-bottom: 12px !important;
    overflow: hidden !important;
    border: 1px solid #ddd !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05) !important;
}

.vl-categoria-header {
    background: #f0f0f0 !important;
    color: #111111 !important;
    padding: 14px 20px !important;
    font-size: 15px !important;
    font-weight: bold !important;
    cursor: pointer !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    text-transform: uppercase !important;
}

.vl-categoria-header:hover {
    background: #e2e2e2 !important;
}

.vl-categoria-content {
    display: none;
    padding: 15px 20px !important;
    background: #ffffff !important;
}

.vl-producto-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid #eee !important;
    gap: 15px !important;
}

.vl-producto-row:last-child {
    border-bottom: none !important;
}

.vl-producto-info {
    flex: 1 !important;
}

.vl-producto-nombre {
    font-size: 15px !important;
    font-weight: bold !important;
    color: #0277bd !important;
}

.vl-producto-acciones {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    white-space: nowrap !important;
}

.vl-producto-precio {
    font-weight: bold !important;
    color: #333333 !important;
}

.vl-producto-acciones a.added_to_cart {
    display: none !important;
}

.vl-producto-acciones a.button,
.vl-producto-acciones a.add_to_cart_button {
    background: #ffb300 !important;
    color: #000000 !important;
    padding: 6px 14px !important;
    border-radius: 15px !important;
    font-weight: bold !important;
    font-size: 13px !important;
    text-decoration: none !important;
    border: none !important;
    margin: 0 !important;
}

.vl-producto-acciones a.button:hover,
.vl-producto-acciones a.add_to_cart_button:hover {
    background: #ffa000 !important;
}

/* ==========================================================================
   COLUMNA DERECHA: MI PEDIDO (SIDEBAR CARTA) - GLOBAL (PC Y MÓVIL)
   ========================================================================== */
.vl-sidebar-card {
    background: rgba(255, 255, 255, 0.85) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border-radius: 12px !important;
    padding: 20px !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.6) !important;
}

.vl-sidebar-title {
    color: #000000 !important;
    font-size: 18px !important;
    font-weight: bold !important;
    text-align: center !important;
    text-transform: uppercase !important;
    margin-bottom: 15px !important;
    letter-spacing: 1px !important;
}

.vl-sidebar-card ul.cart_list,
.vl-sidebar-card ul.woocommerce-mini-cart {
    list-style: none !important;
    list-style-type: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.vl-sidebar-card .woocommerce-mini-cart-item {
    list-style: none !important;
    list-style-type: none !important;
    position: relative !important;
    padding: 10px 0 10px 25px !important;
    border-bottom: 1px dashed rgba(0, 0, 0, 0.2) !important;
    font-size: 14px !important;
    margin: 0 !important;
}

.vl-sidebar-card .woocommerce-mini-cart-item img {
    display: none !important;
}

.vl-sidebar-card .woocommerce-mini-cart-item a.remove {
    position: absolute !important;
    left: 0 !important;
    top: 12px !important;
    color: #d32f2f !important;
    font-weight: bold !important;
    font-size: 16px !important;
    text-decoration: none !important;
    line-height: 1 !important;
    margin: 0 !important;
    display: inline-block !important;
}

.vl-sidebar-card .woocommerce-mini-cart-item a:not(.remove) {
    color: #000000 !important;
    font-weight: bold !important;
    text-decoration: none !important;
    pointer-events: none !important;
    cursor: default !important;
    display: block !important;
}

.woocommerce-mini-cart__total {
    display: flex !important;
    justify-content: space-between !important;
    font-size: 16px !important;
    font-weight: bold !important;
    margin: 20px 0 15px 0 !important;
    border-top: 2px solid rgba(0, 0, 0, 0.2) !important;
    padding-top: 15px !important;
    color: #000000 !important;
}

.woocommerce-mini-cart__buttons {
    display: flex !important;
    gap: 10px !important;
}

.woocommerce-mini-cart__buttons a {
    flex: 1 !important;
    background: #ffb300 !important;
    color: #000000 !important;
    text-align: center !important;
    padding: 12px 5px !important;
    border-radius: 25px !important;
    font-weight: bold !important;
    font-size: 13px !important;
    text-decoration: none !important;
    display: block !important;
    border: none !important;
}

.woocommerce-mini-cart__buttons a:hover {
    background: #ffa000 !important;
}

/* ==========================================================================
   PÁGINAS DE CARRITO Y PAGO (CHECKOUT): EFECTO CRISTAL Y 2 COLUMNAS
   ========================================================================== */
html, body, #page, .site, .site-content, .content-area, .entry-content, 
.page-template, .woocommerce-page, .woocommerce-cart, .woocommerce-checkout, 
.entry-header, .site-main, .woocommerce-cart article, .woocommerce-cart .post-inner,
#primary, #main, .hentry, .wrapper {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

.vl-page-card {
    background: transparent !important;
    box-shadow: none !important;
    max-width: 1050px !important;
    margin: 0 auto 30px auto !important;
    width: 100% !important;
    padding: 0 !important;
}

.woocommerce-cart .vl-page-title,
.woocommerce-checkout .vl-page-title,
.woocommerce-cart h1.entry-title,
.woocommerce-checkout h1.entry-title,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout form.checkout > p:nth-of-type(1) {
    display: none !important;
}

.woocommerce,
.woocommerce-cart {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.woocommerce-checkout .vl-carta-card,
.woocommerce-checkout .vl-categoria-bloque,
.woocommerce-checkout .vl-content-wrapper > div:first-child:not(#customer_details) {
    display: none !important;
}

.woocommerce-checkout .vl-sidebar-card,
.woocommerce-checkout .widget_shopping_cart {
    display: none !important;
}

/* ==========================================================================
   DISEÑO COMPACTO Y TRANSLÚCIDO PARA LA PÁGINA DE FINALIZAR COMPRA
   ========================================================================== */
.page-template-template-pagina .vl-page-card,
.woocommerce-checkout .vl-main-container {
    max-width: 1050px !important;
    margin: 20px auto !important;
    background: transparent !important;
}

.woocommerce-checkout form.checkout.woocommerce-checkout,
.page-template-template-pagina form.checkout.woocommerce-checkout {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 25px !important;
    align-items: start !important;
    max-width: 1050px !important;
    margin: 0 auto !important;
    background: transparent !important;
}

.woocommerce-checkout #customer_details,
.page-template-template-pagina #customer_details {
    background: rgba(255, 255, 255, 0.85) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border-radius: 12px !important;
    padding: 20px !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.6) !important;
    width: 100% !important;
    margin-bottom: 0 !important;
}

.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order,
.page-template-template-pagina #order_review,
.page-template-template-pagina .woocommerce-checkout-review-order {
    background: rgba(255, 255, 255, 0.85) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border-radius: 12px !important;
    padding: 20px !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.6) !important;
    width: 100% !important;
    margin-bottom: 0 !important;
}

/* ==========================================================================
   AVISO SUPERIOR "YA ERES CLIENTE"
   ========================================================================== */
.woocommerce-checkout .woocommerce-info {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin-bottom: 15px !important;
    grid-column: 1 / -1 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    color: #000000 !important;
    font-weight: bold !important;
    font-size: 14px !important;
}

.woocommerce-checkout .woocommerce-info::before {
    display: none !important;
}

.woocommerce-checkout .woocommerce-info a.showlogin {
    background: #ffb300 !important;
    color: #000000 !important;
    padding: 8px 20px !important;
    border-radius: 20px !important;
    text-decoration: none !important;
    font-weight: bold !important;
    font-size: 14px !important;
    display: inline-block !important;
    margin-left: 10px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2) !important;
}

.woocommerce-checkout .woocommerce-info a.showlogin:hover {
    background: #ffa000 !important;
}

/* ==========================================================================
   FORMULARIO DE LOGIN: OCULTAR PARRAFADA Y ALINEAR CAMPOS
   ========================================================================== */
.woocommerce-checkout .woocommerce-form-login {
    background: rgba(255, 255, 255, 0.95) !important;
    border: 1px solid #ddd !important;
    border-radius: 12px !important;
    padding: 20px !important;
    margin-bottom: 25px !important;
    grid-column: 1 / -1 !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.4) !important;
}

.woocommerce-checkout .woocommerce-form-login > p:first-of-type {
    display: none !important;
}

.woocommerce-checkout .woocommerce-form-login .form-row {
    width: 100% !important;
    float: none !important;
    clear: both !important;
    margin-bottom: 12px !important;
}

.woocommerce-checkout .woocommerce-form-login button.button {
    background: #ffb300 !important;
    color: #000000 !important;
    border-radius: 20px !important;
    padding: 8px 20px !important;
    font-weight: bold !important;
    border: none !important;
    cursor: pointer !important;
    width: 100% !important;
    text-align: center !important;
}

.woocommerce-checkout .woocommerce-form-login button.button:hover {
    background: #ffa000 !important;
}

/* ==========================================================================
   ESTILOS ESPECÍFICOS: QUITAR ENLACES A PRODUCTOS Y PUNTOS DE CANTIDAD EN CARRITO
   ========================================================================== */
.woocommerce-cart table.cart td.product-name a {
    color: #000000 !important;
    font-weight: bold !important;
    text-decoration: none !important;
    pointer-events: none !important;
    cursor: default !important;
}

.woocommerce-cart table.cart div.quantity .screen-reader-text,
.woocommerce-cart table.cart div.quantity input.qty::-webkit-inner-spin-button,
.woocommerce-cart table.cart div.quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart table.cart .quantity .plus,
.woocommerce-cart table.cart .quantity .minus,
.woocommerce-cart table.cart div.quantity button {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: none !important;
    margin: 0 !important;
}

.woocommerce-cart table.cart div.quantity,
.woocommerce-cart table.cart div.quantity *,
.woocommerce-cart table.cart div.quantity::before,
.woocommerce-cart table.cart div.quantity::after {
    list-style: none !important;
    list-style-type: none !important;
    background-image: none !important;
}

.woocommerce-cart table.cart div.quantity::before,
.woocommerce-cart table.cart div.quantity::after {
    display: none !important;
    content: none !important;
}

.woocommerce-cart .cart-collaterals .shipping-calculator-button,
.woocommerce-cart .cart-collaterals .woocommerce-shipping-calculator,
.woocommerce-cart .cart-collaterals p.woocommerce-shipping-destination {
    display: none !important;
}

/* ==========================================================================
   ESTILOS GENERALES DE FORMULARIOS Y TABLAS (BLINDAJE DE 2 COLUMNAS FIJAS)
   ========================================================================== */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields {
    width: 100% !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.woocommerce form .form-row-first {
    width: 48% !important;
    float: left !important;
    clear: left !important;
    margin-right: 4% !important;
}

.woocommerce form .form-row-last {
    width: 48% !important;
    float: right !important;
    clear: right !important;
    margin-right: 0 !important;
}

.woocommerce form .form-row-wide {
    clear: both !important;
    width: 100% !important;
    float: none !important;
}

.woocommerce-checkout .woocommerce-additional-fields {
    width: 100% !important;
    float: none !important;
    clear: both !important;
    display: block !important;
    margin-top: 20px !important;
}

.woocommerce-checkout .woocommerce-additional-fields h3 label,
.woocommerce-checkout .woocommerce-additional-fields h3 span {
    display: none !important;
}

.woocommerce-checkout .woocommerce-additional-fields h3 {
    font-size: 14px !important;
    font-weight: bold !important;
    color: #000000 !important;
    text-transform: uppercase !important;
    margin-bottom: 10px !important;
    border-bottom: 2px solid #ffb300 !important;
    padding-bottom: 6px !important;
    display: block !important;
    width: 100% !important;
}

.woocommerce form .form-row {
    margin-bottom: 8px !important;
    padding: 0 !important;
}

.woocommerce form .form-row label {
    font-size: 11px !important;
    font-weight: bold !important;
    color: #000000 !important;
    margin-bottom: 1px !important;
    display: block !important;
}

.woocommerce form .form-row input.input-text, 
.woocommerce form .form-row select {
    border-radius: 5px !important;
    border: 1px solid #ccc !important;
    padding: 4px 8px !important;
    width: 100% !important;
    background: #ffffff !important;
    font-size: 12px !important;
    height: 30px !important;
    color: #333 !important;
}

.woocommerce form .form-row textarea.input-text,
.woocommerce-additional-fields textarea {
    border-radius: 5px !important;
    border: 1px solid #ccc !important;
    padding: 8px !important;
    width: 100% !important;
    background: #ffffff !important;
    font-size: 12px !important;
    height: 95px !important;
    min-height: 95px !important;
    resize: vertical !important;
    color: #333 !important;
}

.woocommerce table.shop_table,
.woocommerce-cart table.cart {
    width: 100% !important;
    border-collapse: collapse !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    margin: 10px 0 !important;
    background: transparent !important;
    border: none !important;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
    padding: 10px 5px !important;
    font-size: 13px !important;
    color: #000000 !important;
    border-bottom: 1px dashed rgba(0,0,0,0.2) !important;
    vertical-align: middle !important;
}

.woocommerce table.shop_table th {
    border-bottom: 2px solid rgba(0,0,0,0.3) !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
}

.woocommerce-cart table.cart td.product-remove a.remove {
    color: #d32f2f !important;
    font-weight: bold !important;
    font-size: 24px !important;
    text-decoration: none !important;
}

.woocommerce-cart table.cart div.quantity input.qty {
    width: 50px !important;
    border-radius: 6px !important;
    border: 1px solid #ccc !important;
    padding: 4px !important;
    text-align: center !important;
    background: #fff !important;
    color: #000 !important;
    height: auto !important;
}

.woocommerce #place_order,
.woocommerce button.button.alt,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    background-color: #ffb300 !important;
    color: #000000 !important;
    font-weight: bold !important;
    border-radius: 25px !important;
    padding: 15px 20px !important;
    border: none !important;
    width: 100% !important;
    font-size: 16px !important;
    margin-top: 10px !important;
    text-transform: uppercase !important;
    text-align: center !important;
    display: block !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2) !important;
}

.woocommerce #place_order:hover,
.woocommerce button.button.alt:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    background-color: #ffa000 !important;
}

.woocommerce-cart button[name="update_cart"] {
    background: #333333 !important;
    color: #ffffff !important;
    border-radius: 20px !important;
    padding: 8px 20px !important;
    font-weight: bold !important;
    font-size: 13px !important;
    border: none !important;
    margin-top: 10px !important;
    text-transform: none !important;
}

.woocommerce-cart button[name="update_cart"]:hover {
    background: #111111 !important;
}

/* ==========================================================================
   CHECKOUT ESPECÍFICO (FINALIZAR-COMPRA)
   ========================================================================== */
.woocommerce-checkout #shipping_method {
    list-style: none !important;
    padding: 0 !important;
    margin: 10px 0 !important;
}

.woocommerce-checkout #shipping_method li {
    margin-bottom: 8px !important;
    font-size: 14px !important;
    font-weight: bold !important;
    color: #000000 !important;
}

.woocommerce-checkout #payment {
    background: transparent !important;
    border-radius: 8px !important;
}

.woocommerce-checkout #payment ul.payment_methods {
    border-bottom: 1px dashed rgba(0,0,0,0.2) !important;
    padding-bottom: 15px !important;
    margin-bottom: 15px !important;
    list-style: none !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
    font-weight: bold !important;
    color: #000000 !important;
    margin-bottom: 8px !important;
}

.woocommerce-checkout #billing_country_field,
.woocommerce-checkout #billing_state_field,
.woocommerce-checkout #shipping_country_field,
.woocommerce-checkout #shipping_state_field {
    display: none !important;
}

/* ==========================================================================
   FOOTER SIDRERÍA VILLA LUCÍA (Pegado abajo)
   ========================================================================== */
.site-footer {
    background-color: #000000 !important;
    color: #ffffff !important;
    padding: 30px 0 0 0 !important;
    margin-top: auto !important;
    border-top: 1px solid #111111 !important;
    width: 100% !important;
}

.footer-container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px 20px 20px !important;
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 30px !important;
    align-items: center !important;
    justify-content: center !important;
}

.footer-col {
    text-align: left !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
}

.footer-col-logo img.footer-logo,
.footer-col-logo img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
}

.footer-col h4 {
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    margin-bottom: 6px !important;
    letter-spacing: 0.5px !important;
    text-align: left !important;
}

.footer-col p {
    color: #ffffff !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    margin-bottom: 4px !important;
    text-align: left !important;
}

.footer-links,
.footer-links li {
    list-style: none !important;
    list-style-type: none !important;
    padding: 0 !important;
    margin: 0 0 6px 0 !important;
    text-align: left !important;
}

.footer-links a, 
.footer-email,
.footer-phone {
    color: #ff9800 !important;
    text-decoration: none !important;
    font-size: 13px !important;
    font-weight: bold !important;
}

.footer-links a:hover, 
.footer-email:hover,
.footer-phone:hover {
    text-decoration: underline !important;
}

.footer-bottom-bar {
    background-color: #000000 !important;
    padding: 12px 0 15px 0 !important;
}

.footer-bottom-container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: bold !important;
}

/* ==========================================================================
   OPTIMIZACIÓN Y DISEÑO COMPACTO EN MÓVILES (< 768px)
   ========================================================================== */
@media (max-width: 767px) {
    .vl-main-container {
        padding: 0 8px !important;
        margin: 15px auto !important;
    }

    .vl-carta-card {
        padding: 10px 8px !important;
        border-radius: 8px !important;
    }

    .vl-categoria-header {
        padding: 12px 12px !important;
        font-size: 14px !important;
    }

    .vl-categoria-content {
        padding: 10px 8px !important;
    }

    .vl-producto-row {
        gap: 8px !important;
        padding: 10px 0 !important;
    }

    .vl-producto-nombre,
    .vl-producto-precio {
        font-size: 14px !important;
    }

    .vl-producto-acciones a.button,
    .vl-producto-acciones a.add_to_cart_button {
        padding: 6px 10px !important;
        font-size: 12px !important;
    }

    .site-footer {
        padding: 20px 0 0 0 !important;
        margin-top: auto !important;
    }

    .footer-container {
        grid-template-columns: 1fr 1fr !important;
        gap: 15px 10px !important;
        padding: 0 12px 15px 12px !important;
        align-items: start !important;
    }

    .footer-col h4 {
        font-size: 11px !important;
        margin-bottom: 4px !important;
    }

    .footer-col p,
    .footer-links a, 
    .footer-email,
    .footer-phone {
        font-size: 11px !important;
    }

    .footer-links li {
        margin-bottom: 4px !important;
    }

    .footer-bottom-bar {
        padding: 10px 0 12px 0 !important;
    }

    .footer-bottom-container {
        flex-direction: column !important;
        gap: 4px !important;
        text-align: center !important;
        font-size: 11px !important;
    }

    .vl-page-card {
        padding: 0 !important;
    }

    .woocommerce-checkout form.checkout.woocommerce-checkout,
    .page-template-template-pagina form.checkout.woocommerce-checkout {
        display: flex !important;
        flex-direction: column !important;
        gap: 15px !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .woocommerce-checkout #customer_details,
    .woocommerce-checkout #order_review,
    .woocommerce-checkout .woocommerce-checkout-review-order,
    .page-template-template-pagina #customer_details,
    .page-template-template-pagina #order_review,
    .page-template-template-pagina .woocommerce-checkout-review-order {
        width: 100% !important;
        max-width: 100% !important;
        background: rgba(255, 255, 255, 0.85) !important;
        backdrop-filter: blur(8px) !important;
        -webkit-backdrop-filter: blur(8px) !important;
        border-radius: 8px !important;
        padding: 15px 12px !important;
        box-sizing: border-box !important;
    }

    .woocommerce-checkout table.woocommerce-checkout-review-order-table thead {
        display: none !important;
    }

    .woocommerce-checkout table.woocommerce-checkout-review-order-table {
        width: 100% !important;
        max-width: 100% !important;
    }

    .woocommerce-checkout table.woocommerce-checkout-review-order-table tr.cart_item {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 12px 0 !important;
        border-bottom: 1px dashed rgba(0,0,0,0.15) !important;
        width: 100% !important;
    }

    .woocommerce-checkout table.woocommerce-checkout-review-order-table tr.cart_item td {
        border: none !important;
        padding: 0 !important;
        background: transparent !important;
        font-size: 14px !important;
    }

    .woocommerce-checkout table.woocommerce-checkout-review-order-table tr.cart_item td.product-name {
        flex: 1 !important;
        font-weight: bold !important;
        color: #0277bd !important;
        padding-right: 15px !important;
        text-align: left !important;
    }

    .woocommerce-checkout table.woocommerce-checkout-review-order-table tr.cart_item td.product-total {
        font-weight: bold !important;
        color: #333333 !important;
        white-space: nowrap !important;
        text-align: right !important;
        flex-shrink: 0 !important;
    }

    .woocommerce-checkout table.woocommerce-checkout-review-order-table tr.cart-subtotal,
    .woocommerce-checkout table.woocommerce-checkout-review-order-table tr.shipping,
    .woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        width: 100% !important;
        padding: 12px 0 !important;
        border-bottom: 1px solid rgba(0,0,0,0.1) !important;
    }

    .woocommerce-checkout table.woocommerce-checkout-review-order-table tr.cart-subtotal th,
    .woocommerce-checkout table.woocommerce-checkout-review-order-table tr.cart-subtotal td,
    .woocommerce-checkout table.woocommerce-checkout-review-order-table tr.shipping th,
    .woocommerce-checkout table.woocommerce-checkout-review-order-table tr.shipping td,
    .woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total th,
    .woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total td {
        display: block !important;
        border: none !important;
        padding: 0 !important;
        background: transparent !important;
        width: auto !important;
    }

    .woocommerce-checkout table.woocommerce-checkout-review-order-table tr.cart-subtotal th,
    .woocommerce-checkout table.woocommerce-checkout-review-order-table tr.shipping th,
    .woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total th {
        font-weight: bold !important;
        text-transform: uppercase !important;
        color: #000000 !important;
        text-align: left !important;
    }

    .woocommerce-checkout table.woocommerce-checkout-review-order-table tr.cart-subtotal td,
    .woocommerce-checkout table.woocommerce-checkout-review-order-table tr.shipping td,
    .woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total td {
        font-weight: bold !important;
        color: #333333 !important;
        text-align: right !important;
    }

    .woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total td .woocommerce-Price-amount,
    .woocommerce-checkout table.woocommerce-checkout-review-order-table tr.cart-subtotal td .woocommerce-Price-amount {
        display: inline-block !important;
    }

    .woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total td small {
        display: block !important;
        text-align: right !important;
        font-weight: normal !important;
        font-size: 11px !important;
        color: #555 !important;
        margin-top: 2px !important;
    }

    .woocommerce-cart table.cart thead {
        display: none !important;
    }

    .woocommerce-cart table.cart tr.cart_item {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        background: #ffffff !important;
        border-radius: 8px !important;
        padding: 10px 10px 10px 38px !important;
        margin-bottom: 10px !important;
        border: 1px solid #ddd !important;
        box-shadow: 0 2px 4px rgba(0,0,0,0.05) !important;
        position: relative !important;
    }

    .woocommerce-cart table.cart td::before {
        display: none !important;
    }

    .woocommerce-cart table.cart td {
        display: flex !important;
        align-items: center !important;
        border: none !important;
        padding: 2px 0 !important;
        background: transparent !important;
    }

    .woocommerce-cart table.cart td.product-remove {
        position: absolute !important;
        left: 10px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        padding: 0 !important;
    }

    .woocommerce-cart table.cart td.product-remove a.remove {
        color: #d32f2f !important;
        font-weight: bold !important;
        font-size: 20px !important;
        text-decoration: none !important;
        display: inline-block !important;
        line-height: 1 !important;
    }

    .woocommerce-cart table.cart td.product-name {
        flex: 1 !important;
        font-size: 14px !important;
        font-weight: bold !important;
        color: #0277bd !important;
        width: 100% !important;
        margin-bottom: 6px !important;
        padding-right: 5px !important;
    }

    .woocommerce-cart table.cart td.product-price {
        display: none !important; 
    }

    .woocommerce-cart table.cart td.product-quantity {
        width: auto !important;
    }

    .woocommerce-cart table.cart td.product-quantity div.quantity {
        display: flex !important;
        align-items: center !important;
    }

    .woocommerce-cart table.cart td.product-quantity input.qty {
        width: 45px !important;
        height: 28px !important;
        font-size: 13px !important;
        padding: 2px !important;
        text-align: center !important;
    }

    .woocommerce-cart table.cart td.product-subtotal {
        font-size: 14px !important;
        font-weight: bold !important;
        color: #333333 !important;
        margin-left: auto !important;
    }

    .woocommerce-cart table.cart td.actions {
        display: flex !important;
        justify-content: center !important;
        background: transparent !important;
        padding: 5px 0 0 0 !important;
        width: 100% !important;
    }

    .woocommerce-cart.woocommerce-page {
        position: relative !important;
        padding-bottom: 45px !important;
    }

    .woocommerce-cart .woocommerce::after {
        content: "▼ ▼ ▼" !important;
        position: fixed !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        background: linear-gradient(to top, rgba(0, 0, 0, 0.95) 50%, rgba(0, 0, 0, 0) 100%) !important;
        color: #ffb300 !important;
        font-size: 13px !important;
        font-weight: bold !important;
        height: 50px !important;
        letter-spacing: 6px !important;
        z-index: 99999 !important;
        pointer-events: none !important;
        animation: vlPulsoFlechas 1.5s infinite ease-in-out !important;
        transition: opacity 0.3s ease, visibility 0.3s ease !important;
    }

    .woocommerce-cart .woocommerce.vl-hide-scroll-indicator::after {
        opacity: 0 !important;
        visibility: hidden !important;
        animation: none !important;
    }
}

@keyframes vlPulsoFlechas {
    0% { opacity: 0.3; }
    50% { opacity: 1; }
    100% { opacity: 0.3; }
}

/* ==========================================================================
   PÁGINA DE MI CUENTA / REGISTRO: LIMPIEZA ABSOLUTA DE TÍTULOS Y ACCESO
   ========================================================================== */
.woocommerce-account .u-columns.col2-set .u-column1,
.woocommerce-account .woocommerce-form-login {
    display: none !important;
}

.woocommerce-account .u-columns.col2-set .u-column2 {
    width: 100% !important;
    float: none !important;
    margin: 0 auto !important;
}

.woocommerce-account.woocommerce-page .entry-title,
.woocommerce-account h1.entry-title,
.woocommerce-account .woocommerce-notices-wrapper ~ h2,
.woocommerce-account .u-columns.col2-set h2 {
    display: none !important;
}

/* OCULTAR DEFINITIVAMENTE LOS CAMPOS DUPLICADOS SUPERIORES Y COMPACTAR FILAS */
.woocommerce-register-form > p.form-row:first-child,
.woocommerce-register-form > p.form-row:nth-child(2),
.woocommerce-form-register > p.form-row:first-child,
.woocommerce-form-register > p.form-row:nth-child(2) {
    display: none !important;
}

.woocommerce-register-form p.form-row,
.woocommerce-form-register p.form-row {
    margin-bottom: 8px !important;
}

.woocommerce-register-form p.form-row input.input-text,
.woocommerce-form-register p.form-row input.input-text {
    height: 30px !important;
    padding: 4px 8px !important;
    font-size: 12px !important;
}

.woocommerce-privacy-policy-text,
.woocommerce-privacy-policy-text p {
    font-size: 9px !important;
    line-height: 1.1 !important;
    color: #666 !important;
    margin: 3px 0 !important;
}

/* Corrección de campos de facturación en PC para WooCommerce */
.woocommerce-checkout .form-row label {
    position: relative !important;
    transform: none !important;
    background: transparent !important;
    display: block !important;
    margin-bottom: 4px !important;
    font-weight: bold !important;
    font-size: 13px !important;
    color: #000 !important;
}

/* Forzar que los inputs tengan espacio correcto y no se solapen */
.woocommerce-checkout .form-row .input-text {
    padding: 8px 12px !important;
    height: 40px !important;
    box-sizing: border-box !important;
}

/* Alinear correctamente las dos columnas de la izquierda */
.woocommerce-checkout #customer_details .col-1, 
.woocommerce-checkout #customer_details .col-2 {
    width: 100% !important;
    float: none !important;
}

/* Distribuir los bloques de la pasarela y factura de forma simétrica */
@media screen and (min-width: 768px) {
    .woocommerce-checkout form.checkout.woo-checkout {
        display: flex;
        flex-wrap: wrap;
        gap: 30px;
    }
    .woocommerce-checkout-review-order {
        background: #fff;
        padding: 20px;
        border-radius: 8px;
    }
}