/* =========================================================================
   Rodi styling for the ReDi booking form (ReDi 26.0.x).
   Keeps ReDi's two-step layout (Step 1: guests, date, time. Step 2: details)
   and dresses it in Rodi's fonts and colours. Loaded on the Booking page only.
   ========================================================================= */

#redi_booking_form, #redi_booking_form * { font-family: "Rubik", sans-serif !important; box-sizing: border-box; }
#redi_booking_form { color: #555; font-size: 15px; }
#redi_booking_form #redi_f_box > br { display: none; }
#redi_booking_form .redi-icon, #redi_booking_form .redi-shift-icon, #redi_booking_form .redi-table-icon-cell { display: none !important; }
#redi_booking_form table, #redi_booking_form td { border: 0 !important; background: none; }

/* Step tabs */
#redi_booking_form .f_step_box { display: flex; border-bottom: 1px solid rgba(0,0,0,.1); margin: 0 0 30px; height: auto; background: none !important; }
#redi_booking_form .f_step_box_left_column, #redi_booking_form .f_step_box_right_column { flex: 1; width: auto; float: none; }
#redi_booking_form .f_step_box [id^="tab"] { background: none !important; height: auto; padding: 0 0 14px; text-align: center; border-bottom: 2px solid transparent; margin-bottom: -1px; width: auto; }
#redi_booking_form .f_step_box [id^="tab"] br, #redi_booking_form .f_arrow_next_step { display: none !important; }
#redi_booking_form .f_step_box .underline { font-size: 12px; letter-spacing: .28em; text-transform: uppercase; color: #aaa; font-weight: 500; text-decoration: none; }
#redi_booking_form .f_active_step1, #redi_booking_form .f_active_step2 { border-bottom-color: #c7a254 !important; }
#redi_booking_form .f_active_step1 .underline, #redi_booking_form .f_active_step2 .underline { color: #161616; }
#redi_booking_form .f_check { background: none !important; width: auto; height: auto; }
#redi_booking_form .f_check:before { content: "\2713"; color: #c7a254; margin-right: 8px; font-size: 13px; }

/* Section labels (Guests, Date, Time) */
#redi_booking_form .f_tab_box > p:first-child { display: none; }
#redi_booking_form .f_subbox_title { background: none !important; border: 0 !important; margin: 26px 0 12px; padding: 0; height: auto; }
#redi_booking_form .f_H2 { font-size: 11px !important; letter-spacing: .3em; text-transform: uppercase; color: #c7a254 !important; font-weight: 500; }
#redi_booking_form .f_subbox_data, #redi_booking_form .f_subbox_data2, #redi_booking_form .f_subbox_data3 { background: none !important; border: 0 !important; padding: 0 !important; }

/* Guests, dates and times: square tiles */
#redi_booking_form .f_person_data, #redi_booking_form .f_calender_data { border-collapse: separate !important; border-spacing: 8px 8px !important; margin: 0 -8px; width: calc(100% + 16px); }
#redi_booking_form .f_person_data td, #redi_booking_form .f_calender_data td,
#redi_booking_form .redi-restaurant-time-button, #redi_booking_form .redi-restaurant-shift-button {
	background: #fff !important; border: 1px solid rgba(0,0,0,.14) !important; color: #161616 !important;
	border-radius: 0 !important; height: 48px; text-align: center; vertical-align: middle; cursor: pointer;
	font-size: 15px; font-weight: 400; transition: border-color .2s, background .2s, color .2s; box-shadow: none !important;
}
#redi_booking_form .f_person_data td:hover, #redi_booking_form .f_calender_data td:hover,
#redi_booking_form .redi-restaurant-time-button:hover { border-color: #c7a254 !important; }
#redi_booking_form .f_person_data td.select, #redi_booking_form .f_calender_data td.select,
#redi_booking_form .redi-restaurant-time-button.select, #redi_booking_form .redi-restaurant-shift-button.select {
	background: #c7a254 !important; border-color: #c7a254 !important; color: #fff !important;
}
#redi_booking_form .f_person_data td.close, #redi_booking_form .redi-restaurant-time-button.close,
#redi_booking_form .redi-restaurant-time-button:disabled { color: #ccc !important; background: #fafafa !important; cursor: not-allowed; text-decoration: line-through; }
#redi_booking_form .redi-restaurant-time-button, #redi_booking_form .redi-restaurant-shift-button { min-width: 88px; padding: 0 14px; margin: 0 8px 8px 0; line-height: 46px; }
#redi_booking_form .legend { font-size: 12px; letter-spacing: .15em; text-transform: uppercase; color: #999; margin: 14px 0 8px; }

