/* Siesta Booking - Frontend Styles */
/* Color palette (from Savoy theme):
   Primary Teal: #16929e
   Secondary Teal: #6fa3a8
   Tertiary Teal: #6b97a1
   Light Teal BG: #e4f4f4
   Orange CTA: #fb8834
   Orange Hover: #e67a2e
   Dark Navy: #173d4b
   Red accent: #c9302c
*/

/* Search Form */
#siesta-availability-wrapper {
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 20px 120px;
	position: relative;
	z-index: 2;
}

#siesta-search-form {
	margin-bottom: 30px;
	background: transparent;
	padding: 0;
}

.siesta-search-fields {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	align-items: flex-end;
}

.siesta-field {
	flex: 1;
	min-width: 150px;
	margin: 0;
	padding: 0;
	width: 100%;
}

.siesta-field-label {
	display: block;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 0;
	padding: 10px 15px 0;
	color: #6fa3a8;
}

.siesta-field input,
.siesta-field select {
	width: 100%;
	padding: 10px 15px;
	border: 1px solid #d5d5d5;
	border-radius: 0;
	font-size: 14px;
	background: #fff;
	box-sizing: border-box;
	cursor: pointer;
	color: #333;
	transition: border-color 0.2s;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

/* Dropdown arrow for select and datepicker fields */
.siesta-field select,
.siesta-field .siesta-datepicker-field {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23999' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 12px;
	padding-right: 30px;
}

.siesta-field input:focus,
.siesta-field select:focus {
	border-color: #16929e;
	outline: none;
}

.siesta-search-submit {
	margin: 0;
	padding: 0;
	flex: none;
	display: flex;
	align-items: flex-end;
}

/* Primary CTA button - Orange rounded pill like HBook */
.siesta-btn {
	display: inline-block;
	padding: 13px 45px;
	background: #fb8834;
	color: #fff;
	border: none;
	border-radius: 0;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	cursor: pointer;
	transition: background 0.2s;
	white-space: nowrap;
}

.siesta-btn:hover {
	background: #e67a2e;
}

.siesta-btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

/* Results */
#siesta-results {
	margin-bottom: 30px;
}

.siesta-results-message {
	font-size: 15px;
	margin-bottom: 20px;
	color: #555;
}

.siesta-results-list {
	border: 1px solid #e0e0e0;
	border-radius: 0;
	overflow: hidden;
}

.siesta-result-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 25px 30px;
	border-bottom: 1px solid #e0e0e0;
	transition: background 0.2s;
}

.siesta-result-item:last-child {
	border-bottom: none;
}

.siesta-result-item:hover {
	background: #fafafa;
}

.siesta-result-item.selected {
	background: #e4f4f4;
}

.siesta-result-info {
	flex: 1;
}

/* Place name in Sacramento cursive font like HBook */
.siesta-result-name {
	font-family: 'Sacramento-Regular', 'Sacramento', cursive;
	font-size: 35px;
	font-weight: 400;
	color: #16929e;
	margin-bottom: 0;
	line-height: 1.3;
}

.siesta-result-actions {
	display: flex;
	align-items: center;
	gap: 15px;
	flex-shrink: 0;
}

.siesta-result-selected-text {
	font-size: 13px;
	color: #333;
	font-style: normal;
}

/* Outline button - teal to match HBook REQUEST TO BOOK */
.siesta-btn-outline {
	display: inline-block;
	padding: 10px 22px;
	background: transparent;
	color: #6fa3a8;
	border: 2px solid #6fa3a8;
	border-radius: 0;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	cursor: pointer;
	transition: all 0.2s;
}

.siesta-btn-outline:hover {
	background: #6fa3a8;
	color: #fff;
}

/* Booking Section */
#siesta-booking-section {
	margin-top: 30px;
}

/* Instructional heading above booking form */
.siesta-details-heading {
	display: block !important;
    margin: 0 0 5px;
    padding: 0;
    font-size: 42px;
    color: #6fa3a8;
    font-family: 'AzoSans-Regular';
    font-weight: bold;
    margin-bottom: 10px;
}

.siesta-details-subtext {
	display: block !important;
	font-size: 14px;
	font-weight: normal;
	color: #777;
	margin: 0 0 20px;
	padding: 0;
}
.check-availability-wrapper p.siesta-details-subtext {
    margin-bottom: 10px !important;
}

/* Summary of Request heading */
.siesta-summary-heading {
	display: block !important;
	font-size: 18px;
	font-weight: normal;
	color: #282828;
	margin: 0 0 10px;
	padding: 0;
}

/* Contact form: 4 fields in a single row like HBook */
.siesta-booking-fields {
	display: flex;
	gap: 10px;
	margin-bottom: 25px;
}

.siesta-booking-fields input {
	flex: 1;
	padding: 12px 14px;
	border: 1px solid #999;
	border-radius: 0;
	font-size: 14px;
	box-sizing: border-box;
	color: #333;
	transition: border-color 0.2s;
}

