
.container{
	
	max-width: 100% !important;
	
	
}


/* buttons */

        
#btnNext, #btnPrev {
  background-color: #5a9110;
  color: #fff;
  border-radius: 12px !important;
  border: none;
  width: 40%;
  margin: auto;
}

#btnNext:hover,
#btnPrev:hover
{
    
	background-color: #333;

}


/* Reset & Base */
body {
  font-family: "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 0.9rem;
  background: white;
  color: #333;

}


/* Form Container */
form, .form-container {
  background: #fff;
  border-radius: 12px;


}


/* Labels */
label {
  font-weight: 400;
  color: #444;
  margin-bottom: 0.5rem;
  display: inline-block;
}

/* Inputs & Select */
input[type="text"],
input[type="email"],
input[type="number"],
select,
textarea {
  width: 100%;
  height: 40px;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-size: 1rem;
  transition: border-color 0.3s, box-shadow 0.3s;
  padding: 1.5rem 0rem 1.5rem 1rem;
}

#control_cvBirthDate .field-input .sp_comboboxcontrol {
  border-radius: 8px;
  transition: border-color 0.3s, box-shadow 0.3s;
  padding: 1.5rem 0rem 1.5rem 1rem;
}
*/
/*uitklpa straat*/
#streetplacedescription .col-sm div
{
	border-radius: 8px;
	
}


input:focus,
select:focus,
textarea:focus {
  border-color: #4a90e2;
  outline: none;
  box-shadow: 0 0 0 3px rgba(74,144,226,0.2);
}

/* Placeholder styling */
::placeholder {
  color: #CCC;
}




/* Radio & Checkbox Controls */
.sp_radiobuttoncontrolitem,
.sp_checkboxcontrolitem {
  background: #f9f9f9;
  padding: 0.5rem 1rem 0.5rem 0.2rem;
  border-radius: 8px;
  border: 1px solid #e1e1e1;
  margin-bottom: 0.5rem;
  cursor: pointer;
  transition: background 0.3s, border 0.3s;
 
}



/* verstop offers
#control_cvAboSoortActie{
	display: none !important;
	
}*/




.display-input-ControlValue{
	display:none !important;
	
}
.sp_radiobuttoncontrolitem:hover,
.sp_checkboxcontrolitem:hover {
  background: #f0f6ff;
  border-color: #4a90e2;
}

/* Inputs inside radio/checkbox */
.sp_radiobuttoncontrolitem input,
.sp_checkboxcontrolitem input {
  margin-right: 0.5rem;
}


/* Section dividers */
.sp_linecontrol hr {
  border: 0;
  height: 1px;
  background: #ddd;
  margin: 2rem 0;
}


/* Info text */
.sp_textareacontrol {
  border-radius: 8px;
  font-size: 0.95rem;
  color: #555;
  line-height: initial;
}

/* Strong emphasis inside info */
.sp_textareacontrol strong {
  display: block;
  font-size: 1.1rem;
  margin-bottom: 0.5rem;
  color: #222;
}


/* Buttons (if any later) */

button,
input[type="submit"] {
  background: #4a90e2;
  color: #fff;
  padding: 0.8rem 1.5rem;
  border: none;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.3s, transform 0.2s;
  
}

button:hover,
input[type="submit"]:hover {
  background: #357abd;
  transform: translateY(-2px);
}

button:active,
input[type="submit"]:active {
  transform: translateY(0);
}


/* Newsletter checkbox styling */
#control_cxQuestion2 .sp_checkboxcontrolitem {
  background: #white;
  border-color: #white;
  padding-left: 1rem;
}
#control_cxQuestion2 .sp_checkboxcontrolitem:hover {
  background: #d7f2d7;
  border-color: #72c375;
}
/* verstop geboorte darum naam */
#control_cvBirthDateNew label,
#control_cvBirthDate label {
  display: none;
 
}

.sp_comboboxcontrol  {
border-radius: 8px;

}






.field-input:has([name="control.txLastNameNew.EnteredValue"]),
.field-input:has([name="control.txLastName.EnteredValue"]) {
   flex: 0 0 30%; !important;
 max-width: 100%;
}

.field-input:has([name="control.txPrefixNew.EnteredValue"]),
.field-input:has([name="control.txPrefix.EnteredValue"]) {
   flex: 0 0 30%; !important;
 max-width: 100%;
 margin: 0px !important;
}

.field-input:has(input[name="control.txInitialNew.EnteredValue"]),
.field-input:has(input[name="control.txInitial.EnteredValue"]) {
 flex: 0 0 40%; !important;
 max-width: 100%;
}

/*postcode*/
.field-input:has([name="control.txPostalCodeNew.EnteredValue"]),
.field-input:has([name="control.txPostalCode.EnteredValue"]) {
   flex: 0 0 40%; !important;
 max-width: 100%;
}

