.gform_required_legend, .gfield_required_asterisk {display:none !important;}


	
#damageDays #damageCost, #damageDays #daysCost {
	border-bottom:1px solid #86868b;
	padding-bottom:1em;
	font-weight:400;
	padding-left:5px;}

/* Additional Days buttons */
#input_1_55, #input_8_55 {flex-direction: row;}

/* Container spacing fix */
#field_1_55 .gfield_radio, #field_8_55 .gfield_radio {
  display: flex;
  flex-wrap: wrap;
  gap: 10px; /* Adjust spacing between buttons */
  justify-content: flex-start;
}

/* Button base style */
#field_1_55 .gchoice, #field_8_55 .gchoice  {
  flex: 0 0 auto;
}

/* Label styling */
#field_1_55 .gchoice label , #field_8_55 .gchoice label {
  display: inline-block;
  padding: 12px 20px;
  border: 1px solid #ccc;
  border-radius: 8px;
  background-color: white;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  min-width: 48px;
  text-align: center;
  font-size: 1rem;
}

/* Selected style */
#field_1_55 input[type="radio"]:checked + label, #field_8_55 input[type="radio"]:checked + label {
  /*background-color: #1a53f0;  */
  background-color: #AE053A;
  color: white;
  border-color: #AE053A;
}

/* Hide the radio input */
#field_1_55 input[type="radio"], #field_8_55 input[type="radio"] {
  display: none;
}



/* Removes border from damage waiver price */
.gf_readonly .ginput_container input {
	  border: none !important;
	  box-shadow: none !important;
	  background-color: transparent;
	  pointer-events: none;
}

/* hides currency label */
.gfield_currency {
  display: none !important;
}


/* makes it look like the apple form*/
/* Buttonize Radio & Checkbox Fields */
.bookingForm .whereParty {
  margin: 0 auto;
  text-align: center;
}
.bookingForm .niceLegend legend, .bookingForm .partyDate label, .bookingForm .gfield--type-creditcard .gfield_label, .bookingForm .whereParty label {    
	font-size: 24px !important;
    font-weight: 600 !important;
	margin-top:20px !important;
}
@media (max-width: 620px) {
  .bookingForm .niceLegend legend,
  .bookingForm .partyDate label,
  .bookingForm .gfield--type-creditcard .gfield_label,
  .bookingForm .whereParty label {
    font-size: 16px !important;
    margin-top: 12px !important;
  }
}

.bookingForm .whereParty input[type="text"] {
    width: 200px !important;
    max-width: 90%;
    margin: 12px auto 0 auto;
    display: block;
    font-size: 1.2em;
    padding: 10px 16px;

    box-sizing: border-box;
}

.bookingForm .deliveryInformation legend{    
	font-size: 24px !important;
    font-weight: 600 !important;
	margin-top:60px !important;
}

.entry-content .bookingForm .deliveryInformation  {
	margin-bottom: 0px !important;
}

.bookingForm .gfield--input-type-coupon {
  padding-bottom:60px !important;
}

.bookingForm .pickupHour legend {
  font-weight:600;
}

/* Booking Form delivery fee mesage */
#karaoke-delivery-html {
	color: #b30000; /* deeper red */
	background-color: #ffe5e5; /* light red background */
	border-left: 4px solid #b30000;
	padding: 1em;
	margin: 1em 0;
	font-size: 0.8rem;
	border-radius: 4px;
	display:none;
}


.entry-content .bookingForm .smallBottomMargin {
	margin-bottom:20px !important;
}



 .gform-theme--foundation .gfield select.small, .gform-theme--foundation .gfield input.medium {
	 inline-size: 300px !important;
 }
 
