/* =============================================
   YD Master — Custom Theme v6.0.46
   Color acento: #918364
   ============================================= */

/* Wrapper */
.ydm-homepage { max-width: 100%; padding: 0; margin: 0; }
.ydm-homepage * { box-sizing: border-box; }
.ydm-homepage a { text-decoration: none !important; }

/* Buscador */
.ydm-search-wrap { background: #111; padding: 14px 20px; overflow: hidden; }
.ydm-search-inner { max-width: 640px; margin: 0 auto; position: relative; }
.ydm-search-icon { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; min-width: 18px; max-width: 18px; color: #888; pointer-events: none; overflow: hidden; z-index: 1; }
.ydm-search-icon svg { width: 18px; height: 18px; display: block; flex-shrink: 0; }
.ydm-search-input { width: 100%; padding: 12px 16px 12px 42px; border: 1px solid #333; border-radius: 8px; background: #1a1a1a; color: #fff; font-size: 15px; outline: none; transition: border-color 0.3s; box-sizing: border-box; }
.ydm-search-input:focus { border-color: #918364; }

/* Carrusel */
.ydm-carousel-wrap { margin: 0 auto; padding: 16px 20px 0; max-width: 100%; overflow: hidden; }
.ydm-carousel { display: flex; gap: 14px; height: 580px; cursor: grab; user-select: none; -webkit-user-select: none; }
.ydm-carousel:active { cursor: grabbing; }
.ydm-slide, .ydm-slide-clone { flex: 0 0 calc((100% - 42px) / 4); border-radius: 12px; overflow: hidden; display: block; flex-shrink: 0; }
.ydm-slide img, .ydm-slide-clone img { width: 100%; height: 100%; object-fit: cover; display: block; pointer-events: none; }

/* Boton todos los productos */
.ydm-all-btn-wrap { text-align: center; padding: 20px 20px 6px; }
.ydm-all-btn { display: inline-block; background: #918364; color: #fff !important; font-weight: 700; font-size: 16px; padding: 13px 38px; border-radius: 999px; transition: background 0.2s, transform 0.2s; }
.ydm-all-btn:hover { background: #a8977a; transform: translateY(-2px); }

/* Gancho */
.ydm-hook { text-align: center; padding: 30px 20px 14px; }
.ydm-hook span { font-size: 22px; font-weight: 700; letter-spacing: 0.5px; color: #918364; }

/* Grid categorias */
.ydm-cat-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; padding: 10px 20px 20px; max-width: 1200px; margin: 0 auto; }
.ydm-cat-card { display: flex; flex-direction: column; background: #1a1a1a; border: 1px solid #2a2a2a; border-radius: 12px; overflow: hidden; transition: transform 0.2s, box-shadow 0.2s; }
.ydm-cat-card:hover { transform: translateY(-4px); box-shadow: 0 6px 20px rgba(145, 131, 100, 0.15); }
.ydm-cat-img { aspect-ratio: 1 / 1; overflow: hidden; }
.ydm-cat-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s ease; }
.ydm-cat-card:hover .ydm-cat-img img { transform: scale(1.08); }
.ydm-cat-name { padding: 12px 8px; text-align: center; font-size: 13px; font-weight: 600; color: #fff; line-height: 1.3; }

/* Productos rail promos — ocupa todo el ancho de la página */
.ydm-pop { max-width: 100%; margin: 0; padding: 0 20px 10px; }
.ydm-promos { padding-bottom: 60px; }
.ydm-pop-rail { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding-bottom: 10px; cursor: grab; user-select: none; -webkit-user-select: none; }
.ydm-pop-rail:active { cursor: grabbing; }
.ydm-pop-rail::-webkit-scrollbar { display: none; }

/* Rail que avanza hacia la derecha (nuevos productos): el movimiento se hace
   clonando las tarjetas y desplazandolas con transform, sin scrollbar. */
.ydm-pop-rail.ydm-rail-right {
    overflow: hidden !important;
    scroll-snap-type: none;
    will-change: transform;
}
.ydm-pop-rail.ydm-rail-right .ydm-prod-card {
    scroll-snap-align: start;
}
.ydm-prod-card { flex: 0 0 calc((100% - 90px) / 7.14); min-width: 100px; scroll-snap-align: start; background: #1a1a1a; border: 1px solid #2a2a2a; border-radius: 12px; overflow: hidden; display: block; transition: transform 0.2s, box-shadow 0.2s; }
.ydm-prod-card:hover { transform: translateY(-3px); box-shadow: 0 6px 18px rgba(145, 131, 100, 0.12); }
.ydm-prod-img { aspect-ratio: 1 / 1; overflow: hidden; background: #222; position: relative; }
.ydm-prod-img img { width: 100%; height: 100%; object-fit: cover; display: block; pointer-events: none; }
.ydm-prod-name, .ydm-prod-price { display: none; }
.ydm-badge { position: absolute; top: 8px; right: 8px; background: #918364; color: #fff; font-size: 12px; font-weight: 800; padding: 3px 8px; border-radius: 6px; z-index: 2; }
.ydm-empty-msg { color: #666; font-size: 14px; text-align: center; padding: 20px; }

/* =============================================
   RESPONSIVE
   ============================================= */

@media (max-width: 768px) {
    .ydm-search-wrap { padding: 10px 14px; }
    .ydm-search-input { font-size: 14px; padding: 10px 14px 10px 40px; }
    .ydm-carousel-wrap { padding: 12px 12px 0; }
    .ydm-carousel { height: 320px; gap: 10px; }
    .ydm-slide, .ydm-slide-clone { flex: 0 0 calc((100% - 20px) / 3); border-radius: 10px; }
    .ydm-all-btn { font-size: 14px; padding: 11px 30px; }
    .ydm-hook { padding: 24px 16px 8px; }
    .ydm-hook span { font-size: 18px; }
    .ydm-cat-grid { grid-template-columns: repeat(3, 1fr); gap: 10px; padding: 10px 12px 20px; }
    .ydm-cat-name { font-size: 12px; padding: 10px 4px; }
    .ydm-pop { padding: 0 12px 10px; }
    .ydm-prod-card { flex: 0 0 calc((100% - 30px) / 4); min-width: 84px; }
}

@media (max-width: 480px) {
    .ydm-search-input { font-size: 13px; padding: 10px 12px 10px 38px; }
    .ydm-carousel-wrap { padding: 8px 8px 0; }
    .ydm-carousel { height: 200px; gap: 8px; }
    .ydm-slide, .ydm-slide-clone { flex: 0 0 calc((100% - 16px) / 3); border-radius: 8px; }
    .ydm-all-btn { font-size: 13px; padding: 10px 26px; }
    .ydm-hook { padding: 18px 12px 6px; }
    .ydm-hook span { font-size: 15px; }
    .ydm-cat-grid { grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 8px 10px 20px; }
    .ydm-cat-card { border-radius: 8px; }
    .ydm-cat-name { font-size: 11px; }
    .ydm-cat-name { font-size: 12px; padding: 8px 4px; }
    .ydm-prod-card { flex: 0 0 calc((100% - 20px) / 3); min-width: 80px; }
    .ydm-badge { font-size: 10px; padding: 2px 6px; }
}

@media (max-width: 360px) {
    .ydm-carousel { height: 170px; gap: 6px; }
    .ydm-slide, .ydm-slide-clone { flex: 0 0 calc((100% - 12px) / 3); }
    .ydm-hook span { font-size: 13px; }
    .ydm-cat-grid { gap: 6px; padding: 6px 8px 20px; }
    .ydm-cat-name { font-size: 11px; padding: 6px 2px; }
}

@media (hover: none) {
    .ydm-cat-card:active { transform: scale(0.97); }
}

@media (max-width: 768px) {
    .fusion-logo img, .fusion-logo svg, #logo img, #logo svg, .site-logo img {
        display: block !important;
        max-height: 40px;
        width: auto;
    }
}

/* =============================================
   WooCommerce — responsive Mi Cuenta / Cart / Checkout
   ============================================= */
@media (max-width: 768px) {
    .woocommerce .woocommerce-MyAccount-navigation {
        float: none !important;
        width: 100% !important;
        margin-bottom: 20px !important;
    }
    .woocommerce .woocommerce-MyAccount-navigation ul {
        display: flex;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        gap: 8px;
        padding-bottom: 6px;
        list-style: none;
        margin: 0;
    }
    .woocommerce .woocommerce-MyAccount-navigation ul li {
        float: none !important;
        margin: 0 !important;
        flex: 0 0 auto;
    }
    .woocommerce .woocommerce-MyAccount-navigation ul li a {
        white-space: nowrap;
        display: block;
        padding: 8px 14px;
        border: 1px solid #3a3a3a;
        border-radius: 8px;
        background: #1a1a1a;
        color: #fff !important;
        font-size: 13px;
    }
    .woocommerce .woocommerce-MyAccount-navigation ul li.is-active a {
        background: #918364 !important;
        color: #fff !important;
        border-color: #918364 !important;
    }
    .woocommerce .woocommerce-MyAccount-content {
        float: none !important;
        width: 100% !important;
        padding: 0 !important;
    }
    /* Formularios se apilan de 1 sola columna */
    .woocommerce form .form-row,
    .woocommerce form .form-row-first,
    .woocommerce form .form-row-last,
    .woocommerce form .form-row-wide {
        float: none !important;
        width: 100% !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
    .woocommerce form .form-row-first {
        float: none !important;
        width: 100% !important;
    }
    .woocommerce form .form-row-first:not(.honeypot) + .form-row-last {
        margin-top: 0;
    }
    /* Espaciado general de formularios */
    .woocommerce form .form-row {
        margin-bottom: 14px !important;
    }
    .woocommerce form .form-row input.input-text,
    .woocommerce form .form-row textarea,
    .woocommerce form .form-row select {
        width: 100% !important;
        padding: 12px !important;
        font-size: 15px !important;
        box-sizing: border-box !important;
    }
    .woocommerce form .form-row label {
        font-size: 14px;
        margin-bottom: 5px;
    }
    /* Tablas del pedido / carrito */
    .woocommerce table.shop_table {
        font-size: 13px;
        overflow-x: auto;
    }
    /* Carrito — layout móvil limpio: producto como tarjeta */
    .woocommerce-cart .woocommerce-cart-form__contents th {
        display: none !important;
    }
    .woocommerce-cart .woocommerce-cart-form__contents thead {
        display: none !important;
    }
    .woocommerce-cart .woocommerce-cart-form__contents tr.woocommerce-cart-form__cart-item {
        display: grid !important;
        grid-template-columns: 72px 1fr;
        grid-template-areas:
            "thumb title"
            "thumb qtyprice"
            "thumb subtotal"
            "thumb tax";
        gap: 3px 12px;
        align-items: center;
        background: #1a1a1a;
        border: 1px solid #2a2a2a;
        border-radius: 12px;
        padding: 12px !important;
        margin-bottom: 12px;
        position: relative;
    }
    .woocommerce-cart .woocommerce-cart-form__contents td {
        display: block !important;
        border: none !important;
        padding: 2px 0 !important;
        width: auto !important;
    }
    .woocommerce-cart .woocommerce-cart-form__contents td.product-thumbnail {
        grid-area: thumb;
        align-self: start;
    }
    .woocommerce-cart .woocommerce-cart-form__contents td.product-thumbnail img {
        width: 72px;
        height: 72px;
        object-fit: cover;
        border-radius: 8px;
    }
    .woocommerce-cart .woocommerce-cart-form__contents td.product-name {
        grid-area: title;
        font-weight: 700;
        color: #fff;
        font-size: 15px !important;
        line-height: 1.3;
        padding-right: 24px !important;
    }
    .woocommerce-cart .woocommerce-cart-form__contents td.product-name a { color: #fff !important; }
    .woocommerce-cart .woocommerce-cart-form__contents td.product-name::before {
        content: "" !important;
        display: none;
    }
    /* Fila: cantidad + precio unitario juntos (ej: "2 × 29,90 €") */
    .woocommerce-cart .woocommerce-cart-form__contents td.product-price {
        grid-area: qtyprice;
        font-size: 13.5px;
        color: #bbb;
        display: flex !important;
        align-items: center;
        gap: 8px;
        padding: 0 !important;
    }
    .woocommerce-cart .woocommerce-cart-form__contents td.product-price::before {
        content: "Precio:";
        font-weight: 600;
        color: #918364;
        font-size: 11px;
        display: inline-block;
        margin-right: 0;
    }
    .woocommerce-cart .woocommerce-cart-form__contents td.product-quantity {
        grid-area: auto;
        display: inline-flex !important;
        align-items: center;
    }
    .woocommerce-cart .woocommerce-cart-form__contents td.product-quantity::before {
        content: "Cantidad:";
        font-weight: 600;
        color: #918364;
        font-size: 11px;
        display: inline-block;
        margin-right: 6px;
    }
    .woocommerce-cart .woocommerce-cart-form__contents td.product-quantity .quantity .qty {
        width: 54px !important;
        padding: 6px !important;
        text-align: center;
        background: #222 !important;
        color: #fff !important;
        border: 1px solid #3a3a3a !important;
        border-radius: 6px;
    }
    /* Subtotal por fila destacado */
    .woocommerce-cart .woocommerce-cart-form__contents td.product-subtotal {
        grid-area: subtotal;
        font-weight: 800 !important;
        color: #ffffff !important;
        font-size: 18px !important;
        padding: 0 !important;
    }
    .woocommerce-cart .woocommerce-cart-form__contents td.product-subtotal::before {
        content: "Subtotal:";
        font-weight: 700;
        color: #918364;
        font-size: 11px;
        display: inline-block;
        margin-right: 6px;
        vertical-align: middle;
    }
    .woocommerce-cart .woocommerce-cart-form__contents td.product-subtotal .amount {
        color: #fff !important;
        font-weight: 800 !important;
    }
    /* Texto de impuestos incluidos al final de cada producto */
    .woocommerce-cart .woocommerce-cart-form__contents td.product-subtotal::after {
        content: " IVA incluido";
        display: block;
        font-weight: 500;
        font-size: 10.5px;
        color: #918364;
        margin-top: 2px;
    }
    .woocommerce-cart .woocommerce-cart-form__contents td.product-remove {
        position: absolute;
        top: 4px;
        right: 6px;
        grid-area: auto;
    }
    .woocommerce-cart .woocommerce-cart-form__contents td.product-remove .remove {
        font-size: 22px;
        color: #666 !important;
    }
    .woocommerce-cart .woocommerce-cart-form__contents tr.actions {
        display: block !important;
        background: none;
        border: none;
        padding: 0 !important;
    }
    .woocommerce-cart .woocommerce-cart-form__contents tr.actions td.actions {
        display: block !important;
        padding: 0 !important;
    }
    /* Botones */
    .woocommerce a.button,
    .woocommerce button.button,
    .woocommerce input.button {
        width: 100% !important;
        text-align: center !important;
        margin: 6px 0 !important;
        box-sizing: border-box !important;
    }
    .woocommerce .coupon {
        display: block;
        width: 100%;
    }
    .woocommerce .coupon input.input-text {
        width: 100% !important;
        margin-bottom: 8px;
        box-sizing: border-box !important;
    }
    /* Checkout — pila las columnas */
    .woocommerce-checkout .col2-set,
    .woocommerce form.checkout_coupon,
    .woocommerce-checkout #customer_details,
    .woocommerce-checkout #order_review {
        float: none !important;
        width: 100% !important;
        display: block !important;
    }
    .woocommerce-checkout #order_review {
        margin-top: 20px;
    }
    /* Mi cuenta cajas */
    .woocommerce form.login,
    .woocommerce form.register {
        width: 100% !important;
        max-width: 100% !important;
        margin: 10px 0 !important;
        padding: 18px !important;
        box-sizing: border-box !important;
    }
    /* Cart totals separados */
    .woocommerce-cart .cart-collaterals,
    .woocommerce-cart .cart_totals {
        float: none !important;
        width: 100% !important;
    }
}

/* =============================================
   Carrito — total grande y claro
   ============================================= */
.woocommerce-cart .cart_totals h2 {
    color: #fff !important;
    font-size: 20px !important;
    font-weight: 700;
}
.woocommerce-cart .cart_totals table.shop_table {
    background: #1a1a1a !important;
    color: #fff !important;
    border-color: #3a3a3a !important;
}
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
    color: #fff !important;
    border-color: #3a3a3a !important;
    font-size: 16px !important;
}
.woocommerce-cart .cart_totals table.shop_table .order-total th,
.woocommerce-cart .cart_totals table.shop_table .order-total td {
    color: #fff !important;
    font-size: 20px !important;
    font-weight: 800 !important;
}
.woocommerce-cart .cart_totals table.shop_table tr.order-total .amount {
    color: #fff !important;
    font-size: 24px !important;
}
/* Subtotal del carrito: claro y destacado */
.woocommerce-cart .cart_totals table.shop_table tr.cart-subtotal th,
.woocommerce-cart .cart_totals table.shop_table tr.cart-subtotal td,
.woocommerce-checkout #order_review table.shop_table tr.cart-subtotal th,
.woocommerce-checkout #order_review table.shop_table tr.cart-subtotal td {
    color: #ffffff !important;
    font-size: 19px !important;
    font-weight: 800 !important;
}
.woocommerce-cart .cart_totals table.shop_table tr.cart-subtotal .amount,
.woocommerce-checkout #order_review table.shop_table tr.cart-subtotal .amount,
.woocommerce-cart .cart_totals table.shop_table tr.cart-subtotal .woocommerce-Price-amount,
.woocommerce-checkout #order_review table.shop_table tr.cart-subtotal .woocommerce-Price-amount {
    color: #ffffff !important;
    font-size: 19px !important;
    font-weight: 800 !important;
}
/* Subtotal del mini-carrito de Avada (icono de la cabecera) */
.woocommerce-mini-cart__total,
.woocommerce-mini-cart .total,
.avada-mini-cart .cart_subtotal,
.fusion-widget-cart .cart_subtotal,
#fusion-cart-subtotal,
.fusion-cart-subtotal,
.mini-cart .cart-subtotal,
.minicart-subtotal,
.widget_shopping_cart_content .total {
    color: #ffffff !important;
}
.woocommerce-mini-cart__total .amount,
.avada-mini-cart .cart_subtotal .amount,
.fusion-widget-cart .cart_subtotal .amount,
.mini-cart .cart-subtotal .amount,
.widget_shopping_cart_content .total .amount {
    color: #ffffff !important;
    font-weight: 800 !important;
}

/* =============================================
   Checkout — apartado de pago y factura
   ============================================= */
.woocommerce-checkout #payment h3,
.woocommerce-checkout #payment_method_heading,
.woocommerce-checkout .woocommerce-checkout-payment h3 {
    color: #ffffff !important;
    font-size: 20px !important;
    font-weight: 700 !important;
}
.woocommerce-checkout #payment ul.wc_payment_methods,
.woocommerce-checkout #payment .wc_payment_methods {
    padding: 14px !important;
    background: transparent !important;
}
.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method,
.woocommerce-checkout #payment .wc_payment_methods li.wc_payment_method {
    border-bottom: 1px solid #3a3a3a;
    padding: 10px 0;
}
.woocommerce-checkout #payment ul.wc_payment_methods li label,
.woocommerce-checkout #payment .wc_payment_methods li label {
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}
.woocommerce-checkout #payment .payment_box p,
.woocommerce-checkout #payment div.payment_box {
    color: #cccccc !important;
}
.woocommerce-checkout #payment .payment_box {
    background: rgba(255, 255, 255, 0.06) !important;
}
.woocommerce-checkout #payment div.payment_box::before {
    border-bottom-color: rgba(255, 255, 255, 0.06) !important;
}
/* Casilla "Quiero una factura a mi nombre" y campo NIF */
.woocommerce-checkout .ydm-invoice-fields {
    margin-top: 16px;
    padding: 14px 16px;
    border: 1px solid #3a3a3a;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.03);
}
.woocommerce-checkout .ydm-invoice-fields .form-row {
    margin-bottom: 6px;
}
.woocommerce-checkout .ydm-invoice-fields label {
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}
.woocommerce-checkout .ydm-invoice-fields input:not([type="checkbox"]) {
    background: #1a1a1a !important;
    border-color: #3a3a3a !important;
    color: #ffffff !important;
}
.woocommerce-checkout .ydm-invoice-fields input[type="checkbox"] {
    border-color: #3a3a3a !important;
}
.woocommerce-checkout .ydm-invoice-fields .woocommerce-input-wrapper {
    display: block;
}
.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
.woocommerce-cart .cart_totals .woocommerce-shipping-calculator,
.woocommerce-cart .cart_totals .shipping-calculator-button {
    color: #ccc !important;
}
.woocommerce-cart .cart_totals .woocommerce-shipping-methods li label {
    color: #fff !important;
}
.woocommerce-cart .cart_totals .shipping-calculator-form input,
.woocommerce-cart .cart_totals .shipping-calculator-form select {
    color: #fff !important;
    background: #222 !important;
    border-color: #3a3a3a !important;
}

/* Ocultar el botón "Calcular envío" del carrito (a prueba de todo) */
.woocommerce-cart .cart_totals .shipping-calculator-button,
.woocommerce-cart .cart_totals .woocommerce-shipping-calculator,
.woocommerce-cart .cart_totals .shipping-calculator-form,
.woocommerce-cart .cart-collaterals .cart_totals .shipping-calculator-form,
.woocommerce-cart .shipping-calculator-button,
.woocommerce-cart .woocommerce-shipping-calculator,
.woocommerce-cart .shipping-calculator-form,
.woocommerce-cart tr.woocommerce-shipping-totals.shipping .shipping-calculator-button,
.woocommerce-cart tr.woocommerce-shipping-totals.shipping .woocommerce-shipping-calculator {
    display: none !important;
    visibility: hidden !important;
}
/* Mostrar la tarifa de envío ya calculada, en vez del botón */
.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
.woocommerce-cart tr.woocommerce-shipping-totals .woocommerce-shipping-destination {
    display: block !important;
    visibility: visible !important;
}

/* =============================================
   Ocultar el botón "Actualizar carrito"
   (solo se deja "Finalizar compra")
   ============================================= */
.woocommerce-cart button[name="update_cart"],
.woocommerce-cart .cart .actions .button[name="update_cart"],
.woocommerce-cart .woocommerce-cart-form__contents .actions .button[name="update_cart"] {
    display: none !important;
}
/* =============================================
   Código promocional — acomodado y visible
   ============================================= */
.woocommerce-cart .coupon {
    display: flex !important;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    background: #161616;
    border: 1px dashed #3a3a3a;
    border-radius: 10px;
    padding: 16px;
}
.woocommerce-cart .coupon label {
    flex: 1 1 100%;
    text-align: center;
    color: #fff !important;
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 2px;
}
.woocommerce-cart .coupon input.input-text {
    flex: 1 1 100%;
    min-width: 0;
    padding: 13px !important;
    border-radius: 8px !important;
    background: #1f1f1f !important;
    color: #fff !important;
    border: 1px solid #3a3a3a !important;
    font-size: 14px !important;
    text-align: center;
    box-sizing: border-box !important;
}
.woocommerce-cart .coupon .button {
    width: 100%;
    padding: 12px !important;
    background: #918364 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 700;
}
/* =============================================
   Cupón reestructurado (tema hijo cart.php)
   Campo y botón "Aplicar" separados y claros
   ============================================= */
.woocommerce-cart .coupon.ydm-coupon .ydm-coupon-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: stretch;
    width: 100%;
    margin-top: 4px;
}
.woocommerce-cart .coupon.ydm-coupon .ydm-coupon-row input.input-text {
    flex: 1 1 100%;
    min-width: 0;
    display: block;
    width: 100%;
    padding: 13px !important;
    border-radius: 8px !important;
    background: #1f1f1f !important;
    color: #fff !important;
    border: 1px solid #3a3a3a !important;
    font-size: 14px !important;
    text-align: center;
    box-sizing: border-box !important;
}
.woocommerce-cart .coupon.ydm-coupon .ydm-coupon-row .button.ydm-coupon-btn {
    flex: 1 1 100%;
    display: block;
    width: 100%;
    padding: 13px !important;
    background: #918364 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 700;
    font-size: 15px;
}
/* =============================================
   Cupón de Avada (wc-cart-collaterals.php tema hijo)
   Campo y botón "Aplicar" apilados y claros (móvil)
   ============================================= */
