/* =========================================================================
   AirAffitti — POPUP "Valuta il tuo immobile"  (airaffitti-modal.css)
   <dialog> nativo (top-layer => nessuna guerra di z-index, nessun CLS).
   Palette del sito: nero / bianco / beige-oro. Animazione fade + scale.
   ========================================================================= */

/* ---- Dialog + overlay ---------------------------------------------------- */
.aa-modal{
  border:0; padding:0; margin:auto; background:transparent;
  max-width:min(480px, calc(100vw - 2rem)); width:100%;
  color:var(--nero, #14181D); overflow:visible;
}
.aa-modal::backdrop{                       /* overlay scuro con blur ottico  */
  background:rgba(8,10,14,.60);
  -webkit-backdrop-filter:blur(8px) saturate(120%);
  backdrop-filter:blur(8px) saturate(120%);
  opacity:0; transition:opacity .32s cubic-bezier(.16,1,.3,1);
}
.aa-modal[open]::backdrop{ opacity:1; }

/* Card */
.aa-modal__card{
  position:relative; background:var(--bianco, #FDFCF9);
  border:1px solid var(--linea, #E4DECF); border-radius:24px;
  padding:2.4rem 2.2rem 2rem;
  box-shadow:0 40px 90px -30px rgba(8,10,14,.55), 0 2px 8px rgba(8,10,14,.12);
  max-height:calc(100dvh - 2rem); overflow-y:auto; overflow-x:hidden;
  /* stato iniziale animazione (fade + scale) */
  opacity:0; transform:translateY(8px) scale(.965);
  transition:opacity .34s cubic-bezier(.16,1,.3,1), transform .34s cubic-bezier(.16,1,.3,1);
}
.aa-modal.is-open .aa-modal__card{ opacity:1; transform:none; }

/* filo beige superiore = firma brand */
.aa-modal__card::before{
  content:""; position:absolute; left:2.2rem; right:2.2rem; top:0; height:3px;
  background:linear-gradient(90deg, var(--beige,#C9B18A), var(--beige-scuro,#A88F65));
  border-radius:0 0 3px 3px;
}

/* ---- Chiudi (X) ---------------------------------------------------------- */
.aa-modal__x{
  position:absolute; top:1rem; right:1rem; width:38px; height:38px;
  display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--linea,#E4DECF); border-radius:50%;
  background:rgba(255,255,255,.6); color:var(--nero-soft,#5C636C); cursor:pointer;
  transition:background .2s ease, color .2s ease, transform .25s cubic-bezier(.16,1,.3,1), border-color .2s ease;
}
.aa-modal__x svg{ width:16px; height:16px; }
.aa-modal__x:hover{ background:var(--nero,#14181D); color:#fff; border-color:var(--nero,#14181D); transform:rotate(90deg); }
.aa-modal__x:focus-visible{ outline:2px solid var(--beige,#C9B18A); outline-offset:2px; }

/* ---- Responsive (contenitore) ------------------------------------------- */
@media (max-width:520px){
  .aa-modal{ max-width:calc(100vw - 1.2rem); }
  .aa-modal__card{ padding:1.5rem 1rem 1.2rem; border-radius:20px; }
  .aa-modal__card::before{ left:1rem; right:1rem; }
}

/* ---- Accessibilità ------------------------------------------------------- */
@media (prefers-reduced-motion: reduce){
  .aa-modal__card{ transition:none; transform:none; opacity:1; }
  .aa-modal::backdrop{ transition:none; }
  .aa-modal__x{ transition:none; }
}

/* =========================================================================
   POPUP CONTATTI (aperto dalla CTA del risultato valutatore)
   Riusa .aa-modal / .aa-modal__card / .aa-modal__x. Palette del sito.
   ========================================================================= */
.aa-contatti-popup{ text-align:left; }
.aa-contatti-popup .aa-cont__kicker{
  display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--beige-scuro,#A88F65); margin-bottom:.7rem;
}
.aa-contatti-popup .aa-cont__title{
  font-size:clamp(1.5rem,4.4vw,1.95rem); font-weight:800; line-height:1.06;
  letter-spacing:-.02em; color:var(--nero,#14181D); margin:0 0 .6rem; text-wrap:balance;
}
.aa-contatti-popup .aa-cont__lead{
  font-size:.95rem; line-height:1.55; color:var(--nero-soft,#5C636C); margin:0 0 1.5rem; max-width:38ch;
}
/* WhatsApp: CTA primaria grande beige */
.aa-contatti-popup .aa-cont__wa{
  display:inline-flex; align-items:center; justify-content:center; gap:10px; width:100%;
  min-height:56px; padding:0 26px; border-radius:16px; text-decoration:none;
  background:var(--beige,#C9B18A); color:#1a1408; font-weight:700; font-size:1rem; letter-spacing:.005em;
  box-shadow:0 1px 2px rgba(201,177,138,.3), 0 10px 24px -12px rgba(201,177,138,.6);
  transition:transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s cubic-bezier(.16,1,.3,1), background-color .25s ease;
}
.aa-contatti-popup .aa-cont__wa svg{ width:19px; height:19px; }
.aa-contatti-popup .aa-cont__wa:hover{ background:#d6c1a0; transform:translateY(-3px); box-shadow:0 4px 10px rgba(201,177,138,.32), 0 20px 44px -14px rgba(201,177,138,.7); }
.aa-contatti-popup .aa-cont__wa:active{ transform:translateY(-1px); }
.aa-contatti-popup .aa-cont__wa:focus-visible{ outline:2px solid var(--nero,#14181D); outline-offset:3px; }
/* Contatti diretti */
.aa-contatti-popup .aa-cont__list{ list-style:none; margin:1.2rem 0 0; padding:0; display:grid; gap:.55rem; font-size:.95rem; }
.aa-contatti-popup .aa-cont__list a{ color:var(--nero,#14181D); font-weight:600; text-decoration:none; transition:color .2s ease; display:inline-flex; align-items:center; gap:.55rem; }
.aa-contatti-popup .aa-cont__list a:hover{ color:var(--beige-scuro,#A88F65); }
.aa-contatti-popup .aa-cont__list svg{ width:16px; height:16px; color:var(--beige-scuro,#A88F65); flex:0 0 auto; }
/* Link secondario al modulo completo */
.aa-contatti-popup .aa-cont__full{
  display:inline-block; margin-top:1.4rem; font-size:.85rem; font-weight:600;
  color:var(--nero-soft,#5C636C); text-decoration:none; border-bottom:1px solid var(--linea,#E4DECF);
  padding-bottom:2px; transition:color .2s ease, border-color .2s ease;
}
.aa-contatti-popup .aa-cont__full:hover{ color:var(--nero,#14181D); border-color:var(--beige-scuro,#A88F65); }
.aa-contatti-popup .aa-cont__full:focus-visible{ outline:2px solid var(--beige,#C9B18A); outline-offset:3px; }

/* ---- Form compatto nel popup Contatti ---------------------------------- */
.aa-contatti-popup .aa-cont__form{ display:flex; flex-direction:column; gap:.85rem; margin-top:.2rem; }
.aa-contatti-popup .aa-cont__form .fld{ display:grid; gap:.32rem; }
.aa-contatti-popup .aa-cont__form label{ font-size:.78rem; font-weight:700; color:var(--nero,#14181D); }
.aa-contatti-popup .aa-cont__form input,
.aa-contatti-popup .aa-cont__form textarea{
  font:500 .92rem/1.45 var(--font,'Montserrat',sans-serif); color:var(--nero,#14181D);
  padding:.72em .95em; border:1px solid var(--linea,#E4DECF); border-radius:13px;
  background:#fff; width:100%; -webkit-appearance:none; appearance:none;
  transition:border-color .22s ease, box-shadow .22s ease;
}
.aa-contatti-popup .aa-cont__form textarea{ min-height:4.6rem; resize:vertical; line-height:1.5; }
.aa-contatti-popup .aa-cont__form input::placeholder,
.aa-contatti-popup .aa-cont__form textarea::placeholder{ color:#a7a29a; }
.aa-contatti-popup .aa-cont__form input:focus,
.aa-contatti-popup .aa-cont__form textarea:focus,
.aa-contatti-popup .aa-cont__form input:focus-visible,
.aa-contatti-popup .aa-cont__form textarea:focus-visible{
  outline:none; border-color:var(--beige-scuro,#A88F65); box-shadow:0 0 0 4px rgba(201,177,138,.22);
}
/* Submit: pulsante primario beige (uguale linguaggio del sito) */
.aa-contatti-popup .aa-cont__submit{
  margin-top:.3rem; display:inline-flex; align-items:center; justify-content:center; gap:10px; width:100%;
  min-height:54px; padding:0 26px; border:0; border-radius:16px; cursor:pointer;
  background:var(--beige,#C9B18A); color:#1a1408; font:700 1rem/1 var(--font,'Montserrat',sans-serif); letter-spacing:.005em;
  box-shadow:0 1px 2px rgba(201,177,138,.3), 0 10px 24px -12px rgba(201,177,138,.6);
  transition:transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s cubic-bezier(.16,1,.3,1), background-color .25s ease;
}
.aa-contatti-popup .aa-cont__submit svg{ width:17px; height:17px; transition:transform .35s cubic-bezier(.16,1,.3,1); }
.aa-contatti-popup .aa-cont__submit:hover{ background:#d6c1a0; transform:translateY(-3px); box-shadow:0 4px 10px rgba(201,177,138,.32), 0 20px 44px -14px rgba(201,177,138,.7); }
.aa-contatti-popup .aa-cont__submit:hover svg{ transform:translateX(4px); }
.aa-contatti-popup .aa-cont__submit:active{ transform:translateY(-1px); }
.aa-contatti-popup .aa-cont__submit:focus-visible{ outline:2px solid var(--nero,#14181D); outline-offset:3px; }
/* Alternativa WhatsApp sotto il form */
.aa-contatti-popup .aa-cont__alt{ display:flex; align-items:center; gap:.7rem; margin-top:1rem; font-size:.82rem; color:var(--nero-soft,#5C636C); }
.aa-contatti-popup .aa-cont__alt::before,
.aa-contatti-popup .aa-cont__alt::after{ content:""; flex:1; height:1px; background:var(--linea,#E4DECF); }
.aa-contatti-popup .aa-cont__wa2{
  display:inline-flex; align-items:center; gap:.5rem; margin-top:.9rem; justify-content:center; width:100%;
  min-height:46px; border:1px solid var(--linea,#E4DECF); border-radius:14px; text-decoration:none;
  color:var(--nero,#14181D); font-weight:600; font-size:.9rem; background:#fff;
  transition:border-color .2s ease, background .2s ease, transform .3s cubic-bezier(.16,1,.3,1);
}
.aa-contatti-popup .aa-cont__wa2 svg{ width:17px; height:17px; color:var(--beige-scuro,#A88F65); }
.aa-contatti-popup .aa-cont__wa2:hover{ border-color:var(--beige-scuro,#A88F65); background:#fbf9f5; transform:translateY(-2px); }
.aa-contatti-popup .aa-cont__wa2:focus-visible{ outline:2px solid var(--beige,#C9B18A); outline-offset:2px; }
.aa-contatti-popup .aa-cont__note{ font-size:.72rem; color:var(--nero-soft,#5C636C); text-align:center; margin:.9rem 0 0; }
