/**
 * Sandy Point Beach Resort — BWG Uplistings Theme Overrides
 * Loaded via mu-plugin AFTER the plugin CSS for proper cascade.
 */

/* --- Hero section: extra bottom padding for subtitle-to-search spacing */
.page-id-10148 .et_pb_section_0.et_pb_section {
	padding-bottom: 95px !important;
}

/* --- Search Area: straddle the hero/content boundary --- */
.bwg-uplistings-search {
	position: relative;
	z-index: 10;
	margin-top: -49px;
}

/* --- Listings below search --- */
.bwg-uplistings-listings {
	position: relative;
	z-index: 1;
}

/* --- Containers --- */
.bwg-uplistings-search,
.bwg-uplistings-properties {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 2rem;
	padding-right: 2rem;
}

/* --- Search Form: full-width spacious pill --- */
.bwg-uplistings-search-form {
	max-width: none;
	margin: 0 auto 2.5rem;
	padding: 7px 8px;
	border: none;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
	border-color: #E0D4C4;
}

/* Generous internal padding in each field */
.bwg-uplistings-form-group {
	padding: 0.625rem 1.75rem;
}

/* Extra left padding on the first field for the pill curve */
.bwg-uplistings-form-group:first-of-type {
	padding-left: 2.25rem;
}

/* All dividers visible including before the button */
.bwg-uplistings-form-group:not(:last-child)::after {
	background: #E0D4C4;
}

/* Button: comfortable spacing */
.bwg-uplistings-search-btn {
	margin-left: 0.75rem;
	padding: 0.875rem 2.25rem;
	white-space: nowrap;
	font-size: 0.95rem;
}

.bwg-uplistings-form-group label {
	font-size: 0.7rem;
	letter-spacing: 0.1em;
	margin-bottom: 0.25rem;
}

.bwg-uplistings-form-group input,
.bwg-uplistings-form-group select {
	font-size: 1rem;
	min-height: 32px;
}

/* --- Typography --- */
.bwg-uplistings-section-heading {
	font-family: "Fraunces", serif;
	color: #35473E;
	font-weight: 600;
	letter-spacing: 0.04em;
}

.bwg-uplistings-card-title,
.bwg-uplistings-result-card .bwg-uplistings-card-title {
	font-family: "Fraunces", serif;
	color: #35473E;
	font-weight: 500;
}

.bwg-uplistings-card-body,
.bwg-uplistings-card-subtitle,
.bwg-uplistings-card-meta,
.bwg-uplistings-card-meta span,
.bwg-uplistings-form-group label,
.bwg-uplistings-form-group input,
.bwg-uplistings-form-group select,
.bwg-uplistings-results-summary,
.bwg-uplistings-modal-body {
	font-family: "DM Sans", sans-serif;
}

/* Flatpickr alt inputs: match the native select (no border) */
.bwg-uplistings-form-group input.flatpickr-alt {
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
	outline: none !important;
	padding: 0;

}

.bwg-uplistings-form-group input.flatpickr-alt::placeholder {
	color: #35473E;
	opacity: 1;
}

/* --- Search Form colors --- */
.bwg-uplistings-form-group label {
	color: #35473E;
	font-weight: 600;
}

.bwg-uplistings-form-group input,
.bwg-uplistings-form-group select {
	color: #35473E;
}

/* --- Buttons: Gold Fill --- */
.bwg-uplistings-search-btn {
	background-color: #F4DF82;
	color: #35473E;
	font-family: "DM Sans", sans-serif;
	font-weight: 600;
	border: none;
}

.bwg-uplistings-search-btn:hover,
.bwg-uplistings-search-btn:focus {
	background-color: #D4B85C;
	color: #35473E;
}

.bwg-uplistings-search-btn:disabled {
	background-color: #E0D4C4;
	color: #6b7a72;
}

.bwg-uplistings-btn-primary {
	background-color: #F4DF82;
	color: #35473E;
	border-color: #F4DF82;
	border-radius: 9999px;
	font-family: "DM Sans", sans-serif;
	font-weight: 600;
}

.bwg-uplistings-btn-primary:hover,
.bwg-uplistings-btn-primary:focus {
	background-color: #D4B85C;
	color: #35473E;
	border-color: #D4B85C;
}