.woocommerce-cart .coupon.ydm-avada-coupon {
    background: #161616;
    border: 1px dashed #3a3a3a;
    border-radius: 10px;
    padding: 16px;
    margin-bottom: 18px;
}
.woocommerce-cart .coupon.ydm-avada-coupon h2 {
    color: #fff !important;
    font-size: 15px;
    font-weight: 700;
    margin: 0 0 12px 0;
    text-align: center;
}
.woocommerce-cart .coupon.ydm-avada-coupon .avada-coupon-fields.ydm-coupon-row {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 10px;
    align-items: stretch;
    width: 100%;
}
.woocommerce-cart .coupon.ydm-avada-coupon .avada-coupon-fields.ydm-coupon-row label {
    color: #fff !important;
    font-size: 13px;
    font-weight: 600;
    text-align: center;
}
.woocommerce-cart .coupon.ydm-avada-coupon .avada-coupon-fields.ydm-coupon-row input.input-text {
    display: block;
    width: 100%;
    min-width: 0;
    padding: 13px !important;
    border-radius: 8px !important;
    background: #1f1f1f !important;
    color: #fff !important;
    border: 1px solid #3a3a3a !important;
    font-size: 14px !important;
    text-align: center;
    box-sizing: border-box !important;
    margin: 0 !important;
    height: auto !important;
}
.woocommerce-cart .coupon.ydm-avada-coupon .avada-coupon-fields.ydm-coupon-row .button.ydm-coupon-btn {
    display: block;
    width: 100%;
    padding: 13px !important;
    background: #918364 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 700;
    font-size: 15px;
    margin: 0 !important;
    height: auto !important;
    box-sizing: border-box !important;
}
/* Aviso "¿Tienes un código promocional?" */
.woocommerce-cart .woocommerce-form-coupon-toggle,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-message {
    background: #161616 !important;
    color: #fff !important;
    border-color: #3a3a3a !important;
    border-radius: 8px !important;
    padding: 14px !important;
}
.woocommerce-cart .woocommerce-info .showcoupon { color: #918364 !important; font-weight: 700; }
/* Formulario desplegable del cupón */
.woocommerce-cart .checkout_coupon,
.woocommerce-cart form.checkout_coupon {
    background: #161616 !important;
    border: 1px dashed #3a3a3a !important;
    border-radius: 10px;
    padding: 16px;
}
.woocommerce-cart .checkout_coupon .form-row input.input-text {
    width: 100% !important;
    padding: 13px !important;
    border-radius: 8px !important;
    background: #1f1f1f !important;
    color: #fff !important;
    border: 1px solid #3a3a3a !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
}

/* =============================================
   Botón Finalizar compra — grande y claro (móvil)
   ============================================= */
.woocommerce-cart .checkout-button,
.woocommerce-cart a.checkout-button,
.wc-proceed-to-checkout a.checkout-button {
    width: 100% !important;
    display: block !important;
    text-align: center !important;
    padding: 16px !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    border-radius: 10px !important;
    background: #918364 !important;
    color: #fff !important;
    border: none !important;
}

/* =============================================
   Total general — IVA incluido y destacado
   ============================================= */
.woocommerce-cart .cart_totals tr.order-total td::after {
    content: " (IVA incluido)";
    display: block;
    font-size: 12px;
    font-weight: 500;
    color: #918364;
    margin-top: 2px;
}
/* Si la fila de impuestos es visible, no duplicar */
.woocommerce-cart .cart_totals tr.tax-rate td .amount { color: #ccc !important; }

/* =============================================
   Producto personalizado (Fancy Product Designer)
   Con el modo LIGHTBOX NATIVO de FPD activado en el
   panel, el diseñador se abre en un popup y añade
   al carrito dentro de él. Aquí solo estilizamos el
   botón de personalización de FPD y aseguramos que
   el popup quede por encima del menú fijo de 4
   iconos en móvil.
   ============================================= */

/* 1) Botón de personalización de FPD: bonito y visible.
      (Es el <a> que FPD genera: #fpd-start-customizing-button) */
.single-product #fpd-start-customizing-button,
a#fpd-start-customizing-button {
    display: inline-block !important;
    visibility: visible !important;
    background: #918364 !important;
    color: #fff !important;
    border: none !important;
    padding: 16px 34px !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    border-radius: 10px !important;
    text-align: center;
    text-decoration: none !important;
    cursor: pointer;
    width: auto !important;
    letter-spacing: 0;
}
.single-product #fpd-start-customizing-button:hover,
a#fpd-start-customizing-button:hover {
    background: #7a6d52 !important;
    color: #fff !important;
}

