/*
Theme Name: Villa Latifa
Theme URI: 
Author: WEB LAZER
Author URI: 
Description: 
Requires at least: 6.9
Tested up to: 6.9
Requires PHP: 5.7
Version: 
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: villa-latifa
Tags: 
*/

*,
::before,
::after {
	box-sizing: border-box;
}

html,
body {
	overflow-x: hidden;
	width: 100%;
	margin: 0;
	padding: 0;
}

header a {
	text-decoration: none;
}

.wp-block-cover img {
	transition: all 0.6s ease-in-out;
}

.wp-block-cover:hover img {
	transform: scale(1);
}

/* MotoPress Rooms Listing Styles - Refined Premium Design */
.mphb_sc_rooms-wrapper {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
	gap: 4rem 2rem;
	padding: 0;
	max-width: 1300px;
	margin: 0 auto;
}

.mphb-room-type {
	background: #ffffff;
	border: 1px solid rgba(26, 26, 26, 0.05);
	padding: 0;
	display: flex;
	flex-direction: column;
	transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
	position: relative;
	text-align: center;
}

.mphb-room-type:hover {
	transform: translateY(-8px);
	box-shadow: 0 40px 80px -20px rgba(26, 26, 26, 0.08);
	border-color: rgba(192, 108, 82, 0.2);
}

.mphb-room-type-title.entry-title {
	padding: 1rem 2rem;
	margin: 0;
}

.mphb-room-type-title p {
	margin: 0;
}

.mphb-room-type-title a {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 1.6rem;
	font-weight: 300;
	color: var(--wp--preset--color--custom-charcoal);
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	transition: all 0.3s ease;
	text-align: center !important;
}

.mphb-room-type-title a:hover {
	color: var(--wp--preset--color--custom-terracotta);
	letter-spacing: 0.18em;
}

.mphb-room-type>p {
	padding: 1rem 2rem;
	font-size: 0.95rem;
	color: #777;
	line-height: 1.8;
	margin: 0;
	flex-grow: 1;
	font-weight: 300;
}

.mphb-room-type-details-title {
	display: none;
}

/* Attributes - Horizontal and Elegant */
.mphb-loop-room-type-attributes {
	list-style: none;
	padding: 1rem 2rem;
	display: flex;
	justify-content: center;
	gap: 2rem;
	border-top: 1px solid rgba(217, 179, 140, 0.15);
	border-bottom: 1px solid rgba(217, 179, 140, 0.15);
	margin: 0;
}

.mphb-loop-room-type-attributes li {
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--wp--preset--color--custom-charcoal);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.3rem;
}

.mphb-room-type br {
	display: none;
}

.mphb-loop-room-type-attributes li span.mphb-attribute-title {
	font-weight: 600;
	color: var(--wp--preset--color--custom-terracotta);
	font-size: 0.6rem;
}

.mphb-loop-room-type-attributes li.mphb-room-type-facilities {
	display: none;
	/* Hide facilities in the loop for a cleaner grid */
}

/* Buttons Section */
.mphb-view-details-button-wrapper,
.mphb-to-book-btn-wrapper {
	padding: 0 2.5rem;
	margin: 0 !important;
	/* Ensure no default paragraph margins interfere */
}

.mphb-view-details-button-wrapper {
	padding-top: 3.5rem;
	/* Increased space from the separator line */
	padding-bottom: 0.5rem;
	/* Reduced space between buttons */
}

.mphb-to-book-btn-wrapper {
	padding: 1rem 2rem;
	/* Reduced space between buttons */

	/* Balanced bottom padding */
}

.button.mphb-view-details-button,
.button.mphb-book-button {
	display: block;
	width: 100%;
	box-sizing: border-box !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	text-align: center;
	padding: 1.2rem !important;
	border-radius: 0 !important;
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 0.75rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.25em !important;
	text-transform: uppercase !important;
	transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
	cursor: pointer;
	border: 1px solid transparent !important;
}

.button.mphb-view-details-button {
	background: transparent !important;
	color: var(--wp--preset--color--custom-charcoal) !important;
	border-color: rgba(26, 26, 26, 0.1) !important;
	margin-top: 0rem;
}

.button.mphb-view-details-button:hover {
	border-color: var(--wp--preset--color--custom-charcoal) !important;
	background: var(--wp--preset--color--custom-charcoal) !important;
	color: #fff !important;
}

.button.mphb-book-button {
	background: var(--wp--preset--color--custom-terracotta) !important;
	color: #fff !important;
	box-shadow: 0 4px 15px rgba(192, 108, 82, 0.15);
}

.button.mphb-book-button:hover {
	background: var(--wp--preset--color--custom-charcoal) !important;
	transform: translateY(-2px);
	box-shadow: 0 10px 25px rgba(26, 26, 26, 0.15);
}

/* Pagination */
.mphb-pagination {
	grid-column: 1 / -1;
	text-align: center;
	padding: 5rem 0;
	border-top: 1px solid rgba(217, 179, 140, 0.1);
	margin-top: 2rem;
}

.mphb-pagination .page-numbers {
	display: inline-block;
	padding: 0.5rem 1.2rem;
	margin: 0 0.5rem;
	text-decoration: none;
	color: var(--wp--preset--color--custom-terracotta);
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 0.9rem;
	letter-spacing: 0.1em;
	transition: all 0.3s ease;
	border-bottom: 1px solid transparent;
}

.mphb-pagination .page-numbers.current,
.mphb-pagination .page-numbers:hover {
	color: var(--wp--preset--color--custom-terracotta);
	border-bottom-color: var(--wp--preset--color--custom-terracotta);
}

/* Mobile Adjustments */
@media (max-width: 768px) {
	.mphb_sc_rooms-wrapper {
		grid-template-columns: 1fr;
		padding: 0;
		gap: 3rem;
	}

	.mphb-room-type-title a {
		font-size: 1.4rem;
	}
}

/* Single Room Type Page Styles - Ultra Minimalist */
.single-mphb_room_type .entry-content {
	display: flex;
	flex-direction: column;
	gap: 6rem;
	max-width: 800px;
	/* Even narrower for focused reading */
	margin: 0 auto;
	padding: 0;
}

/* Page Header / Title Area with Placeholder Hero */
.single-mphb_room_type .wp-block-post-title {
	max-width: 1000px;
	margin: 0 auto;
	padding: 4rem 2rem 4rem;
	font-size: 4rem;
	font-weight: 200;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	text-align: center;
	position: relative;
}

