/* =========================================================================
   PREVENTIVO AGRITURISMO - stile trasparente su sfondo scuro
   Etichette sopra i campi, riquadri semi-trasparenti, campi compatti.
   I colori sono in variabili qui sotto: cambiali per adattare la palette.
   ========================================================================= */

.pa-form{
    --pa-bianco:       #ffffff;
    --pa-bianco-tenue: rgba(255,255,255,.55);
    --pa-bordo:        rgba(255,255,255,.7);
    --pa-riempimento:  rgba(255,255,255,.06); /* riempimento campi semi-trasparente */
    --pa-riempimento-focus: rgba(255,255,255,.12);
    --pa-altezza-campo: 3rem;   /* altezza uniforme di input/select/telefono */
    --pa-raggio:       6px;

    position:relative;
    background:transparent;          /* niente riquadro verde: si vede lo sfondo pagina */
    color:var(--pa-bianco);
    padding:0;
    max-width:1100px;
    margin:2rem auto;
    box-sizing:border-box;
    font-family:'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* --- Griglia dei campi --- */
.pa-form .pa-griglia{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1.1rem 1.5rem;
}
.pa-form .pa-campo--note{grid-column:1 / -1;}

/* --- Singolo campo: etichetta SOPRA, riquadro sotto --- */
.pa-form .pa-campo{
    display:flex;
    flex-direction:column;
}
.pa-form .pa-campo label{
    font-size:.85rem;
    color:var(--pa-bianco);
    margin-bottom:.45rem;
    letter-spacing:.01em;
    text-transform:capitalize;   /* iniziale maiuscola: nome -> Nome */
}

/* riquadri semi-trasparenti e bassi.
   Uso un'altezza fissa uguale per tutti i campi a riga singola (input, select,
   gruppo telefono) così risultano perfettamente omogenei. */
.pa-form .pa-campo > input,
.pa-form .pa-campo > select,
.pa-form .pa-campo .pa-tel-gruppo{
    height:var(--pa-altezza-campo);
}
.pa-form .pa-campo > input,
.pa-form .pa-campo > select,
.pa-form .pa-campo > textarea,
.pa-form .pa-campo .pa-tel-gruppo{
    background:var(--pa-riempimento);
    border:1.5px solid var(--pa-bordo);
    border-radius:var(--pa-raggio);
    color:var(--pa-bianco);
    font-size:1rem;
    font-family:inherit;
    width:100%;
    box-sizing:border-box;
    padding:0 .8rem;                /* verticale gestito dall'altezza fissa */
    line-height:normal;
    outline:none;
    -webkit-appearance:none;
    appearance:none;
    transition:background .15s, border-color .15s;
}
.pa-form .pa-campo > textarea{padding:.6rem .8rem;} /* la textarea resta a più righe */
.pa-form .pa-campo > input::placeholder,
.pa-form .pa-campo > textarea::placeholder{color:var(--pa-bianco-tenue);}

.pa-form .pa-campo > input:focus,
.pa-form .pa-campo > select:focus,
.pa-form .pa-campo > textarea:focus,
.pa-form .pa-campo .pa-tel-gruppo:focus-within{
    background:var(--pa-riempimento-focus);
    border-color:var(--pa-bianco);
}

.pa-form .pa-campo > textarea{resize:vertical;min-height:110px;}

/* campo data: input compatto, con la fascia oraria appena sotto */
.pa-form .pa-campo--data{gap:.5rem;}
.pa-form .pa-campo--data input[type="date"]{
    font-size:1.05rem;
    color-scheme:dark;              /* rende il calendario nativo scuro, coerente col tema */
}
.pa-form .pa-campo--data .pa-ora{
    height:var(--pa-altezza-campo);
    font-size:.9rem;
    color:var(--pa-bianco-tenue);
    background:var(--pa-riempimento);
    border:1.5px solid var(--pa-bordo);
    border-radius:var(--pa-raggio);
    padding:0 .8rem;
    box-sizing:border-box;
    width:100%;
    -webkit-appearance:none;appearance:none;
    outline:none;
}

/* menu a tendina: freccina bianca a destra */
.pa-form .pa-campo > select,
.pa-form .pa-prefisso,
.pa-form .pa-ora{
    background-image:
        linear-gradient(45deg, transparent 50%, var(--pa-bianco) 50%),
        linear-gradient(135deg, var(--pa-bianco) 50%, transparent 50%);
    background-position:
        calc(100% - 16px) 55%,
        calc(100% - 11px) 55%;
    background-size:5px 5px, 5px 5px;
    background-repeat:no-repeat;
    padding-right:1.8rem;
}
.pa-form select option{color:#222;} /* leggibilità del menu aperto */

/* --- Telefono con prefisso --- */
.pa-form .pa-tel-gruppo{
    display:flex;
    align-items:center;
    gap:.5rem;
    padding:0;                       /* il padding lo danno i figli */
    overflow:hidden;
}
.pa-form .pa-tel-gruppo .pa-prefisso{
    flex:0 0 auto;
    width:6.5rem;
    height:100%;
    background-color:transparent;
    border:0;
    border-right:1.5px solid var(--pa-bordo);
    border-radius:0;
    color:var(--pa-bianco);
    font-size:1rem;
    padding:0 .8rem;
    -webkit-appearance:none;appearance:none;
    outline:none;
}
.pa-form .pa-tel-gruppo input{
    flex:1 1 auto;
    height:100%;
    background:transparent;
    border:0;
    color:var(--pa-bianco);
    font-size:1rem;
    padding:0 .8rem;
    outline:none;
    width:100%;
}

/* --- Footer: privacy + invia --- */
.pa-form .pa-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1.5rem;
    margin-top:1.6rem;
    flex-wrap:wrap;
}
.pa-form .pa-privacy{
    display:flex;
    align-items:center;
    gap:.6rem;
    font-size:1.05rem;
    cursor:pointer;
}
.pa-form .pa-privacy input{
    width:20px;height:20px;
    accent-color:var(--pa-bianco);
    cursor:pointer;
}
.pa-form .pa-privacy,
.pa-form .pa-privacy span{
    color:var(--pa-bianco);
}
.pa-form .pa-privacy a,
.pa-form .pa-privacy a:link,
.pa-form .pa-privacy a:visited,
.pa-form .pa-privacy a:hover,
.pa-form .pa-privacy a:active{
    color:var(--pa-bianco);
    font-weight:700;
    text-decoration:underline;
}
.pa-form .pa-privacy a:hover{opacity:.85;}

.pa-form .pa-invia{
    background:transparent;
    color:var(--pa-bianco);
    border:1.5px solid var(--pa-bordo);
    border-radius:999px;
    padding:.7rem 2.6rem;
    font-size:1.05rem;
    letter-spacing:.05em;
    cursor:pointer;
    transition:background .2s, color .2s;
    font-family:inherit;
}
.pa-form .pa-invia:hover{background:var(--pa-bianco);color:#3f4a2b;}
.pa-form .pa-invia:disabled{opacity:.5;cursor:not-allowed;}

.pa-form .pa-errore{
    margin-top:.9rem;color:#ffdca8;font-size:.95rem;min-height:1.2em;
}

/* --- Popup preventivo (bianco semi-trasparente, testo verde, look moderno) --- */
.pa-overlay{
    --pa-verde-testo:#3f4a2b;
    position:fixed;inset:0;z-index:99999;
    background:rgba(20,25,12,.55);
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
    display:flex;align-items:center;justify-content:center;
    padding:1.5rem;
    font-family:'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
.pa-overlay[hidden]{display:none;}
.pa-popup{
    position:relative;
    background:rgba(255,255,255,.82);
    backdrop-filter:blur(16px) saturate(1.2);
    -webkit-backdrop-filter:blur(16px) saturate(1.2);
    color:var(--pa-verde-testo);
    border:1px solid rgba(255,255,255,.9);
    border-radius:20px;
    max-width:440px;width:100%;
    padding:2.2rem 2.2rem 1.8rem;
    box-shadow:0 24px 70px rgba(20,25,12,.35);
    font-family:inherit;
}
.pa-popup h3{
    margin:0 0 1.4rem;font-size:1.5rem;font-weight:700;color:var(--pa-verde-testo);
    letter-spacing:-.01em;
}
.pa-popup-chiudi{
    position:absolute;top:1rem;right:1.2rem;
    background:none;border:0;color:var(--pa-verde-testo);
    font-size:1.7rem;line-height:1;cursor:pointer;opacity:.55;transition:opacity .15s;
}
.pa-popup-chiudi:hover{opacity:1;}
.pa-popup-corpo{font-size:1.05rem;line-height:1.6;color:var(--pa-verde-testo);}
.pa-popup-corpo .pa-riga{
    display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0;
    border-bottom:1px solid rgba(63,74,43,.12);
}
.pa-popup-corpo .pa-riga span:first-child{opacity:.7;}
.pa-popup-corpo .pa-riga span:last-child{font-weight:600;text-align:right;}
.pa-popup-corpo .pa-prezzo-grande{
    font-size:2rem;font-weight:700;margin-top:1rem;
    padding-top:1rem;
    display:flex;justify-content:space-between;align-items:baseline;
    color:var(--pa-verde-testo);
}
.pa-popup-corpo .pa-prezzo-grande span:first-child{font-size:1rem;font-weight:600;opacity:.7;}
.pa-popup-azioni{
    display:flex;gap:.8rem;margin-top:1.8rem;flex-wrap:wrap;
}
.pa-popup-annulla,.pa-popup-conferma{
    flex:1 1 auto;
    padding:.85rem 1rem;border-radius:999px;font-size:1.02rem;cursor:pointer;
    font-family:inherit;font-weight:600;
    transition:background .2s,color .2s,opacity .2s;
}
.pa-popup-annulla{
    background:transparent;color:var(--pa-verde-testo);
    border:1.5px solid rgba(63,74,43,.5);
}
.pa-popup-annulla:hover{background:rgba(63,74,43,.08);}
.pa-popup-conferma{
    background:var(--pa-verde-testo);color:#fff;border:1.5px solid var(--pa-verde-testo);
}
.pa-popup-conferma:hover{opacity:.88;}
.pa-popup-conferma:disabled{opacity:.5;cursor:not-allowed;}
.pa-popup-esito{margin-top:1rem;font-size:1rem;min-height:1.2em;text-align:center;font-weight:600;}
.pa-popup-esito.ok{color:#2f6b1e;}
.pa-popup-esito.ko{color:#b0431f;}

/* --- Responsive --- */
@media (max-width:760px){
    .pa-form .pa-griglia{grid-template-columns:1fr;gap:1rem;}
    .pa-form .pa-footer{flex-direction:column;align-items:stretch;}
    .pa-form .pa-invia{width:100%;}
}

@media (prefers-reduced-motion:reduce){
    .pa-form .pa-invia,.pa-popup-annulla,.pa-popup-conferma,
    .pa-form .pa-campo > input,.pa-form .pa-campo > select,.pa-form .pa-campo > textarea{transition:none;}
}