/* 2) Agrandar las flechas de cambiar de lado (vista) dentro del editor,
      y el texto "x/y" de vista actual. NO ocultamos el botón "Añadir al
      carrito": con el lightbox nativo, FPD lo gestiona y ocultarlo
      provocaría que al personalizar no se añada a la cesta. */
.fpd-container fpd-views-nav > .fpd-view-next,
.fpd-container fpd-views-nav > .fpd-view-prev {
    width: 48px !important;
    height: 48px !important;
    font-size: 28px !important;
}
.fpd-container fpd-views-nav > .fpd-view-locker {
    font-size: 28px !important;
}
.fpd-container fpd-views-nav > .fpd-show-views-grid > .fpd-icon-pages {
    font-size: 26px !important;
}
.fpd-container fpd-views-nav > .fpd-show-views-grid > .fpd-current-view {
    font-size: 22px !important;
}
/* Thumbnails de lados (si se usan) más grandes y con etiqueta clara */
.fpd-view-thumbnails-wrapper > .fpd-item {
    width: 140px !important;
    height: 140px !important;
}

/* 3) Popup de FPD y su caja siempre por encima del menú fijo de 4 iconos */
.fpd-modal-wrapper,
.fpd-product-designer-modal,
.mfp-container,
#fpd-lightbox,
.fpd-start-customizing-popup,
.fpd-modal-dialog {
    z-index: 2147483647 !important;
}
.mfp-bg,
.fpd-modal-backdrop {
    z-index: 2147483646 !important;
}

/* 4) Ocultar meta info de Avada en la ficha de producto
      (By YD Master / Published On / Categorías / Tags / Comentarios) */
.single-product .post-meta,
.single-product .fusion-meta-info,
.single-product .fusion-meta-tb,
.single-product .entry-meta,
.single-product .fusion-post-meta,
.single-product .product_meta,
.single-product .fusion-single-line-meta {
    display: none !important;
}
/* Fallback: ocultar cualquier meta con estas etiquetas en la ficha */
.single-product .fusion-meta-info-wrapper,
.single-product .about-this-product,
.single-product .single-navigation,
.single-product .post-content  .fusion-meta-info {
    display: none !important;
}

/* =============================================
   CARRITO EN MÓVIL — compacto (no tapa la pantalla)
   ============================================= */