/* Description Refinement */
.single-mphb_room_type .entry-content>p:first-of-type {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 1.3rem;
	font-weight: 300;
	line-height: 1.8;
	color: var(--wp--preset--color--custom-charcoal);
	text-align: center;
	max-width: 600px;
	margin: 0 auto;
}

.single-mphb_room_type .entry-content>p:nth-of-type(2) {
	text-align: center;
	font-size: 0.9rem;
	color: var(--wp--preset--color--custom-terracotta);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin-top: -3rem;
}

/* Section Headings - Minimalist */
.single-mphb_room_type h2 {
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.3em;
	color: var(--wp--preset--color--custom-terracotta);
	margin-bottom: 3rem;
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2rem;
}

.single-mphb_room_type h2::before,
.single-mphb_room_type h2::after {
	content: '';
	height: 1px;
	width: 40px;
	background: rgba(217, 179, 140, 0.3);
}

/* Attributes & Facilities Grouping */
.mphb-single-room-type-attributes {
	list-style: none;
	padding: 0;
	margin: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 4rem;
	align-items: center;
}

.mphb-single-room-type-attributes li {
	width: 100%;
	text-align: center;
}

.mphb-single-room-type-attributes .mphb-attribute-title {
	display: block;
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: #bbb;
	margin-bottom: 1.5rem;
}

.mphb-single-room-type-attributes .mphb-attribute-value {
	font-size: 1.8rem;
	font-weight: 200;
	color: var(--wp--preset--color--custom-charcoal);
}

/* Facilities (Équipements) as Premium Tags */
.mphb-room-type-facilities .mphb-attribute-value {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.8rem;
}

.mphb-room-type-facilities .mphb-attribute-value span a {
	display: inline-block;
	padding: 0.6rem 1.5rem;
	border: 1px solid rgba(217, 179, 140, 0.2);
	text-decoration: none;
	color: var(--wp--preset--color--custom-charcoal);
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	transition: all 0.4s ease;
}

.mphb-room-type-facilities .mphb-attribute-value span a:hover {
	background: var(--wp--preset--color--custom-cream);
	border-color: var(--wp--preset--color--custom-terracotta);
	color: var(--wp--preset--color--custom-terracotta);
}

/* Booking Form - Premium Boutique Style */
.mphb-booking-form {
	width: 100%;
	margin: 4rem auto;
	padding: 2rem;
	background: #fff;
	box-shadow: 0 40px 100px rgba(26, 26, 26, 0.05);
	border-radius: 8px;
	box-sizing: border-box;
}

.mphb-required-fields-tip {
	display: none;
	/* Cleaner without the tip */
}

/* Responsive Grid */
@media (max-width: 600px) {
	.mphb-booking-form>p:not(.mphb-reserve-btn-wrapper) {
		width: 100%;
		margin-right: 0;
	}
}

.mphb-booking-form label {
	display: block;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: var(--wp--preset--color--custom-terracotta);
	margin-bottom: 0.75rem;
	font-weight: 600;
}

.mphb-booking-form input[type="text"],
.mphb-booking-form select {
	width: 100% !important;
	border: none !important;
	border-bottom: 1px solid rgba(217, 179, 140, 0.2) !important;
	padding: 1rem 0 !important;
	font-size: 1.1rem !important;
	font-family: 'Outfit', sans-serif !important;
	font-weight: 300 !important;
	background: transparent !important;
	border-radius: 0 !important;
	transition: border-color 0.3s ease !important;
}

.mphb-booking-form input[type="text"]:focus,
.mphb-booking-form select:focus {
	border-bottom-color: var(--wp--preset--color--custom-terracotta) !important;
	outline: none !important;
}

/* Custom Select Arrow */
.mphb-booking-form select {
	appearance: none;
	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='%23d9b38c' d='M6 8.8L1.2 4h9.6L6 8.8z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right center;
	cursor: pointer;
}

.mphb-reserve-btn,
.mphb-confirm-reservation {
	background: var(--wp--preset--color--custom-terracotta) !important;
	color: #fff !important;
	border: none !important;
	padding: 1.5rem 4rem !important;
	font-size: 1rem !important;
	text-transform: uppercase !important;
	letter-spacing: 0.2em !important;
	font-weight: 500 !important;
	border-radius: 50px !important;
	cursor: pointer;
	transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
	box-shadow: 0 10px 30px rgba(192, 108, 82, 0.2) !important;
}

.mphb-reserve-btn:hover,
.mphb-confirm-reservation:hover {
	transform: translateY(-3px);
	box-shadow: 0 15px 40px rgba(192, 108, 82, 0.3) !important;
	background: var(--wp--preset--color--custom-charcoal) !important;
}

/* Error messages styling */
.mphb-errors-wrapper {
	color: #c06c52;
	font-size: 0.9rem;
	margin-bottom: 2rem;
	text-align: center;
	font-style: italic;
}

.datepick.datepick-multi.mphb-datepicker-minimal {
	margin: 0 auto;
}

/* Search Results Page Styling */
.mphb_sc_search_results-wrapper {
	max-width: 800px;
	margin: 0 auto;
	padding: 4rem 2rem;
}

.mphb_sc_search_results-info {
	text-align: center;
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 1.2rem;
	color: var(--wp--preset--color--custom-terracotta);
	margin-bottom: 4rem;
	font-weight: 300;
	border-bottom: 1px solid rgba(217, 179, 140, 0.1);
	padding-bottom: 2rem;
}

/* Recommendation Box - Premium Card */
.mphb-recommendation {
	background: var(--wp--preset--color--custom-cream);
	padding: 3rem;
	border-radius: 12px;
	margin-bottom: 6rem;
	border: 1px solid rgba(217, 179, 140, 0.2);
	box-shadow: 0 20px 50px rgba(26, 26, 26, 0.03);
}

.mphb-recommendation-title {
	text-align: center;
	font-family: var(--wp--preset--font-family--outfit);
	font-weight: 200;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	font-size: 1.5rem;
	margin-bottom: 3rem;
}

.mphb-recommendation-details-list {
	list-style: none;
	padding: 0;
	margin-bottom: 2rem;
}

.mphb-recommendation-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1.5rem 0;
	border-bottom: 1px solid rgba(217, 179, 140, 0.1);
}

.mphb-recommendation-item-link {
	font-weight: 500;
	color: var(--wp--preset--color--custom-charcoal);
	text-decoration: none;
	font-size: 1.1rem;
}

