/* Contatti (form demo in #demo, recapiti, sedi) e Conferma di invio.
   Solo classi ct-* e cf-*; .contact-list viene da pages/home.css (includere "home"). */

/* ---------- hero: testo + scheda navy con i recapiti ---------- */
.ct-hero .hero__grid{align-items:center}
.ct-card{background:var(--navy);color:var(--on-navy);border-radius:var(--r);box-shadow:var(--shadow-lg);
  padding:clamp(1.5rem,1rem + 1.5vw,2.5rem);position:relative;z-index:1;width:100%;max-width:460px;margin-inline:auto}
.ct-card .eyebrow{color:#FF8F8B}
.ct-card h2{color:#fff;font-size:1.375rem;margin:0 0 18px}
.ct-card .contact-list li{align-items:center;font-size:1.0625rem}
.ct-card .contact-list a{color:#fff}
.ct-card .contact-list small{display:block;font-family:var(--font-t);font-size:.75rem;text-transform:uppercase;
  letter-spacing:var(--track);color:var(--on-navy);margin-bottom:2px}
.ct-card__foot{margin:22px 0 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);font-size:.875rem;color:var(--on-navy)}

/* ---------- demo: testo a sinistra, form a destra ---------- */
.ct-demo{scroll-margin-top:var(--nav-h)}
.ct-demo__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--gap);align-items:start}
.ct-demo__grid .checks{margin-top:10px}
.ct-form{background:#fff;border-radius:var(--r);box-shadow:var(--shadow);border-bottom:var(--border-card);
  padding:clamp(1.25rem,1rem + 1.5vw,2.25rem);gap:14px 16px}
.ct-form textarea{resize:vertical;min-height:130px}
.ct-form select{appearance:none;-webkit-appearance:none;padding-right:40px;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1 3l4 4 4-4' fill='none' stroke='%233C3E3F' stroke-width='1.8'/%3E%3C/svg%3E") right 14px center/12px no-repeat}
.ct-form .consent a{color:var(--ink)}
.ct-form .btn{width:100%}
.ct-form .ct-legal{margin:0;font-size:.8125rem;line-height:1.5;color:var(--muted)}
.ct-form .ct-legal a{color:var(--muted)}

/* ---------- sedi ---------- */
.ct-places .card h3{margin:4px 0 0}
.ct-places .card p{color:var(--ink);line-height:1.5}
.ct-places .card a{color:var(--red)}

/* ---------- conferma di invio ---------- */
.cf{padding-top:clamp(2.5rem,1.5rem + 3vw,4.5rem)}
.cf__box{text-align:center;max-width:680px}
.cf__box .btn-row{justify-content:center}
.cf__box .lead{max-width:none}
.cf__check{display:block;width:72px;height:72px;margin:0 auto 22px;border-radius:50%;
  background:var(--red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/38px no-repeat}
.cf__more{text-align:center;color:var(--muted);margin:var(--space) 0 20px}
.cf .card h2{font-size:var(--fs-h3);line-height:1.25;margin:0}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .ct-demo__grid{grid-template-columns:1fr}
  .ct-hero .hero__tri{height:55%}
}
