/* ============================================================
   AirAffitti — CONTATTI
   Dipende da airaffitti-home.css (design system, .bx, .callout,
   .kicker, .lead, aa-btn, page-hero via servizi). Scope: .contatti
   ============================================================ */

/* Ritmo sezioni coerente (responsivo, non "template") */
.aa-home.contatti .section { padding-block: clamp(3.6rem, 7vw, 6rem); }
.aa-home.contatti .contact-split { padding-top: clamp(2.6rem, 5vw, 4rem); }

/* ---- SPLIT: form (sinistra) + aside (destra) ---- */
.aa-home.contatti .split {
  display: grid !important; gap: 2.5rem; align-items: start;
}
@media (min-width: 900px) {
  .aa-home.contatti .split { grid-template-columns: 1.25fr 1fr; gap: 3.5rem; }
}
.aa-home.contatti .contact-aside { display: grid !important; gap: 1rem; }

/* ---- FORM ---- */
.aa-home.contatti .contact-form.bx {
  padding: 2.4rem 2.2rem; display: flex; flex-direction: column; gap: 1.1rem;
}
.aa-home.contatti .cf__h { font-size: 1.5rem; font-weight: 800; letter-spacing: -.01em; margin: 0 0 .1rem; color: var(--nero); }
.aa-home.contatti .cf__sub { font-size: .88rem; color: var(--nero-soft); margin: 0 0 .4rem; }