.field-input:has([name="control.txHouseNumberNew.EnteredValue"]),
.field-input:has([name="control.txHouseNumber.EnteredValue"]) {
   flex: 0 0 30%; !important;
 max-width: 100%;
}

.field-input:has(input[name="control.txHouseNumberAddNew.EnteredValue"]),
.field-input:has(input[name="control.txHouseNumberAdd.EnteredValue"]) {
 flex: 0 0 30%; !important;
 max-width: 100%;
}

div#control_cvBirthDate.form-group.row{
	
	margin-bottom: 1rem;
}

.sp_textareacontrol:has(#cvBirthDateSingle) {
	padding-inline: 0px;
 
 }




.sp_checkboxcontrol,
#control_cbCountry,
#control_cbCountry .col-sm,
.field-input,
.sp_radiobuttoncontrol
{
	padding-inline: 5px;
}

#control_cbCountry .col-sm
{
	padding-inline: 0px;
}





/* Mobile layout */
@media (max-width: 768px) {






/*intialen*/
.field-input:has(input[name="control.txInitialNew.EnteredValue"]),
.field-input:has(input[name="control.txInitial.EnteredValue"]) {
 flex: 0 0 40%; !important;
 max-width: 100%;
}


/*tussen voegsel*/
.field-input:has([name="control.txPrefixNew.EnteredValue"]),
.field-input:has([name="control.txPrefix.EnteredValue"]) {
   flex: 0 0 60%; !important;
 max-width: 100%;
 
}


/*Achternaam*/

.field-input:has([name="control.txLastNameNew.EnteredValue"]),
.field-input:has([name="control.txLastName.EnteredValue"]) {
   flex: 0 0 100%; !important;
   margin-top: 15px !important;
 max-width: 100%;
}



/*postcode*/
.field-input:has([name="control.txPostalCodeNew.EnteredValue"]),
.field-input:has([name="control.txPostalCode.EnteredValue"]) {
   flex: 0 0 100%; !important;
    margin-bottom: 15px !important;
 max-width: 100%;
}

/*nummer*/
.field-input:has([name="control.txHouseNumberNew.EnteredValue"]),
.field-input:has([name="control.txHouseNumber.EnteredValue"]) {
   flex: 0 0 50%; !important;
 max-width: 100%;
}

/*toevoging */
.field-input:has(input[name="control.txHouseNumberAddNew.EnteredValue"]),
.field-input:has(input[name="control.txHouseNumberAdd.EnteredValue"]) {
 flex: 0 0 50%; !important;
 max-width: 100%;
}


}






/*RADIO OPTIONS */



.subscription-card {
font-family:  Sans-serif !important;
font-weight: 400 !important;
font-size: 1rem  !important;
border: 1px solid #ddd;
  border-radius: 8px;
  padding: 1rem 1rem 1rem 2.5rem;
  cursor: pointer;
  transition: border-color 0.3s, box-shadow 0.3s;
  display: flex;
  align-items: center;
  position: relative;
}

.subscription-card input {
  display: none;
}

/* Circle outline */
.subscription-card::before {
  content: "";
  position: absolute;
  left: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  border: 2px solid #0077cc;
  border-radius: 50%;
  background: white;
  box-sizing: border-box;
}

/* Filled dot when checked */
.subscription-card input:checked + .card-content::before {
  content: "";
  width: 12px;
  height: 12px;
  background: #0077cc;
  border-radius: 50%;
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
}

/* Active card highlight */
.subscription-card input:checked + .card-content {
  border: 3px solid #5a9110; /* bold green border */
  border-radius: 8px;
  padding: 0.9rem 0.9rem 0.9rem 2.4rem;
  margin: -1rem -1rem -1rem -2.5rem;
}

/* Layout inside the card */
.card-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex: 1;
}

/* Text styles */
.plan-left { text-align: left; margin-left:12px; }
.plan-title { font-size: 12px; }
.plan-discount { color: green; font-size: 12px; }
.plan-right { text-align: right; }
.old-price { color: red; text-decoration: line-through; font-size: 12px; }
.new-price { font-size: 12px; }

/* Hover effect */
.subscription-card:hover {
  border-color: #0077cc;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

/* default gray badge */
.subscription-card.best-deal::after {
  content: "Meest gekozen";
  position: absolute;
  top: -20px;
  left: 0;
  width: 100%;
  background: #ddd;
  color: #555;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 0;
  border-radius: 12px 12px 0 0;
  text-align: center;
  box-sizing: border-box;
  transition: background .25s, color .25s;
}

/* turn green when the radio inside the label is checked */
.subscription-card.best-deal:has(input:checked)::after {
  background: #5a9110;
  color: #fff;
}
