/* ========================================
   CRITICAL CSS - PREVIENE FLASH DI STILI
   ======================================== */

/* Stili critici che si caricano immediatamente */
body {
    font-family: 'Poppins', sans-serif;
    background-color: #0b0c13;
    color: #c9d1d9;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    width: 100vw;
    max-width: 100vw;
}

/* Prevenzione flash per header */
.main-nav, .glass-nav {
    background-color: #0b0c13;
    width: 100vw;
    max-width: 100vw;
    /* IMPORTANTE: Non forzare overflow hidden qui per permettere hover effects */
}

/* Prevenzione flash per contenitori principali */
.container, .container-fluid {
    max-width: 100vw;
    width: 100%;
    /* IMPORTANTE: Non forzare overflow hidden qui per permettere hover effects */
}

/* Prevenzione flash per elementi principali */
.hero-content, .content-card, .feature-card {
    max-width: 100vw;
    /* IMPORTANTE: Non forzare overflow hidden qui per permettere hover effects */
}



/* ========================================
   POSIZIONAMENTO CRITICO DEI MENU
   ======================================== */

/* Fix per mobile - menu fisso in alto */
@media screen and (max-width: 768px) {
    body {
        width: 100vw;
        max-width: 100vw;
        overflow-x: hidden;
    }
    
    .main-nav {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        min-height: 68px !important;
        /* Su mobile possiamo forzare overflow hidden */
        overflow: hidden !important;
        /* IMPORTANTE: Non modificare lo stile originale */
        /* Mantieni backdrop-filter, box-shadow, etc. da home-style.css */
         /* AGGIUNGI QUESTE RIGHE PER CORREGGERE IL PROBLEMA */
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        animation: none !important;
    }
    
    .glass-nav {
        display: none !important;
    }
    
    /* Aggiusta il contenuto principale */
    main {
        padding-top: 80px !important;
    }
}

/* Fix per desktop - menu sticky che rimane fisso */
@media screen and (min-width: 769px) {
    .main-nav {
        /* Su desktop, il menu principale rimane sticky in alto */
        position: sticky !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        /* IMPORTANTE: Non forzare overflow hidden qui per permettere hover effects */
        /* IMPORTANTE: Non modificare lo stile originale */
        /* Mantieni backdrop-filter, box-shadow, etc. da home-style.css */
        /* Z-index alto per essere sopra tutto */
        z-index: 1001 !important;
        /* Assicura che il menu rimanga fisso durante lo scroll */
        will-change: transform !important;
        /* Transizione fluida per eventuali animazioni */
        transition: transform 0.3s ease-in-out !important;
    }
    
    .glass-nav {
        /* Ripristina il comportamento sticky originale */
        position: sticky !important;
        top: 95px !important;
        z-index: 1000 !important;
        /* Rimuovi tutti i fix mobile */
        left: auto !important;
        right: auto !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        border-radius: 0.75rem !important;
        /* Transizione fluida per il posizionamento */
        transition: top 0.3s ease-in-out !important;
        /* Assicura che il menu secondario rimanga sempre visibile */
        will-change: top !important;
    }
    
    /* Assicura che il menu principale rimanga sempre visibile su desktop */
    .main-nav.-translate-y-full {
        /* Anche quando si nasconde, mantiene la sua posizione sticky */
        position: sticky !important;
        top: 0 !important;
        transform: translateY(-100%) !important;
    }
    
    /* Quando il menu principale è nascosto, il secondario rimane fisso al suo posto */
    .main-nav.-translate-y-full ~ .glass-nav {
        top: 95px !important; /* Mantiene la stessa posizione relativa */
    }
    
    /* Assicura che il menu secondario non scompaia mai su desktop */
    .glass-nav.-translate-y-full {
        /* Anche quando si nasconde, mantiene la sua posizione sticky */
        position: sticky !important;
        top: 95px !important;
        transform: translateY(-100%) !important;
    }
    
    /* Ripristina il padding normale del contenuto */
    main {
        padding-top: 0 !important;
    }
}

/* ========================================
   FIX CRITICI PER BOTTONI E SPACING
   ======================================== */

/* Fix critici per bottoni che potrebbero essere tagliati */
.neumorphic-btn,
.cta-button-main,
.cta-button-partners,
.cta-button-foundation,
.cta-button-launch,
.cta-button-blueprint {
    /* Assicura che i bottoni non escano dal loro contenitore */
    max-width: 100% !important;
    /* IMPORTANTE: Non forzare overflow hidden qui per permettere hover effects */
    box-sizing: border-box !important;
    /* Previene che i bottoni si estendano oltre i bordi */
    word-wrap: break-word !important;
    white-space: normal !important;
}

/* Fix per contenitori dei bottoni */
.flex > *,
.grid > * {
    /* Assicura che gli elementi flex/grid non escano */
    max-width: 100% !important;
    /* IMPORTANTE: Non forzare overflow hidden qui per permettere hover effects */
    box-sizing: border-box !important;
}

/* Fix per contenitori che potrebbero causare tagli */
.container,
.container-fluid {
    /* Assicura che i contenitori non causino tagli */
    /* IMPORTANTE: Non forzare overflow visible qui per permettere hover effects */
    word-wrap: break-word !important;
}

/* Fix per elementi che potrebbero essere tagliati */
.hero-content,
.content-card,
.feature-card,
.service-widget-item {
    /* Assicura che il contenuto non sia tagliato */
    /* IMPORTANTE: Non forzare overflow visible qui per permettere hover effects */
    word-wrap: break-word !important;
    white-space: normal !important;
}

/* ========================================
   FIX CRITICI PER HOVER EFFECTS
   ======================================== */

/* Fix critici per permettere hover effects sui bottoni */
@media screen and (min-width: 769px) {
    /* Su desktop, permetti ai bottoni di espandersi durante hover */
    .main-nav .neumorphic-btn:hover {
        /* Permetti al bottone di espandersi oltre i bordi del contenitore */
        z-index: 1002 !important; /* Sopra tutto */
        /* Assicura che l'effetto hover sia visibile */
        overflow: visible !important;
    }
    
    /* Assicura che il container del menu non tagli i bottoni durante hover */
    .main-nav .container,
    .main-nav .container-fluid {
        /* Su desktop, non forzare overflow hidden per permettere hover effects */
        overflow: visible !important;
    }
    
    /* Assicura che il menu principale non tagli i bottoni durante hover */
    .main-nav {
        /* Su desktop, non forzare overflow hidden per permettere hover effects */
        overflow: visible !important;
    }
}

/* Fix per mobile - mantieni overflow hidden per evitare problemi */
@media screen and (max-width: 768px) {
    .main-nav,
    .main-nav .container,
    .main-nav .container-fluid {
        /* Su mobile, mantieni overflow hidden per evitare problemi */
        overflow: hidden !important;
    }
}
