/* =====================================================================
   contactos-v0.css — Página Contactos (estilo v0 Apple-like).
   Scoped sob .cx-v0. Mantém o formulário servidor (mycontactform) — só
   restyle. Header/footer globais. Override do modern.css.
   ===================================================================== */
.cx-v0{
  --background:#fbfbfa;--foreground:#1a1b1e;--card:#fff;--primary:#3ea22b;--primary-fg:#fff;
  --muted-fg:#6f7079;--border:#e7e7ea;--secondary:#f1f2f0;
  --serif:'Instrument Serif',Georgia,serif;--sans:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:var(--background);color:var(--foreground);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased;
}
.cx-v0 *{box-sizing:border-box}
.cx-v0 h1,.cx-v0 h2,.cx-v0 h3,.cx-v0 p,.cx-v0 h6{margin:0}
.cx-v0 a{text-decoration:none;color:inherit}
.cx-v0,.cx-v0 p,.cx-v0 a,.cx-v0 span,.cx-v0 li,.cx-v0 input,.cx-v0 textarea,.cx-v0 button,.cx-v0 h6{font-family:var(--sans) !important}
.cx-v0 .serif,.cx-v0 h1,.cx-v0 h2,.cx-v0 h3{font-family:var(--serif) !important;font-weight:400}
.cx-v0 .eyebrow{font-size:12px;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--muted-fg)}

/* hero */
.cx-hero{max-width:1400px;margin:0 auto;padding:72px 24px 0}
@media(min-width:768px){.cx-hero{padding:88px 48px 0}}
.cx-hero .eyebrow{margin-bottom:22px}
.cx-hero h1{font-size:clamp(46px,7vw,84px);line-height:1.05;letter-spacing:-.01em}
.cx-hero h1 .dot{color:var(--primary)}
.cx-hero .lead{margin-top:28px;max-width:42rem;font-size:clamp(18px,2vw,21px);color:var(--muted-fg)}

/* 2 cards rápidos */
.cx-quick{max-width:1400px;margin:56px auto 0;padding:0 24px}
@media(min-width:768px){.cx-quick{padding:0 48px}}
.cx-quick .grid{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:640px){.cx-quick .grid{grid-template-columns:repeat(2,1fr)}}
.cx-qcard{display:flex;align-items:center;justify-content:space-between;gap:24px;border-radius:24px;padding:32px;transition:opacity .2s,border-color .2s}
@media(min-width:768px){.cx-qcard{padding:40px}}
.cx-qcard .lbl{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.cx-qcard .val{font-family:var(--serif) !important;font-size:clamp(26px,3.5vw,38px);line-height:1.05;margin-top:8px}
.cx-qcard .arr{flex:0 0 auto;transition:transform .2s}
.cx-qcard:hover .arr{transform:translateX(4px)}
.cx-qcard.green{background:var(--primary);color:#fff}
.cx-qcard.green .lbl{color:rgba(255,255,255,.75)}
.cx-qcard.green:hover{opacity:.95}
.cx-qcard.ghost{background:var(--card);border:1px solid var(--border)}
.cx-qcard.ghost .lbl{color:var(--muted-fg)}
.cx-qcard.ghost .val{color:var(--foreground)}
.cx-qcard.ghost .arr{color:var(--muted-fg)}
.cx-qcard.ghost:hover{border-color:rgba(26,27,30,.3)}
.cx-qcard svg{width:18px;height:18px}

/* espaço antes dos cards de localização (renderPartial .v0cards) */
.cx-v0 .v0cards{padding-top:64px}

/* formulário */
.cx-form-sec{max-width:1400px;margin:0 auto;padding:80px 24px 110px}
@media(min-width:768px){.cx-form-sec{padding:96px 48px 130px}}
.cx-form-box{display:grid;gap:48px;border-radius:32px;background:var(--secondary);padding:48px 32px;grid-template-columns:1fr}
@media(min-width:768px){.cx-form-box{grid-template-columns:1fr 1fr;padding:80px 64px}}
.cx-form-box .intro .eyebrow{margin-bottom:24px}
.cx-form-box .intro h2{font-size:clamp(32px,4vw,46px);line-height:1.1;color:var(--foreground)}
.cx-form-box .intro p{margin-top:22px;max-width:24rem;color:var(--muted-fg)}
.cx-form #success{margin-bottom:8px}
.cx-fields{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:640px){.cx-fields{grid-template-columns:1fr 1fr}}
.cx-fields .full{grid-column:1/-1}
.cx-form h6{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-fg);margin-bottom:7px}
.cx-form input,.cx-form textarea{width:100%;border:1px solid var(--border);border-radius:12px;background:var(--background);padding:13px 16px;font-size:14px;color:var(--foreground);outline:none;transition:border-color .2s}
.cx-form input:focus,.cx-form textarea:focus{border-color:rgba(26,27,30,.4)}
.cx-form textarea{resize:vertical;min-height:140px}
.cx-form .error{display:block;font-size:12px;color:#c0392b;margin-top:4px}
.cx-submit{width:auto !important;border:0 !important;border-radius:999px !important;background:var(--primary) !important;color:#fff !important;
  padding:14px 32px !important;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s}
.cx-submit:hover{opacity:.9}
.cx-form .status-progress{margin-top:10px}
