/**
 * FIX ANALYZE BUTTON VISIBILITY
 * Versione: 1.0.0
 *
 * Risolve il problema del pulsante "Analizza" che appare negli step sbagliati,
 * specialmente su iPhone. Il pulsante deve essere visibile SOLO nello Step 3
 * (selezione tetto).
 */

/* ===================================
   NASCONDI IL PULSANTE PER DEFAULT
   =================================== */

/* Nascondi sempre il pulsante finché non è esplicitamente mostrato */
#analyze-roof-btn,
#analyze-roof-btn.btn,
button#analyze-roof-btn {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* ===================================
   MOSTRA SOLO NELLO STEP 3 (ROOF SELECTION)
   =================================== */

/* Quando il tetto è stato selezionato e il pulsante è abilitato */
.step-3-active #analyze-roof-btn:not([disabled]),
.roof-mapper-active #analyze-roof-btn:not([disabled]),
.roof-selected #analyze-roof-btn:not([disabled]) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

/* ===================================
   NASCONDI ESPLICITAMENTE NEGLI ALTRI STEP
   =================================== */

/* Step 1: Ricerca indirizzo */
.step-1-active #analyze-roof-btn,
.address-search-active #analyze-roof-btn,
body:not(.step-3-active):not(.roof-mapper-active) #analyze-roof-btn {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Step 2: Caricamento/Geocoding */
.step-2-active #analyze-roof-btn,
.geocoding-active #analyze-roof-btn {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Step 4: Risultati */
.step-4-active #analyze-roof-btn,
.results-active #analyze-roof-btn {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* ===================================
   MOBILE SPECIFIC RULES
   =================================== */

@media (max-width: 768px) {
    /* Su mobile, nascondi sempre finché non è lo step giusto */
    #analyze-roof-btn {
        display: none !important;
        visibility: hidden !important;
        position: absolute !important;
        left: -9999px !important;
        opacity: 0 !important;
    }

    /* Mostra solo con classe specifica di visibilità */
    .show-analyze-button #analyze-roof-btn,
    .step-3-active.roof-ready #analyze-roof-btn,
    .roof-mapper-wrapper:has(.roof-selected) #analyze-roof-btn {
        display: block !important;
        visibility: visible !important;
        position: relative !important;
        left: auto !important;
        opacity: 1 !important;
        width: 100% !important;
        margin-top: 1rem !important;
    }
}

/* ===================================
   ULTERIORE SICUREZZA: DURANTE ADDRESS INPUT
   =================================== */

/* Se il campo indirizzo è visibile/attivo, nascondi il pulsante */
#address-input:focus ~ #analyze-roof-btn,
#address-input-autocomplete:focus ~ #analyze-roof-btn,
.address-input-hero:has(#address-input) #analyze-roof-btn,
.address-hero-section #analyze-roof-btn {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* ===================================
   SPECIFICO PER IPHONE/SAFARI
   =================================== */

/* Safari su iOS tende a ignorare alcuni display: none, quindi usiamo multiple strategie */
@supports (-webkit-touch-callout: none) {
    /* Regole specifiche per iOS Safari */
    #analyze-roof-btn {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        width: 0 !important;
        overflow: hidden !important;
        position: absolute !important;
        left: -9999px !important;
        opacity: 0 !important;
        pointer-events: none !important;
        transform: scale(0) !important;
    }

    /* Solo con classe esplicita e step corretto */
    .step-3-active.show-analyze-button #analyze-roof-btn:not([disabled]) {
        display: block !important;
        visibility: visible !important;
        height: auto !important;
        width: 100% !important;
        overflow: visible !important;
        position: relative !important;
        left: auto !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: scale(1) !important;
    }
}

/* ===================================
   CACHE BUSTING VERIFICATION
   =================================== */

/* Aggiungi un marcatore visibile in console per verificare che questo CSS è caricato */
body::before {
    content: "FIX-ANALYZE-BUTTON-v1.0.0";
    display: none;
}

/* ===================================
   DEBUG MODE (rimuovi in produzione)
   =================================== */

/* Quando body ha classe .debug-buttons, mostra bordo rosso dove il pulsante è nascosto */
.debug-buttons #analyze-roof-btn {
    outline: 2px dashed red !important;
}

.debug-buttons .step-3-active #analyze-roof-btn:not([disabled]) {
    outline: 2px solid green !important;
}