.bwg-uplistings-btn-book {
	background-color: #F4DF82;
	color: #35473E;
	border: 1px solid #F4DF82;
	border-radius: 9999px;
	font-family: "DM Sans", sans-serif;
	font-weight: 600;
}

.bwg-uplistings-btn-book:hover,
.bwg-uplistings-btn-book:focus {
	background-color: #D4B85C;
	border-color: #D4B85C;
	color: #35473E;
}

/* --- Cards --- */
.bwg-uplistings-card,
.bwg-uplistings-result-card,
.bwg-uplistings-skeleton-card {
	border: 1px solid #E0D4C4;
	border-radius: 20px;
}

.bwg-uplistings-card-subtitle { color: #6b7a72; }
.bwg-uplistings-card-meta span { color: #35473E; }
.bwg-uplistings-card-meta span:not(:last-child)::after { color: #E0D4C4; }

/* --- Pricing --- */
.bwg-uplistings-result-total {
	color: #35473E;
	font-family: "DM Sans", sans-serif;
}

.bwg-uplistings-result-pricing {
	border-top-color: #E0D4C4;
	font-family: "DM Sans", sans-serif;
}

/* --- Skeletons --- */
.bwg-uplistings-skeleton,
.bwg-uplistings-skeleton-image,
.bwg-uplistings-skeleton-text,
.bwg-uplistings-skeleton-badge {
	background: linear-gradient(90deg, #F0E8DC 25%, #E0D4C4 50%, #F0E8DC 75%);
	background-size: 800px 100%;
}

/* --- Flatpickr --- */
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover {
	background: #35473E !important;
	border-color: #35473E !important;
}

.flatpickr-day.today:not(.selected) { border-color: #F4DF82 !important; }

.flatpickr-day:hover:not(.selected):not(.disabled) {
	background: #F0E8DC !important;
	border-color: #E0D4C4 !important;
}

/* --- Tooltip --- */
.bwg-uplistings-tooltip { background: #35473E; }
.bwg-uplistings-tooltip::after { border-top-color: #35473E; }
.bwg-uplistings-tooltip-total { border-top-color: #5C8472; }

/* --- Modal --- */
.bwg-uplistings-modal { border-radius: 20px; overflow: hidden; display: flex; flex-direction: column; }
.bwg-uplistings-modal-body { overflow-y: auto; flex: 1; min-height: 0; }
.bwg-uplistings-modal-header { border-bottom-color: #E0D4C4; }
.bwg-uplistings-modal-header h2 { font-family: "Fraunces", serif; color: #35473E; }
.bwg-uplistings-modal-body { color: #35473E; }
.bwg-uplistings-modal h3,
.bwg-uplistings-modal h4 { font-family: "Fraunces", serif; color: #35473E; }
.bwg-uplistings-modal-close { color: #35473E; }
.bwg-uplistings-modal-close:hover { color: #5C8472; }

/* Stats bar */
.bwg-uplistings-stats-bar { background: #F0E8DC; }
.bwg-uplistings-stat:not(:last-child)::after { background: #E0D4C4; }
.bwg-uplistings-stat-value { color: #35473E; font-family: "DM Sans", sans-serif; }
.bwg-uplistings-stat-label { color: #6b7a72; font-family: "DM Sans", sans-serif; }

/* Booking sidebar */
.bwg-uplistings-booking-sidebar h3 { font-family: "Fraunces", serif; color: #35473E; }
.bwg-uplistings-booking-sidebar label { color: #35473E; font-family: "DM Sans", sans-serif; }
.bwg-uplistings-booking-sidebar input,
.bwg-uplistings-booking-sidebar select { border-color: #E0D4C4; color: #35473E; }
.bwg-uplistings-booking-sidebar input:focus,
.bwg-uplistings-booking-sidebar select:focus { border-color: #F4DF82; box-shadow: 0 0 0 2px rgba(244, 223, 130, 0.3); }

/* Amenities */
.bwg-uplistings-amenity-group h4 { font-family: "DM Sans", sans-serif; color: #35473E; }
.bwg-uplistings-amenity-item { color: #35473E; font-family: "DM Sans", sans-serif; }
.bwg-uplistings-amenity-item::before { color: #79A18E; }

/* Share */
.bwg-uplistings-share-btn { color: #35473E; font-family: "DM Sans", sans-serif; }
.bwg-uplistings-share-btn:hover { color: #5C8472; }