@media (max-width: 767px) {

    /* Aviso "¿Tienes un código promocional?" compacto, una línea */
    .woocommerce-cart .woocommerce-form-coupon-toggle,
    .woocommerce-cart .woocommerce-info {
        padding: 8px 12px !important;
        font-size: 13px !important;
        line-height: 1.3 !important;
        margin-bottom: 10px !important;
    }

    /* Formulario del cupón: bloque simple y visible (campo + botón a ancho completo) */
    .woocommerce-cart .coupon {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 12px !important;
        margin-bottom: 10px !important;
        box-sizing: border-box !important;
    }
    .woocommerce-cart .coupon label {
        display: none !important;
    }
    .woocommerce-cart .coupon input.input-text,
    .woocommerce-cart .coupon input#coupon_code,
    .woocommerce-cart .coupon input[name="coupon_code"] {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        padding: 12px !important;
        margin: 0 0 8px 0 !important;
        font-size: 14px !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }
    .woocommerce-cart .coupon .button,
    .woocommerce-cart .coupon button[name="apply_coupon"] {
        display: block !important;
        width: 100% !important;
        padding: 12px !important;
        margin: 0 !important;
        white-space: normal !important;
        box-sizing: border-box !important;
    }

    /* Formulario desplegable alternativo del cupón: bloque simple */
    .woocommerce-cart .checkout_coupon {
        display: block !important;
        width: 100% !important;
        padding: 12px !important;
        margin: 10px 0 !important;
        box-sizing: border-box !important;
    }
    .woocommerce-cart form.checkout_coupon {
        display: block !important;
        width: 100% !important;
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
    }
    .woocommerce-cart .checkout_coupon .form-row {
        float: none !important;
        margin: 0 0 8px 0 !important;
        width: 100% !important;
    }
    .woocommerce-cart .checkout_coupon .form-row input.input-text {
        display: block !important;
        width: 100% !important;
        padding: 12px !important;
        font-size: 14px !important;
        box-sizing: border-box !important;
    }
    .woocommerce-cart .checkout_coupon .button {
        display: block !important;
        width: 100% !important;
        padding: 12px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    /* Tablas del carrito: evitar que salgan anchas/mal encajadas */
    .woocommerce table.shop_table {
        display: block !important;
        overflow-x: auto !important;
    }
    .woocommerce table.shop_table td,
    .woocommerce table.shop_table th {
        padding: 8px !important;
    }
    .cart_totals table.shop_table {
        table-layout: fixed !important;
        width: 100% !important;
    }
    .cart_totals table.shop_table td {
        word-break: break-word !important;
        font-size: 13px !important;
    }
    .cart_totals .order-total .amount {
        font-size: 16px !important;
    }
}

/* =============================================
   FPD: color de marca de los botones (dorado #918364)
   Reemplaza el color de acento por defecto de Fancy
   Product Designer (verde azulado / #2ecc71) por el
   dorado que se usa en el resto de botones de la web.
   ============================================= */
:root {
    --fpd-primary-color: #918364 !important;
    --fpd-secondary-color: #918364 !important;
    --fpd-btn-primary-color: #918364 !important;
    --fpd-btn-primary-text-color: #ffffff !important;
    --fpd-green-color: #918364 !important;
    --fpd-mainbar-nav-color: #918364 !important;
    --fpd-primary-fg-color: #fff !important;
    --fpd-secondary-fg-color: #fff !important;
}
/* Botones de accion del disenador: fondo dorado, texto blanco */
.fpd-container .fpd-btn-primary,
.fpd-container button.fpd-btn,
.fpd-container .fpd-button,
.fpd-container fpd-design fpd-button,
.fpd-container .fpd-toolbar button {
    background-color: #918364 !important;
    color: #fff !important;
    border-color: #918364 !important;
}
.fpd-container .fpd-btn-primary:hover,
.fpd-container button.fpd-btn:hover,
.fpd-container .fpd-button:hover,
.fpd-container fpd-design fpd-button:hover {
    background-color: #7a6d52 !important;
    color: #fff !important;
}
/* Eliminar el resplandor/glow verde si lo hubiera */
.fpd-container button:focus,
.fpd-container .fpd-btn:focus {
    box-shadow: none !important;
    outline: none !important;
}

/* =============================================
   CARRITO (pagina /cart) - vista movil y escritorio
   Forzar estructura limpia y legible.
   ============================================= */
.woocommerce-cart table.shop_table {
    border-collapse: collapse !important;
    width: 100% !important;
}
.woocommerce-cart table.shop_table tbody tr.cart_item {
    display: table-row !important;
}
.woocommerce-cart table.shop_table .product-name a {
    font-weight: 600 !important;
    color: #fff !important;
}
.woocommerce-cart table.shop_table .product-remove a {
    display: inline-block !important;
    background: none !important;
    border: none !important;
    color: #ff6b6b !important;
    font-size: 18px !important;
}
.woocommerce-cart table.shop_table .quantity .qty {
    width: 60px !important;
    padding: 8px !important;
    background: #1f1f1f !important;
    color: #fff !important;
    border: 1px solid #3a3a3a !important;
    text-align: center !important;
    border-radius: 6px !important;
}
.woocommerce-cart .cart_totals {
    width: 100% !important;
    float: none !important;
}
.woocommerce-cart .cart_totals table tr th,
.woocommerce-cart .cart_totals table tr td {
    text-align: left !important;
    padding: 10px 8px !important;
    font-size: 14px !important;
    vertical-align: middle !important;
}
.woocommerce-cart .cart-collaterals,
.woocommerce-cart .cart_totals,
.woocommerce-cart .cross-sells {
    float: none !important;
    width: 100% !important;
}
/* Quitar el botón "Actualizar carrito" de la cesta */
.woocommerce-cart button[name="update_cart"],
.woocommerce-cart .cart .actions .button[name="update_cart"],
.woocommerce-cart input[name="update_cart"],
.woocommerce-cart .fusion-cart-table button[name="update_cart"],
.woocommerce-cart .actions button[name="update_cart"],
.woocommerce-cart tr.avada-cart-actions button[name="update_cart"],
.woocommerce-cart form button[value="Update cart"],
.woocommerce-cart form button[value="Actualizar carrito"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Vista movil del carrito: que cada producto forme una ficha clara */
@media (max-width: 767px) {
    .woocommerce-cart table.shop_table thead {
        display: none !important;
    }
    .woocommerce-cart table.shop_table,
    .woocommerce-cart table.shop_table tbody,
    .woocommerce-cart table.shop_table tr,
    .woocommerce-cart table.shop_table td {
        display: block !important;
        width: 100% !important;
    }
    .woocommerce-cart table.shop_table tr.cart_item {
        margin-bottom: 14px !important;
        border: 1px solid #2a2a2a !important;
        border-radius: 8px !important;
        padding: 8px !important;
        background: #161616 !important;
    }
    .woocommerce-cart table.shop_table td {
        border: none !important;
        padding: 6px 4px !important;
        text-align: left !important;
        font-size: 13px !important;
    }
    .woocommerce-cart table.shop_table td.product-thumbnail {
        width: 80px !important;
        display: inline-block !important;
        vertical-align: middle !important;
    }
    .woocommerce-cart table.shop_table td.product-thumbnail img {
        width: 70px !important;
        height: auto !important;
        border-radius: 6px !important;
    }
    .woocommerce-cart table.shop_table td.product-name {
        width: calc(100% - 90px) !important;
        display: inline-block !important;
        vertical-align: middle !important;
        font-size: 14px !important;
    }
    .woocommerce-cart table.shop_table td.product-price,
    .woocommerce-cart table.shop_table td.product-subtotal {
        display: inline-block !important;
        width: 48% !important;
        margin-top: 6px !important;
    }
    .woocommerce-cart table.shop_table td.product-quantity,
    .woocommerce-cart table.shop_table td.product-remove {
        display: inline-block !important;
        vertical-align: middle !important;
    }
    .woocommerce-cart .cart_totals {
        margin-top: 10px !important;
    }
    /* Reforzar: ocultar SIEMPRE el botón "Actualizar carrito" en móvil */
    .woocommerce-cart button[name="update_cart"],
    .woocommerce-cart input[name="update_cart"],
    .woocommerce-cart .actions button[name="update_cart"],
    .woocommerce-cart .actions input[name="update_cart"],
    .woocommerce-cart tr.avada-cart-actions .button[name="update_cart"] {
        display: none !important;
        visibility: hidden !important;
    }
}

/* =============================================
   Mi Cuenta — Login / Registro (form-login de WooCommerce)
   Apila las dos columnas (.u-columns) correctamente en móvil
   ============================================= */
@media (max-width: 768px) {
    .woocommerce-account .u-columns.col2-set {
        display: block !important;
        float: none !important;
        width: 100% !important;
    }
    .woocommerce-account .u-columns.col2-set .u-column1,
    .woocommerce-account .u-columns.col2-set .u-column2,
    .woocommerce-account .u-columns.col2-set .col-1,
    .woocommerce-account .u-columns.col2-set .col-2 {
        display: block !important;
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 18px 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }
    .woocommerce-account .u-columns.col2-set .u-column1 div,
    .woocommerce-account .u-columns.col2-set .u-column2 div {
        width: 100% !important;
    }
    .woocommerce-account .u-columns.col2-set form.login,
    .woocommerce-account .u-columns.col2-set form.register {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 18px !important;
        box-sizing: border-box !important;
    }
    .woocommerce-account .u-columns.col2-set h2 {
        font-size: 18px !important;
        margin-bottom: 12px !important;
    }
    .woocommerce-account .u-columns.col2-set .form-row {
        float: none !important;
        width: 100% !important;
        margin: 0 0 14px 0 !important;
    }
    .woocommerce-account .u-columns.col2-set .form-row input.input-text,
    .woocommerce-account .u-columns.col2-set .form-row input[type="email"],
    .woocommerce-account .u-columns.col2-set .form-row input[type="password"] {
        width: 100% !important;
        padding: 12px !important;
        font-size: 15px !important;
        box-sizing: border-box !important;
    }
}

/* =============================================
   Landscape (móvil en horizontal) — evita el layout descuadrado
   ============================================= */
@media (max-width: 900px) and (orientation: landscape) {
    /* Fijar altura: para que no queden secciones aplastadas */
    .fusion-layout-column.fusion_builder_column {
        width: 100% !important;
    }
    /* Carrito en landscape: apilado y legible */
    .woocommerce-cart table.shop_table,
    .woocommerce-cart table.shop_table tbody,
    .woocommerce-cart table.shop_table tr,
    .woocommerce-cart table.shop_table td {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .woocommerce-cart table.shop_table thead {
        display: none !important;
    }
    .woocommerce-cart table.shop_table tr.cart_item {
        border: 1px solid #2a2a2a !important;
        border-radius: 8px !important;
        padding: 8px !important;
        margin-bottom: 12px !important;
        background: #161616 !important;
    }
    .woocommerce-cart table.shop_table td {
        border: none !important;
        text-align: left !important;
        padding: 5px 4px !important;
    }
    .woocommerce-cart table.shop_table td.product-thumbnail {
        display: inline-block !important;
        width: 70px !important;
        vertical-align: middle !important;
    }
    .woocommerce-cart table.shop_table td.product-thumbnail img {
        width: 64px !important;
        height: auto !important;
    }
    .woocommerce-cart table.shop_table td.product-name {
        display: inline-block !important;
        width: calc(100% - 80px) !important;
        vertical-align: middle !important;
        font-size: 13px !important;
    }
    .woocommerce-cart table.shop_table td.product-price,
    .woocommerce-cart table.shop_table td.product-subtotal {
        display: inline-block !important;
        width: 48% !important;
        margin-top: 5px !important;
    }
    /* Todos los formularios (login, checkout) apilados en landscape bajo */
    .woocommerce-account .u-columns.col2-set,
    .woocommerce-account .u-columns.col2-set .u-column1,
    .woocommerce-account .u-columns.col2-set .u-column2,
    .woocommerce-account .u-columns.col2-set .col-1,
    .woocommerce-account .u-columns.col2-set .col-2 {
        display: block !important;
        float: none !important;
        width: 100% !important;
        margin: 0 0 14px 0 !important;
    }
    .woocommerce form .form-row-first,
    .woocommerce form .form-row-last,
    .woocommerce form .form-row-wide {
        float: none !important;
        width: 100% !important;
    }
    /* El grid de categorías de la home en 3 columnas en landscape */
    .ydm-cat-grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 10px !important;
    }
    .ydm-cat-card .ydm-cat-img img {
        width: 100% !important;
        height: auto !important;
    }
    body {
        overflow-x: hidden !important;
    }
    #main,
    .fusion-row,
    .fusion-fullwidth,
    .fusion-layout-column,
    .fusion-column-wrapper {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* =============================================
   MENÚ MÓVIL YDM — categorías y subcategorías desplegables
   Se muestra en móvil, tablet y escritorio (botón hamburguesa).
   ============================================= */

/* Ocultar por defecto hasta que un media/apartado lo muestre */
.ydm-mmenu-btn {
    display: none;
}

/* =============================================
   MENÚ HAMBURGUESA — panel desplazable + acordeón
   (funciona igual en móvil, tablet y escritorio)
   ============================================= */

/* En el móvil, además ocultar el icono hamburguesa nativo de Avada */
.fusion-mobile-menu-icons a.awb-icon-bars,
.fusion-flyout-menu-toggle,
.fusion-mobile-menu-toggle,
.fusion-mobile-nav-holder.fusion-mobile-menu-design-modern .fusion-menu {
    display: none !important;
}

/* Botón hamburguesa propio, fijo arriba y sin que se mueva */
.ydm-mmenu-btn {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    position: fixed !important;
    top: 12px !important;
    left: 12px !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 99998;
    transform: none !important;
    width: auto;
    height: 44px;
    padding: 0 12px;
    background: #161616;
    border: 1px solid #3a3a3a;
    border-radius: 10px;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}
.ydm-mmenu-label {
    display: inline-block;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}
.ydm-mmenu-burger {
    display: inline-flex;
    flex-direction: column;
    gap: 5px;
}
.ydm-mmenu-burger span {
    display: block;
    width: 22px;
    height: 2px;
    background: #fff;
    border-radius: 2px;
}

/* En escritorio, apenas separarse de un posible logo fijo superior */
@media (min-width: 901px) {
    .ydm-mmenu-btn {
        top: 18px !important;
        left: 18px !important;
    }
}

/* Capa de oscurecimiento */
.ydm-mmenu {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    pointer-events: none;
}
.ydm-mmenu.ydm-open {
    display: block;
    pointer-events: auto;
}
.ydm-mmenu-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    opacity: 0;
    transition: opacity 0.25s ease;
}
.ydm-mmenu.ydm-open .ydm-mmenu-backdrop {
    opacity: 1;
}

/* Panel lateral izquierdo */
.ydm-mmenu-panel {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(320px, 85vw);
    background: #141414;
    color: #fff;
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.5);
    display: flex;
    flex-direction: column;
    transform: translateX(-105%);
    transition: transform 0.28s ease;
    overflow: hidden;
}
.ydm-mmenu.ydm-open .ydm-mmenu-panel {
    transform: translateX(0);
}

.ydm-mmenu-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px;
    background: #0f0f0f;
    border-bottom: 1px solid #2a2a2a;
}
.ydm-mmenu-title {
    font-size: 17px;
    font-weight: 700;
    color: #918364;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.ydm-mmenu-close {
    background: none;
    border: none;
    color: #fff;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
    padding: 0 4px;
}

.ydm-mmenu-body {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 20px;
}

.ydm-mmenu-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 15px 18px;
    font-size: 15px;
    color: #fff;
    text-decoration: none;
    background: none;
    border: none;
    border-bottom: 1px solid #222;
    text-align: left;
    gap: 10px;
}

