/* ---------- 1. Harde reset van Bootstrap-grid/float op fieldwrap-niveau ----------
   .form-group.col-md-6 (en eventuele col-sm-offset-*) negeren we volledig;
   wij bepalen de breedte zelf via flex op .form-item. */
#cvk-aanmeld .powermail_fieldwrap,
#cvk-aanmeld .form-group,
#cvk-aanmeld [class*="col-md-"],
#cvk-aanmeld [class*="col-sm-"] {
  width: 100% !important;
  float: none !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  min-height: 0 !important;
  position: static !important;
}
 
/* ---------- 2. Eigen flex-layout op de JUISTE ouder: .powermail_fieldset ---------- */
#cvk-aanmeld .powermail_fieldset {
  display: flex;
  flex-wrap: wrap;
  border: 0;
  margin: 0;
  padding: 0;
  column-gap: 16px;
}
#cvk-aanmeld .powermail_legend {
  flex: 0 0 100%;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 14px;
  color: var(--cvk-blue-deep);
  padding: 0 0 10px;
  border-bottom: 1px solid var(--cvk-border);
  margin: 0 0 14px;
}
#cvk-aanmeld .form-item {
  flex: 1 1 calc(50% - 8px);
  max-width: calc(50% - 8px);
  min-width: 0;
  margin-bottom: 12px;
}
/* Apparaten en de verzendknop krijgen bewust de volle breedte 
#cvk-aanmeld .form-item:has(.powermail_fieldwrap_apparaat_cvketel),
#cvk-aanmeld .form-item:has(.powermail_fieldwrap_apparaat_cvketel40tm70kw),
#cvk-aanmeld .form-item:has(.powermail_fieldwrap_apparaat_airco),
#cvk-aanmeld .form-item:has(.powermail_fieldwrap_apparaat_luchtverwarming),
#cvk-aanmeld .form-item:has(.powermail_fieldwrap_apparaat_wtwunit),
#cvk-aanmeld .form-item:has(.powermail_fieldwrap_apparaat_mechanischeafzuiging),
#cvk-aanmeld .form-item:has(.powermail_fieldwrap_type_submit) {
  flex-basis: 100%;
  max-width: 100%;
}
*/

/* Apparaten (alle markers die met apparaat_ beginnen) en de verzendknop: volle breedte */
#cvk-aanmeld .form-item:has([class*="powermail_fieldwrap_apparaat_"]),
#cvk-aanmeld .form-item:has(.powermail_fieldwrap_type_submit) {
  flex-basis: 100%;
  max-width: 100%;
}
 
/* Straat / Nr. / Toev. in dezelfde regel i.p.v. elk hun eigen 50%-rij */
#cvk-aanmeld .form-item:has(.powermail_fieldwrap_straat) {
  flex-basis: calc(50% - 11px);
  max-width: calc(50% - 11px);
}
#cvk-aanmeld .form-item:has(.powermail_fieldwrap_huisnummer),
#cvk-aanmeld .form-item:has(.powermail_fieldwrap_toev) {
  flex-basis: calc(25% - 11px);
  max-width: calc(25% - 11px);
}
@media (max-width: 700px) {
  #cvk-aanmeld .form-item:has(.powermail_fieldwrap_straat),
  #cvk-aanmeld .form-item:has(.powermail_fieldwrap_huisnummer),
  #cvk-aanmeld .form-item:has(.powermail_fieldwrap_toev) {
    flex-basis: 100%;
    max-width: 100%;
  }
}
@media (max-width: 560px) {
  #cvk-aanmeld .form-item {
    flex-basis: 100%;
    max-width: 100%;
  }
}
 
/* ---------- 3. Veld-styling ---------- */
#cvk-aanmeld h3 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 20px;
  color: var(--cvk-blue-deep);
  margin: 0 0 20px;
  flex-basis: 100%;
}
#cvk-aanmeld .control-label.form-label-title {
  display: block;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--cvk-text);
  margin-bottom: 4px;
}
#cvk-aanmeld .control-label .mandatory {
  color: var(--cvk-orange);
  margin-left: 2px;
}
#cvk-aanmeld .input-field-wrap {
  width: 100%;
}
#cvk-aanmeld input.powermail_input.form-control {
  font-family: var(--font-body);
  font-size: 14.5px;
  padding: 10px 12px;
  border: 1.5px solid var(--cvk-border);
  border-radius: 7px;
  background: #fff;
  color: var(--cvk-text);
  width: 100%;
  height: auto;
  box-shadow: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
#cvk-aanmeld input.powermail_input.form-control:focus {
  outline: none;
  border-color: var(--cvk-blue);
  box-shadow: 0 0 0 3px rgba(2,66,163,0.12);
}
 
/* ---------- 4. Checkbox-groep (apparaten) ---------- */
#cvk-aanmeld .powermail_fieldwrap_type_check .input-field-wrap {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
#cvk-aanmeld .powermail_fieldwrap_type_check .checkbox {
  border: 1.5px solid var(--cvk-border);
  border-radius: 7px;
  padding: 10px 12px;
  margin: 0;
  transition: border-color .15s ease, background .15s ease;
}
#cvk-aanmeld .powermail_fieldwrap_type_check .checkbox:has(input:checked) {
  border-color: var(--cvk-blue);
  background: rgba(2,66,163,0.04);
}
#cvk-aanmeld .powermail_fieldwrap_type_check .checkbox label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  cursor: pointer;
}
#cvk-aanmeld .powermail_fieldwrap_type_check .checkbox input[type="checkbox"] {
  width: 17px;
  height: 17px;
  accent-color: var(--cvk-blue);
  margin: 0;
  flex-shrink: 0;
}
#cvk-aanmeld .cvk-apparaat-titel {
  flex: 1 1 auto;
  font-size: 14px;
  font-weight: 600;
  color: var(--cvk-text);
  text-align: left;
}
#cvk-aanmeld .cvk-apparaat-prijs {
  flex: 0 0 auto;
  font-size: 14px;
  font-weight: 700;
  color: var(--cvk-blue);
  white-space: nowrap;
  text-align: right;
}
 
