/*
Theme Name: Astra Nexus Child
Theme URI: https://www.speedpublicity.com
Template: astra
Author: Speed Publicity
Author URI: https://www.speedpublicity.com
Description: Child Theme para Astra - VERSIÓN SUPREME v2.9.3. Mobile UX Pro (App Style), Header Flotante y Checkout Diamond.
Version: 2.9.3
*/

:root {
    --brand-primary: #F97316;
    --brand-primary-dark: #EA580C;
    --brand-dark-primary: #020617;
    --shadow-diamond: 0 15px 45px rgba(0, 0, 0, 0.1);
    --radius-diamond: 25px;
    --glass-bg: rgba(255, 255, 255, 0.85);
    --glass-blur: blur(15px);
}

/* --- HEADER SUPREME: ISLA FLOTANTE DE CRISTAL --- */
.site-header { margin-bottom: 0 !important; }

/* Desktop & Mobile Floating Bar Common */
.main-header-bar {
    background: var(--glass-bg) !important;
    backdrop-filter: var(--glass-blur) !important;
    -webkit-backdrop-filter: var(--glass-blur) !important;
    border: 1px solid rgba(255, 255, 255, 0.5) !important;
    box-shadow: var(--shadow-diamond) !important;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

@media (min-width: 922px) {
    .ast-main-header-wrap { position: fixed !important; top: 20px; left: 0; right: 0; max-width: 1300px; margin: 0 auto; z-index: 1000 !important; }
    .main-header-bar { border-radius: 100px !important; padding: 5px 30px !important; }
    .main-header-menu > .menu-item > .menu-link { color: var(--brand-dark-primary) !important; font-weight: 800 !important; font-size: 13px !important; text-transform: uppercase; letter-spacing: 0.5px; padding: 12px 22px !important; border-radius: 30px !important; }
    .main-header-menu > .menu-item:hover > .menu-link { background: rgba(249, 115, 22, 0.1) !important; color: var(--brand-primary) !important; transform: translateY(-2px); }
    body { padding-top: 140px !important; }
}

/* --- MOBILE UX SUPREME (APP STYLE) --- */
@media (max-width: 921px) {
    .ast-mobile-header-wrap .main-header-bar {
        position: fixed !important;
        top: 12px !important; left: 12px !important; right: 12px !important;
        width: calc(100% - 24px) !important;
        border-radius: 20px !important;
        padding: 5px 15px !important;
        z-index: 10000 !important;
    }
    
    /* Hamburger Trigger */
    .ast-mobile-menu-trigger-fill {
        background: var(--brand-dark-primary) !important;
        color: white !important;
        border-radius: 12px !important;
        padding: 8px !important;
    }

    /* Mobile Menu Drawer (Off-canvas) */
    .ast-mobile-popup-drawer.active .ast-mobile-popup-inner {
        background: rgba(255, 255, 255, 0.95) !important;
        backdrop-filter: blur(20px) !important;
        padding: 80px 20px 40px !important;
    }
    
    .ast-mobile-popup-drawer .main-header-menu .menu-item .menu-link {
        font-size: 22px !important;
        font-weight: 900 !important;
        color: var(--brand-dark-primary) !important;
        padding: 15px 0 !important;
        border-bottom: 1px solid rgba(0,0,0,0.05) !important;
        letter-spacing: -0.5px;
    }
    
    .ast-mobile-popup-drawer .main-header-menu .menu-item:hover .menu-link {
        color: var(--brand-primary) !important;
        padding-left: 10px !important;
    }

    body { padding-top: 100px !important; }
}

/* --- DOCK MÓVIL SUPREME --- */
.nexus-mobile-dock {
    display: none !important;
}

@media (max-width: 1024px) {
    .nexus-mobile-dock {
        display: flex !important;
        position: fixed !important;
        bottom: 20px !important; left: 20px !important; right: 20px !important;
        background: rgba(15, 23, 42, 0.9) !important; /* Oscuro Elegante */
        backdrop-filter: blur(20px) !important;
        -webkit-backdrop-filter: blur(20px) !important;
        border-radius: 30px !important;
        justify-content: space-around !important;
        padding: 15px 0 !important;
        z-index: 99999 !important;
        box-shadow: 0 20px 50px rgba(0,0,0,0.4) !important;
        border: 1px solid rgba(255,255,255,0.1) !important;
    }
    
    .nexus-dock-item svg {
        fill: #ffffff !important; /* Iconos Blancos */
        transition: transform 0.3s ease;
    }
    
    .nexus-dock-item:active svg { transform: scale(0.8); }
    
    body.nexus-theme-supreme { padding-bottom: 110px !important; }
}

/* --- PRODUCT IMAGES: COMPACT & SHARP --- */
.woocommerce-loop-product__thumbnail img, 
.astra-shop-thumbnail-wrap img,
.single-product .woocommerce-product-gallery img {
    height: 130px !important;
    width: auto !important;
    max-width: 100% !important;
    object-fit: contain !important; 
    background: #ffffff !important; 
    padding: 8px !important;
    border-radius: 12px !important;
    transition: transform 0.4s ease !important;
    margin: 0 auto 10px auto !important;
    display: block !important;
}

li.product:hover img { transform: scale(1.05) !important; }

/* --- TITLES & PRICES --- */
.woocommerce-loop-product__title {
    font-size: 13px !important;
    font-weight: 800 !important;
    height: 32px !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    margin-bottom: 8px !important;
    line-height: 1.2 !important;
    color: var(--brand-dark-primary) !important;
}

.price, .amount { color: #ef4444 !important; font-weight: 900 !important; font-size: 1.1rem !important; display: block !important; }

/* --- ADD TO CART BUTTON --- */
.woocommerce ul.products li.product .button {
    display: block !important;
    background: var(--brand-dark-primary) !important;
    color: white !important;
    border-radius: 10px !important;
    padding: 10px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    font-size: 10px !important;
    width: 100% !important;
    text-align: center !important;
    border: none !important;
}

.woocommerce ul.products li.product .button:hover { background: var(--brand-primary) !important; }

/* --- MODERN CHECKOUT (RESPONSIVE DIAMOND) --- */
.woocommerce-checkout { background: #f8fafc; padding: 40px 0; }
.woocommerce-checkout .col2-set { 
    width: 100% !important; float: none !important; 
    display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 40px !important; 
}
@media (max-width: 991px) { .woocommerce-checkout .col2-set { grid-template-columns: 1fr !important; } }

#customer_details, #order_review_heading, #order_review {
    background: #fff !important; padding: 40px !important; 
    border-radius: 30px !important; box-shadow: 0 15px 45px rgba(0,0,0,0.05) !important; 
    border: 1px solid #f1f5f9 !important;
}

.woocommerce-billing-fields h3, #order_review_heading {
    font-size: 24px !important; font-weight: 950 !important; letter-spacing: -1px !important;
    color: var(--brand-dark-primary) !important; margin-bottom: 30px !important;
    text-transform: uppercase !important;
}

.woocommerce-input-wrapper input, .select2-selection, textarea {
    padding: 18px !important; border-radius: 15px !important; 
    border: 2px solid #f1f5f9 !important; background: #f8fafc !important;
    font-weight: 600 !important; transition: 0.3s !important;
}
.woocommerce-input-wrapper input:focus { border-color: var(--brand-primary) !important; background: #fff !important; outline: none !important; }

#place_order {
    width: 100% !important; background: var(--brand-dark-primary) !important; 
    color: white !important; font-weight: 950 !important; padding: 25px !important; 
    border-radius: 20px !important; font-size: 18px !important; 
    text-transform: uppercase !important; transition: all 0.4s !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2) !important; margin-top: 20px !important;
}
#place_order:hover { transform: translateY(-5px) !important; background: var(--brand-primary) !important; box-shadow: 0 20px 40px rgba(249, 115, 22, 0.3) !important; }

/* --- FOOTER & DOCK --- */
.nexus-footer-supreme { background: var(--brand-dark-primary) !important; color: white !important; padding: 60px 15px !important; text-align: center !important; margin-top: 50px !important; border-top: 4px solid var(--brand-primary) !important; }
.nexus-mobile-dock {
    display: flex !important; position: fixed; bottom: 15px; left: 15px; right: 15px;
    background: rgba(255, 255, 255, 0.98); backdrop-filter: blur(25px);
    border-radius: 25px; justify-content: space-around; padding: 15px 0; z-index: 9999 !important;
    box-shadow: 0 15px 50px rgba(0,0,0,0.25); border: 1px solid rgba(255,255,255,0.5);
}
@media (min-width: 1025px) { .nexus-mobile-dock { display: none !important; } }