/* Puts the delivery fee field and amount on the same line */
@media (min-width: 821px) {
	#field_1_28, #field_8_28 {
		display: flex;
		align-items: center; /* Align label and input vertically centered */
		gap: 12px; /* Space between label and input */
	}

	#field_1_28 label, #field_8_28 label {
		margin: 0;
		white-space: nowrap; /* Prevent label from breaking into two lines */
	}

	#field_1_28 .ginput_container, #field_8_28 .ginput_container {
		flex-grow: 1; /* Make the input expand to fill remaining space if needed */
	}
}





/* Grey out unavailable options and prevent clicks */
.gchoice.disabled-option {
	position: relative;
	pointer-events: none;
	cursor: not-allowed;
}

.disabled-option-english,.disabled-option-french, .disabled-option-dutch {
    pointer-events: none !important;
    opacity: 0.6 !important;
}

/* Apply opacity only to the image */
.gchoice.disabled-option-english .image-choices-choice-image-wrap, .gchoice.disabled-option-dutch .image-choices-choice-image-wrap, .gchoice.disabled-option-french .image-choices-choice-image-wrap {
	opacity: 0.3;
}

/* Centered "Sold Out" overlay 
.gchoice.disabled-option-english::after {content: "Sold Out"; }
.gchoice.disabled-option-french::after {content: "Complet";}
.gchoice.disabled-option-dutch::after {content: "Sold Out";}*/


/* Centered "Sold Out" overlay
.gchoice.disabled-option-english::after, .gchoice.disabled-option-french::after, .gchoice.disabled-option-dutch::after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: black;
  font-weight: bold;
  font-size: 1rem;
  border-radius: 6px;
  z-index: 9;
  pointer-events: none;
} */

/* Fixed footer styling */
#karaokeFooterPrice {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #f5f5f7;
  color: black;
  font-size: 1em;
  padding: 12px 20px;
  box-shadow: 0 -2px 6px rgba(0, 0, 0, 0.1);
  z-index: 9999;
  border-top: 1px solid #ccc;
  text-align: center;
}

#karaokeFooterPrice .karaoke-price-wrapper {
  max-width: 600px;
  margin: 0 auto;
}

#karaokeFooterPrice .karaoke-total-label {
  font-weight: 500;
  font-size: 0.9em;
  color: #333;
}

#karaokeFooterPrice .karaoke-total-amount {
  font-size: 1.6em;
  font-weight: bold;
  margin: 0;
}

#karaokeFooterPrice .karaoke-total-amount sup {
  font-size: 0.5em;
  font-weight: normal;
  margin-left: 4px;
}

#karaokeFooterPrice .karaoke-system-amount {
  font-weight: bold;
  font-size: 14px;
  line-height: 1;
}

#karaokeFooterPrice .karaoke-delivery-note {
  font-size: 0.75em;
  color: #555;
  margin-top: 0px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
}




/* ===============================================

	         appleField 

=============================================== */
.appleField .systemCost {
	border-bottom: 1px solid #86868b;
  padding-bottom: 1em;
  font-weight: 400;
padding-left: 5px;}


/* Styles the damage waiver */
.appleField .appleFieldItems {
	font-weight: normal;
	font-size: 0.9em;
	color: #555
}

.appleField .appleFieldItems ul {
	padding-left:0px;
	padding-top:1em;
	padding-bottom:1em;}

.appleField .appleFieldItems ul li {
	padding-bottom:8px;}
	

@media (max-width: 620px) {
 .gform-theme--framework .appleField .gfield_radio {
    flex-direction: column !important;
    align-items: stretch;
  }

  .appleField .gchoice {
    width: 100% !important;
    margin-right: 0 !important;
    margin-bottom: 12px;
  }

  .appleField .gchoice:last-child {
    margin-bottom: 0;
  }
}

@media (min-width: 621px) {
  .gform-theme--framework .appleField .gfield_radio {
    flex-direction: row !important;
    gap: 12px; /* optional spacing */
	font-size: 0; /* removes whitespace between inline-blocks */
	margin-top: 10px;
  }
}