/* Calendar pop-up */
#redi_booking_form .ui-datepicker, .ui-datepicker { border-radius: 0 !important; border: 1px solid rgba(0,0,0,.12) !important; box-shadow: 0 10px 30px rgba(0,0,0,.12) !important; }
.ui-datepicker .ui-state-active, .ui-datepicker .ui-state-highlight { background: #c7a254 !important; color: #fff !important; border-color: #c7a254 !important; }

/* Step 2: your details */
#redi_booking_form .f_select2, #redi_booking_form .f_select2_text_area { margin: 0 0 16px; width: 100%; float: none; }
#redi_booking_form .f_input_box_1 { position: relative; background: none !important; border: 0 !important; height: auto; width: 100%; }
#redi_booking_form .selectArrow2_1 { display: none !important; }
#redi_booking_form .text_field_1, #redi_booking_form .textarea_field_1, #redi_booking_form input[type="text"], #redi_booking_form input[type="email"], #redi_booking_form input[type="tel"], #redi_booking_form select, #redi_booking_form textarea {
	width: 100% !important; height: 52px; border: 1px solid rgba(0,0,0,.16) !important; border-radius: 0 !important;
	background: #fff !important; padding: 0 16px !important; font-size: 15px !important; color: #161616 !important; box-shadow: none !important;
}
#redi_booking_form textarea, #redi_booking_form .textarea_field_1 { height: 120px; padding: 14px 16px !important; }
#redi_booking_form input:focus, #redi_booking_form textarea:focus, #redi_booking_form select:focus { border-color: #c7a254 !important; outline: 0; }
#redi_booking_form .form_validation_error { border-color: #b3261e !important; }
#redi_booking_form .validation_error, #redi_booking_form .img-error { color: #b3261e; font-size: 13px; }

/* Buttons */
#redi_booking_form .redi-form-navigation-buttons { display: flex; justify-content: flex-end; gap: 12px; margin-top: 26px; float: none; width: 100%; }
#redi_booking_form .f_btn, #redi_booking_form input[type="submit"], #redi_booking_form button.f_btn, #redi_booking_form #next, #redi_booking_form #redi-button-back {
	float: none !important; width: auto !important; height: auto !important; padding: 0 34px !important; line-height: 50px !important;
	background: #c7a254 !important; border: 2px solid #c7a254 !important; color: #fff !important; border-radius: 0 !important;
	font-size: 12px !important; letter-spacing: .18em; text-transform: uppercase; font-weight: 500 !important; cursor: pointer;
}
#redi_booking_form #redi-button-back { background: transparent !important; color: #161616 !important; border-color: rgba(0,0,0,.2) !important; }
#redi_booking_form .f_btn:hover, #redi_booking_form #next:hover { background: transparent !important; color: #c7a254 !important; }
#redi_booking_form #next:disabled, #redi_booking_form .f_btn[disabled] { opacity: .45; cursor: not-allowed; }

/* Messages */
#redi_booking_form .redi-booking-alert { border-radius: 0; border: 0; border-left: 3px solid #c7a254; background: #f7f3ec; color: #555; padding: 14px 18px; font-size: 14px; }
#redi_booking_form .redi-booking-alert-error { border-left-color: #b3261e; background: #fbeeee; }

/* Confirmation */
#redi_booking_form .f_final_title { font-family: "Cormorant Garamond", Georgia, serif !important; font-size: 30px; color: #161616; }

@media (max-width: 575px) {
	#redi_booking_form .f_person_data td, #redi_booking_form .f_calender_data td { height: 44px; font-size: 14px; }
	#redi_booking_form .redi-form-navigation-buttons { flex-direction: column-reverse; }
	#redi_booking_form .f_btn, #redi_booking_form #next, #redi_booking_form #redi-button-back { width: 100% !important; text-align: center; }
}

/* ---------- v2: make the form fill the white card ---------- */
#redi_booking_form #redi_f_box, #redi_booking_form #redi_f_box_cancel {
	max-width: none !important; min-width: 0 !important; width: 100% !important; margin: 0 !important; padding: 0 !important;
	background: none !important; box-shadow: none !important; border-radius: 0 !important; line-height: 1.6; color: #555;
}
#redi_booking_form .f_tab_box { background: none !important; box-shadow: none !important; border-top: 0 !important; text-align: left; max-width: none; }
#redi_booking_form .f_step_box { height: auto !important; z-index: 1; }
#redi_booking_form .f_active_step1, #redi_booking_form .f_active_step2,
#redi_booking_form .f_non_active_step1, #redi_booking_form .f_non_active_step2 {
	height: auto !important; float: none !important; top: 0 !important; border-top: 0 !important; background: none !important;
	font-family: "Rubik", sans-serif !important; padding: 0 0 14px !important; display: block;
}
#redi_booking_form .underline { border-bottom: 0 !important; padding-left: 0; }
#redi_booking_form .f_subbox_data, #redi_booking_form .f_subbox_data2, #redi_booking_form .f_subbox_data3 { max-width: none !important; margin: 0 !important; border-radius: 0 !important; }
#redi_booking_form .f_subbox_title { text-align: left; }

