:root{
  --ct-primary:#C2B7B7;
  --ct-primary-dark:#A79A9A;
  --ct-primary-light:#F6F3F3;
  --ct-accent:#8A7C7C;
  --ct-text:#3F3A3A;
  --ct-muted:#726B6B;
  --ct-border:#DDD5D5;
  --ct-white:#FFFFFF;
  --ct-whatsapp:#1FA855;
  --ct-whatsapp-dark:#178443;
  --ct-danger:#B42318;
}

/* ===== BASE ===== */

.ct-monte-viagem{
  width:100%;
  margin:0 auto;
  padding:8px 0;
  color:var(--ct-text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}

.ct-monte-viagem *,
.ct-monte-viagem *:before,
.ct-monte-viagem *:after{
  box-sizing:border-box;
}

.ct-monte-viagem form{
  max-width:980px;
  margin:auto;
  padding:32px;
  background:#fff;
  border:1px solid #E5DEDE;
  border-radius:18px;
  box-shadow:0 14px 38px rgba(120,105,105,.12);
}

/* ===== CABEÇALHO ===== */

.ct-form-header{
  text-align:center;
  margin-bottom:32px;
  padding-bottom:26px;
  border-bottom:1px solid #ECE6E6;
}

.ct-form-subtitulo{
  color:var(--ct-accent);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:13px;
  font-weight:700;
}

.ct-form-header h2{
  margin:10px 0;
  color:var(--ct-accent);
  font-size:36px;
}

.ct-form-header p{
  color:var(--ct-muted);
  max-width:650px;
  margin:auto;
  line-height:1.6;
}

/* ===== SEÇÕES ===== */

.ct-form-section{
  margin-bottom:26px;
  padding:25px;
  background:#fff;
  border:1px solid #E8E1E1;
  border-radius:16px;
}

.ct-section-title{
  display:flex;
  gap:14px;
  align-items:flex-start;
  margin-bottom:22px;
}

.ct-section-number{
  width:36px;
  height:36px;
  border-radius:50%;
  background:var(--ct-primary);
  color:#fff;
  display:flex;
  justify-content:center;
  align-items:center;
  font-weight:700;
}

.ct-section-title h3{
  margin:0;
  color:var(--ct-accent);
  font-size:20px;
}

.ct-section-title p{
  margin:4px 0 0;
  color:var(--ct-muted);
}

/* ===== GRID ===== */

.ct-grid{display:grid;gap:18px;margin-bottom:18px;}
.ct-grid-2{grid-template-columns:repeat(2,1fr);}
.ct-grid-3{grid-template-columns:repeat(3,1fr);}
.ct-coluna-inteira{grid-column:1/-1;}

/* ===== CAMPOS ===== */

.ct-field label{
  display:block;
  margin-bottom:7px;
  font-size:13px;
  font-weight:700;
}

.ct-field input,
.ct-field select,
.ct-field textarea{
  width:100%;
  min-height:48px;
  padding:12px 14px;
  border:1px solid var(--ct-border);
  border-radius:10px;
  background:#fff;
  color:var(--ct-text);
  transition:.2s;
}

.ct-field textarea{
  min-height:120px;
  resize:vertical;
}

.ct-field input:focus,
.ct-field select:focus,
.ct-field textarea:focus{
  outline:none;
  border-color:var(--ct-primary);
  box-shadow:0 0 0 3px rgba(194,183,183,.25);
}

/* ===== DESTINOS ===== */

.ct-ajuda-destinos{
  display:block;
  margin-bottom:12px;
  color:var(--ct-muted);
  font-size:12px;
}

.ct-destino-item{
  margin-bottom:12px;
  padding:14px;
  background:#FAF8F8;
  border:1px solid var(--ct-border);
  border-radius:12px;
}

.ct-destino-item[hidden]{display:none!important;}

.ct-destino-cabecalho{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:8px;
}

.ct-destino-cabecalho span{
  color:var(--ct-accent);
  font-weight:700;
}

.ct-remover-destino{
  border:none;
  background:none;
  color:#B42318;
  cursor:pointer;
}

.ct-adicionar-destino{
  display:inline-flex;
  gap:6px;
  align-items:center;
  padding:9px 12px;
  background:transparent;
  color:var(--ct-accent);
  border:1px dashed var(--ct-primary);
  border-radius:10px;
  cursor:pointer;
  font-weight:700;
}

.ct-adicionar-destino:hover{
  background:var(--ct-primary-light);
}

/* ===== PASSAGEIROS ===== */

.ct-passengers{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}

.ct-passenger-box{
  padding:16px;
  background:var(--ct-primary-light);
  border:1px solid #E4DCDC;
  border-radius:12px;
}

/* ===== CHECKBOX ===== */

.ct-services-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}

.ct-check-card{
  display:flex;
  gap:8px;
  align-items:center;
  padding:12px;
  border:1px solid var(--ct-border);
  border-radius:10px;
  background:#FAF8F8;
  cursor:pointer;
}

.ct-check-card:hover{
  background:var(--ct-primary-light);
}

.ct-check-card input{
  accent-color:var(--ct-primary);
}

/* ===== CONSENTIMENTO ===== */

.ct-consentimento{
  margin-top:20px;
  padding:16px;
  background:#FAF8F8;
  border:1px solid var(--ct-border);
  border-radius:12px;
}

/* ===== BOTÕES ===== */

.ct-form-actions{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:24px;
}

.ct-btn{
  border:none;
  border-radius:10px;
  padding:13px 20px;
  cursor:pointer;
  font-weight:700;
  transition:.2s;
}

.ct-btn-primary{
  background:var(--ct-primary);
  color:#fff;
}

.ct-btn-primary:hover{
  background:var(--ct-primary-dark);
}

.ct-btn-whatsapp{
  background:var(--ct-whatsapp);
  color:#fff;
}

.ct-btn-whatsapp:hover{
  background:var(--ct-whatsapp-dark);
}

.ct-btn-clear{
  background:#ECE7E7;
  color:#5B5555;
}

/* ===== STATUS ===== */

.ct-form-status.is-error{
  margin-top:16px;
  padding:12px;
  background:#FFF4F4;
  border:1px solid #F1CCCC;
  border-radius:8px;
  color:#B42318;
}

/* ===== MOBILE ===== */

@media (max-width:767px){

.ct-monte-viagem form{
padding:18px 14px;
}

.ct-grid-2,
.ct-grid-3,
.ct-passengers,
.ct-services-grid{
grid-template-columns:1fr;
}

.ct-form-actions{
display:grid;
grid-template-columns:1fr;
}

.ct-btn,
.ct-adicionar-destino{
width:100%;
justify-content:center;
}

}
/* ===== HONEYPOT ANTISPAM =====
   Mantém o campo "Não preencher" totalmente invisível,
   inclusive quando o tema ou o Elementor aplicam estilos próprios. */
.ct-monte-viagem .ct-honeypot,
#formMonteViagem .ct-honeypot,
.ct-honeypot{
  display:none !important;
  visibility:hidden !important;
  position:absolute !important;
  left:-99999px !important;
  top:auto !important;
  width:0 !important;
  height:0 !important;
  min-width:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  overflow:hidden !important;
  opacity:0 !important;
  clip:rect(0 0 0 0) !important;
  clip-path:inset(50%) !important;
  pointer-events:none !important;
}