/* Categoría principal o enlace de nivel superior */
.ydm-mmenu-top {
    font-weight: 700;
    color: #e0e0e0;
    border-top: 1px solid #2a2a2a;
}

/* Padres (talleres/categorías) — desplegables.
   Tonos dorados para diferenciarlos claramente de las subcategorías. */
.ydm-mmenu-parent {
    font-weight: 800;
    color: #f0d8a8;
    background: linear-gradient(90deg, rgba(145,131,100,0.28), rgba(145,131,100,0.10));
    justify-content: flex-start;
    padding: 13px 16px;
    border-left: 3px solid #918364;
    border-bottom: 1px solid #2a2a2a;
    letter-spacing: 0.3px;
}
.ydm-mmenu-parent:hover {
    color: #ffe8bd;
    background: linear-gradient(90deg, rgba(145,131,100,0.40), rgba(145,131,100,0.16));
}
.ydm-mmenu-parent .ydm-mmenu-parent-txt {
    text-transform: uppercase;
    font-size: 14px;
}
.ydm-mmenu-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: rgba(145, 131, 100, 0.15);
    color: #918364;
    flex: 0 0 auto;
}
.ydm-mmenu-icon svg {
    width: 20px;
    height: 20px;
}
.ydm-mmenu-parent-txt {
    flex: 1 1 auto;
    min-width: 0;
}
.ydm-mmenu-chevron {
    width: 8px;
    height: 8px;
    border-right: 2px solid #918364;
    border-bottom: 2px solid #918364;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
    flex: 0 0 auto;
    margin-left: 4px;
}
.ydm-mmenu-group.ydm-open .ydm-mmenu-chevron {
    transform: rotate(225deg);
}

/* Subcategorías (acordeón) */
.ydm-mmenu-children {
    display: none;
    background: #1d1d1d;
}
.ydm-mmenu-group.ydm-open .ydm-mmenu-children {
    display: block;
}

/* Subcategoría con miniatura — más pequeñas, indentadas y con marcador
   lateral para diferenciarlas de las categorías (padres). */
.ydm-mmenu-child {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 8px 14px 8px 26px;
    font-size: 13px;
    color: #cfcfcf;
    font-weight: 500;
    border-top: 1px solid #242424;
    border-left: 1px solid #3a3a3a;
    margin-left: 14px;
    margin-right: 10px;
    gap: 10px;
    background: #202020;
}
.ydm-mmenu-child:hover {
    color: #f0d8a8;
    background: #2a2a2a;
    border-left-color: #918364;
}
.ydm-mmenu-child .ydm-mmenu-thumb {
    width: 26px;
    height: 26px;
}
.ydm-mmenu-thumb {
    width: 32px;
    height: 32px;
    object-fit: cover;
    border-radius: 6px;
    flex: 0 0 auto;
    background: #2a2a2a;
}
.ydm-mmenu-empty {
    display: block;
    padding: 12px 24px;
    font-size: 13px;
    color: #888;
}

/* =============================================
   QUITAR EL "MARCO" / LAYOUT BOXED DE AVADA
   Cuando Avada está en modo "Boxed", toda la página
   va dentro de una caja con borde/sombra rodeada del
   color de fondo, en todos los dispositivos. Lo
   forzamos a ancho completo (WIDE) para que el
   contenido ocupe toda la pantalla, con o sin la
   opción activada en el panel de Avada.
   ============================================= */
body.fusion-body,
html.fusion-html-body,
body #wrapper,
.fusion-body #wrapper,
body #main,
.fusion-body #main,
#wrapper,
#main,
.fusion-body .fusion-boxed-shadow,
.fusion-boxed-shadow {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-shadow: none !important;
    border: none !important;
}

/* =============================================
   PÁGINA DE CATEGORÍA — banner y grid de productos
   ============================================= */

/* Banner con los productos de la categoría rotando */
.ydm-cat-banner {
    background: #141414;
    border: 1px solid #2a2a2a;
    border-radius: 12px;
    margin: 14px auto;
    max-width: 1200px;
    padding: 16px 18px 10px;
    overflow: hidden;
}
.ydm-cat-banner-title {
    text-align: center;
    color: #f0d8a8;
    font-size: 16px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 12px;
}
.ydm-cat-banner-card {
    flex: 0 0 calc((100% - 30px) / 4);
    min-width: 110px;
}

/* =============================================
   TIENDA PERSONALIZADA (v6.0.46)
   ============================================= */
.ydm-shop {
    max-width: 1600px;
    margin: 0 auto;
    padding: 24px 16px 40px;
    width: 100%;
    box-sizing: border-box;
}
.ydm-shop,
.ydm-shop * {
    box-sizing: border-box;
}
.ydm-shop-title {
    font-size: 28px;
    font-weight: 700;
    color: #e8e8e8;
    margin: 0 0 4px;
    text-align: center;
    letter-spacing: 1px;
}
.ydm-shop-sub {
    text-align: center;
    color: #9a9a9a;
    margin: 0 0 22px;
    font-size: 14px;
}
.ydm-talleres {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin: 0 0 26px;
    width: 100%;
}
.ydm-taller-card {
    position: relative;
    display: block;
    border-radius: 10px;
    overflow: hidden;
    background: #111;
    border: 1px solid #333;
    text-decoration: none !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
    min-width: 0;
}
.ydm-taller-card img {
    width: 100%;
    height: 150px;
    object-fit: cover;
    display: block;
}
.ydm-taller-card .ydm-taller-label {
    position: absolute;
    inset: auto 0 0 0;
    padding: 8px 10px;
    text-align: center;
    color: #fff;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.85));
}
.ydm-taller-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(145, 131, 100, 0.4);
}
.ydm-filters-toggle {
    display: none;
}
.ydm-shop-body {
    display: grid;
    grid-template-columns: 210px 1fr;
    gap: 20px;
    align-items: start;
    width: 100%;
    max-width: 100%;
}
.ydm-shop-aside {
    position: sticky;
    top: 20px;
    min-width: 0;
    max-width: 100%;
}
.ydm-shop-filters {
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: rgba(17, 17, 17, 0.8);
    border: 1px solid #333;
    border-radius: 10px;
    padding: 16px;
    margin: 0;
    width: 100%;
    max-width: 100%;
}
.ydm-filter-field {
    display: flex;
    flex-direction: column;
    gap: 3px;
    font-size: 11px;
    color: #aaa;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    min-width: 0;
    width: 100%;
}
.ydm-filter-field select {
    background: #222;
    color: #e8e8e8;
    border: 1px solid #444;
    border-radius: 6px;
    padding: 8px 10px;
    font-size: 13px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}