/* Guests: equal tiles across the full width */
#redi_booking_form .f_person_data { table-layout: fixed; }
#redi_booking_form .f_person_data td { line-height: 48px !important; padding: 0 !important; font-size: 16px !important; }
#redi_booking_form .f_person_data td:hover { background: #fff !important; color: #161616 !important; border-color: #c7a254 !important; }
#redi_booking_form .f_person_data td.select, #redi_booking_form .f_person_data td.select:hover { background: #c7a254 !important; color: #fff !important; }

/* Dates row */
#redi_booking_form .f_calender_data td { line-height: 1.3 !important; padding: 10px 4px !important; font-size: 14px !important; }

/* Step 2 fields: stronger than ReDi's own rules */
#redi_booking_form #redi-booking-div input[type="text"], #redi_booking_form #redi-booking-div input[type="email"],
#redi_booking_form #redi-booking-div input[type="tel"], #redi_booking_form #redi-booking-div textarea, #redi_booking_form #redi-booking-div select {
	width: 100% !important; height: 52px; border: 1px solid rgba(0,0,0,.16) !important; border-radius: 0 !important;
	background: #fff !important; padding: 0 16px !important; font-size: 15px !important; color: #161616 !important; box-shadow: none !important;
	position: relative; z-index: 1; pointer-events: auto;
}
#redi_booking_form #redi-booking-div textarea { height: 120px; padding: 14px 16px !important; }
#redi_booking_form #redi-booking-div input::placeholder, #redi_booking_form #redi-booking-div textarea::placeholder { color: #999; }
#redi_booking_form .f_text_selection_step2 table td { padding: 4px 0 !important; }

/* "Existing reservation" line under the form */
.rodi-booking-form .redi-cancel-box, .rodi-booking-form #redi_booking_form + p, .rodi-booking-form p:last-child { font-size: 13px; color: #888; margin-top: 18px; }

/* ---------- v3: Step 2 polish ---------- */
/* Full width like Step 1 */
#redi_booking_form #step2, #redi_booking_form .f_text_selection_step2, #redi_booking_form .f_select2, #redi_booking_form .f_select2_text_area,
#redi_booking_form .redi-form-navigation-buttons { max-width: none !important; min-width: 0 !important; width: 100% !important; }
#redi_booking_form .f_select2 { height: auto !important; }
#redi_booking_form .f_select2_text_area { height: auto !important; }

/* Booking summary: cream card, clear labels */
#redi_booking_form .f_text_selection_step2 { background: #f7f3ec !important; padding: 18px 22px !important; margin: 0 0 22px !important; border-left: 3px solid #c7a254; }
#redi_booking_form .f_text_selection_step2 table { margin: 0 !important; }
#redi_booking_form .redi-table-summary td { color: #888 !important; font-size: 12px !important; letter-spacing: .15em; text-transform: uppercase; padding: 5px 16px 5px 0 !important; line-height: 1.5 !important; }
#redi_booking_form .redi-table-summary td:nth-child(2) { color: #161616 !important; font-size: 17px !important; letter-spacing: 0; text-transform: none; font-weight: 500; }

/* Fields: no gaps between stacked boxes, friendly placeholders */
#redi_booking_form .f_select2, #redi_booking_form .f_select2_text_area { margin: 0 0 12px !important; }
#redi_booking_form #redi-booking-div input::placeholder, #redi_booking_form #redi-booking-div textarea::placeholder { text-transform: capitalize; }

/* Buttons: solid gold, dark on hover, text centred */
#redi_booking_form .f_btn, #redi_booking_form #redi-booking, #redi_booking_form #next, #redi_booking_form #redi-button-back {
	display: inline-flex !important; align-items: center; justify-content: center; line-height: 1 !important; height: 52px !important; padding: 0 30px !important;
}
#redi_booking_form .f_btn:hover, #redi_booking_form #redi-booking:hover, #redi_booking_form #next:not(:disabled):hover {
	background: #161616 !important; border-color: #161616 !important; color: #fff !important;
}
#redi_booking_form #redi-button-back { background: transparent !important; color: #161616 !important; border-color: rgba(0,0,0,.2) !important; }
#redi_booking_form #redi-button-back:hover { border-color: #161616 !important; background: transparent !important; color: #161616 !important; }
#redi_booking_form .redi-form-navigation-buttons { justify-content: space-between !important; height: auto !important; margin: 24px 0 0 !important; }
#redi_booking_form .redi-form-navigation-buttons.redi-right-button { justify-content: flex-end !important; }
#redi_booking_form #redi-booking { flex: 1; max-width: 320px; }