.mphb-recommedation-item-subtotal .mphb-price {
	font-weight: 600;
	color: var(--wp--preset--color--custom-terracotta);
}

.mphb-recommendation-total {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 2px solid #fff;
}

.mphb-recommendation-total-title {
	font-size: 0.9rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

.mphb-recommendation-total-value {
	font-size: 1.8rem;
	font-weight: 300;
	color: var(--wp--preset--color--custom-terracotta);
}

/* Recommendation Reserve Button */
.mphb-recommendation-reserve-button {
	width: 100%;
	margin-top: 3rem;
	background: var(--wp--preset--color--custom-charcoal) !important;
	color: #fff !important;
	border-radius: 50px !important;
	padding: 1.5rem !important;
	text-transform: uppercase !important;
	letter-spacing: 0.2em !important;
	border: none;
	cursor: pointer;
	transition: all 0.4s ease !important;
}

.mphb-recommendation-reserve-button:hover {
	background: var(--wp--preset--color--custom-terracotta) !important;
	transform: translateY(-3px) !important;
	box-shadow: 0 15px 40px rgba(192, 108, 82, 0.2) !important;
}

/* Reservation Cart - Sticky & Minimal */
.mphb-reservation-cart {
	position: fixed;
	bottom: 2rem;
	right: 2rem;
	background: #fff;
	padding: 2rem;
	border-radius: 12px;
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.15);
	z-index: 1000;
	max-width: 350px;
	border: 1px solid var(--wp--preset--color--custom-terracotta);
	transition: all 0.5s ease;
}

.mphb-reservation-cart.mphb-empty-cart {
	opacity: 0;
	pointer-events: none;
	transform: translateY(20px);
}

.mphb-reservation-details p {
	margin: 0.5rem 0;
	font-size: 0.9rem;
}

.mphb-confirm-reservation {
	width: 100%;
	background: var(--wp--preset--color--custom-terracotta) !important;
	margin-top: 1.5rem;
}

/* Available Rooms List Refinement */
.mphb_sc_search_results-wrapper .mphb-room-type {
	margin-bottom: 8rem;
	padding-bottom: 8rem;
}

.mphb_sc_search_results-wrapper .mphb-room-type:last-child {
	border-bottom: none;
}

.mphb-regular-price {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 1.1rem;
	font-weight: 300;
	text-align: center;
	margin: 2rem 0;
}

.mphb-regular-price .mphb-price {
	color: var(--wp--preset--color--custom-terracotta);
	font-weight: 600;
	font-size: 1.4rem;
}

/* Book Button in List */
/* Book Button in List - Large, Charcoal & Centered */
.mphb-book-button {
	background: var(--wp--preset--color--custom-charcoal) !important;
	color: #fff !important;
	border-radius: 50px !important;
	padding: 1.5rem 5rem !important;
	width: 100% !important;
	max-width: 400px !important;
	margin: 0rem auto 0 !important;
	display: block !important;
	text-transform: uppercase !important;
	letter-spacing: 0.2em !important;
	font-size: 0.9rem !important;
	font-weight: 500 !important;
	transition: all 0.4s ease !important;
	border: none !important;
	box-shadow: 0 10px 25px rgba(26, 26, 26, 0.1) !important;
}

.mphb-book-button:hover {
	background: var(--wp--preset--color--custom-terracotta) !important;
	transform: translateY(-3px);
	box-shadow: 0 15px 35px rgba(192, 108, 82, 0.2) !important;
}

.mphb-reserve-room-section .button.mphb-button {
	background: var(--wp--preset--color--custom-terracotta) !important;
	transform: translateY(-3px) !important;
	box-shadow: 0 15px 40px rgba(192, 108, 82, 0.2) !important;
}

/* ============================================================
   CHECKOUT PAGE (Confirmation de réservation)
   ============================================================ */

.mphb_sc_checkout-wrapper {
	max-width: 900px;
	margin: 0 auto;
	padding: 4rem 2rem;
	font-family: var(--wp--preset--font-family--outfit);
}

.mphb-checkout-section {
	background: #fff;
	padding: 3rem;
	border-radius: 12px;
	margin-bottom: 3rem;
	border: 1px solid rgba(217, 179, 140, 0.15);
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.02);
}

.mphb-checkout-section h3,
.mphb-checkout-section h4 {
	font-family: var(--wp--preset--font-family--outfit);
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	font-size: 1.3rem;
	margin-bottom: 2.5rem;
	border-bottom: 1px solid rgba(217, 179, 140, 0.1);
	padding-bottom: 1.5rem;
}

/* Booking Details Grid */
.mphb-booking-details p {
	display: flex;
	justify-content: space-between;
	padding: 1rem 0;
	border-bottom: 1px dashed rgba(217, 179, 140, 0.2);
}

.mphb-booking-details p span {
	font-weight: 300;
	color: var(--wp--preset--color--custom-terracotta);
}

.mphb-booking-details p strong {
	color: var(--wp--preset--color--custom-charcoal);
}

/* Room Details Card */
.mphb-room-details {
	margin-top: 2rem;
	padding: 2rem;
	background: var(--wp--preset--color--white);
	border-radius: 8px;
}

.mphb-room-details .mphb-room-number {
	font-size: 1rem;
	color: var(--wp--preset--color--custom-terracotta);
	border: none;
	margin-bottom: 1rem;
	padding: 0;
}

/* Form Fields Styling */
.mphb-checkout-section p label {
	display: block;
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin-bottom: 0.8rem;
	color: var(--wp--preset--color--custom-terracotta);
}

.mphb-checkout-section input[type="text"],
.mphb-checkout-section input[type="email"],
.mphb-checkout-section input[type="tel"],
.mphb-checkout-section select,
.mphb-checkout-section textarea {
	width: 100%;
	padding: 1.2rem;
	border: 1px solid rgba(217, 179, 140, 0.2);
	border-radius: 8px;
	font-family: inherit;
	font-size: 1rem;
	background: #fdfdfd;
	transition: all 0.3s ease;
}

.mphb-checkout-section input:focus,
.mphb-checkout-section select:focus,
.mphb-checkout-section textarea:focus {
	border-color: var(--wp--preset--color--custom-terracotta);
	outline: none;
	background: #fff;
	box-shadow: 0 5px 15px rgba(192, 108, 82, 0.05);
}

/* Price Breakdown Table */
.mphb-price-breakdown {
	width: 100%;
	border-collapse: collapse;
}