.ydm-filter-submit {
    background: #918364;
    color: #0b0b0b !important;
    border: none;
    border-radius: 6px;
    padding: 9px 18px;
    font-weight: 700;
    font-size: 13px;
    cursor: pointer;
    text-decoration: none !important;
}
.ydm-filter-submit:hover {
    background: #a89a74;
}
.ydm-filter-reset {
    background: transparent;
    color: #918364;
    border: 1px solid #918364;
    border-radius: 6px;
    padding: 8px 14px;
    font-size: 13px;
    text-decoration: none !important;
    display: block;
    text-align: center;
}
.ydm-shop-count {
    color: #aaa;
    font-size: 13px;
    margin: 0 0 14px;
    text-align: center;
}
.ydm-shop-main {
    min-width: 0;
    max-width: 100%;
    width: 100%;
}
/* Scroll NORMAL de pagina: los productos fluyen y la pagina baja,
   sin caja interna. La paginacion queda debajo. */
.ydm-shop-products {
    overflow: visible;
    max-width: 100%;
    min-width: 0;
}
.ydm-shop .ydm-shop-products ul.products,
.ydm-shop .ydm-shop-products ul.products.products-4,
.ydm-shop .ydm-shop-products ul.products.columns-4 {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
    float: none !important;
    width: 100%;
    min-width: 0;
    overflow: visible;
}
.ydm-shop .ydm-shop-products ul.products li.product {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
    overflow: visible !important;
}
.ydm-shop .ydm-shop-products ul.products li.product .fusion-product-wrapper {
    max-width: 100% !important;
    width: 100% !important;
    background: #161616;
    border: 1px solid #2a2a2a;
    border-radius: 10px;
    overflow: hidden;
    display: flex !important;
    flex-direction: column;
}
.ydm-shop .ydm-shop-products ul.products li.product .product-images {
    display: block !important;
    max-width: 100% !important;
    width: 100% !important;
}
/* Tarjeta cuadrada: foto mas ancha que alta (4:3) + bloque inferior
   compacto (nombre, precio, boton), asi la tarjeta completa queda con
   proporcion casi cuadrada en vez de rectangular/estrecha. */
.ydm-shop .ydm-shop-products ul.products li.product .product-images .featured-image {
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
    aspect-ratio: 4 / 3;
    min-height: 0;
    overflow: hidden;
    background: #111;
}
.ydm-shop .ydm-shop-products ul.products li.product .product-images .featured-image img {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    display: block;
    object-fit: cover;
    object-position: center;
}
.ydm-shop .ydm-shop-products ul.products li.product .product-images .featured-image .hover-image {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}
/* ------- Tarjeta compacta: nombre + precio visible + botones ------- */
.ydm-shop .ydm-shop-products ul.products li.product .fusion-product-content {
    padding: 10px 12px 12px;
}
.ydm-shop .ydm-shop-products ul.products li.product .product-title {
    font-size: 15px;
    line-height: 1.25;
    margin: 0 0 4px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 0;
    font-weight: 700;
}
.ydm-shop .ydm-shop-products ul.products li.product .product-title a {
    color: #ffffff !important;
}
.ydm-shop .ydm-shop-products ul.products li.product .product-title a:hover {
    color: #f0d8a8 !important;
}
.ydm-shop .ydm-shop-products ul.products li.product .fusion-price-rating {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    margin: 0 0 6px;
}
.ydm-shop .ydm-shop-products ul.products li.product .fusion-price-rating .price,
.ydm-shop .ydm-shop-products ul.products li.product .fusion-price-rating .price .amount,
.ydm-shop .ydm-shop-products ul.products li.product .fusion-price-rating .price .woocommerce-Price-amount,
.ydm-shop .ydm-shop-products ul.products li.product .fusion-price-rating .price .woocommerce-Price-currencySymbol {
    color: #f0d8a8 !important;
    font-size: 17px;
    font-weight: 700;
}
.ydm-shop .ydm-shop-products ul.products li.product .fusion-price-rating .star-rating {
    display: none !important;
}
.ydm-shop .ydm-shop-products ul.products li.product .product-buttons {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    flex: 1 0 auto;
    min-height: 0;
    margin: 6px 0 0 !important;
}
.ydm-shop .ydm-shop-products ul.products li.product .fusion-content-sep {
    display: none !important;
}
.ydm-shop .ydm-shop-products ul.products li.product .product-buttons-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    width: 100%;
}
.ydm-shop .ydm-shop-products ul.products li.product .product-buttons-container .button,
.ydm-shop .ydm-shop-products ul.products li.product .product-buttons-container a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    margin: 0 !important;
    padding: 10px 12px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    white-space: nowrap;
    color: #0b0b0b !important;
    background: #918364;
    border: 1px solid #918364;
    text-decoration: none !important;
    box-sizing: border-box;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* FALLBACK SIN JS: si el producto es personalizable (FPD), el boton
   "Personalizar" aparece primero en el DOM, asi que con el selector
   "sibling" ocultamos "Comprar ahora" y "Anadir a la cesta" aunque el
   JS aun no haya corrido. En productos NO personalizables no hay
   boton fpd, por lo que se ven los 2 botones. */
.ydm-shop .ydm-shop-products ul.products li.product .product-buttons-container a.fpd-catalog-customize ~ a.show_details_button,
.ydm-shop .ydm-shop-products ul.products li.product .product-buttons-container a.fpd-catalog-customize ~ a.add_to_cart_button {
    display: none !important;
}
.ydm-shop .ydm-shop-products ul.products li.product .product-buttons-container a.show_details_button {
    background: rgba(17, 17, 17, 0.6) !important;
    border: 1px solid #555 !important;
    color: #e8e8e8 !important;
}
.ydm-shop .ydm-shop-products ul.products li.product .product-buttons-container a.fpd-catalog-customize,
.ydm-shop .ydm-shop-products ul.products li.product .product-buttons-container a.add_to_cart_button,
.ydm-shop .ydm-shop-products ul.products li.product .product-buttons-container a.product_type_variable {
    background: #918364 !important;
    border: 1px solid #918364 !important;
    color: #0b0b0b !important;
}
.ydm-shop .ydm-shop-products ul.products li.product .product-buttons-container .fpd-catalog-customize img,
.ydm-shop .ydm-shop-products ul.products li.product .product-buttons-container .fpd-catalog-customize i,
.ydm-shop .ydm-shop-products ul.products li.product .product-buttons-container .fpd-catalog-customize:before,
.ydm-shop .ydm-shop-products ul.products li.product .product-buttons-container .fpd-catalog-customize:after {
    display: none !important;
}
/* Iconos pseudo-elemento (hamburguesa de 3 lineas, etc.) en TODOS los
   botones de la tarjeta: los anula Avada con :before/:after. */