/* ---------- 5. Conditionele merk/bouwjaar-velden ----------
   Verbergt/toont de bestaande .powermail_fieldwrap_merk_* en
   .powermail_fieldwrap_bouwjaar_* op basis van de checkbox-status (zie JS). */
#cvk-aanmeld [class*="powermail_fieldwrap_merk_"],
#cvk-aanmeld [class*="powermail_fieldwrap_bouwjaar_"] {
  display: none;
}
#cvk-aanmeld [class*="powermail_fieldwrap_merk_"].cvk-visible,
#cvk-aanmeld [class*="powermail_fieldwrap_bouwjaar_"].cvk-visible {
  display: block;
  animation: cvkFadeIn .18s ease;
}
/* Bij display:none op de fieldwrap moet ook het bijbehorende .form-item
   geen ruimte reserveren in de flex-rij: */
#cvk-aanmeld .form-item:has([class*="powermail_fieldwrap_merk_"]:not(.cvk-visible)),
#cvk-aanmeld .form-item:has([class*="powermail_fieldwrap_bouwjaar_"]:not(.cvk-visible)) {
  display: none;
}
@keyframes cvkFadeIn {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}
 
/* Losse per-veld Parsley-foutmeldingen nooit meer inline tonen — alles
   verzamelt zich in .cvk-error-summary (zie JS), vlak boven de knop. */
#cvk-aanmeld .parsley-errors-list {
  display: none !important;
}
/* Rode rand/schaduw die Parsley op een input zet pas tonen ná een
   verzendpoging (dan pas krijgt #cvk-aanmeld de class .cvk-submitted). */
#cvk-aanmeld:not(.cvk-submitted) input.parsley-error {
  border-color: var(--cvk-border) !important;
  box-shadow: none !important;
}
 
/* Verzamelde foutmeldingen, vlak boven de verzendknop */
#cvk-aanmeld .cvk-error-summary {
  display: none;
  flex-basis: 100%;
  max-width: 100%;
  background: #fdecea;
  border: 1px solid #f2b8b5;
  border-radius: 8px;
  padding: 14px 16px;
  margin-bottom: 4px;
}
#cvk-aanmeld.cvk-submitted .cvk-error-summary:not(:empty) {
  display: block;
}
#cvk-aanmeld .cvk-error-summary__titel {
  font-weight: 700;
  font-size: 14px;
  color: #c0392b;
  margin-bottom: 8px;
}
#cvk-aanmeld .cvk-error-summary ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
#cvk-aanmeld .cvk-error-summary li {
  font-size: 13px;
  color: #c0392b;
  padding: 3px 0;
  cursor: pointer;
}
#cvk-aanmeld .cvk-error-summary li:hover {
  text-decoration: underline;
}
#cvk-aanmeld .cvk-apparaten-error-container {
  display: none;
  flex-basis: 100%;
  max-width: 100%;
  order: 999;
}
#cvk-aanmeld .cvk-apparaten-error-container:not(:empty) {
  display: block;
  margin-top: -4px;
  margin-bottom: 10px;
}
 
/* ---------- 6. Verzendknop ----------
   Bootstrap's .btn.btn-primary + de col-sm-offset-2 op de wrapper zijn al
   gereset in blok 1; hier de eigen styling erbovenop. */
#cvk-aanmeld input.btn.btn-primary[type="submit"] {
  width: 100%;
  background: var(--cvk-orange) !important;
  border: 0 !important;
  color: #fff !important;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 15px;
  padding: 13px !important;
  border-radius: var(--cvk-radius);
  cursor: pointer;
  box-shadow: none !important;
  text-shadow: none !important;
  margin-top: 6px;
}
#cvk-aanmeld input.btn.btn-primary[type="submit"]:hover {
  background: var(--cvk-orange-deep) !important;
}

.aan-side__switch p {
  font-size: 13px;
  color: var(--cvk-text-muted);
  margin: 0 0 12px;
}
.aan-side__switch-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  border: 2px solid var(--cvk-blue);
  border-radius: var(--cvk-radius);
  color: var(--cvk-blue);
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  transition: background .15s ease, color .15s ease;
}
.aan-side__switch-link:hover {
  background: var(--cvk-blue);
  color: #fff;
  text-decoration: none;
}

.aan-side__switch-link i,
.aan-side__switch-link svg {
  width: 0.85em;
  height: 0.85em;
  transition: transform .15s ease;
}
.aan-side__switch-link:hover i,
.aan-side__switch-link:hover svg {
  transform: translateX(3px);
}

.aan-card li{
  font-size: 14px;
}

.cvk-hero__bg {
  position: absolute;
  inset: 0;
  background-image: var(--cvk-hero-image-desktop);
  background-size: cover;
  background-position: center;
}

@media (max-width: 767px) {
  .cvk-hero__bg {
      background-image: var(--cvk-hero-image-mobile, var(--cvk-hero-image-desktop));
  }
}