/* ---------- Tick boxes (e.g. "Events & offers") ---------- */
#redi_booking_form .fa { font-family: FontAwesome !important; }
#redi_booking_form .redi-checkbox_field { margin: 6px 0 0 !important; line-height: 1.5 !important; font-size: 14px !important; color: #555 !important; }
#redi_booking_form .redi-checkbox { display: block; }
#redi_booking_form .redi-checkbox label { display: inline-flex !important; align-items: flex-start; gap: 12px; cursor: pointer; font-size: 14px; line-height: 1.5; color: #555; text-transform: none; letter-spacing: 0; font-weight: 400; }
#redi_booking_form .redi-checkbox label:after { display: none; }
#redi_booking_form .redi-checkbox .cr {
	position: relative; flex: 0 0 20px; width: 20px !important; height: 20px !important; margin: 1px 0 0 !important; float: none !important;
	border: 1px solid rgba(0,0,0,.3) !important; border-radius: 0 !important; background: #fff; transition: background .2s, border-color .2s;
}
#redi_booking_form .redi-checkbox .cr .cr-icon { display: none !important; }
#redi_booking_form .redi-checkbox input[type="checkbox"]:checked + .cr { background: #c7a254; border-color: #c7a254 !important; }
#redi_booking_form .redi-checkbox input[type="checkbox"]:checked + .cr:after {
	content: ""; position: absolute; left: 6px; top: 2px; width: 6px; height: 11px;
	border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg);
}
#redi_booking_form .redi-checkbox input[type="checkbox"]:focus-visible + .cr { outline: 2px solid #c7a254; outline-offset: 2px; }

/* =========================================================================
   v5: everything in one column, one width, one colour scheme
   ========================================================================= */
/* Same width for summary, fields, extra questions, tick box and buttons */
#redi_booking_form .redi_booking_form_input, #redi_booking_form #custom_fields_container,
#redi_booking_form #custom_fields_container .f_select2, #redi_booking_form .f_text_selection_step2,
#redi_booking_form .redi-form-navigation-buttons {
	max-width: none !important; min-width: 0 !important; width: 100% !important; margin-left: 0 !important; margin-right: 0 !important;
}
#redi_booking_form .redi_booking_form_input { padding-top: 0 !important; }
#redi_booking_form .redi_booking_form_input .f_select2, #redi_booking_form .redi_booking_form_input .f_select2_text_area { margin: 0 0 12px !important; }
#redi_booking_form .redi_booking_form_input .f_input_box_1 { display: block !important; min-height: 0; }

/* Field colours: soft cream boxes, white with a gold edge while typing */
#redi_booking_form #redi-booking-div input[type="text"], #redi_booking_form #redi-booking-div input[type="email"],
#redi_booking_form #redi-booking-div input[type="tel"], #redi_booking_form #redi-booking-div textarea, #redi_booking_form #redi-booking-div select {
	background: #fbf9f5 !important; border: 1px solid #e2dace !important; color: #161616 !important;
}
#redi_booking_form #redi-booking-div input:focus, #redi_booking_form #redi-booking-div textarea:focus, #redi_booking_form #redi-booking-div select:focus {
	background: #fff !important; border-color: #c7a254 !important;
}
#redi_booking_form #redi-booking-div select {
	appearance: none; -webkit-appearance: none; cursor: pointer; padding-right: 44px !important;
	background-image: linear-gradient(45deg, transparent 50%, #c7a254 50%), linear-gradient(135deg, #c7a254 50%, transparent 50%) !important;
	background-position: calc(100% - 22px) 23px, calc(100% - 16px) 23px !important; background-size: 6px 6px, 6px 6px !important; background-repeat: no-repeat !important;
}

/* Tick box with its text on the same line */
#redi_booking_form .checkbox_field { display: flex !important; align-items: center; gap: 12px; margin: 4px 0 0; }
#redi_booking_form .checkbox_field .redi-checkbox, #redi_booking_form .checkbox_field .redi-checkbox label { display: inline-flex !important; margin: 0 !important; }
#redi_booking_form .checkbox_field > label { margin: 0 !important; font-size: 14px !important; color: #555 !important; cursor: pointer; line-height: 1.4; text-transform: none; letter-spacing: 0; font-weight: 400; }
#redi_booking_form .redi-checkbox .cr { border-color: #e2dace !important; background: #fbf9f5; }
#redi_booking_form .redi-checkbox input[type="checkbox"]:checked + .cr { background: #c7a254 !important; border-color: #c7a254 !important; }
#redi_booking_form .selectArrow2_1 { display: none !important; }

/* Buttons: gold, deeper gold on hover (no more black) */
#redi_booking_form .f_btn:hover, #redi_booking_form #redi-booking:hover, #redi_booking_form #next:not(:disabled):hover {
	background: #a68046 !important; border-color: #a68046 !important; color: #fff !important;
}
#redi_booking_form #redi-button-back:hover { background: transparent !important; border-color: #c7a254 !important; color: #c7a254 !important; }
#redi_booking_form #redi-booking { max-width: none; }
#redi_booking_form .redi-form-navigation-buttons { gap: 12px; margin-top: 18px !important; }

