.hc-cf-hp { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }

.hc-cf-grid {
  display: grid;
  gap: 14px;
}

.hc-cf-cols-1 .hc-cf-grid { grid-template-columns: 1fr; }
.hc-cf-cols-2 .hc-cf-grid { grid-template-columns: 1fr 1fr; }

.hc-cf-span-2 { grid-column: span 2; }

.hc-cf-field { position: relative; }
.hc-cf-input {
  width: 100%;
  box-sizing: border-box;
}

.hc-cf-help {
  margin-top: 6px;
  font-size: 0.9em;
  opacity: 0.75;
}

.hc-cf-error {
  margin-top: 6px;
  font-size: 0.9em;
  color: #b00020;
  min-height: 1em;
}

.hc-cf-field.is-error .hc-cf-input,
.hc-cf-field.is-error select,
.hc-cf-field.is-error textarea {
  border-color: #b00020 !important;
  outline-color: #b00020 !important;
}

.hc-cf-actions { margin-top: 14px; display: flex; flex-direction: column; gap: 10px; }

.hc-cf-form-message {
  font-size: 0.95em;
  min-height: 1.2em;
}

.hc-cf-form-message.is-error { color: #b00020; }
.hc-cf-form-message.is-success { color: #0a7a2f; }

/* Default labels */
.hc-cf-label-style-default .hc-cf-label {
  display: block;
  margin-bottom: 6px;
  font-weight: 600;
}

/* Floating + Border labels use label after input */
.hc-cf-label-style-floating .hc-cf-label,
.hc-cf-label-style-border .hc-cf-label {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  transition: all 160ms ease;
  padding: 0 6px;
  background: transparent;
  line-height: 1.1;
}
/* Textarea: label iets hoger zetten (enkel voor floating labels) */
.hc-cf-label-style-floating textarea.hc-cf-input + .hc-cf-label{
  top: 20%;
}

.hc-cf-label-style-floating .hc-cf-input::placeholder,
.hc-cf-label-style-border .hc-cf-input::placeholder {
  color: transparent;
}

/* Floating: moves on focus or when not empty */
.hc-cf-label-style-floating .hc-cf-input:focus + .hc-cf-label,
.hc-cf-label-style-floating .hc-cf-input:not(:placeholder-shown) + .hc-cf-label,
.hc-cf-label-style-floating select:focus + .hc-cf-label,
.hc-cf-label-style-floating select:valid + .hc-cf-label,
.hc-cf-label-style-floating textarea:focus + .hc-cf-label,
.hc-cf-label-style-floating textarea:not(:placeholder-shown) + .hc-cf-label {
  top: -10px;
  transform: translateY(0);
  font-size: 0.82em;
  background: var(--hc-cf-label-bg, #fff);
}

/* Border: label always on the border/top */
.hc-cf-label-style-border .hc-cf-label {
  top: -10px;
  transform: translateY(0);
  font-size: 0.82em;
  background: var(--hc-cf-label-bg, #fff);
}

/* Radios */
.hc-cf-radio-legend { font-weight: 600; margin-bottom: 8px; }
.hc-cf-radio { display: flex; gap: 8px; align-items: center; margin: 6px 0; }

/* Icon inside the input/control area */
.hc-cf-control{
  position: relative;
}

.hc-cf-field-icon{
  display: none;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #b00020; /* zelfde rood als border + error tekst */
  line-height: 1;
  pointer-events: none;
}

.hc-cf-field.is-error .hc-cf-field-icon{
  display: block;
}

/* ruimte maken zodat tekst niet onder het icoon komt */
.hc-cf-field.is-error input.hc-cf-input,
.hc-cf-field.is-error textarea.hc-cf-input,
.hc-cf-field.is-error select.hc-cf-input:not(.hc-cf-phone-country){
  padding-right: 2.2em;
}
/* Phone field: country dropdown + input */
.hc-cf-phone-group{
  display: flex;
  gap: 10px;
  align-items: stretch;
}

.hc-cf-phone-country{
  width: 120px;
  flex: 0 0 auto;
}

.hc-cf-phone-input-wrap{
  position: relative; /* label positioning for floating/border */
  flex: 1 1 auto;
  min-width: 0;
}

.hc-cf-phone-input{
  width: 100%;
}

/* Mobile: laat het netjes wrappen */
@media (max-width: 480px){
  .hc-cf-phone-group{ flex-wrap: wrap; }
  .hc-cf-phone-country{ width: 100%; }
}

/* Date field: calendar icon inside input */
.hc-cf-control { position: relative; }

.hc-cf-control--date .hc-cf-date-icon {
  position: absolute;
  right: 40px; /* links van error icon */
  top: 50%;
  transform: translateY(-50%);
  opacity: .65;
  line-height: 1;
  cursor: pointer;
}

.hc-cf-control--date .hc-cf-date-icon i {
  pointer-events: none;
}

.hc-cf-control--date .hc-cf-input {
  padding-right: 3.6em; /* ruimte voor calendar + error icon */
}

/* jQuery UI datepicker moet boven theme UI blijven */
.ui-datepicker { z-index: 999999 !important; }



/* =========================
   Multistep (optioneel)
   ========================= */
.hc-cf-field.is-hidden { display: none; }

.hc-cf-step-actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

.hc-cf-step-actions.is-single{
  display: block;
}

.hc-cf-step-prev i,
.hc-cf-step-next i,
.hc-cf-submit i{
  margin: 0;
}

.hc-cf-step-prev i{
  margin-right: .35em;
}

.hc-cf-step-prev.hc-cf-icon-right i{
  margin-right: 0;
  margin-left: .35em;
}

.hc-cf-step-next i,
.hc-cf-submit i{
  margin-left: .35em;
}


/* Step title (multistep) */
.hc-cf-step-header{ margin-bottom: 12px; }
.hc-cf-step-header.is-hidden{ display:none; }
.hc-cf-step-title{ font-weight: 600; }
.hc-cf-step-title.is-hidden{ display:none; }


/* =========================
   Content block (tekst / titel)
   ========================= */
.hc-cf-field--content{
  padding: 0;
  border: 0;
}

.hc-cf-content-title{
  font-weight: 700;
  margin: 0 0 10px;
}

.hc-cf-content-text p{
  margin: 0 0 10px;
}

.hc-cf-content-text p:last-child{
  margin-bottom: 0;
}
/* =============================
   Success screen
============================= */

.hc-cf-success-screen{
  text-align:center;
  padding:30px 20px;
}

.hc-cf-success-box{
  max-width:500px;
  margin:0 auto;
}

.hc-cf-success-icon{
  font-size:64px;
  color:#2ecc71;
  margin-bottom:15px;
}

.hc-cf-success-content{
  font-size:18px;
  margin-bottom:25px;
}

.hc-cf-success-actions .w-btn{
  margin-top:10px;
}
.hc-cf-submit i{
margin-right:6px;
}
.w-btn-icon{
margin-right:6px;
display:inline-flex;
align-items:center;
}