.ydm-shop .ydm-shop-products ul.products li.product .product-buttons-container a:before,
.ydm-shop .ydm-shop-products ul.products li.product .product-buttons-container a:after,
.ydm-shop .ydm-shop-products ul.products li.product .product-buttons-container a.button:before,
.ydm-shop .ydm-shop-products ul.products li.product .product-buttons-container a.button:after,
.ydm-shop .ydm-shop-products ul.products li.product .product-buttons-container a.show_details_button:before,
.ydm-shop .ydm-shop-products ul.products li.product .product-buttons-container a.show_details_button:after,
.ydm-shop .ydm-shop-products ul.products li.product .product-buttons-container a.add_to_cart_button:before,
.ydm-shop .ydm-shop-products ul.products li.product .product-buttons-container a.add_to_cart_button:after {
    display: none !important;
}
.ydm-shop .ydm-shop-products ul.products li.product .product-buttons-container a.show_details_button i,
.ydm-shop .ydm-shop-products ul.products li.product .product-buttons-container a.show_details_button img,
.ydm-shop .ydm-shop-products ul.products li.product .product-buttons-container a.show_details_button span,
.ydm-shop .ydm-shop-products ul.products li.product .product-buttons-container a.add_to_cart_button i,
.ydm-shop .ydm-shop-products ul.products li.product .product-buttons-container a.add_to_cart_button img {
    display: none !important;
}
.ydm-shop .ydm-shop-products ul.products li.product .product-buttons-container a.added_to_cart {
    display: none !important;
}
.ydm-shop-pagination {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-top: 22px;
    flex-wrap: wrap;
}
.ydm-shop-pagination a,
.ydm-shop-pagination span {
    display: inline-block;
    min-width: 36px;
    padding: 7px 10px;
    text-align: center;
    border-radius: 6px;
    background: #1c1c1c;
    color: #e8e8e8;
    border: 1px solid #333;
    font-size: 13px;
}
.ydm-shop-pagination .current {
    background: #918364;
    color: #0b0b0b;
    font-weight: 700;
}
.ydm-shop-pagination a:hover {
    border-color: #918364;
    color: #fff;
}
.ydm-shop-empty {
    text-align: center;
    color: #aaa;
    padding: 30px 10px;
    border: 1px dashed #444;
    border-radius: 8px;
}
@media (max-width: 767px) {
    .ydm-shop {
        padding: 12px 3mm 32px;
    }
    .ydm-talleres {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }
    .ydm-taller-card img {
        height: 110px;
    }
    .ydm-shop-body {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .ydm-filters-toggle {
        display: block;
        width: 100%;
        margin: 0 0 14px;
        padding: 12px 14px;
        background: #918364;
        color: #0b0b0b !important;
        border: 1px solid #918364;
        border-radius: 8px;
        font-size: 14px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        text-align: center;
        cursor: pointer;
    }
    .ydm-shop-aside {
        position: static;
        top: auto;
        display: none;
    }
    .ydm-shop.ydm-filters-open .ydm-shop-aside {
        display: block;
    }
    .ydm-shop-filters {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    .ydm-shop-filters .ydm-filter-submit,
    .ydm-shop-filters .ydm-filter-reset {
        grid-column: 1 / -1;
    }
    .ydm-shop .ydm-shop-products ul.products,
    .ydm-shop .ydm-shop-products ul.products.products-4,
    .ydm-shop .ydm-shop-products ul.products.columns-4 {
        grid-template-columns: repeat(2, 1fr);
        gap: 0;
    }
    .ydm-shop .ydm-shop-products,
    .ydm-shop .ydm-shop-products ul.products {
        width: 100%;
        max-width: 100%;
        margin: 0;
    }
    .ydm-shop .ydm-shop-products ul.products li.product {
        margin: 0 !important;
    }
    .ydm-shop .ydm-shop-products ul.products li.product .fusion-product-wrapper {
        border-radius: 0;
    }
    .ydm-shop .ydm-shop-products ul.products li.product .product-images .featured-image {
        aspect-ratio: 16 / 10;
    }
    .ydm-shop .ydm-shop-products ul.products li.product .product-title {
        font-size: 15px;
    }
    .ydm-shop .ydm-shop-products ul.products li.product .fusion-price-rating .price,
    .ydm-shop .ydm-shop-products ul.products li.product .fusion-price-rating .price .amount,
    .ydm-shop .ydm-shop-products ul.products li.product .fusion-price-rating .price .woocommerce-Price-amount,
    .ydm-shop .ydm-shop-products ul.products li.product .fusion-price-rating .price .woocommerce-Price-currencySymbol {
        font-size: 16px;
    }
    .ydm-shop .ydm-shop-products ul.products li.product .product-buttons {
        min-height: 0;
    }
    .ydm-shop .ydm-shop-products ul.products li.product .product-buttons-container .button,
    .ydm-shop .ydm-shop-products ul.products li.product .product-buttons-container a {
        min-height: 48px;
        padding: 11px 8px;
        font-size: 14px;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }
}

/* ========================================
Flecha "volver arriba" (Avada to-top) — OCULTA en web y móvil
======================================== */
.to-top-container {
    display: none !important;
    visibility: hidden !important;
}

/* ========================================
Ficha de producto — stock por color/modelo y lote
======================================== */
.ydm-stock {
    font-weight: 700 !important;
    letter-spacing: 0.3px;
}
.ydm-stock.in-stock {
    color: #8fbc6f !important;
    font-size: 15px;
}
.ydm-stock.out-of-stock {
    color: #e08a3c !important;
    font-size: 15px;
}
.woocommerce-variation-availability.ydm-owned-stock {
    margin: 6px 0 10px;
}
.woocommerce-variation-availability.ydm-owned-stock p {
    margin: 0;
}
/* Lote agotado: aviso bajo el título y botón atenuado */
.ydm-lote-fields h4 {
    color: #a8977a;
}
body.woocommerce div.product p.stock.out-of-stock,
body.woocommerce-page div.product p.stock.out-of-stock {
    color: #e08a3c !important;
}
body.single-product .ydm-lote-out-msg {
    padding: 12px 16px;
    border: 1px dashed #e08a3c;
    border-radius: 8px;
    color: #e08a3c;
    font-weight: 700;
    margin-bottom: 14px;
    background: rgba(224, 138, 60, 0.06);
}
.single_add_to_cart_button:disabled {
    opacity: 0.45 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}

/* =============================================
   POPUP DE ACCESO (icono Mi cuenta)
   ============================================= */
.ydm-login-overlay {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(15, 13, 10, 0.62);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.22s ease, visibility 0.22s ease;
}
.ydm-login-overlay.ydm-open {
    opacity: 1;
    visibility: visible;
}
.ydm-login-box {
    position: relative;
    width: 100%;
    max-width: 400px;
    max-height: 92vh;
    overflow-y: auto;
    background: #fff;
    color: #2b2723;
    border-radius: 14px;
    padding: 34px 30px 26px;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.35);
    transform: translateY(12px) scale(0.98);
    transition: transform 0.22s ease;
}
.ydm-login-overlay.ydm-open .ydm-login-box {
    transform: translateY(0) scale(1);
}
.ydm-login-close {
    position: absolute;
    top: 12px;
    right: 14px;
    width: 34px;
    height: 34px;
    border: 0;
    background: transparent;
    color: #9a938a;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
    border-radius: 50%;
    transition: color 0.2s, background 0.2s;
}
.ydm-login-close:hover {
    color: #918364;
    background: rgba(145, 131, 100, 0.12);
}
.ydm-login-brand {
    font-size: 11px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #918364;
    text-align: center;
    margin-bottom: 14px;
}
.ydm-login-welcome {
    font-size: 24px;
    font-weight: 600;
    text-align: center;
    margin: 0 0 8px;
    line-height: 1.2;
    color: #1f1c18;
}
.ydm-login-sub {
    font-size: 13px;
    color: #7c766c;
    text-align: center;
    margin: 0 0 22px;
    line-height: 1.5;
}
.ydm-login-field {
    display: block;
    margin-bottom: 14px;
}
.ydm-login-field > span {
    display: block;
    font-size: 11px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #8a8478;
    margin-bottom: 6px;
}
.ydm-login-field input {
    width: 100%;
    padding: 12px 14px;
    font-size: 14px;
    border: 1px solid #ddd8d0;
    border-radius: 8px;
    background: #faf9f7;
    color: #2b2723;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
}
.ydm-login-field input:focus {
    outline: none;
    border-color: #918364;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(145, 131, 100, 0.16);
}
.ydm-login-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    margin: 4px 0 18px;
    font-size: 12px;
}
.ydm-remember {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #7c766c;
    cursor: pointer;
}
.ydm-remember input {
    width: auto;
    margin: 0;
}
.ydm-login-lost {
    color: #918364;
    text-decoration: none;
}
.ydm-login-lost:hover {
    text-decoration: underline;
}
.ydm-login-submit {
    width: 100%;
    padding: 13px 16px;
    border: 0;
    border-radius: 8px;
    background: #918364;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.2s;
}
.ydm-login-submit:hover {
    background: #7a6d52;
}
.ydm-login-register {
    text-align: center;
    font-size: 13px;
    color: #7c766c;
    margin: 20px 0 0;
}
.ydm-login-register a {
    color: #918364;
    font-weight: 600;
    text-decoration: none;
}
.ydm-login-register a:hover {
    text-decoration: underline;
}
body.ydm-login-open {
    overflow: hidden;
}


/* v6.0.51: evitar el rectangulo vacio al cambiar variaciones */
body.single-product .woocommerce-variation-availability.ydm-owned-stock {
    display: block;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    transition: none !important;
}
body.single-product .woocommerce-variation-availability.ydm-owned-stock:empty {
    display: none !important;
}
body.single-product .woocommerce-variation-availability.ydm-owned-stock p {
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}
body.single-product .ydm-stock-checking {
    color: #c8c0ad !important;
    font-weight: 500 !important;
}


/* v6.0.52: sin rectángulo de carga en el stock; mantener el área transparente */
body.single-product .woocommerce-variation-availability.ydm-owned-stock,
body.single-product .woocommerce-variation-availability.ydm-owned-stock * {
    background-color: transparent !important;
    box-shadow: none !important;
}
body.single-product .woocommerce-variation-availability.ydm-owned-stock.ydm-stock-checking,
body.single-product .woocommerce-variation-availability.ydm-owned-stock .ydm-stock-checking {
    display: none !important;
}
body.single-product .woocommerce-variation-availability.ydm-owned-stock:empty {
    display: none !important;
}

/* v6.0.52: mostrar de inmediato el contenido principal de la ficha.
   Evita animaciones/estados de entrada de Avada en título, resumen y variaciones. */
body.single-product .product_title,
body.single-product .summary .price,
body.single-product .summary .woocommerce-product-details__short-description,
body.single-product .summary form.variations_form,
body.single-product .summary .variations,
body.single-product .summary .single_variation_wrap,
body.single-product .summary .single_add_to_cart_button {
    opacity: 1 !important;
    visibility: visible !important;
    animation: none !important;
    transition: none !important;
    transform: none !important;
}

/* v6.0.53: WooCommerce bloquea el formulario de variaciones con una capa gris
   mientras resuelve una combinación. Ocultamos solo la capa visual del formulario;
   no desactivamos los eventos ni las peticiones AJAX de WooCommerce. */
