body, p, h1, h2, h3, h4, h5 { padding: 0; margin: 0; }




#deets .logo {
	padding: 2vh 2vw;
}

.form-connect {
  max-width: 800px;
  padding: 15px;
  margin: 0 auto;
}
.form-connect .form-connect-heading,
.form-connect .checkbox {
  margin: 10px 0;
}
.form-connect .checkbox {
  font-weight: normal;
}
.form-connect .form-control {
  position: relative;
  height: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 10px;
  font-size: 16px;
}
.form-connect .form-control:focus {
  z-index: 2;
}
.form-connect input {
  margin-bottom: 10px;
}
.btn-primary {
    color: #fff;
    background-color: #2c8ebd;
    border-color: #2c8ebd;
}

.btn-primary:hover {
    color: #fff;
    background-color: #396c83;
    border-color: #396c83;
}

#PaymentMethod {
	margin-top: 15px;
	text-align: left;
}


#stripeForm, #voucherField, #passwordField {
	height: 0;
	overflow: hidden;
	-webkit-transition:all, 0.3s linear;
	-moz-transition: all, 0.3s linear;
	-ms-transition: all, 0.3s linear;
	-o-transition: all, 0.3s linear;
	transition: all, 0.3s linear;
}

#stripeForm.open, #voucherField.open, #passwordField.open {
	height: auto;
	overflow: visible;
	-webkit-transition:all, 0.3s linear;
	-moz-transition: all, 0.3s linear;
	-ms-transition: all, 0.3s linear;
	-o-transition: all, 0.3s linear;
	transition: all, 0.3s linear;
}



#stripeForm form {
	/*display: inline-block;*/
	
}

#fordataamount {
	width: 275px;
    margin: 0 auto 15px auto;
	
}

.form-check-inline .form-check-label {
    padding-left: 0;
    padding-right: 1.25rem;
}

/* ─── Form rendering (front-end captive portal) ─────────────────── */
.ff-grid { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }
.ff-grid > .ff-field { box-sizing: border-box; }
.ff-grid > .ff-field.ff-width-full { flex: 1 1 100%; max-width: 100%; }
.ff-grid > .ff-field.ff-width-half { flex: 1 1 calc(50% - 4px); max-width: calc(50% - 4px); }
@media (max-width: 480px) {
	.ff-grid > .ff-field.ff-width-half { flex: 1 1 100%; max-width: 100%; }
}
.ff-grid > .ff-field input[type="text"],
.ff-grid > .ff-field input[type="email"] { width: 100%; }
.ff-group-label { display: block; font-weight: 600; margin-bottom: 4px; }
.ff-radio-options label { display: inline-block; margin-right: 12px; }
.ff-cbgroup-options { display: flex; flex-wrap: wrap; gap: 4px 12px; }
.ff-cbgroup-options label { flex: 0 0 calc(33% - 12px); margin: 0; font-weight: 400; }
@media (max-width: 480px) {
	.ff-cbgroup-options label { flex: 0 0 calc(50% - 12px); }
}

.ff-label { display: block; font-weight: 600; margin: 0 0 4px; }

/* Payment method spacing */
#stripeForm #card-element { margin-bottom: 12px; }
#stripeForm #card-errors { margin-bottom: 12px; }
#stripeForm #paypal-button-container { margin: 0 15px 12px; }