/* v6: extra questions stacked in the same column, and a steadier page */
#redi_booking_form #custom_fields_container { display: block !important; }
#redi_booking_form #custom_fields_container > .f_select2, #redi_booking_form .f_select2--auto {
	display: block !important; float: none !important; width: 100% !important; max-width: none !important; height: auto !important; margin: 0 0 12px !important; clear: both;
}
#redi_booking_form #custom_fields_container .f_input_box_1 { display: block !important; width: 100% !important; }
#redi_booking_form .checkbox_field { width: 100%; justify-content: flex-start; }
#redi_booking_form .checkbox_field > label { white-space: normal; }
@media (min-width: 992px) {
	.rodi-booking-form { min-height: 640px; }
}

/* "Events & Offers" tick box: a little more space above and below */
#redi_booking_form #custom_fields_container .f_select2:has(.checkbox_field) { margin: 18px 0 10px !important; }
#redi_booking_form .checkbox_field { margin: 0 !important; }

/* More room around "Events & Offers" */
#redi_booking_form #custom_fields_container .f_select2:has(.checkbox_field) { margin: 30px 0 22px !important; }

/* =========================================================================
   TABLETS AND PHONES
   ========================================================================= */
@media (max-width: 991px) {
	.rodi-booking { padding-top: 0; gap: 30px; }
	.rodi-booking-form { min-height: 0; }
	.rodi-booking-intro { margin-bottom: 34px; }
}
@media (max-width: 767px) {
	.rodi-booking-aside { padding: 36px 24px; }
	.rodi-booking-intro p { font-size: 16px; }
	.rodi-booking-form h2, .rodi-booking-aside h2 { font-size: 26px; }

	/* Guests and dates wrap onto neat rows of 4 instead of squeezing 8 in a line */
	#redi_booking_form .f_person_data, #redi_booking_form .f_person_data tbody,
	#redi_booking_form .f_calender_data, #redi_booking_form .f_calender_data tbody { display: block; width: 100% !important; margin: 0 !important; }
	#redi_booking_form .f_person_data tr, #redi_booking_form .f_calender_data tr { display: flex; flex-wrap: wrap; gap: 8px; }
	#redi_booking_form .f_person_data td, #redi_booking_form .f_calender_data td { flex: 1 0 calc(25% - 8px); display: flex; align-items: center; justify-content: center; }

	/* Times: two or three per row, easy to tap */
	#redi_booking_form .redi-restaurant-time-button { min-width: calc(33.33% - 8px); margin: 0 8px 8px 0; padding: 0 6px; }

	/* 16px text stops phones zooming in when a box is tapped */
	#redi_booking_form #redi-booking-div input[type="text"], #redi_booking_form #redi-booking-div input[type="email"],
	#redi_booking_form #redi-booking-div input[type="tel"], #redi_booking_form #redi-booking-div textarea, #redi_booking_form #redi-booking-div select { font-size: 16px !important; }

	#redi_booking_form .f_step_box .underline { font-size: 11px; letter-spacing: .18em; }
	#redi_booking_form .f_text_selection_step2 { padding: 14px 16px !important; }
	#redi_booking_form .redi-table-summary td { padding-right: 10px !important; }
}
@media (max-width: 575px) {
	.rodi-booking-form { padding: 26px 16px; border-left: 0; border-right: 0; }
	#redi_booking_form .redi-restaurant-time-button { min-width: calc(50% - 8px); }
	#redi_booking_form #custom_fields_container .f_select2:has(.checkbox_field) { margin: 26px 0 20px !important; }
}

/* =========================================================================
   v7
   ========================================================================= */
/* "Events & Offers": guaranteed gap (works in every browser) */
#redi_booking_form .checkbox_field { padding: 26px 0 18px !important; margin: 0 !important; }
#redi_booking_form #redi-form-submit-buttons { margin-top: 22px !important; }

/* Date tiles: month, day and weekday stacked neatly */
#redi_booking_form .f_calender_data td.date, #redi_booking_form .f_calender_data td.more_date_select {
	line-height: 1.25 !important; padding: 8px 4px !important; vertical-align: middle;
}
#redi_booking_form .f_calender_data td br { display: none; }
#redi_booking_form .f_calender_data td .legend { display: block; margin: 0 !important; font-size: 10px !important; letter-spacing: .12em; color: #999; }
#redi_booking_form .f_calender_data td.select .legend { color: rgba(255,255,255,.85); }
#redi_booking_form .f_calender_data td.date { font-size: 18px !important; font-weight: 500; }
#redi_booking_form .f_calender_data td.more_date_select { font-size: 18px !important; letter-spacing: .1em; }

