/* CoreLab Contact Form — premium dark + aligned options */
.cl-cf-wrap{
  width:100%;
  max-width: 760px;
  margin: 0 auto;
}

.cl-cf-alert{
  padding: 12px 14px;
  border-radius: 14px;
  margin: 0 0 14px 0;
  font-size: 14px;
  line-height: 1.35;
}
.cl-cf-success{ background: rgba(34,197,94,0.14); border: 1px solid rgba(34,197,94,0.35); }
.cl-cf-error{ background: rgba(239,68,68,0.14); border: 1px solid rgba(239,68,68,0.35); }

.cl-cf-form .cl-cf-row{ margin: 0 0 14px 0; }
.cl-cf-form label{ display:block; margin:0 0 8px 0; font-weight:600; }
.cl-cf-req{ opacity:0.85; }

.cl-cf-form input[type="text"],
.cl-cf-form input[type="email"],
.cl-cf-form input[type="tel"],
.cl-cf-form textarea{
  width: 100%;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.25);
  color: #fff;
  outline: none;
}

.cl-cf-form textarea{ resize: vertical; }

.cl-cf-group{
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(0,0,0,0.22);
}

.cl-cf-group-title{
  font-weight: 700;
  margin-bottom: 8px;
}
.cl-cf-group-note{
  opacity: 0.75;
  font-size: 13px;
  margin-bottom: 10px;
}

.cl-cf-options{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* ✅ Alignment fix (strong, theme-proof) */
.cl-cf-wrap .cl-cf-option{
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Normalize checkbox sizing + remove inherited margins */
.cl-cf-wrap .cl-cf-option input[type="checkbox"]{
  margin: 0 !important;
  flex: 0 0 auto !important;
  width: 16px !important;
  height: 16px !important;
  transform: none !important;
  position: relative !important;
  top: 0 !important;
  accent-color: rgba(199,168,105,1) !important;
}

.cl-cf-wrap .cl-cf-option span{
  display: block !important;
}

.cl-cf-actions{
  margin-top: 16px;
}

.cl-cf-submit{
  width: 100%;
  padding: 12px 16px;
  border-radius: 999px;
  border: 1px solid rgba(199,168,105,0.55);
  background: rgba(199,168,105,0.95);
  color: #0a0a0a;
  font-weight: 700;
  cursor: pointer;
}

.cl-cf-submit:hover{
  transform: translateY(-1px);
}

.cl-cf-form .is-invalid input,
.cl-cf-form .is-invalid textarea,
.cl-cf-group.is-invalid{
  border-color: rgba(239,68,68,0.6) !important;
}

.cl-cf-privacy{
  margin-top: 8px;
  font-size: 13px;
  opacity: 0.85;
}
.cl-cf-privacy a{
  text-decoration: underline;
}

/* Split row (First name / Last name) */
.cl-cf-row--split{
  display:flex;
  gap: 14px;
}
.cl-cf-row--split .cl-cf-col{
  flex:1;
  min-width: 0;
}
@media (max-width: 520px){
  .cl-cf-row--split{ flex-direction: column; }
}
