.elementor-228 .elementor-element.elementor-element-8c5adf6{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-228 .elementor-element.elementor-element-a70ff10 .hfe-site-logo-container, .elementor-228 .elementor-element.elementor-element-a70ff10 .hfe-caption-width figcaption{text-align:left;}.elementor-228 .elementor-element.elementor-element-a70ff10 .hfe-site-logo .hfe-site-logo-container img{width:100%;}.elementor-228 .elementor-element.elementor-element-a70ff10 .widget-image-caption{margin-top:0px;margin-bottom:0px;}.elementor-228 .elementor-element.elementor-element-a70ff10{width:var( --container-widget-width, 12% );max-width:12%;--container-widget-width:12%;--container-widget-flex-grow:0;}.elementor-228 .elementor-element.elementor-element-a70ff10 .hfe-site-logo-container .hfe-site-logo-img{border-style:none;}.elementor-228 .elementor-element.elementor-element-04983e2{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-228 .elementor-element.elementor-element-04983e2.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-228 .elementor-element.elementor-element-04983e2 .elementor-icon-wrapper{text-align:center;}.elementor-228 .elementor-element.elementor-element-04983e2.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-text );}.elementor-228 .elementor-element.elementor-element-04983e2.elementor-view-framed .elementor-icon, .elementor-228 .elementor-element.elementor-element-04983e2.elementor-view-default .elementor-icon{color:var( --e-global-color-text );border-color:var( --e-global-color-text );}.elementor-228 .elementor-element.elementor-element-04983e2.elementor-view-framed .elementor-icon, .elementor-228 .elementor-element.elementor-element-04983e2.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-text );}.elementor-228 .elementor-element.elementor-element-04983e2.elementor-view-stacked .elementor-icon:hover{background-color:var( --e-global-color-primary );}.elementor-228 .elementor-element.elementor-element-04983e2.elementor-view-framed .elementor-icon:hover, .elementor-228 .elementor-element.elementor-element-04983e2.elementor-view-default .elementor-icon:hover{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-228 .elementor-element.elementor-element-04983e2.elementor-view-framed .elementor-icon:hover, .elementor-228 .elementor-element.elementor-element-04983e2.elementor-view-default .elementor-icon:hover svg{fill:var( --e-global-color-primary );}.elementor-228 .elementor-element.elementor-element-04983e2 .elementor-icon{font-size:1.5em;}.elementor-228 .elementor-element.elementor-element-04983e2 .elementor-icon svg{height:1.5em;}.elementor-228 .elementor-element.elementor-element-b8c2a5b .elementor-menu-cart__close-button, .elementor-228 .elementor-element.elementor-element-b8c2a5b .elementor-menu-cart__close-button-custom{margin-left:auto;}.elementor-228 .elementor-element.elementor-element-b8c2a5b.elementor-element{--align-self:center;}.elementor-228 .elementor-element.elementor-element-b8c2a5b{--side-cart-alignment-transform:translateX(100%);--side-cart-alignment-left:auto;--side-cart-alignment-right:0;--price-quantity-position--grid-template-rows:auto 75%;--price-quantity-position--align-self:start;--divider-style:none;--subtotal-divider-style:none;--elementor-remove-from-cart-button:none;--remove-from-cart-button:block;--toggle-button-icon-color:var( --e-global-color-text );--toggle-button-background-color:#EEAD2B00;--toggle-button-icon-hover-color:var( --e-global-color-primary );--toggle-button-border-width:0px;--toggle-button-border-radius:0px;--toggle-icon-size:2em;--toggle-icon-padding:0px 0px 0px 0px;--items-indicator-text-color:var( --e-global-color-text );--items-indicator-background-color:var( --e-global-color-primary );--cart-background-color:#221C1000;--cart-border-style:none;--cart-border-radius:0px 0px 0px 0px;--cart-padding:0px 0px 0px 0px;--cart-close-icon-size:22px;--cart-close-button-color:var( --e-global-color-text );--cart-close-button-hover-color:var( --e-global-color-primary );--menu-cart-subtotal-color:var( --e-global-color-text );--menu-cart-subtotal-text-align:left;--product-variations-color:var( --e-global-color-text );--product-price-color:var( --e-global-color-text );--divider-width:0px;--subtotal-divider-top-width:0px;--subtotal-divider-right-width:0px;--subtotal-divider-bottom-width:0px;--subtotal-divider-left-width:0px;--cart-footer-layout:1fr;--products-max-height-sidecart:calc(100vh - 300px);--products-max-height-minicart:calc(100vh - 450px);--space-between-buttons:10px;--view-cart-button-padding:0px 0px 0px 0px;--checkout-button-text-color:var( --e-global-color-primary );--empty-message-alignment:center;}.elementor-228 .elementor-element.elementor-element-b8c2a5b .elementor-menu-cart__subtotal{font-family:"Manrope", Sans-serif;}.elementor-228 .elementor-element.elementor-element-b8c2a5b .widget_shopping_cart_content{--subtotal-divider-style:solid;--subtotal-divider-top-width:0px;--subtotal-divider-right-width:0px;--subtotal-divider-bottom-width:0px;--subtotal-divider-left-width:0px;--subtotal-divider-color:#FFFFFE;}.elementor-228 .elementor-element.elementor-element-b8c2a5b .elementor-menu-cart__product-name a{font-family:"Manrope", Sans-serif;font-weight:600;color:#EEAD2B;}.elementor-228 .elementor-element.elementor-element-b8c2a5b .elementor-menu-cart__product-name a:hover{color:var( --e-global-color-primary );}.elementor-228 .elementor-element.elementor-element-b8c2a5b .elementor-menu-cart__product .variation{font-family:"Manrope", Sans-serif;}.elementor-228 .elementor-element.elementor-element-b8c2a5b .elementor-menu-cart__product-price{font-family:"Manrope", Sans-serif;}.elementor-228 .elementor-element.elementor-element-b8c2a5b .elementor-menu-cart__product-price .product-quantity{color:var( --e-global-color-text );font-family:"Manrope", Sans-serif;}.elementor-228 .elementor-element.elementor-element-b8c2a5b .elementor-menu-cart__footer-buttons .elementor-button{font-family:"Manrope", Sans-serif;}.elementor-228 .elementor-element.elementor-element-b8c2a5b .elementor-menu-cart__footer-buttons a.elementor-button--view-cart{font-family:"Manrope", Sans-serif;border-radius:0px 0px 0px 0px;}.elementor-228 .elementor-element.elementor-element-b8c2a5b .elementor-menu-cart__footer-buttons a.elementor-button--checkout{font-family:"Manrope", Sans-serif;}.elementor-228 .elementor-element.elementor-element-b8c2a5b .woocommerce-mini-cart__empty-message{font-family:"Manrope", Sans-serif;}@media(max-width:1024px){.elementor-228 .elementor-element.elementor-element-a70ff10{--container-widget-width:152px;--container-widget-flex-grow:0;width:var( --container-widget-width, 152px );max-width:152px;}.elementor-228 .elementor-element.elementor-element-b8c2a5b{--toggle-icon-size:2.1em;}}@media(max-width:767px){.elementor-228 .elementor-element.elementor-element-8c5adf6{--content-width:517px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-228 .elementor-element.elementor-element-a70ff10 .hfe-site-logo .hfe-site-logo-container img{width:100%;}.elementor-228 .elementor-element.elementor-element-a70ff10{width:var( --container-widget-width, 124px );max-width:124px;--container-widget-width:124px;--container-widget-flex-grow:0;}.elementor-228 .elementor-element.elementor-element-04983e2.elementor-element{--align-self:center;}.elementor-228 .elementor-element.elementor-element-04983e2 .elementor-icon{font-size:1.5em;}.elementor-228 .elementor-element.elementor-element-04983e2 .elementor-icon svg{height:1.5em;}.elementor-228 .elementor-element.elementor-element-b8c2a5b{--toggle-icon-size:1.9em;}}/* Start custom CSS for site-logo, class: .elementor-element-a70ff10 */.elementor-228 .elementor-element.elementor-element-a70ff10 { margin-right: auto; }/* End custom CSS */
/* Start custom CSS for woocommerce-menu-cart, class: .elementor-element-b8c2a5b *//* ================================================
   JYAG LUXURY - Elementor Menu Cart (FINAL CLEAN VERSION)
   ================================================ */

:root {
    --jyag-primary: #eead2b;
    --jyag-bg-dark: #221c10;
    --jyag-text-white: #ffffff;
    --jyag-text-muted: rgba(255, 255, 255, 0.6);
    --jyag-border-light: rgba(255, 255, 255, 0.1);
}

/* ---- CONTENEDOR EXTERIOR (OVERLAY + POSITIONING) ---- */
.elementor-menu-cart__container {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    /* Anclado al viewport completo */
    height: 100% !important;
    z-index: 99999 !important;
    /* Evita que el scroll del body afecte al carrito */
    overflow: hidden !important;
}

/* ---- CONTENEDOR PRINCIPAL ---- */
.elementor-menu-cart__main {
    background: rgba(21, 17, 10, 0.75) !important;
    /* Glass effect opacity */
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border-left: 1px solid rgba(255, 255, 255, 0.08) !important;
    display: flex !important;
    flex-direction: column !important;
    /* Usa 100% porque el padre (container) ya está fixed con top/bottom */
    height: 100% !important;
    min-height: 0 !important;
    /* Permite que flex calcule correctamente */
    max-height: 100% !important;
    /* Performance Best Practice: Promote to GPU layer */
    will-change: transform !important;
    transform: translateZ(0) !important;
}

/* Flex structure - CONTENEDOR DE CONTENIDO */
.elementor-menu-cart__main>.widget_shopping_cart_content,
.elementor-menu-cart__main .woocommerce-mini-cart__contents {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    max-height: 100% !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    /* CRÍTICO: No scroll aquí, solo en productos */
    overflow: hidden !important;
    justify-content: flex-start !important;
}

/* Products Area - ÚNICA zona con SCROLL */
.elementor-menu-cart__products,
.woocommerce-mini-cart {
    /* flex-basis: 0 permite que encoja correctamente */
    flex: 0 1 auto !important;
    min-height: 0 !important;
    /* Crítico para flex-shrink */
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 2rem !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
}

/* ============================================
   FOOTER DEL CARRITO (Subtotal + Botones)
   - Estos NO deben crecer, solo su contenido
   - Subtotal tiene margin-top:auto para empujar
     TODO el footer hacia abajo
   ============================================ */

/* Subtotal - empuja TODO el footer hacia abajo */
.elementor-menu-cart__subtotal,
.woocommerce-mini-cart__total {
    padding: 1.5rem 2rem 0.5rem !important;
    border-top: 1px solid var(--jyag-border-light) !important;
    background: rgba(0, 0, 0, 0.2) !important;
    flex: none !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    flex-basis: auto !important;
    /* ESTE es el que empuja el footer hacia abajo */
    margin-bottom: 0 !important;
}

/* Botones - PEGADOS al subtotal, sin margin */
.elementor-menu-cart__footer-buttons,
.woocommerce-mini-cart__buttons {
    padding: 1rem 2rem 2rem !important;
    background: rgba(0, 0, 0, 0.2) !important;
    flex: none !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    flex-basis: auto !important;
    /* CRÍTICO: Eliminar cualquier margin-top que Elementor aplica */
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    position: relative !important;
}

.elementor-menu-cart__footer-buttons::after,
.woocommerce-mini-cart__buttons::after {
    content: "" !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    height: 1000vh !important;
    background: rgba(0, 0, 0, 0.2) !important;
    pointer-events: none !important;
}

/* (Reglas duplicadas eliminadas - ver líneas 71-94) */

/* ==========================================================================
   PRODUCT STYLES (GRID LAYOUT)
   ========================================================================== */

/* Product Item Container */
.elementor-menu-cart__product,
.woocommerce-mini-cart-item {
    display: grid !important;
    /* Columns: Image (80px) | Gap | Content (Auto) | Remove (Auto) */
    grid-template-columns: 80px 1fr 24px !important;
    grid-template-rows: min-content min-content !important;
    gap: 4px 16px !important;
    padding-bottom: 1.5rem !important;
    margin-bottom: 1.5rem !important;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.1) !important;
    align-items: start !important;
    position: relative !important;
    background: transparent !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.elementor-menu-cart__product:last-child {
    border-bottom: none !important;
    margin-bottom: 0 !important;
}

/* 1. IMAGE (Left Column) */
.elementor-menu-cart__product-image,
.woocommerce-mini-cart-item a.elementor-menu-cart__product-image {
    grid-row: 1 / span 2 !important;
    grid-column: 1 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}

.elementor-menu-cart__product-image img {
    width: 80px !important;
    height: 96px !important;
    object-fit: cover !important;
    border-radius: 4px !important;
    /* Glass Effect on Product Image Container */
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    background: rgba(255, 255, 255, 0.05) !important;
    padding: 4px !important;
    /* Optimize transition: replace 'all' with specific properties */
    transition: border-color 0.3s ease, background-color 0.3s ease, transform 0.3s ease !important;
    display: block !important;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1) !important;
    max-width: none !important;
}

.elementor-menu-cart__product:hover .elementor-menu-cart__product-image img {
    border-color: rgba(238, 173, 43, 0.5) !important;
    background: rgba(255, 255, 255, 0.1) !important;
}

/* 2. PRODUCT NAME (Top Row) */
.elementor-menu-cart__product-name,
.woocommerce-mini-cart-item .elementor-menu-cart__product-name {
    grid-row: 1 !important;
    grid-column: 2 !important;
    margin: 0 !important;
    padding: 0 !important;
    align-self: start !important;
    white-space: normal !important;
}

.elementor-menu-cart__product-name a {
    color: var(--jyag-text-white) !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
    font-family: 'Manrope', sans-serif !important;
    display: block !important;
}

/* 3. REMOVE BUTTON (Top Right) */
.elementor-menu-cart__product-remove,
.woocommerce-mini-cart-item .remove {
    grid-row: 1 !important;
    grid-column: 3 !important;
    position: relative !important;
    inset: auto !important;
    width: 24px !important;
    height: 24px !important;
    border: none !important;
    background: transparent !important;
    display: flex !important;
    align-items: flex-start !important;
    /* Top aligned */
    justify-content: flex-end !important;
    /* Right aligned */
    justify-self: end !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Original clean styles for remove button, no trash icon override */
.elementor-menu-cart__product-remove a,
.woocommerce-mini-cart-item .remove {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    font-size: 16px !important;
    color: rgba(255, 255, 255, 0.3) !important;
    border-radius: 50% !important;
    text-decoration: none !important;
    border: none !important;
    font-weight: normal !important;
}

.elementor-menu-cart__product-remove a:hover {
    color: #ef4444 !important;
}

/* 4. PRICE / QUANTITY (Bottom Row) */
/* Container behaves as Grid Item */
.elementor-menu-cart__product-price,
.woocommerce-mini-cart-item .product-price {
    grid-row: 2 !important;
    grid-column: 2 !important;
    /* Only take the middle column */
    width: auto !important;
    margin-top: 4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    /* Align content inside */
    justify-self: start !important;
    /* Align self in grid */
    text-align: left !important;
    background: transparent !important;
}

/* Inner quantity span */
.woocommerce-mini-cart-item .quantity {
    display: flex !important;
    align-items: baseline !important;
    /* Ensure text aligns nicely at bottom */
    justify-content: flex-start !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 4px !important;
    /* Space between "1x" and Price */
}

/* Specific fix for "1 x" text */
.woocommerce-mini-cart-item .quantity .product-quantity {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
}

.elementor-menu-cart__product-price .woocommerce-Price-amount,
.woocommerce-mini-cart-item .quantity .woocommerce-Price-amount {
    color: var(--jyag-primary) !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    display: inline-block !important;
    /* FIX: Was block, caused new line */
    line-height: 1 !important;
}

/* Quantity "Badge" Style (REMOVED for cleaner look) */
.woocommerce-mini-cart-item .quantity {
    color: var(--jyag-text-white) !important;
    font-size: 0.9rem !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin-right: 8px !important;
    font-family: 'Manrope', sans-serif !important;
}

/* ---- CLOSE BUTTON (MAIN) ---- */
.elementor-menu-cart__close-button {
    width: auto !important;
    height: auto !important;
    margin-left: auto !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    display: flex !important;
    justify-content: flex-end !important;
    z-index: 9999 !important;
}

/* Custom wrapper targeting to add spacing (RESTORED) */
.elementor-menu-cart__close-button-custom {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    line-height: 0 !important;
    padding-top: 15px !important;
    /* Spacing from top */
    padding-right: 25px !important;
    /* Spacing from right edge */
}

/* ---- TOTALS & BUTTONS ---- */
.elementor-menu-cart__subtotal strong {
    color: var(--jyag-text-muted) !important;
    font-weight: 400 !important;
    font-size: 0.875rem !important;
}

.elementor-menu-cart__subtotal .woocommerce-Price-amount {
    color: var(--jyag-primary) !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    float: right !important;
}

.elementor-menu-cart__footer-buttons .elementor-button--view-cart {
    background: transparent !important;
    border: 1px solid var(--jyag-border-light) !important;
    color: var(--jyag-text-white) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    font-size: 0.75rem !important;
    padding: 1rem !important;
    border-radius: 4px !important;
    width: 100% !important;
    display: block !important;
    margin-bottom: 10px !important;
    text-align: center !important;
}

.elementor-menu-cart__footer-buttons .elementor-button--view-cart:hover {
    border-color: var(--jyag-primary) !important;
    color: var(--jyag-primary) !important;
}

.elementor-menu-cart__footer-buttons .elementor-button--checkout {
    background: var(--jyag-primary) !important;
    color: var(--jyag-bg-dark) !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    padding: 1rem !important;
    border: none !important;
    box-shadow: 0 0 15px rgba(238, 173, 43, 0.25) !important;
    border-radius: 4px !important;
    width: 100% !important;
    display: block !important;
    text-align: center !important;
}

.elementor-menu-cart__footer-buttons .elementor-button--checkout:hover {
    background: #ffffff !important;
    box-shadow: 0 0 25px rgba(255, 255, 255, 0.4) !important;
}

.elementor-menu-cart__products::-webkit-scrollbar {
    width: 4px;
}

.elementor-menu-cart__products::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.02);
}

