/* Global Dark Theme & Glassmorphism Theme Overrides */

/* Force dark luxury background on entire website body */
html, body {
    background-color: #0d091a !important;
    color: #f8fafc !important;
}

/* Glassmorphic Cards (WooCommerce products, Elementor boxes, etc.) */
.elementor-widget-container,
.product,
.ast-shop-outer-wrap,
.ast-woocommerce-container,
.product-category,
.ast-article-inner {
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

/* Specific product cards glow-up */
li.product, 
.product-category,
.woocommerce-LoopProduct-link {
    background: rgba(45, 30, 70, 0.35) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(147, 51, 234, 0.15) !important;
    border-radius: 16px !important;
    padding: 20px !important;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.2) !important;
}

li.product:hover {
    transform: translateY(-5px) !important;
    border-color: rgba(147, 51, 234, 0.4) !important;
    box-shadow: 0 10px 30px rgba(168, 85, 247, 0.15) !important;
}

/* Global button gradient styling (Primary buttons, Add to Cart, etc.) */
button.button,
.button,
.woocommerce-button,
.elementor-button,
input[type="submit"] {
    background: linear-gradient(135deg, #006913 0%, #a855f7 100%) !important;
    color: #ffffff !important;
    border-radius: 30px !important;
    border: none !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(168, 85, 247, 0.2) !important;
}

button.button:hover,
.button:hover,
.elementor-button:hover,
input[type="submit"]:hover {
    transform: scale(1.03) !important;
    box-shadow: 0 6px 20px rgba(168, 85, 247, 0.4) !important;
}

/* Badges & Accents */
.onsale,
.woocommerce-badge,
.elementor-activity-log-badge {
    background: linear-gradient(135deg, #006913 0%, #22c55e 100%) !important;
    border-radius: 12px !important;
    font-weight: 800 !important;
    box-shadow: 0 0 10px rgba(34, 197, 94, 0.3) !important;
}

/* Inputs, Selects and Dropdowns styled in glossy theme */
input[type="text"],
input[type="email"],
input[type="password"],
textarea,
select {
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(147, 51, 234, 0.2) !important;
    border-radius: 8px !important;
    color: #ffffff !important;
    backdrop-filter: blur(5px) !important;
    -webkit-backdrop-filter: blur(5px) !important;
    transition: border-color 0.3s ease !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus,
select:focus {
    border-color: #a855f7 !important;
    outline: none !important;
    box-shadow: 0 0 10px rgba(168, 85, 247, 0.3) !important;
}

/* Center and scale down the main entry titles (Boutique CBD en ligne) */
h1.entry-title,
.entry-title {
    text-align: center !important;
    font-size: 28px !important;
    margin-top: 20px !important;
    margin-bottom: 20px !important;
}

@media screen and (max-width: 767px) {
    h1.entry-title,
    .entry-title {
        font-size: 22px !important;
    }
}

/* 
 * CRITICAL MOBILE SPACING GAP REPAIR 
 * Aggressively collapse any empty space, ghost theme footers, and extra bottom margins on mobile 
 */
@media screen and (max-width: 767px) {
    /* Hard collapse any elements that could push the page or create empty bottom gaps, except our custom footer */
    #colophon,
    .site-footer,
    footer.site-footer,
    .ast-footer-builder-area,
    .elementor-location-footer,
    div[class*="footer-inner"],
    div[class*="site-footer-wrap"],
    div[id*="footer-wrapper"] {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }
    
    html, body {
        height: auto !important;
        min-height: 100% !important;
        overflow-x: hidden !important;
    }
    
    /* Ensure no weird bottom padding on the main outer page wrapper */
    #page,
    #content,
    .site-content,
    main,
    article,
    .elementor-page {
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
        height: auto !important;
        min-height: 0 !important;
    }
}