body.single-product form.variations_form .blockUI.blockOverlay,
body.single-product form.variations_form .blockUI.blockMsg,
body.single-product .variations_form .blockUI.blockOverlay,
body.single-product .variations_form .blockUI.blockMsg {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* Evitar animaciones de entrada de Avada que retrasan visualmente el resumen
   del producto en escritorio. No se oculta ni retrasa el contenido. */
body.single-product .summary .fusion-animated,
body.single-product .summary .fusion-animated.fadeIn,
body.single-product .summary .fusion-animated.fadeInUp,
body.single-product .summary .fusion-animated.fadeInDown,
body.single-product .summary .fusion-animated.zoomIn {
    opacity: 1 !important;
    visibility: visible !important;
    animation: none !important;
    transition: none !important;
    transform: none !important;
}


/* v6.0.54: renderizar inmediatamente el resumen de producto en escritorio.
   Avada puede aplicar animaciones al contenedor padre (columna/wrapper), por lo
   que las reglas solo sobre el título no siempre eliminan el retraso visual. */
@media (min-width: 768px) {
  body.single-product .single-product-main-image,
  body.single-product .product .summary,
  body.single-product .product .summary .fusion-layout-column,
  body.single-product .product .summary .fusion-column-wrapper,
  body.single-product .product .summary .fusion-builder-row,
  body.single-product .product .summary .fusion-animated,
  body.single-product .product .summary .fusion-title,
  body.single-product .product .summary .fusion-text,
  body.single-product .product .summary .product_title,
  body.single-product .product .summary .price,
  body.single-product .product .summary .woocommerce-product-details__short-description,
  body.single-product .product .summary form.variations_form,
  body.single-product .product .summary form.variations_form .variations,
  body.single-product .product .summary form.variations_form .single_variation_wrap {
    animation-delay: 0s !important;
    animation-duration: 0s !important;
    animation-name: none !important;
    transition-delay: 0s !important;
    transition-duration: 0s !important;
    transform: none !important;
  }

  body.single-product .product .summary .fusion-animated,
  body.single-product .product .summary .fusion-title,
  body.single-product .product .summary .fusion-text,
  body.single-product .product .summary .product_title,
  body.single-product .product .summary .price,
  body.single-product .product .summary .woocommerce-product-details__short-description,
  body.single-product .product .summary form.variations_form {
    opacity: 1 !important;
    visibility: visible !important;
  }
}


/* v6.0.55: reducir el retraso visual del resumen del producto en escritorio.
   Se aplica solo a la ficha de producto y no modifica el comportamiento de WooCommerce/Funzy.
   Incluye wrappers de Avada que pueden heredar estados de animación del constructor. */
@media (min-width: 768px) {
  body.single-product .product .summary,
  body.single-product .product .summary > *,
  body.single-product .product .summary .fusion-fullwidth,
  body.single-product .product .summary .fusion-row,
  body.single-product .product .summary .fusion-column-wrapper,
  body.single-product .product .summary .fusion-builder-row,
  body.single-product .product .summary .fusion-layout-column,
  body.single-product .product .summary .fusion-animated,
  body.single-product .product .summary .fusion-title,
  body.single-product .product .summary .fusion-text,
  body.single-product .product .summary .product_title,
  body.single-product .product .summary .price,
  body.single-product .product .summary .woocommerce-product-details__short-description,
  body.single-product .product .summary form.variations_form,
  body.single-product .product .summary form.variations_form .variations,
  body.single-product .product .summary form.variations_form .single_variation_wrap {
    animation-delay: 0s !important;
    animation-duration: 0s !important;
    animation-name: none !important;
    transition-delay: 0s !important;
    transition-duration: 0s !important;
    transform: none !important;
  }

  body.single-product .product .summary .fusion-animated,
  body.single-product .product .summary .fusion-title,
  body.single-product .product .summary .fusion-text,
  body.single-product .product .summary .product_title,
  body.single-product .product .summary .price,
  body.single-product .product .summary .woocommerce-product-details__short-description,
  body.single-product .product .summary form.variations_form {
    opacity: 1 !important;
    visibility: visible !important;
  }
}


/* v6.0.56: evitar retrasos de animación en elementos críticos de la ficha.
   No fuerza la descarga de contenido que un plugin todavía no haya generado.
   Alcance limitado al resumen del producto para no alterar animaciones globales. */
@media (min-width: 768px) {
  body.single-product .summary .product_title,
  body.single-product .summary .woocommerce-product-details__short-description,
  body.single-product .summary .price,
  body.single-product .summary .variations_form,
  body.single-product .summary .variations_form .variations,
  body.single-product .summary .single_variation_wrap,
  body.single-product .summary .woocommerce-variation,
  body.single-product .summary .woocommerce-variation-description,
  body.single-product .summary .woocommerce-variation-price,
  body.single-product .summary .fusion-animated,
  body.single-product .summary [class*="fusion-animated"] {
    animation-delay: 0s !important;
    animation-duration: 0s !important;
    animation-name: none !important;
    transition-delay: 0s !important;
    transition-duration: 0s !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }
}

/* v6.0.57 — carrito y checkout: contraste alto en tema oscuro.
   Solo estilos visuales; no modifica los métodos de envío ni de pago. */
.woocommerce-cart table.shop_table,
.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td,
.woocommerce-cart table.shop_table td .amount,
.woocommerce-cart table.shop_table td .woocommerce-Price-amount,
.woocommerce-cart .cart_totals,
.woocommerce-cart .cart_totals th,
.woocommerce-cart .cart_totals td,
.woocommerce-cart .cart_totals .amount,
.woocommerce-cart .cart_totals .woocommerce-Price-amount {
    color: #fff !important;
}
.woocommerce-cart table.shop_table {
    background: #101010 !important;
    border-color: #343434 !important;
}
.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td {
    border-color: #343434 !important;
}
.woocommerce-cart table.shop_table td.product-price,
.woocommerce-cart table.shop_table td.product-quantity,
.woocommerce-cart table.shop_table td.product-subtotal,
.woocommerce-cart table.shop_table td.product-subtotal .amount,
.woocommerce-cart table.shop_table td.product-subtotal .woocommerce-Price-amount {
    color: #fff !important;
    font-weight: 600 !important;
}
.woocommerce-cart table.shop_table td.product-subtotal,
.woocommerce-cart table.shop_table td.product-price {
    opacity: 1 !important;
}
.woocommerce-cart .cart_totals,
.woocommerce-cart .cart_totals table.shop_table {
    background: #1b1b1b !important;
    border: 1px solid #343434 !important;
    border-radius: 8px !important;
}
.woocommerce-cart .cart_totals table tr th,
.woocommerce-cart .cart_totals table tr td {
    color: #fff !important;
    border-color: #343434 !important;
}
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td,
.woocommerce-cart .cart_totals .order-total .amount,
.woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount {
    color: #d8c39a !important;
    font-size: 18px !important;
    font-weight: 700 !important;
}
.woocommerce-cart .cart_totals .shipping label,
.woocommerce-cart .cart_totals .shipping li,
.woocommerce-cart .cart_totals .shipping span {
    color: #fff !important;
}
.woocommerce-cart .coupon input.input-text,
.woocommerce-cart .coupon input#coupon_code,
.woocommerce-cart .coupon input[name="coupon_code"] {
    background: #202020 !important;
    color: #fff !important;
    border: 1px solid #494949 !important;
}
.woocommerce-cart .coupon input::placeholder {
    color: #c7c7c7 !important;
    opacity: 1 !important;
}
.woocommerce-cart .coupon .button,
.woocommerce-cart .coupon button[name="apply_coupon"] {
    background: #948465 !important;
    color: #fff !important;
    border: 1px solid #948465 !important;
}
.woocommerce-cart .coupon .button:hover,
.woocommerce-cart .coupon button[name="apply_coupon"]:hover {
    background: #a49370 !important;
    color: #fff !important;
}

/* Checkout: mantener legibles importes, radios y métodos PayPal/efectivo. */
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review table,
.woocommerce-checkout #order_review th,
.woocommerce-checkout #order_review td,
.woocommerce-checkout #order_review .amount,
.woocommerce-checkout #order_review .woocommerce-Price-amount,
.woocommerce-checkout .woocommerce-checkout-payment,
.woocommerce-checkout .woocommerce-checkout-payment label,
.woocommerce-checkout .woocommerce-checkout-payment .payment_box,
.woocommerce-checkout .woocommerce-checkout-payment .payment_box p {
    color: #fff !important;
}
.woocommerce-checkout #order_review table,
.woocommerce-checkout #order_review table th,
.woocommerce-checkout #order_review table td,
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods,
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods li {
    border-color: #3a3a3a !important;
}
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods li {
    background: #242424 !important;
    padding: 14px !important;
    margin-bottom: 8px !important;
    border-radius: 6px !important;
}
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods li input[type="radio"] {
    accent-color: #b5a078 !important;
}
.woocommerce-checkout .woocommerce-checkout-payment .payment_box {
    background: #303030 !important;
    border-radius: 5px !important;
}
.woocommerce-checkout .woocommerce-checkout-payment .payment_box::before {
    border-bottom-color: #303030 !important;
}
.woocommerce-checkout .woocommerce-checkout-payment a,
.woocommerce-checkout .woocommerce-checkout-payment .about_paypal {
    color: #d8c39a !important;
}
.woocommerce-checkout #place_order {
    background: #948465 !important;
    color: #fff !important;
    border: 1px solid #948465 !important;
}
.woocommerce-checkout #place_order:hover {
    background: #a49370 !important;
}


/* Checkout responsive polish v6.0.58: layout, shipping choices and accessible focus. */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout #order_review,
.woocommerce-checkout #payment {
    min-width: 0;
    box-sizing: border-box;
}
.woocommerce-checkout #order_review table.shop_table {
    width: 100% !important;
    table-layout: auto;
    border-collapse: collapse;
}
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
    color: #fff !important;
    overflow-wrap: anywhere;
    word-break: normal;
    vertical-align: top;
}
.woocommerce-checkout #order_review .cart_item .product-name,
.woocommerce-checkout #order_review .cart_item .product-total,
.woocommerce-checkout #order_review .cart-subtotal th,
.woocommerce-checkout #order_review .cart-subtotal td,
.woocommerce-checkout #order_review .order-total th,
.woocommerce-checkout #order_review .order-total td {
    color: #fff !important;
}
.woocommerce-checkout #order_review .cart-subtotal .amount,
.woocommerce-checkout #order_review .cart_item .product-total .amount {
    color: #fff !important;
    font-weight: 600;
}
.woocommerce-checkout #order_review .order-total .amount,
.woocommerce-checkout #order_review .order-total th {
    color: #d8c39a !important;
    font-size: 1.08em;
    font-weight: 700;
}
/* Shipping radio labels wrap instead of forcing horizontal overflow on phones. */
.woocommerce-checkout #order_review .woocommerce-shipping-methods,
.woocommerce-checkout .woocommerce-shipping-methods {
    list-style: none;
    margin: 0;
    padding: 0;
}
.woocommerce-checkout .woocommerce-shipping-methods li,
.woocommerce-checkout #shipping_method li {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 6px;
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere;
}
.woocommerce-checkout .woocommerce-shipping-methods li input[type="radio"],
.woocommerce-checkout #shipping_method li input[type="radio"] {
    flex: 0 0 auto;
    margin: .35em 5px 0 0 !important;
}
.woocommerce-checkout .woocommerce-shipping-methods li label,
.woocommerce-checkout #shipping_method li label {
    flex: 1 1 180px;
    min-width: 0;
    white-space: normal !important;
    overflow-wrap: anywhere;
    line-height: 1.5;
    color: #fff !important;
}
/* Remove the unwanted grey browser frame when changing shipping/payment options. */
.woocommerce-checkout input[type="radio"],
.woocommerce-checkout input[type="checkbox"] {
    accent-color: #b5a078;
}
.woocommerce-checkout input[type="radio"]:focus,
.woocommerce-checkout input[type="checkbox"]:focus,
.woocommerce-checkout #shipping_method input:focus + label,
.woocommerce-checkout .woocommerce-shipping-methods input:focus + label {
    outline: 2px solid #b5a078 !important;
    outline-offset: 2px;
    box-shadow: none !important;
}
.woocommerce-checkout select:focus,
.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout textarea:focus {
    border-color: #b5a078 !important;
    box-shadow: 0 0 0 1px #b5a078 !important;
    outline: none !important;
}
/* PayPal instalment/Pay Later information must remain readable on the dark theme. */
.woocommerce-checkout .about_paypal,
.woocommerce-checkout .ppc-button-wrapper,
.woocommerce-checkout .ppcp-messages,
.woocommerce-checkout [data-pp-message],
.woocommerce-checkout .paypal-message,
.woocommerce-checkout .paylater-message {
    color: #d8c39a !important;
    opacity: 1 !important;
}
.woocommerce-checkout .about_paypal {
    text-decoration: underline;
}
@media (max-width: 767px) {
    .woocommerce-checkout form.checkout,
    .woocommerce-checkout #customer_details,
    .woocommerce-checkout #order_review,
    .woocommerce-checkout #payment,
    .woocommerce-checkout .col2-set,
    .woocommerce-checkout .col-1,
    .woocommerce-checkout .col-2 {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        float: none !important;
        box-sizing: border-box !important;
    }
    .woocommerce-checkout #order_review table.shop_table th,
    .woocommerce-checkout #order_review table.shop_table td {
        padding: 9px 6px !important;
        font-size: 13px;
    }
    .woocommerce-checkout #order_review table.shop_table th.product-name,
    .woocommerce-checkout #order_review table.shop_table td.product-name {
        width: 62%;
    }
    .woocommerce-checkout #order_review table.shop_table th.product-total,
    .woocommerce-checkout #order_review table.shop_table td.product-total {
        width: 38%;
        text-align: right;
        white-space: normal;
    }
    .woocommerce-checkout .woocommerce-shipping-methods li label,
    .woocommerce-checkout #shipping_method li label {
        flex-basis: calc(100% - 28px);
        font-size: 14px;
    }
    .woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods li {
        padding: 12px !important;
    }
    .woocommerce-checkout #place_order {
        width: 100%;
        min-height: 48px;
    }
}