.elementor-menu-cart__products::-webkit-scrollbar-thumb {
    background: rgba(238, 173, 43, 0.5);
    border-radius: 2px;
}

/* ==========================================================================
   MOBILE SPECIFIC FIXES (Strict Layout)
   ========================================================================== */
@media (max-width: 767px) {

    /* 1. Global Box-Sizing Reset to prevent padding overflow */
    .elementor-menu-cart__container,
    .elementor-menu-cart__container * {
        box-sizing: border-box !important;
    }

    /* 2. Strict Container Locking - Anchored to viewport */
    .elementor-menu-cart__container {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        z-index: 999999 !important;
    }

    /* 3. Main Cart Wrapper - Fills container exactly */
    .elementor-menu-cart__main {
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        max-height: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        border-radius: 0 !important;
        /* Usar relative, el padre ya es fixed */
        position: relative !important;
        transform: none !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
    }

    /* 4. Scroll Control - Only products scroll */
    .elementor-menu-cart__products {
        flex: 0 1 auto !important;
        min-height: 0 !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
    }

    /* 5. Footer SIEMPRE visible en móvil */
    .widget_shopping_cart_content {
        height: 100% !important;
        max-height: 100% !important;
        overflow: hidden !important;
    }

    .elementor-menu-cart__subtotal,
    .elementor-menu-cart__footer-buttons {
        flex: 0 0 auto !important;
        position: relative !important;
    }
}/* End custom CSS */