.mphb-price-breakdown td,
.mphb-price-breakdown th {
	padding: 1.5rem 0;
	border-bottom: 1px solid rgba(217, 179, 140, 0.1);
}

.mphb-price-breakdown .mphb-table-price-column {
	text-align: right;
	font-weight: 600;
	color: var(--wp--preset--color--custom-terracotta);
}

.mphb-price-breakdown-total th,
.mphb-price-breakdown-total td {
	font-size: 1.5rem;
	border-bottom: none;
	padding-top: 2rem;
}

/* Submit Button */
.mphb_sc_checkout-submit-wrapper {
	text-align: center;
	margin-top: 4rem;
}

.mphb_sc_checkout-submit-wrapper .button {
	background: var(--wp--preset--color--custom-charcoal) !important;
	color: #fff !important;
	padding: 1.8rem 5rem !important;
	border-radius: 50px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.25em !important;
	font-size: 1rem !important;
	font-weight: 500 !important;
	border: none !important;
	cursor: pointer;
	transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
	box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1) !important;
}

.mphb_sc_checkout-submit-wrapper .button:hover {
	background: var(--wp--preset--color--custom-terracotta) !important;
	transform: translateY(-5px);
	box-shadow: 0 20px 50px rgba(192, 108, 82, 0.25) !important;
}

/* Error Messages */
.mphb-errors-wrapper {
	background: #fff5f2;
	color: #c06c52;
	padding: 1.5rem;
	border-radius: 8px;
	margin-bottom: 2rem;
	text-align: center;
	font-size: 0.95rem;
	border-left: 4px solid #c06c52;
}

.mphb-total-price {
	text-align: center;
	font-size: 1.8rem;
	margin: 3rem 0;
}

.mphb-total-price .mphb-total-price-field {
	color: var(--wp--preset--color--custom-terracotta);
}

.mphb_sc_rooms-wrapper .mphb-room-type:not(:first-of-type),
.mphb_sc_search_results-wrapper .mphb-room-type:not(:first-of-type),
.mphb_sc_services-wrapper .mphb-service:not(:first-of-type) {
	margin-top: 0;
}

/* --- Custom Fix for Room Image Ratios --- */
/* Target only the main large image, not the thumbnails */
.mphb-gallery-main-slider .flex-viewport,
.mphb-gallery-main-slider .slides img {
	aspect-ratio: 3/2 !important;
	object-fit: cover !important;
	height: auto !important;
	width: 100% !important;
}

.mphb-room-type-images {
	margin-bottom: 0.5rem !important;
}

.flexslider {
  background: transparent;
  border:  0;
}

.flexslider .gallery-item {
  margin-right: 0 !important;
}

.mphb-room-type {
	height: 100%;
}

/* Ensure thumbnails are squares and well-aligned */
.mphb-gallery-thumbnails-slider .slides img {
	aspect-ratio: 1/1 !important;
	object-fit: cover !important;
	height: auto !important;
}

/* --- Single Room Page Refinement --- */
.single-mphb_room_type .wp-block-post-content {
	margin-top: 2rem;
}

/* Elegant Gallery Grid */
.mphb-single-room-type-gallery-wrapper .gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 1rem;
	margin: 2rem 0;
}

.mphb-single-room-type-gallery-wrapper .gallery-item {
	margin: 0 !important;
	width: 100% !important;
}

.mphb-single-room-type-gallery-wrapper .gallery-icon img {
	aspect-ratio: 1/1 !important;
	object-fit: cover !important;
	width: 100% !important;
	height: auto !important;
	border-radius: 4px;
	transition: transform 0.4s ease;
}

.mphb-single-room-type-gallery-wrapper .gallery-icon img:hover {
	transform: scale(1.02);
}

/* Sticky Booking Sidebar */
@media (min-width: 768px) {
	.sticky-booking-sidebar {
		position: sticky;
		top: calc(var(--wp-admin-bar-height, 32px) + 2rem);
		box-shadow: 0 30px 60px rgba(0, 0, 0, 0.05);
	}
}

/* Single Room Attributes (Details) */
.mphb-single-room-type-attributes {
	list-style: none;
	padding: 2rem 0;
	margin: 2rem 0 !important;
	border-top: 1px solid rgba(217, 179, 140, 0.1);
	border-bottom: 1px solid rgba(217, 179, 140, 0.1);
	display: flex;
	flex-wrap: wrap;
	gap: 3rem;
}

.mphb-single-room-type-attributes li {
	font-family: var(--wp--preset--font-family--outfit);
}

.mphb-single-room-type-attributes .mphb-attribute-title {
	display: block;
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: var(--wp--preset--color--custom-terracotta);
	margin-bottom: 0.5rem;
}

.mphb-single-room-type-attributes .mphb-attribute-value {
	font-size: 1.2rem;
	font-weight: 300;
	color: var(--wp--preset--color--custom-charcoal);
}

/* Calendar styling in single page */
.mphb-calendar {
	margin: 4rem 0;
}

.mphb-calendar table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 5px;
}

.mphb-calendar .mphb-date-cell {
	border-radius: 4px;
	padding: 10px !important;
	font-size: 0.8rem;
	transition: all 0.3s ease;
}

.mphb-available-date {
	background: #fdfaf6 !important;
	color: var(--wp--preset--color--custom-charcoal) !important;
}

.mphb-available-date:hover {
	background: var(--wp--preset--color--custom-terracotta) !important;
	color: #fff !important;
}

.mphb-past-date,
.datepick-other-month {
	opacity: 0.3;
}

/* --- Compact Sidebar Form & Calendar Fix --- */
.sticky-booking-sidebar .mphb-booking-form {
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
}

.mphb-reserve-btn,
.mphb-confirm-reservation {
	padding: 1.2rem !important;
	font-size: 0.8rem !important;
	width: 100% !important;
	border-radius: 4px !important;
}

/* Calendar Single Line Fix */
.mphb-calendar .mphb-date-cell {
	padding: 6px 2px !important;
	font-size: 0.75rem !important;
	line-height: 1 !important;
	height: 35px !important;
	width: 35px !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
}

.mphb-calendar table {
	border-spacing: 1px !important;
	width: 100% !important;
}

.mphb-calendar th {
	font-size: 0.65rem !important;
	text-transform: uppercase;
	padding: 5px 0 !important;
}

.datepick-month-header {
	font-size: 0.85rem !important;
	padding: 10px 0 !important;
}

