/**
 * Page Builder Compatibility CSS
 * 
 * Stili specifici per Oxygen Builder e Elementor
 * 
 * @package Privacy Cookie Consent
 * @version 3.0
 */

/* ===== OXYGEN BUILDER COMPATIBILITY ===== */

/* Assicura che il banner sia sempre visibile in Oxygen */
.oxygen-body .weekend-cookie-banner {
    position: fixed !important;
    z-index: 999999 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Assicura che il widget sia sempre visibile in Oxygen */
.oxygen-body .weekend-cookie-widget {
    position: fixed !important;
    z-index: 999998 !important;
}

/* Nasconde banner/widget in modalità editing Oxygen */
.oxygen-editing .weekend-cookie-banner,
.oxygen-editing .weekend-cookie-widget {
    display: none !important;
}

/* ===== ELEMENTOR COMPATIBILITY ===== */

/* Assicura che il banner sia sempre visibile in Elementor */
.elementor-page .weekend-cookie-banner {
    position: fixed !important;
    z-index: 999999 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Assicura che il widget sia sempre visibile in Elementor */
.elementor-page .weekend-cookie-widget {
    position: fixed !important;
    z-index: 999998 !important;
}

/* Nasconde banner/widget in modalità editing Elementor */
.elementor-editing .weekend-cookie-banner,
.elementor-editing .weekend-cookie-widget {
    display: none !important;
}

/* ===== GENERAL PAGE BUILDER COMPATIBILITY ===== */

/* Stili base per page builders */
.weekend-cookie-banner {
    position: fixed !important;
    z-index: 999999 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

.weekend-cookie-widget {
    position: fixed !important;
    z-index: 999998 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

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

/* Mobile compatibility */
@media (max-width: 768px) {
    .weekend-cookie-banner {
        padding: 15px !important;
        font-size: 14px !important;
    }
    
    .weekend-cookie-banner .weekend-cookie-buttons {
        flex-direction: column !important;
        gap: 10px !important;
    }
    
    .weekend-cookie-banner .weekend-cookie-buttons button {
        width: 100% !important;
        margin: 0 !important;
    }
}

/* Tablet compatibility */
@media (min-width: 769px) and (max-width: 1024px) {
    .weekend-cookie-banner {
        padding: 20px !important;
    }
}

/* Desktop compatibility */
@media (min-width: 1025px) {
    .weekend-cookie-banner {
        padding: 25px !important;
    }
}

/* ===== OXYGEN BUILDER SPECIFIC STYLES ===== */

/* Stili per elementi Oxygen */
.oxygen-body .weekend-cookie-banner .weekend-cookie-content {
    max-width: 1200px !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
}

.oxygen-body .weekend-cookie-banner .weekend-cookie-message {
    flex: 1 !important;
    margin-right: 20px !important;
}

.oxygen-body .weekend-cookie-banner .weekend-cookie-buttons {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

/* ===== ELEMENTOR SPECIFIC STYLES ===== */

/* Stili per elementi Elementor */
.elementor-page .weekend-cookie-banner .weekend-cookie-content {
    max-width: 1200px !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
}

.elementor-page .weekend-cookie-banner .weekend-cookie-message {
    flex: 1 !important;
    margin-right: 20px !important;
}

.elementor-page .weekend-cookie-banner .weekend-cookie-buttons {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

/* ===== SHORTCODE STYLES ===== */

/* Stili per shortcode in page builders */
.weekend-cookie-banner-shortcode {
    position: relative !important;
    z-index: 1 !important;
    margin: 20px 0 !important;
}

.weekend-cookie-widget-shortcode {
    position: relative !important;
    z-index: 1 !important;
    margin: 20px 0 !important;
}

/* ===== PREVIEW MODE STYLES ===== */

/* Stili per modalità preview */
.weekend-cookie-banner-preview {
    border: 2px dashed #ccc !important;
    padding: 20px !important;
    margin: 20px 0 !important;
    background: #f9f9f9 !important;
    border-radius: 5px !important;
}

.weekend-cookie-widget-preview {
    border: 2px dashed #ccc !important;
    padding: 20px !important;
    margin: 20px 0 !important;
    background: #f9f9f9 !important;
    border-radius: 5px !important;
}

/* ===== META BOX STYLES ===== */

/* Stili per meta box */
#weekend-cookie-oxygen,
#weekend-cookie-elementor {
    background: #fff !important;
    border: 1px solid #ccd0d4 !important;
    border-radius: 3px !important;
    padding: 15px !important;
}

#weekend-cookie-oxygen h2,
#weekend-cookie-elementor h2 {
    margin-top: 0 !important;
    color: #23282d !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

#weekend-cookie-oxygen p,
#weekend-cookie-elementor p {
    margin: 10px 0 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
}

#weekend-cookie-oxygen label,
#weekend-cookie-elementor label {
    display: block !important;
    margin: 5px 0 !important;
    font-weight: 500 !important;
}

#weekend-cookie-oxygen input[type="checkbox"],
#weekend-cookie-elementor input[type="checkbox"] {
    margin-right: 8px !important;
}

/* ===== ACCESSIBILITY ===== */

/* Migliora l'accessibilità */
.weekend-cookie-banner:focus-within {
    outline: 2px solid #007cba !important;
    outline-offset: 2px !important;
}

.weekend-cookie-banner button:focus {
    outline: 2px solid #007cba !important;
    outline-offset: 2px !important;
}

.weekend-cookie-widget:focus {
    outline: 2px solid #007cba !important;
    outline-offset: 2px !important;
}

/* ===== PRINT STYLES ===== */

/* Nasconde banner/widget in stampa */
@media print {
    .weekend-cookie-banner,
    .weekend-cookie-widget {
        display: none !important;
    }
}

/* ===== HIGH CONTRAST MODE ===== */

/* Supporto per modalità alto contrasto */
@media (prefers-contrast: high) {
    .weekend-cookie-banner {
        border: 2px solid #000 !important;
        background: #fff !important;
        color: #000 !important;
    }
    
    .weekend-cookie-banner button {
        border: 2px solid #000 !important;
        background: #000 !important;
        color: #fff !important;
    }
    
    .weekend-cookie-widget {
        border: 2px solid #000 !important;
        background: #000 !important;
        color: #fff !important;
    }
}

/* ===== REDUCED MOTION ===== */

/* Supporto per preferenze di movimento ridotto */
@media (prefers-reduced-motion: reduce) {
    .weekend-cookie-banner,
    .weekend-cookie-widget {
        transition: none !important;
        animation: none !important;
    }
}

/* ===== DARK MODE ===== */

/* Supporto per modalità scura */
@media (prefers-color-scheme: dark) {
    .weekend-cookie-banner {
        background: #1e1e1e !important;
        color: #ffffff !important;
        border-color: #333333 !important;
    }
    
    .weekend-cookie-banner button {
        background: #007cba !important;
        color: #ffffff !important;
        border-color: #007cba !important;
    }
    
    .weekend-cookie-widget {
        background: #007cba !important;
        color: #ffffff !important;
    }
}
