/* ==========================================================
   VETTA — MODAL DE CONTATO UNIFICADO
   Carregado por último em todas as páginas principais.
   Objetivo: mesma largura, proporção e espaçamento da Home.
   ========================================================== */
.vetta-contact-modal{
  position:fixed !important;
  inset:0 !important;
  z-index:50000 !important;
  display:grid !important;
  place-items:center !important;
  padding:18px !important;
}
.vetta-contact-backdrop{
  position:absolute !important;
  inset:0 !important;
  background:rgba(8,28,50,.48) !important;
  -webkit-backdrop-filter:blur(5px) !important;
  backdrop-filter:blur(5px) !important;
}
.vetta-contact-dialog{
  position:relative !important;
  z-index:1 !important;
  width:min(760px,calc(100vw - 36px)) !important;
  max-height:calc(100dvh - 30px) !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  border-radius:28px !important;
  background:#fff !important;
  border:1px solid rgba(27,63,107,.10) !important;
  box-shadow:0 35px 90px rgba(7,31,57,.28) !important;
}
.vetta-contact-head{
  flex:0 0 auto !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:20px !important;
  padding:26px 30px 20px !important;
  border-bottom:1px solid rgba(27,63,107,.08) !important;
  background:radial-gradient(circle at 90% 15%,rgba(74,182,184,.13),transparent 30%),#fff !important;
}
.vetta-contact-kicker{
  display:block !important;
  color:#4AB6B8 !important;
  font-size:9px !important;
  font-weight:900 !important;
  letter-spacing:.16em !important;
}
.vetta-contact-head h2{
  margin:7px 0 0 !important;
  color:#1B3F6B !important;
  font-size:clamp(30px,3vw,42px) !important;
  letter-spacing:-.035em !important;
  line-height:1.02 !important;
}
.vetta-contact-close{
  width:42px !important;
  height:42px !important;
  flex:0 0 42px !important;
  border:0 !important;
  border-radius:50% !important;
  background:#f2f6f8 !important;
  color:#1B3F6B !important;
  font-size:26px !important;
  line-height:1 !important;
  cursor:pointer !important;
}
.vetta-contact-form{
  flex:1 1 auto !important;
  min-height:0 !important;
  padding:24px 30px 28px !important;
  overflow:hidden !important;
}
.vetta-contact-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  column-gap:14px !important;
  row-gap:10px !important;
}
.vetta-contact-field{
  display:block !important;
  min-width:0 !important;
}
.vetta-contact-field.full{grid-column:1/-1 !important}
.vetta-contact-field > span{
  display:block !important;
  margin-bottom:7px !important;
  color:#1B3F6B !important;
  font-size:10px !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
  line-height:1.15 !important;
  white-space:nowrap !important;
}
.vetta-contact-field input,
.vetta-contact-field select,
.vetta-contact-field textarea{
  width:100% !important;
  box-sizing:border-box !important;
  border:1px solid rgba(27,63,107,.15) !important;
  border-radius:12px !important;
  background:#fbfdfe !important;
  color:#1B3F6B !important;
  font:inherit !important;
  font-size:13px !important;
  outline:0 !important;
}
.vetta-contact-field input,
.vetta-contact-field select{
  height:50px !important;
  min-height:50px !important;
  padding:12px 13px !important;
}
.vetta-contact-field textarea{
  height:130px !important;
  min-height:130px !important;
  max-height:130px !important;
  padding:12px 13px !important;
  resize:none !important;
}
.vetta-contact-field .vetta-field-error{
  min-height:12px !important;
  margin-top:3px !important;
  font-size:8.5px !important;
  line-height:1.15 !important;
}
.vetta-contact-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  margin-top:15px !important;
  padding-top:15px !important;
  border-top:1px solid rgba(27,63,107,.08) !important;
}
.vetta-contact-actions small{
  max-width:390px !important;
  color:#71869a !important;
  font-size:10px !important;
  line-height:1.5 !important;
}
.vetta-contact-submit{
  min-height:48px !important;
  border:0 !important;
  border-radius:10px !important;
  padding:0 22px !important;
  background:#F0AE0D !important;
  color:#1B3F6B !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
  cursor:pointer !important;
  white-space:nowrap !important;
  box-shadow:0 12px 28px rgba(240,174,13,.20) !important;
}

/* Notebooks com pouca altura: comprime somente o necessário. */
@media (max-height:820px) and (min-width:561px){
  .vetta-contact-modal{padding:10px !important}
  .vetta-contact-dialog{max-height:calc(100dvh - 20px) !important}
  .vetta-contact-head{padding:18px 24px 15px !important}
  .vetta-contact-head h2{font-size:32px !important}
  .vetta-contact-form{padding:16px 24px 18px !important}
  .vetta-contact-grid{row-gap:6px !important}
  .vetta-contact-field input,.vetta-contact-field select{height:42px !important;min-height:42px !important}
  .vetta-contact-field textarea{height:82px !important;min-height:82px !important;max-height:82px !important}
  .vetta-contact-actions{margin-top:8px !important;padding-top:9px !important}
  .vetta-contact-submit{min-height:42px !important}
}

/* Mobile: uma coluna e sem rolagem interna. */
@media (max-width:560px){
  .vetta-contact-modal{padding:6px !important}
  .vetta-contact-dialog{
    width:calc(100vw - 12px) !important;
    max-height:calc(100dvh - 12px) !important;
    border-radius:18px !important;
  }
  .vetta-contact-head{padding:11px 14px 9px !important}
  .vetta-contact-head h2{font-size:clamp(24px,8vw,31px) !important}
  .vetta-contact-form{padding:10px 14px 12px !important}
  .vetta-contact-grid{grid-template-columns:1fr !important;column-gap:0 !important;row-gap:4px !important}
  .vetta-contact-field.full{grid-column:auto !important}
  .vetta-contact-field > span{font-size:8.5px !important;margin-bottom:4px !important}
  .vetta-contact-field input,.vetta-contact-field select{height:38px !important;min-height:38px !important;padding:7px 9px !important;font-size:11px !important}
  .vetta-contact-field textarea{height:66px !important;min-height:66px !important;max-height:66px !important;padding:8px 9px !important;font-size:11px !important}
  .vetta-contact-field .vetta-field-error{min-height:8px !important;font-size:7.5px !important;margin-top:1px !important}
  .vetta-contact-actions{display:block !important;margin-top:5px !important;padding-top:7px !important}
  .vetta-contact-actions small{display:none !important}
  .vetta-contact-submit{width:100% !important;min-height:39px !important}
}

@media (max-width:380px),(max-height:620px){
  .vetta-contact-head{padding:8px 12px 7px !important}
  .vetta-contact-head h2{font-size:23px !important}
  .vetta-contact-kicker{font-size:7.5px !important}
  .vetta-contact-close{width:32px !important;height:32px !important;flex-basis:32px !important;font-size:20px !important}
  .vetta-contact-form{padding:8px 12px 9px !important}
  .vetta-contact-field input,.vetta-contact-field select{height:34px !important;min-height:34px !important}
  .vetta-contact-field textarea{height:54px !important;min-height:54px !important;max-height:54px !important}
  .vetta-contact-actions{margin-top:3px !important;padding-top:5px !important}
  .vetta-contact-submit{min-height:35px !important}
}