/* Phones and tablets: dates as a swipeable strip, not a squashed grid */
@media (max-width: 767px) {
	#redi_booking_form .f_calender_data tr#dates_row {
		display: flex; flex-wrap: nowrap; gap: 8px; overflow-x: auto; -webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory; padding: 2px 2px 10px; margin: 0 -2px;
	}
	#redi_booking_form .f_calender_data tr#dates_row td {
		flex: 0 0 68px !important; min-height: 76px; height: auto !important;
		display: flex !important; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
		scroll-snap-align: start;
	}
	#redi_booking_form .f_calender_data td .legend { font-size: 10px !important; }
	#redi_booking_form .f_calender_data td.date { font-size: 20px !important; }
	#redi_booking_form .f_calender_data tr#dates_row::-webkit-scrollbar { height: 3px; }
	#redi_booking_form .f_calender_data tr#dates_row::-webkit-scrollbar-thumb { background: #c7a254; }

	/* The "..." more-dates calendar opens as a centred pop-up */
	#ui-datepicker-div.ui-datepicker-dialog {
		position: fixed !important; left: 50% !important; top: 50% !important; transform: translate(-50%, -50%);
		width: min(92vw, 340px) !important; min-width: 0 !important; z-index: 100000 !important; padding: 16px !important;
		border-radius: 0 !important; background: #fff !important; box-shadow: 0 20px 60px rgba(0,0,0,.35) !important;
	}
	#ui-datepicker-div.ui-datepicker-dialog table { width: 100%; font-size: 15px; }
	#ui-datepicker-div.ui-datepicker-dialog td a { display: block; padding: 9px 0; text-align: center; }
}
/* Calendar pop-up colours everywhere */
#ui-datepicker-div .ui-datepicker-title, .ui-datepicker-dialog .ui-datepicker-title { font-family: "Cormorant Garamond", Georgia, serif; font-size: 20px; text-transform: none; }
#ui-datepicker-div td a:hover, .ui-datepicker-dialog td a:hover { color: #c7a254; }
#ui-datepicker-div .ui-state-active, .ui-datepicker-dialog .ui-state-active { background: #c7a254 !important; color: #fff !important; }

/* =========================================================================
   v8: fixes from phone screenshots
   ========================================================================= */

/* 1. The month calendar (shown when ReDi is set to "always show calendar").
      Undo the date-tile rules inside it and give it a clean, tappable grid. */
#redi_booking_form .f_calender_data tr#dates_row td:has(#datepicker),
#redi_booking_form .f_subbox_data2.calendar .f_calender_data td {
	border: 0 !important; height: auto !important; padding: 0 !important; background: none !important; cursor: default;
}
#redi_booking_form #datepicker, #redi_booking_form #datepicker .ui-datepicker { width: 100% !important; max-width: 420px; margin: 0; padding: 0 !important; border: 0 !important; box-shadow: none !important; background: none !important; font-size: 15px; }
#redi_booking_form #datepicker table { display: table !important; width: 100% !important; margin: 0 !important; border-collapse: separate !important; border-spacing: 4px !important; table-layout: fixed; }
#redi_booking_form #datepicker thead { display: table-header-group !important; }
#redi_booking_form #datepicker tbody { display: table-row-group !important; }
#redi_booking_form #datepicker tr { display: table-row !important; flex-wrap: nowrap; }
#redi_booking_form #datepicker th, #redi_booking_form #datepicker td {
	display: table-cell !important; flex: none !important; width: auto !important; height: auto !important; min-height: 0 !important;
	padding: 0 !important; border: 0 !important; background: none !important; text-align: center; vertical-align: middle; line-height: 1 !important;
}
#redi_booking_form #datepicker th { font-size: 11px !important; letter-spacing: .08em; text-transform: uppercase; color: #999; padding: 6px 0 !important; font-weight: 500; }
#redi_booking_form #datepicker td a, #redi_booking_form #datepicker td span {
	display: block; padding: 11px 0 !important; border: 1px solid rgba(0,0,0,.12) !important; background: #fff !important;
	color: #161616 !important; font-size: 15px; text-align: center; border-radius: 0 !important; text-decoration: none;
}
#redi_booking_form #datepicker td.ui-state-disabled span, #redi_booking_form #datepicker td.ui-datepicker-unselectable span { color: #ccc !important; background: #fafafa !important; border-color: #f0f0f0 !important; }
#redi_booking_form #datepicker td a:hover { border-color: #c7a254 !important; }
#redi_booking_form #datepicker td a.ui-state-highlight { border-color: #c7a254 !important; }
#redi_booking_form #datepicker td a.ui-state-active, #redi_booking_form #datepicker td.ui-datepicker-current-day a { background: #c7a254 !important; border-color: #c7a254 !important; color: #fff !important; }
#redi_booking_form #datepicker td.ui-datepicker-other-month { visibility: hidden; }
#redi_booking_form #datepicker .ui-datepicker-header { position: relative; background: none !important; border: 0 !important; border-bottom: 1px solid rgba(0,0,0,.1) !important; border-radius: 0 !important; padding: 8px 40px 12px !important; margin-bottom: 6px; }
#redi_booking_form #datepicker .ui-datepicker-title { font-family: "Cormorant Garamond", Georgia, serif !important; font-size: 22px; font-weight: 500; color: #161616; text-align: center; line-height: 1.3; margin: 0; }
#redi_booking_form #datepicker .ui-datepicker-prev, #redi_booking_form #datepicker .ui-datepicker-next {
	position: absolute; top: 6px; width: 32px; height: 32px; border: 1px solid rgba(0,0,0,.15) !important; background: #fff !important; cursor: pointer; border-radius: 0 !important;
}
#redi_booking_form #datepicker .ui-datepicker-prev { left: 0; }
#redi_booking_form #datepicker .ui-datepicker-next { right: 0; }
#redi_booking_form #datepicker .ui-datepicker-prev span, #redi_booking_form #datepicker .ui-datepicker-next span { display: none !important; }
#redi_booking_form #datepicker .ui-datepicker-prev:after, #redi_booking_form #datepicker .ui-datepicker-next:after {
	content: ""; position: absolute; top: 11px; width: 8px; height: 8px; border: solid #c7a254; border-width: 0 0 2px 2px;
}
#redi_booking_form #datepicker .ui-datepicker-prev:after { left: 13px; transform: rotate(45deg); }
#redi_booking_form #datepicker .ui-datepicker-next:after { left: 9px; transform: rotate(-135deg); }
#redi_booking_form #datepicker .ui-datepicker-prev.ui-state-disabled { opacity: .3; }

