/**
 * Sandy Point Beach Resort — BWG Uplistings Theme Overrides
 * Custom CSS loaded via bwg-uplistings-wp plugin settings
 *
 * Updated 2026.04.03 - TH @ BWG
 */

/* --- 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-listings {
	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;
}

/* Desktop: 4 equal columns with centered button */
@media (min-width: 769px) {
	.bwg-uplistings-search-form {
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}

	.bwg-uplistings-search-form .bwg-uplistings-search-btn {
		justify-self: center;
	}
}

/* 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; }

/* ==========================================================================
   Mobile Overrides (max-width: 768px)
   ========================================================================== */

@media (max-width: 768px) {

	/* Straddle: less overlap since the stacked form is much taller */
	.bwg-uplistings-search {
		margin-top: -28px;
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}

	/* Stacked form: rounded rectangle, not pill */
	.bwg-uplistings-search-form {
		border-radius: 16px;
		padding: 8px;
	}

	/* Reset desktop-only padding tweaks */
	.bwg-uplistings-form-group:first-of-type {
		padding-left: 1rem;
	}

	.bwg-uplistings-form-group:last-of-type {
		padding-right: 1rem;
	}

	.bwg-uplistings-form-group {
		padding: 0.625rem 1rem;
	}

	/* Button: full width, no left margin */
	.bwg-uplistings-search-btn {
		margin-left: 0;
		padding: 0.875rem 2rem;
	}

	/* Flatpickr alt inputs: match mobile too */
	.bwg-uplistings-form-group input.flatpickr-alt {
		font-size: 1rem;
	}
}
/* --- Bottom spacing: gap between last card and CTA section --- */
.bwg-uplistings-listings {
	padding-bottom: 60px;
}

/* Navigation styles are in Divi Custom CSS (site-wide) */