/* --- Advanced Calendar Styling --- */
.mphb-calendar .mphb-available-date {
	background-color: #f4f9f8 !important;
	/* Very soft Jade */
	color: var(--wp--preset--color--custom-charcoal) !important;
	border: 1px solid rgba(0, 168, 150, 0.05) !important;
}

.mphb-calendar .mphb-available-date:hover {
	background-color: var(--wp--preset--color--custom-terracotta) !important;
	color: #fff !important;
	border-radius: 50% !important;
	transform: scale(1.1);
}

.mphb-calendar .datepick-today {
	background-color: transparent !important;
	border: 2px solid var(--wp--preset--color--custom-terracotta) !important;
	color: var(--wp--preset--color--custom-terracotta) !important;
	font-weight: 700 !important;
	border-radius: 50% !important;
}

.mphb-calendar .mphb-past-date {
	text-decoration: line-through;
	opacity: 0.3;
}

.mphb-calendar .datepick-month-header {
	background: #fff !important;
	border-bottom: 1px solid #eee !important;
	font-weight: 600 !important;
	color: var(--wp--preset--color--custom-charcoal) !important;
}

/* Calendar Design Overhaul - Circle Style */
.mphb-calendar .mphb-date-cell {
	border: none !important;
	background: transparent !important;
	width: 38px !important;
	height: 38px !important;
	line-height: 38px !important;
	border-radius: 50% !important;
	margin: 2px auto !important;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.mphb-calendar .mphb-available-date {
	background-color: #f0f7f6 !important;
	/* Soft Jade Circle */
	color: var(--wp--preset--color--custom-charcoal) !important;
}

.mphb-calendar .mphb-available-date:hover {
	background-color: var(--wp--preset--color--custom-terracotta) !important;
	color: #fff !important;
	transform: scale(1.1);
}

.mphb-calendar .datepick-today {
	border: 1px solid var(--wp--preset--color--custom-terracotta) !important;
	color: var(--wp--preset--color--custom-terracotta) !important;
	background: transparent !important;
}

/* Fix month/year headers */
.datepick-month-header,
.datepick-month-header select {
	font-family: var(--wp--preset--font-family--outfit) !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	border: none !important;
	background: #fff !important;
}

/* --- Refined Sidebar & Universal Round Calendar --- */
.sticky-booking-sidebar {
	padding: 1.5rem !important;
	/* Reduced padding */
}

.sticky-booking-sidebar br {
	display: none;
}

/* Universal Round Calendar Fix */
.mphb-calendar .mphb-date-cell,
.datepick-popup .mphb-date-cell,
.datepick-popup .datepick-month td span,
.datepick-popup .datepick-month td a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 24px !important;
	height: 24px !important;
	aspect-ratio: 1 / 1 !important;
	border-radius: 50% !important;
	margin: 0 auto !important;
	padding: 0 !important;
	border: none !important;
	box-sizing: border-box !important;
	font-size: 12px !important;
}

/* Harmonized Colors for both inline and popup calendars */
.mphb-calendar .mphb-available-date,
.datepick-popup .mphb-available-date {
	background-color: #f2f8f7 !important;
	color: var(--wp--preset--color--custom-charcoal) !important;
}

.mphb-calendar .mphb-available-date:hover,
.datepick-popup .mphb-available-date:hover {
	background-color: var(--wp--preset--color--custom-terracotta) !important;
	color: #fff !important;
}

.datepick-popup .datepick-today,
.mphb-calendar .datepick-today {
	border: 1px solid var(--wp--preset--color--custom-terracotta) !important;
	background: transparent !important;
	color: var(--wp--preset--color--custom-terracotta) !important;
}

/* Popup Header styling */
.datepick-popup .datepick-month-header {
	background: #fff !important;
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: 0.8rem !important;
	text-transform: uppercase !important;
	padding: 10px 0 !important;
}

.datepick-popup {
	border: none !important;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.1) !important;
	padding: 1rem !important;
	background: #fff !important;
}

/* Specific fix for sidebar date inputs to allow side-by-side */
.sticky-booking-sidebar .mphb-booking-form .mphb-datepick {
	width: 100% !important;
	min-width: 0 !important;
}

/* --- Mobile Responsiveness for Single Room --- */
@media (max-width: 767px) {

	/* Hide the booking sidebar as requested */
	.sticky-booking-sidebar {
		display: none !important;
	}

	/* Force full width for the main content */
	.wp-block-column {
		flex-basis: 100% !important;
		width: 100% !important;
		margin-left: 0 !important;
	}

	/* Adjust titles for small screens */
	.single-mphb_room_type h1.wp-block-post-title {
		font-size: 2.5rem !important;
		letter-spacing: 4px !important;
	}

	/* Adjust gallery grid on mobile */
	.mphb-single-room-type-gallery-wrapper .gallery {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 0.5rem !important;
	}
}

/* --- Final Mobile Polishing --- */
@media (max-width: 767px) {

	/* Prevent title splitting */
	.single-mphb_room_type h1.wp-block-post-title {
		font-size: 2.2rem !important;
		letter-spacing: 2px !important;
		word-break: keep-all !important;
		white-space: nowrap !important;
	}

	/* Reduce section padding for tighter feel */
	.wp-block-group[style*="padding-top:4rem"] {
		padding-top: 2rem !important;
		padding-bottom: 1rem !important;
	}

	/* Space out elements slightly more on mobile for touch */
	.mphb-single-room-type-attributes {
		gap: 1.5rem !important;
		padding: 1.5rem 0 !important;
	}

	.mphb-single-room-type-attributes .mphb-attribute-value {
		font-size: 1rem !important;
	}
}

/* --- Even smaller title for mobile --- */
@media (max-width: 767px) {
	.single-mphb_room_type h1.wp-block-post-title {
		font-size: 1.8rem !important;
		letter-spacing: 2px !important;
	}
}

/* --- Robust Mobile Title Override --- */
@media (max-width: 767px) {
	.single-mphb_room_type .wp-block-post-title {
		font-size: 1.8rem !important;
		letter-spacing: 2px !important;
	}
}

/* --- Plugin Compatibility: Reverting Box-Sizing for Fancybox --- */
.fancybox-container,
.fancybox-container * {
	box-sizing: content-box !important;
}

/* Ensure images within Fancybox are responsive */
.fancybox-slide--image .fancybox-content {
	max-width: 100vw !important;
}