/* 2. Step 2 buttons on phones: both full height and full width */
@media (max-width: 575px) {
	#redi_booking_form #redi-form-submit-buttons { flex-direction: column !important; gap: 10px; }
	#redi_booking_form #redi-booking, #redi_booking_form #redi-button-back { flex: none !important; width: 100% !important; max-width: none !important; height: 54px !important; }
}

/* 3. Smaller header logo on phones and tablets, so the form isn't hidden under it */
@media (max-width: 991px) {
	#site-header-wrap .site-branding img { max-height: 52px !important; }
	#site-header-wrap .site-branding { min-height: 0; margin: 8px 15px; }
}
/* The row that holds the month calendar must not become a swipe strip */
#redi_booking_form .f_subbox_data2.calendar tr#dates_row,
#redi_booking_form .f_calender_data tr#dates_row:has(#datepicker) { display: block !important; overflow: visible !important; padding: 0 !important; margin: 0 !important; }
#redi_booking_form .f_subbox_data2.calendar tr#dates_row > td,
#redi_booking_form .f_calender_data tr#dates_row > td:has(#datepicker) {
	display: block !important; flex: none !important; width: 100% !important; min-height: 0 !important; height: auto !important;
}

/* =========================================================================
   v8: the inline calendar (Date) and the phone buttons
   ========================================================================= */
/* Calendar box: full width, clean, Rodi colours (desktop and phones) */
#redi_booking_form #datepicker, #redi_booking_form .ui-datepicker-inline {
	width: 100% !important; max-width: 420px; margin: 0 !important; padding: 0 !important;
	border: 0 !important; background: none !important; box-shadow: none !important; display: block;
}
#redi_booking_form .ui-datepicker .ui-datepicker-header {
	background: none !important; border: 0 !important; border-bottom: 1px solid rgba(0,0,0,.1) !important; border-radius: 0 !important;
	padding: 6px 0 12px !important; margin: 0 0 10px !important; position: relative;
}
#redi_booking_form .ui-datepicker .ui-datepicker-title { font-family: "Cormorant Garamond", Georgia, serif !important; font-size: 22px !important; color: #161616; text-align: center; line-height: 30px; margin: 0 44px; }
#redi_booking_form .ui-datepicker .ui-datepicker-prev, #redi_booking_form .ui-datepicker .ui-datepicker-next {
	position: absolute; top: 6px; width: 34px; height: 30px; border: 1px solid rgba(0,0,0,.12) !important; background: #fff !important; border-radius: 0 !important; cursor: pointer;
}
#redi_booking_form .ui-datepicker .ui-datepicker-prev { left: 0; }
#redi_booking_form .ui-datepicker .ui-datepicker-next { right: 0; }
#redi_booking_form .ui-datepicker .ui-datepicker-prev span, #redi_booking_form .ui-datepicker .ui-datepicker-next span { display: none !important; }
#redi_booking_form .ui-datepicker .ui-datepicker-prev:after, #redi_booking_form .ui-datepicker .ui-datepicker-next:after {
	position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 16px; color: #c7a254;
}
#redi_booking_form .ui-datepicker .ui-datepicker-prev:after { content: "\2039"; }
#redi_booking_form .ui-datepicker .ui-datepicker-next:after { content: "\203A"; }
#redi_booking_form .ui-datepicker .ui-state-disabled.ui-datepicker-prev { opacity: .35; }