.appleField .gchoice {
  display: inline-block !important;
  width: 48%;
  margin-right: 2%;
  vertical-align: top;
  padding: 20px;
  border: 1px solid #ccc;
  border-radius: 12px;
  box-sizing: border-box;
  background: #fff;
  cursor: pointer;
  font-size: 16px; /* resets font size */
  position: relative;
  min-height: 140px;
}

/* Remove margin on the last box */
.appleField .gchoice:last-child {
  margin-right: 0;
}

/* Hide radio button */
.appleField .gchoice input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* Style the label to fill the box */
.appleField .gchoice label {
  display: block;
  font-weight: bold;
  cursor: pointer;
}

/* ===============================================

	         End appleField 

=============================================== */



.gfield.partyDate {
  text-align: center;
  justify-content: center;
  margin:  0 auto;
}
.gfield.partyDate label {
	font-size: 18px;
	text-align:center
}


.appleField .gchoice.selected, .chooseEventField .gchoice.selected, .chooseSystemField .gchoice.selected{
  /* border-color: #0071e3; Blue */
  border-color: #AE053A;
  border-width:2px;
}

/* ===============================================

	          chooseEventField 

=============================================== */

.chooseEventField .systemCost {
	border-bottom: 1px solid #86868b;
  padding-bottom: 1em;
  font-weight: 400;
padding-left: 5px;}


/* Styles the damage waiver */
.chooseEventField .chooseEventFieldItems {
	font-weight: normal;
	font-size: 0.9em;
	color: #555
}

.chooseEventField .chooseEventFieldItems ul {
	padding-left:0px;
	padding-top:1em;
	padding-bottom:1em;}

.chooseEventField .chooseEventFieldItems ul li {
	padding-bottom:8px;}
	




.chooseEventField .gchoice {
  display: inline-block !important;
  width: 16%;
  margin-right: 0;
  vertical-align: top;
  padding: 20px;
  border: 1px solid #ccc;
  border-radius: 12px;
  box-sizing: border-box;
  background: #fff;
  cursor: pointer;
  font-size: 16px; /* resets font size */
  position: relative;
  min-height: 60px;
}