/* --- Mobile Button Fix to Prevent Overflow --- */
@media (max-width: 767px) {
	.mphb-reserve-btn {
		width: 100% !important;
		max-width: 100% !important;
		white-space: normal !important;
		/* Allow text wrapping */
		line-height: 1.2 !important;
		padding: 1rem 0.5rem !important;
		font-size: 0.8rem !important;
		box-sizing: border-box !important;
	}
}

/* --- CSS Fallback: Disable links in Facilities list --- */
.mphb-attribute-value a {
	color: inherit !important;
	text-decoration: none !important;
	pointer-events: none !important;
	cursor: default !important;
}

/* --- Radical Homepage Redesign: Visual Effects --- */

/* Smooth Scroll */
html {
	scroll-behavior: smooth;
}

/* Hero Section Typography Refinement */
.wp-block-cover h2 {
	text-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
	margin-top: -1rem !important;
}

/* Image Hover Zoom for Room Cards & Sections */
.wp-block-image img {
	transition: transform 1.2s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

.wp-block-column:hover .wp-block-image img {
	transform: scale(1.05);
}

/* Navigation Links Hover in Charcoal Header */
.has-custom-charcoal-background-color .wp-block-navigation-item__label {
	position: relative;
	transition: color 0.3s ease;
}

.has-custom-charcoal-background-color .wp-block-navigation-item__label::after {
	content: '';
	position: absolute;
	bottom: -5px;
	left: 0;
	width: 0;
	height: 1px;
	background: var(--wp--preset--color--custom-terracotta);
	transition: width 0.3s ease;
}

.wp-block-navigation-item:hover .wp-block-navigation-item__label::after {
	width: 100%;
}



ul.wp-block-navigation__submenu-container {
	padding: 2.5rem 0.5rem 1rem 0.5rem;
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
	border: 0;
}

@media (max-width: 599px) {

	.wp-block-navigation__responsive-container-content {
		padding: 2rem;
	}

	.wp-block-navigation__responsive-container-close {
		position: absolute;
		right: 2rem;
		top: 2rem;
		z-index: 2;
	}

	.wp-block-navigation__responsive-container {
		gap: 2rem;
	}

	li.wp-block-navigation-item {
		align-items: normal;
		display: flex;
		flex-direction: column;
		gap: 2rem;
	}

	ul.wp-block-navigation__submenu-container {
		padding: 0 !important;
	}

	.wp-block-navigation .has-child .wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content {
		display: flex;
		flex-grow: 1;
		padding: 0;
	}

}

/* Section Fade-in Effect (Simulated without JS) */
section.wp-block-group {
	transition: all 0.8s ease-out;
}

/* Footer Social Icons Adjustment */
footer .wp-block-social-links a {
	transition: transform 0.3s ease;
}

footer .wp-block-social-links a:hover {
	transform: translateY(-3px) scale(1.1);
}

footer {
	margin-top: 0 !important;
}

/* --- Dynamic Room Listing Styling (Homepage) --- */
.mphb-rooms-list {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 2rem !important;
}

.mphb-rooms-list .mphb-room-type {
	border: none !important;
	box-shadow: none !important;
	background: transparent !important;
	padding: 0 !important;
}

.mphb-rooms-list .mphb-room-type-title {
	font-size: 1.1rem !important;
	letter-spacing: 2px !important;
	padding-top: 1.5rem !important;
	text-align: left !important;
}

.mphb-rooms-list .mphb-room-type-title a {
	text-align: left !important;
}

.mphb-rooms-list .mphb-price {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: 0.9rem !important;
	color: var(--wp--preset--color--custom-terracotta) !important;
	margin-bottom: 1rem !important;
	display: block !important;
}

.mphb-rooms-list .mphb-view-details-button {
	display: inline-block !important;
	padding: 0.8rem 1.5rem !important;
	border: 1px solid var(--wp--preset--color--custom-charcoal) !important;
	color: var(--wp--preset--color--custom-charcoal) !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	font-size: 0.75rem !important;
	text-decoration: none !important;
	transition: all 0.3s ease !important;
}

.mphb-rooms-list .mphb-view-details-button:hover {
	background: var(--wp--preset--color--custom-charcoal) !important;
	color: white !important;
}

/* Hide price prefix if any */
.mphb-rooms-list .mphb-price-period {
	font-size: 0.8rem !important;
	opacity: 0.7 !important;
}

@media (max-width: 991px) {
	.mphb-rooms-list {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 767px) {
	.mphb-rooms-list {
		grid-template-columns: 1fr !important;
	}
}

/* --- Hiding pagination on homepage rooms listing --- */
.home .mphb-pagination,
.home .mphb-view-details-button+.mphb-pagination {
	display: none !important;
}

/* ============================================================
   tpl-hotel STYLES (Standard Pages)
   ============================================================ */

.tpl-hotel .wp-block-group {
	max-width: 100%;
}

.tpl-hotel main {
	padding: 6rem 1rem;
	background-color: transparent;
	/* Use the body cream background */
}

.tpl-hotel .wp-block-post-content {
	max-width: 720px;
	margin: 0 auto;
	font-family: var(--wp--preset--font-family--outfit);
	color: var(--wp--preset--color--custom-charcoal);
	line-height: 1.8;
}

/* Titles */
.tpl-hotel .wp-block-post-content h1 {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: clamp(2.3rem, 4vw, 4rem);
	font-weight: 200;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	text-align: center;
	color: var(--wp--preset--color--custom-charcoal);
	margin-bottom: 5rem;
	line-height: 1.1;
}

.tpl-hotel .wp-block-post-content h2 {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 1.4rem;
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: var(--wp--preset--color--custom-terracotta);
	margin-top: 5rem;
	margin-bottom: 2rem;
	display: flex;
	align-items: center;
	gap: 1.5rem;
}

.tpl-hotel .wp-block-post-content h2::after {
	content: "";
	height: 1px;
	flex-grow: 1;
	background: rgba(192, 108, 82, 0.2);
}

.tpl-hotel .wp-block-post-content h3 {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 1.1rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--wp--preset--color--custom-terracotta);
	margin-top: 3rem;
	margin-bottom: 1.5rem;
}

/* Paragraphs & Text */
.tpl-hotel .wp-block-post-content p {
	font-size: 1.1rem;
	font-weight: 300;
	margin-bottom: 2rem;
	color: #555;
}

.tpl-hotel .wp-block-post-content p em,
.tpl-hotel .wp-block-post-content p i {
	color: var(--wp--preset--color--custom-terracotta);
	font-family: var(--wp--preset--font-family--alex-brush);
	font-size: 1.4rem;
	font-style: normal;
}

/* Final Citation Enhancement */
.tpl-hotel .wp-block-post-content>p:last-child {
	margin-top: 8rem;
	text-align: center;
	position: relative;
	padding-top: 4rem;
}

.tpl-hotel .wp-block-post-content>p:last-child::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 40px;
	height: 1px;
	background: var(--wp--preset--color--custom-terracotta);
	opacity: 0.5;
}