.aa-home.contatti .fld { display: grid; gap: .38rem; }
.aa-home.contatti .fld label { font-size: .8rem; font-weight: 700; color: var(--nero); letter-spacing: .005em; }
.aa-home.contatti .fld input,
.aa-home.contatti .fld select,
.aa-home.contatti .fld textarea {
  font: 500 .92rem/1.45 var(--font); color: var(--nero);
  padding: .78em 1em; border: 1px solid var(--linea); border-radius: 14px;
  background: var(--bianco); width: 100%;
  transition: border-color .22s ease, box-shadow .22s ease, background .22s ease;
  -webkit-appearance: none; appearance: none;
}
.aa-home.contatti .fld textarea { min-height: 9.5rem; resize: vertical; line-height: 1.5; }
.aa-home.contatti .fld select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23A88F65' stroke-width='2.4'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 1em center; padding-right: 2.6em; cursor: pointer;
}
.aa-home.contatti .fld input::placeholder,
.aa-home.contatti .fld textarea::placeholder { color: #a7a29a; }
.aa-home.contatti .fld input:focus,
.aa-home.contatti .fld select:focus,
.aa-home.contatti .fld textarea:focus,
.aa-home.contatti .fld input:focus-visible,
.aa-home.contatti .fld select:focus-visible,
.aa-home.contatti .fld textarea:focus-visible {
  outline: none; border-color: var(--beige-scuro);
  box-shadow: 0 0 0 4px rgba(201,177,138,.22);
}
.aa-home.contatti .fld2 { display: grid; gap: 1rem; grid-template-columns: 1fr 1fr; }
@media (max-width: 560px) { .aa-home.contatti .fld2 { grid-template-columns: 1fr; } }

/* privacy checkbox */
.aa-home.contatti .priv { display: flex; gap: .6rem; align-items: flex-start; font-size: .78rem; line-height: 1.5; color: var(--nero-soft); margin-top: .2rem; }
.aa-home.contatti .priv input { margin-top: 3px; width: 16px; height: 16px; flex: 0 0 auto; accent-color: var(--nero); }

/* submit — bottone scuro premium (gerarchia: distinto dalle CTA beige) */
.aa-home.contatti .cf__submit {
  display: inline-flex; align-items: center; gap: 10px; align-self: flex-start;
  min-height: 54px; padding: 0 30px; border: 0; border-radius: 16px;
  background: var(--nero); color: #fff; font: 600 .95rem/1 var(--font); letter-spacing: .01em; cursor: pointer;
  box-shadow: 0 2px 6px rgba(20,24,29,.18);
  transition: transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s cubic-bezier(.16,1,.3,1), background-color .25s ease;
}
.aa-home.contatti .cf__submit svg { width: 16px; height: 16px; transition: transform .35s cubic-bezier(.16,1,.3,1); }
.aa-home.contatti .cf__submit:hover { transform: translateY(-3px) scale(1.01); box-shadow: 0 16px 34px -14px rgba(20,24,29,.55); background: #1f262e; }
.aa-home.contatti .cf__submit:hover svg { transform: translateX(4px); }
.aa-home.contatti .cf__submit:active { transform: translateY(-1px); }
.aa-home.contatti .cf__submit:focus-visible { outline: 2px solid var(--beige); outline-offset: 3px; }
.aa-home.contatti .cf__note { font-size: .74rem; color: var(--nero-soft); margin: .1rem 0 0; }

/* ---- ASIDE boxes ---- */
.aa-home.contatti .contact-aside .bx { padding: 1.8rem 1.7rem; }
.aa-home.contatti .contact-aside .bx h3 { font-size: 1.12rem; font-weight: 800; margin: 0 0 .55rem; color: var(--nero); }
.aa-home.contatti .cf__p { font-size: .9rem; line-height: 1.6; color: var(--nero-soft); margin: 0; }
.aa-home.contatti .contact-aside .btn-row { margin: 1rem 0 0; }
.aa-home.contatti .cf__contacts { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: .55rem; font-size: .9rem; }
.aa-home.contatti .cf__contacts a { color: var(--nero); font-weight: 600; text-decoration: none; transition: color .2s ease; }
.aa-home.contatti .cf__contacts a:hover { color: var(--beige-scuro); }
.aa-home.contatti .cf__contacts .muted { color: var(--nero-soft); font-weight: 500; }
.aa-home.contatti .cf__steps { margin: 0; padding-left: 1.2em; display: grid; gap: .7rem; font-size: .9rem; line-height: 1.55; color: var(--nero-soft); }
.aa-home.contatti .cf__steps strong { color: var(--nero); }
.aa-home.contatti .cf__steps::marker { color: var(--beige-scuro); }

/* ---- FAQ (details) ---- */
.aa-home.contatti .faq { display: grid; gap: .7rem; max-width: 50rem; margin-inline: auto; }
.aa-home.contatti .faq details { background: var(--bianco); border: 1px solid var(--linea); border-radius: 18px; transition: border-color .25s ease, box-shadow .25s ease; overflow: hidden; }
.aa-home.contatti .faq details[open] { border-color: rgba(201,177,138,.55); box-shadow: 0 14px 34px -26px rgba(20,24,29,.4); }
.aa-home.contatti .faq summary {
  list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: 1.15rem 1.4rem; font-size: 1rem; font-weight: 700; color: var(--nero);
}
.aa-home.contatti .faq summary::-webkit-details-marker { display: none; }
.aa-home.contatti .faq summary::after { content: "+"; font-size: 1.4rem; font-weight: 300; color: var(--beige-scuro); line-height: 1; transition: transform .3s cubic-bezier(.16,1,.3,1); }
.aa-home.contatti .faq details[open] summary::after { content: "–"; transform: rotate(180deg); }
.aa-home.contatti .faq .bd { padding: 0 1.4rem 1.3rem; }
.aa-home.contatti .faq .bd p { color: var(--nero-soft); font-size: .92rem; line-height: 1.65; margin: 0; }

/* ---- Callout finale ---- */
.aa-home.contatti .contatti-cta .callout { border: 1px solid var(--linea); }

/* ---- Responsive ---- */
@media (max-width: 600px) {
  .aa-home.contatti .contact-form.bx { padding: 1.7rem 1.4rem; }
  .aa-home.contatti .cf__submit { width: 100%; justify-content: center; }
}