.chooseEventField .gchoice:first-child {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.chooseEventField .gchoice:last-child {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}



/* Remove margin on the last box */
.chooseEventField .gchoice:last-child {
  margin-right: 0;
}

/* Hide radio button */
.chooseEventField .gchoice input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* Style the label to fill the box */
.chooseEventField .gchoice label {
  display: block;
  font-weight: bold;
  cursor: pointer;
  margin-left: 0;
  font-size:18px;
}

.chooseEventField .gchoice label p {
  font-size: 14px;
  color: #666;
}

.chooseEventField .gfield_radio {
  display: flex;
  justify-content: center;
  gap: 0px !important;
}


.chooseEventField .gfield_radio {
    flex-direction: row !important;
	font-size: 0; /* removes whitespace between inline-blocks */
	margin-top: 10px;
}

@media (max-width: 620px) {

  .chooseEventField .gchoice {
    width: 40% !important;
    margin-right: 0 !important;
    margin-bottom: 12px;
  }

}



/* Highlight selected */
.chooseEventField .gchoice label p {
  color: grey;
  font-weight:500;
}





/* ===============================================

	         end chooseEventField 

=============================================== */








/* ===============================================

	         chooseSystemField 

=============================================== */


.chooseSystemField .systemCost {
	border-bottom: 1px solid #86868b;
  padding-bottom: 1em;
  font-weight: 400;
padding-left: 5px;}


/* Styles the damage waiver */
.chooseSystemField .chooseSystemFieldItems {
	font-weight: normal;
	font-size: 0.9em;
	color: #555
}

.chooseSystemField .chooseSystemFieldItems ul {
	padding-left:0px;
	padding-top:1em;
	padding-bottom:1em;}

.chooseSystemField .chooseSystemFieldItems ul li {
	padding-bottom:8px;}
	





.chooseSystemField .gchoice {
  display: inline-block !important;
  width: 50%;
  margin-right: 2%;
  vertical-align: top;
  padding: 0px;
  border: 1px solid #ccc;
  border-radius: 12px;
  box-sizing: border-box;
  background: #fff;
  cursor: pointer;
  font-size: 16px; /* resets font size */
  position: relative;
}



/* Remove margin on the last box */
.chooseSystemField .gchoice:last-child {
  margin-right: 0;
}

/* Hide radio button */
.chooseSystemField .gchoice input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* Style the label to fill the box */
.chooseSystemField .gchoice label {
  display: block;
  font-weight: bold;
  cursor: pointer;
  margin-left: 0;
}


.chooseSystemField .gfield_radio {
  display: flex;
  justify-content: center;
  gap: 0px !important;
}


.chooseSystemField .gfield_radio {
    flex-direction: row !important;
	font-size: 0; /* removes whitespace between inline-blocks */
	margin-top: 10px;
}

.chooseSystemField .plans .plan {
	padding: 6px !important;
}


@media (max-width: 620px) {

  .chooseSystemField .gchoice {
    margin-right: 0 !important;
    margin-bottom: 12px;
  }
  .chooseSystemField .gchoice:first-child {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

 .chooseSystemField .gchoice:last-child {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}


}

@media (min-width: 621px) {
  .gform-theme--framework .chooseSystemField .gfield_radio {
    flex-direction: row !important;
    gap: 12px; /* optional spacing */
	font-size: 0; /* removes whitespace between inline-blocks */
	margin-top: 10px;
  }
}


/* Highlight selected */
.chooseSystemField .gchoice label p {
  color: grey;
  font-weight:500;
}

.chooseSystemField  .pricingblock .plans .plan {
	width: 100%;
	}
	
.chooseSystemField  .planTitle {
	display: none !important;
}

.chooseSystemField .pricingblock .plans {
	text-align: left;
}

.chooseSystemField  .for-type .location {
	display: none !important;
}

/* ===============================================

	         end chooseSystemField 

=============================================== */




/* Shared Code */

.bookingHeader h1 {
    text-align: center;
    margin-top: 40px !important;
    font-size: 48px;
    margin-bottom: 10px !important;
}

@media (max-width: 600px) {
  .bookingHeader h1 {
    font-size: 32px;
    margin-top: 24px !important;
    margin-bottom: 8px !important;
  }
}


.bookingForm input:focus, .bookingForm textArea:focus, .bookingForm select:focus {
	border-color: #AE053A !important;
	border-width: 2px !important;
	outline: none !important;
	
}


.bookingForm .gfield_checkbox .gfield-choice-input {
  position: absolute;
  opacity: 0;
}

.centerLabel .gfield_label, .centerLabel label, .centerLabel label p {
  text-align:center;
   margin: 0 auto;
}

.bookingForm .centerLegend legend {
	text-align:center !important;
	margin: 0 auto !important;
}
/* end Shared Code */






/* New */
.bookingForm .image-choices-choice-image-wrap {
	background-color: white !important;
}

body .bookingForm .notesDescription .gfield_description {
	font-weight: 400 !important;
}

.bookingForm .gfield_description {
	font-size: 14px !important;
	color: #112337 !important;
}


.image-choices-choice {
	border: 2px solid #ccc !important;
    border-radius: 12px !important;
	outline: none !important;
}

.image-choices-choice-selected {
	border: 2px solid #AE053A !important;
    border-radius: 12px !important;
	outline: none !important;
}


.image-choices-choice-selected .gform-field-label {
	box-shadow: none !important;
}



.image-choices-choice .gform-field-label:after {
	display: none !important;
}



/* Upgrade choices */
.upgradeChoices {
	color: black;
	text-align: center;
}

@media(max-width: 575px) {
	body .bookingForm .upgradeChoices .image-choices-choice .gform-field-label {
		width: 140px;
}
}

@media(min-width: 576px) {
	body .bookingForm .upgradeChoices .image-choices-choice .gform-field-label {
		width: 160px;
	}
}
	


.image-choices-choice-text {
	font-family: Montserrat, sans-serif !important;
}






/* Date Picker Start */

#ui-datepicker-div {
	padding: 0 !important
}

.ui-datepicker-header {
	padding: 10px !important;
	background-color: #AE053A !important;
}

.ui-datepicker-next::before, .ui-datepicker-prev::before {
	color: white !important;
	font-size: 28px !important;
}

.ui-datepicker-title {
	color: white !important;
	margin: 0 auto !important;
	display: block !important;
	font-weight: bold !important;
}

.ui-datepicker table {
	margin-block-start: 0 !important;
}

.ui-datepicker td {
	border: 1px solid #ccc !important;
}

.ui-state-active {
	background: #fff2aa !important;
    border: 1px solid #c19163 !important;
	color: black !important;
}

.bookingForm .datepicker {
  font-size:18px !important;
}
/* Date Picker End */

.bookingForm {
	margin-bottom:60px !important;
}

.bookingForm .gfield {
	margin-bottom: 60px !important;
}

.bookingForm .gform_button {
    margin: 0 auto !important;
    font-size: 20px !important;
    padding: 16px 30px !important;
    border-radius: 10px !important;
}

.bookingForm .gform_button, .bookingForm .button {
	background-color: #AE053A !important;
}


.bookingForm .niceLabel label {
	font-weight: 600 !important;
}

.bookingForm .deliveryFee input {
	padding-left:0 !important;
}

/* Row Gap Stuff */
.bookingForm .gform_fields {
	row-gap: 0 !important;
}





.bookingForm .priceNoRowGap {
	margin-bottom: 10px !important;
}

.bookingForm .priceStyle {
	margin-bottom: 18px !important;
}

.bookingForm .topMargin {
	margin-top:60px;
}



/* Pricing breakdown */
.priceStyle .gfield_label {
	font-size: 24px !important;
    font-weight: 600 !important;
	margin-top:20px !important;
}


.priceStyle .ginput_product_price_label {
	font-weight:600 !important;}



.pricingStyle .gfield_label, .pricingStyle 
.ginput_container, .pricingStyle  input {
	display: inline-block !important;
	font-size:14px !important;
}

.priceStyle .gfield_label_before_complex {
	font-weight: 600;
}

/* Sales Tax */
.pricingStyle .gfield_label {
	color: #585e6a !important;
	font-weight:600 !important;
}
/* 19.99 */
.pricingStyle .ginput_container {
	margin-left: 10px;}

.totalStyle label {
	font-weight: 600;
}

/* Pricing breakdown End */




/* Aligns prices under "Final Price Summary"
.priceStyle .ginput_product_price_label {
	width:166px !important;
}

.priceWithCoupon label {
	width:160px !important;
}

.salesStyle label {
	width:156px !important;
}

.totalStyle label {
	width:160px !important;
}
 End price alignment */

 .priceStyle .ginput_product_price_label {
	width:191px !important;
}

.priceWithCoupon label {
	width:185px !important;
}

.salesStyle label {
	width:181px !important;
}

.totalStyle label {
	width:185px !important;
}


.deliveryAddressNational {
	width: 600px !important;
	margin:0 auto !important;

}

.deliveryAddressLocal {
  	width: 600px !important;
    margin-top:80px !important; 
}

.whosBooking {
	width:600px !important; 
}
@media (max-width: 620px) {
  .deliveryAddressNational,
  .deliveryAddressLocal,
  .whosBooking {
    width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box;
  }
  .deliveryAddressLocal {
    margin-top: 30px !important;
  }
}

#bookContract {
  font-size:14px;
}