.tpl-hotel .wp-block-post-content>p:last-child em,
.tpl-hotel .wp-block-post-content>p:last-child i {
	font-size: 1.67rem;
	display: block;
	line-height: 1.2;
}

/* Lists */
.tpl-hotel .wp-block-post-content ul.wp-block-list {
	list-style: none;
	padding: 0;
	margin: 3rem 0;
}

.tpl-hotel .wp-block-post-content ul.wp-block-list li {
	position: relative;
	padding-left: 2.5rem;
	margin-bottom: 1.5rem;
	font-size: 1.05rem;
	font-weight: 300;
}

.tpl-hotel .wp-block-post-content ul.wp-block-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.8em;
	width: 1rem;
	height: 1px;
	background: var(--wp--preset--color--custom-terracotta);
}

/* Media Queries */
@media (max-width: 768px) {
	.tpl-hotel main {
		padding: 4rem 1.5rem;
	}

	.tpl-hotel .wp-block-post-content h1 {
		margin-bottom: 3rem;
	}

	.tpl-hotel .wp-block-post-content h2 {
		font-size: 1.2rem;
		margin-top: 4rem;
	}
}

/* --- ACCOUNT DASHBOARD STYLING (Decoration Only) --- */

.mphb_sc_account {
	font-family: var(--wp--preset--font-family--outfit);
	color: var(--wp--preset--color--custom-charcoal);
}

/* Menu Decoration */
.mphb-account-menu ul {
	list-style: none !important;
	padding: 0 !important;
}

.mphb-account-menu ul li {
	margin-bottom: 1.2rem !important;
}

.mphb-account-menu ul li a {
	text-decoration: none !important;
	color: var(--wp--preset--color--custom-charcoal) !important;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	font-size: 0.8rem;
	font-weight: 600;
	transition: all 0.3s ease;
	display: inline-block;
}

.mphb-account-menu ul li a:hover {
	color: var(--wp--preset--color--custom-terracotta) !important;
	transform: translateX(5px);
}

/* Content Decoration */
.mphb-account-content p {
	font-size: 1.1rem;
	font-weight: 300;
	line-height: 1.8;
	color: #444;
}

.mphb-account-content strong {
	color: var(--wp--preset--color--custom-terracotta);
	font-weight: 600;
}

.mphb-account-content a {
	color: var(--wp--preset--color--custom-charcoal);
	text-decoration: none;
	border-bottom: 1px solid rgba(192, 108, 82, 0.3);
	font-weight: 500;
	transition: all 0.3s ease;
}

.mphb-account-content a:hover {
	color: var(--wp--preset--color--custom-terracotta);
	border-bottom-color: var(--wp--preset--color--custom-terracotta);
}

/* --- LOGIN FORM DECORATION --- */

.mphb-login-form {
	margin-top: 2rem;
	margin-bottom: 2rem;
}

.mphb-login-form label {
	display: block;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: var(--wp--preset--color--custom-terracotta);
	margin-bottom: 0.5rem;
	font-weight: 600;
}

.mphb-login-form .input {
	width: 100% !important;
	max-width: 400px;
	border: none !important;
	border-bottom: 1px solid rgba(217, 179, 140, 0.3) !important;
	padding: 0.8rem 0 !important;
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: 1rem !important;
	background: transparent !important;
	border-radius: 0 !important;
	transition: all 0.3s ease !important;
	color: var(--wp--preset--color--custom-charcoal);
}

.mphb-login-form .input:focus {
	border-bottom-color: var(--wp--preset--color--custom-terracotta) !important;
	outline: none !important;
}

.mphb-login-form .login-remember {
	margin: 1.5rem 0;
	font-size: 0.85rem;
	color: #666;
}

.mphb-login-form .login-remember input[type="checkbox"] {
	margin-right: 8px;
	accent-color: var(--wp--preset--color--custom-terracotta);
}

#wp-submit {
	background: var(--wp--preset--color--custom-charcoal) !important;
	color: #fff !important;
	border: none !important;
	padding: 1rem 2.5rem !important;
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: 0.8rem !important;
	text-transform: uppercase !important;
	letter-spacing: 0.2em !important;
	font-weight: 500 !important;
	border-radius: 50px !important;
	cursor: pointer;
	transition: all 0.4s ease !important;
}

#wp-submit:hover {
	background: var(--wp--preset--color--custom-terracotta) !important;
	transform: translateY(-2px);
	box-shadow: 0 10px 20px rgba(192, 108, 82, 0.15);
}

.mphb-login-form a {
	display: inline-block;
	margin-top: 1.5rem;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--wp--preset--color--custom-terracotta);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: all 0.3s ease;
}

.mphb-login-form a:hover {
	color: var(--wp--preset--color--custom-terracotta);
	border-bottom-color: var(--wp--preset--color--custom-terracotta);
}

/* General account error/info text decoration */
.mphb-account-content {
	font-size: 1rem;
	font-weight: 300;
	color: #666;
	line-height: 1.6;
}

.mphb_sc_account .mphb-account-bookings {
	width: 100%;
	text-align: left;
}

/* --- Premium Homepage Enhancements --- */

/* Reveal Animation */
.reveal {
	opacity: 0;
	transform: translateY(30px);
	transition: all 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.reveal.visible {
	opacity: 1;
	transform: translateY(0);
}

/* Hero Section Refinement */
.hero-section .wp-block-cover__inner-container {
	z-index: 2;
}

.hero-section::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: radial-gradient(circle at center, rgba(26, 26, 26, 0.2) 0%, rgba(26, 26, 26, 0.5) 100%);
	z-index: 1;
}

/* Service Sections - Alternating & Refined */
.service-section {
	position: relative;
	overflow: hidden;
}

.service-section .wp-block-columns {
	align-items: center;
}