.siesta-booking-fields input::placeholder {
	color: #777;
	opacity: 1;
}

.siesta-booking-fields input:focus {
	border-color: #16929e;
	outline: none;
}

/* Booking summary: left-aligned box with border like HBook */
.siesta-booking-summary {
	display: inline-block;
	border: 1px solid #ccc;
	border-radius: 0;
	padding: 20px 25px;
	background: #fcfcfc;
	margin-bottom: 20px;
}

.siesta-booking-summary div {
	margin-bottom: 6px;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	line-height: 1.6;
	color: #333;
}

.siesta-booking-summary .siesta-summary-label {
	font-weight: 700;
	color: #333;
}

.siesta-booking-summary .siesta-summary-total {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid #ddd;
	font-size: 14px;
	font-weight: 700;
	color: #16929e;
}

.siesta-booking-summary .siesta-summary-change {
	color: #dc9814;
	text-decoration: none;
	font-size: 12px;
	font-weight: 900;
	cursor: pointer;
	margin-left: 3px;
}

.siesta-booking-summary .siesta-summary-change:hover {
	text-decoration: underline;
}

/* Book Now button - smaller orange rounded like HBook */
.siesta-book-now-btn {
	display: inline-block;
	padding: 10px 25px;
	background: #fb8834;
	color: #fff;
	border: none;
	border-radius: 3px;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	transition: background 0.2s;
}

.siesta-book-now-btn:hover {
	background: #e67a2e;
}

.siesta-book-now-btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

/* Confirmation message */
.siesta-confirmation {
	background: #e4f4f4;
	border: 1px solid #b2dce0;
	color: #16929e;
	padding: 25px;
	border-radius: 4px;
	margin-top: 20px;
	font-size: 15px;
	line-height: 1.6;
}

.siesta-confirmation strong {
	color: #0f7a84;
}

.siesta-error {
	background: #f2dede;
	border: 1px solid #ebccd1;
	color: #a94442;
	padding: 15px;
	border-radius: 4px;
	margin-top: 15px;
	font-size: 14px;
}

/* Field-level error highlight */
.siesta-booking-fields input.siesta-field-error {
	border-color: #c9302c;
	background: #fef2f2;
}

.siesta-booking-fields input.siesta-field-error:focus {
	border-color: #c9302c;
}

/* Loading spinner */
.siesta-loading {
	text-align: center;
	padding: 40px;
	color: #999;
	font-size: 14px;
}

/* Datepicker z-index: must appear above Savoy theme footer/scroll-layer */
#ui-datepicker-div {
	z-index: 9999 !important;
}

/* Datepicker: dim non-selectable days (non-Saturdays) */
.ui-datepicker td.ui-datepicker-unselectable .ui-state-default {
	color: #ccc;
}

/* =============================================
   SEARCH-ONLY FORM (on /units/ page dark background)
   ============================================= */
.siesta-search-only-wrapper {
	max-width: 900px;
	margin: 0 auto;
	padding: 0;
}

.siesta-search-only-wrapper .siesta-search-fields {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	align-items: flex-end;
}

.siesta-search-only-wrapper .siesta-field-label {
	color: #fff;
	opacity: 0.85;
}

.siesta-search-only-wrapper .siesta-field input,
.siesta-search-only-wrapper .siesta-field select {
	border-color: rgb(181 181 181);
	/*background: rgba(255, 255, 255, 0.95);*/
	color: #333;
}

.siesta-search-only-wrapper .siesta-field input:focus,
.siesta-search-only-wrapper .siesta-field select:focus {
	border-color: #fff;
	/*background: #fff; */
	background-color: #fff;
}

.siesta-search-only-wrapper .siesta-btn {
	background: #fb8834;
	color: #fff;
}

.siesta-search-only-wrapper .siesta-btn:hover {
	background: #e67a2e;
}

/* Responsive - Tablet (769px - 1024px) */
@media (max-width: 1024px) and (min-width: 769px) {
	.siesta-booking-fields {
		flex-wrap: wrap;
	}

	.siesta-booking-fields input {
		flex: 0 0 calc(50% - 5px);
	}
}

/* Responsive - Mobile (768px and below) */
@media (max-width: 768px) {
	.check-availability-wrapper .siesta-field {
		margin-bottom: 10px !important;
	}
	.siesta-search-fields {
		flex-direction: column;
	}

	.siesta-search-submit {
		width: 100%;
	}

	.siesta-btn {
		width: 100%;
		text-align: center;
	}

	.siesta-result-item {
		flex-direction: column;
		text-align: center;
		gap: 15px;
		padding: 20px;
	}

	.siesta-result-info {
		text-align: center;
	}

	.siesta-booking-fields {
		flex-direction: column;
	}

	.siesta-booking-summary {
		display: block;
	}

	.siesta-book-now-btn {
		width: 100%;
		text-align: center;
	}
	.booking-search-wrapper .booking-heading h1,
	.siesta-details-heading {
		font-size: 34px;
		line-height: 1.2;
	}
}