/* The grid of days: always a proper 7-column calendar */
#redi_booking_form .ui-datepicker table.ui-datepicker-calendar { display: table !important; width: 100% !important; table-layout: fixed; border-collapse: separate !important; border-spacing: 4px !important; margin: 0 !important; }
#redi_booking_form .ui-datepicker table.ui-datepicker-calendar thead { display: table-header-group !important; }
#redi_booking_form .ui-datepicker table.ui-datepicker-calendar tbody { display: table-row-group !important; }
#redi_booking_form .ui-datepicker table.ui-datepicker-calendar tr { display: table-row !important; }
#redi_booking_form .ui-datepicker table.ui-datepicker-calendar th,
#redi_booking_form .ui-datepicker table.ui-datepicker-calendar td {
	display: table-cell !important; flex: none !important; width: auto !important; height: auto !important; min-height: 0 !important;
	padding: 0 !important; border: 0 !important; background: none !important; text-align: center; vertical-align: middle; line-height: 1 !important;
}
#redi_booking_form .ui-datepicker th { font-size: 10px !important; letter-spacing: .1em; text-transform: uppercase; color: #999 !important; padding: 0 0 6px !important; font-weight: 500; }
#redi_booking_form .ui-datepicker th span { display: block; overflow: hidden; }
#redi_booking_form .ui-datepicker td a, #redi_booking_form .ui-datepicker td span {
	display: flex !important; align-items: center; justify-content: center; aspect-ratio: 1 / 1; width: 100%;
	border: 1px solid rgba(0,0,0,.12) !important; background: #fff !important; color: #161616 !important;
	font-size: 15px !important; font-weight: 400; text-decoration: none; border-radius: 0 !important; padding: 0 !important; margin: 0 !important;
}
#redi_booking_form .ui-datepicker td a:hover { border-color: #c7a254 !important; }
#redi_booking_form .ui-datepicker td.ui-state-disabled span, #redi_booking_form .ui-datepicker td.ui-datepicker-unselectable span {
	background: #f6f4f0 !important; color: #c9c3b8 !important; border-color: transparent !important; opacity: 1 !important;
}
#redi_booking_form .ui-datepicker td.ui-datepicker-today a { border-color: #161616 !important; }
#redi_booking_form .ui-datepicker td a.ui-state-active, #redi_booking_form .ui-datepicker td.ui-datepicker-current-day a {
	background: #c7a254 !important; border-color: #c7a254 !important; color: #fff !important;
}
#redi_booking_form .ui-datepicker td.ui-datepicker-other-month { visibility: hidden; }

/* Phones: undo the tile rules for the calendar, fix the two buttons */
@media (max-width: 767px) {
	#redi_booking_form .f_subbox_data2 { overflow: visible; }
	#redi_booking_form #datepicker, #redi_booking_form .ui-datepicker-inline { max-width: none; }
	#redi_booking_form .ui-datepicker td a, #redi_booking_form .ui-datepicker td span { font-size: 15px !important; }

	#redi_booking_form .redi-form-navigation-buttons { flex-direction: column !important; gap: 10px; }
	#redi_booking_form #redi-booking, #redi_booking_form #next, #redi_booking_form #redi-button-back {
		flex: 0 0 auto !important; width: 100% !important; max-width: none !important; height: 52px !important; min-height: 52px;
	}
	#redi_booking_form #redi-button-back { border-width: 1px !important; }
}
/* The cell that holds the calendar must not be styled as a date tile */
#redi_booking_form .f_calender_data tr#dates_row > td:only-child {
	display: block !important; flex: none !important; width: 100% !important; height: auto !important; min-height: 0 !important;
	border: 0 !important; background: none !important; padding: 0 !important; cursor: default;
}
#redi_booking_form .f_calender_data tr#dates_row:has(> td:only-child) { display: block !important; overflow: visible !important; }
@media (max-width: 767px) {
	#redi_booking_form .f_calender_data tr#dates_row > td:only-child { flex: none !important; }
}

/* v8: phone buttons full height, summary labels aligned */
#redi_booking_form .redi-table-summary td:first-child { width: 110px; white-space: nowrap; }
@media (max-width: 575px) {
	#redi_booking_form .redi-form-navigation-buttons { flex-direction: column !important; gap: 10px; }
	#redi_booking_form .redi-form-navigation-buttons .f_btn,
	#redi_booking_form #redi-booking, #redi_booking_form #redi-button-back, #redi_booking_form #next {
		flex: 0 0 auto !important; width: 100% !important; max-width: none !important; height: 54px !important; min-height: 54px;
	}
	#redi_booking_form #redi-button-back { height: 48px !important; min-height: 48px; }
	#redi_booking_form .redi-table-summary td:first-child { width: 90px; }
}