.service-section figure img {
	box-shadow: 0 30px 60px -15px rgba(26, 26, 26, 0.2);
	transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.service-section:hover figure img {
	transform: scale(1.03);
}

.service-section h2 {
	position: relative;
	display: inline-block;
	margin-bottom: 1.5rem !important;
}

.service-section h2::after {
	content: "";
	position: absolute;
	bottom: -1rem;
	left: 0;
	width: 40px;
	height: 1px;
	background: var(--wp--preset--color--custom-terracotta);
	transition: width 0.4s ease;
}

.service-section:hover h2::after {
	width: 60px;
}

.service-section h3 {
	font-weight: 200 !important;
	letter-spacing: 0.05em !important;
	margin-top: 0.5rem !important;
	margin-bottom: 2rem !important;
}

.service-section p {
	color: #666;
	font-weight: 300;
	line-height: 1.9;
	max-width: 450px;
}

/* Rooms Section - Boutique Cards */
.rooms-section {
	background-color: #fcfbf9;
	/* Subtle off-white */
}

.rooms-section h2 {
	font-weight: 200 !important;
	letter-spacing: 0.3em !important;
}

.rooms-section .mphb-room-type {
	background: transparent;
	border: none;
	padding: 0;
}

.rooms-section .mphb-room-type:hover {
	box-shadow: none;
	transform: none;
}

/* Glassmorphism for specific elements if needed */
.glass-effect {
	background: rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Smooth Scrolling */
html {
	scroll-behavior: smooth;
}


/* Section Counters */
main {
	counter-reset: service-counter;
}

.service-section {
	counter-increment: service-counter;
}

.service-section h2::before {
	content: "0" counter(service-counter);
	position: absolute;
	top: -2.5rem;
	left: 0;
	font-size: 0.75rem;
	letter-spacing: 0.3em;
	color: var(--wp--preset--color--custom-terracotta);
	font-weight: 600;
	opacity: 0.7;
}

/* Fix for right-aligned text in alternating columns if needed */
.service-section .wp-block-column:nth-child(2) h2::before,
.service-section .wp-block-column:nth-child(2) h2::after {
	/* If we want to align the markers differently for right-aligned text */
}


/* --- Refined Premium Details --- */

/* Hero Overlay Polish */
.hero-section .wp-block-cover__background {
	background-color: rgba(26, 26, 26, 0.3) !important;
}

.hero-section .wp-block-cover__inner-container {
	filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.2));
}

/* Section Spacing Adjustments */
@media (min-width: 1200px) {
	.service-section {
		padding-top: 15rem !important;
		padding-bottom: 15rem !important;
	}
}

/* Image Parallax (Subtle) */
.service-section figure {
	perspective: 1000px;
}

.service-section figure img {
	will-change: transform;
}

/* Room Card Button Refinement */
.button.mphb-book-button {
	box-shadow: 0 10px 20px rgba(192, 108, 82, 0.1) !important;
}

.button.mphb-book-button:hover {
	box-shadow: 0 15px 30px rgba(26, 26, 26, 0.2) !important;
}

/* Decorative background elements */
.service-section::after {
	content: "";
	position: absolute;
	top: 50%;
	left: -10%;
	width: 40%;
	height: 1px;
	background: rgba(217, 179, 140, 0.05);
	z-index: -1;
}

.service-section:nth-child(even)::after {
	left: auto;
	right: -10%;
}

/* Typography Polish */
h1,
h2,
h3 {
	text-rendering: optimizeLegibility;
}


/* --- New Design Test Styles --- */

/* Hero Title Responsiveness */
.hero-section h1 {
	font-size: clamp(3rem, 8vw, 6rem) !important;
}

/* Service Section Enhancements */
.service-section {
	overflow: visible !important;
}

.service-section.dark-section {
	background-color: var(--wp--preset--color--custom-charcoal) !important;
	color: var(--wp--preset--color--custom-cream) !important;
}

.service-section.dark-section h3,
.service-section.dark-section p {
	color: var(--wp--preset--color--custom-cream) !important;
}

.service-section.dark-section .wp-block-button.is-style-outline .wp-block-button__link {
	border-color: var(--wp--preset--color--custom-cream) !important;
	color: var(--wp--preset--color--custom-cream) !important;
}

.service-section.dark-section .wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--custom-cream) !important;
	color: var(--wp--preset--color--custom-charcoal) !important;
}

/* Asymmetric Image Hover */
.service-section figure img {
	transition: transform 1.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.service-section:hover figure img {
	transform: scale(1.05);
}

/* Custom Sand Highlight */
.has-custom-sand-color {
	color: var(--wp--preset--color--custom-terracotta) !important;
}

/* Refined Counters for New Design */
.service-section h2::before {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 0.8rem;
	font-weight: 300;
	letter-spacing: 0.5em;
	opacity: 0.5;
}

.dark-section h2::before {
	color: var(--wp--preset--color--custom-terracotta) !important;
}

/* Smooth Transitions */
.wp-block-group {
	transition: background-color 0.8s ease;
}

/* --- Editorial Typography & Vibrant Orange --- */

/* Global Editorial Serif */
h1,
.playfair-text {
	font-family: var(--wp--preset--font-family--playfair) !important;
}

/* Orange Button Refinement */
.has-custom-orange-background-color {
	transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

.has-custom-orange-background-color:hover {
	background-color: var(--wp--preset--color--custom-charcoal) !important;
	transform: translateY(-2px);
	box-shadow: 0 10px 20px rgba(230, 126, 34, 0.2) !important;
}

/* Orange Accents */
.has-custom-orange-color {
	color: var(--wp--preset--color--custom-orange) !important;
}

/* Section 01, 02... with Orange */
.service-section h2::before {
	color: var(--wp--preset--color--custom-orange) !important;
	opacity: 0.8 !important;
}

/* Footer Bottom CTA */
.has-custom-orange-background-color p {
	color: rgba(255, 255, 255, 0.9) !important;
}

/* Room Titles Typography */
.mphb-room-type-title a {
	font-family: var(--wp--preset--font-family--playfair) !important;
	font-weight: 400 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-size: 1.8rem !important;
}


/* --- Gutenberg Editor Fixes --- */

/* Ensure reveal elements are visible in the editor */
.is-editor-view .reveal {
	opacity: 1 !important;
	transform: none !important;
}

/* Fix Hero height in editor if needed */
.editor-styles-wrapper .hero-section {
	min-height: 80vh !important;
}


/* Robust Editor Visibility */
.editor-styles-wrapper .reveal,
.block-editor-block-list__layout .reveal {
	opacity: 1 !important;
	transform: none !important;
}