/* OpsMind Hotel UI — RTL-first; accent = Theme Options Main Color (injected by opsmind-brand-colors.php) */

:root {
	--opsmind-accent: var(--main-color, #2d5be3);
	--opsmind-accent-dark: var(--opsmind-accent);
	--opsmind-accent-ink: #132a6b;
	--opsmind-accent-soft: rgba(45, 91, 227, 0.1);
	--opsmind-accent-line: rgba(45, 91, 227, 0.32);
	--opsmind-accent-shadow: rgba(45, 91, 227, 0.28);
	--opsmind-star: #f5b301;
	/* Back-compat aliases */
	--opsmind-orange: var(--opsmind-accent);
	--opsmind-orange-dark: var(--opsmind-accent-dark);
	--opsmind-blue: var(--opsmind-accent);
	--opsmind-blue-dark: var(--opsmind-accent-dark);
	--opsmind-ink: #1a2233;
	--opsmind-muted: #5e6d77;
	--opsmind-line: #e4e9f0;
	--opsmind-soft: #f3f6fb;
	--opsmind-card: #ffffff;
	--opsmind-radius: 12px;
	--opsmind-shadow: 0 8px 28px rgba(26, 34, 51, 0.08);
	--opsmind-font: "Tajawal", "Cairo", "Segoe UI", Tahoma, sans-serif;
	--opsmind-book-grad-1: #e8892a;
	--opsmind-book-grad-2: #3db8a8;
	--opsmind-book-grad-3: #2ec4f3;
	--opsmind-book-grad: linear-gradient(90deg, var(--opsmind-book-grad-1) 0%, var(--opsmind-book-grad-2) 48%, var(--opsmind-book-grad-3) 100%);
	--opsmind-loader-accent: var(--opsmind-book-grad-1);
}

body.opsmind-hotel-ui,
body.opsmind-hotel-ui .search-result-page,
body.opsmind-hotel-ui .opsmind-hotel-single {
	font-family: var(--opsmind-font);
	color: var(--opsmind-ink);
}

/* Force RTL presentation on hotel search + hotel single (matches OpsMind Travel right_to_left). */
body.opsmind-rtl-ui,
body.opsmind-rtl-ui .opsmind-hotel-search,
body.opsmind-rtl-ui .opsmind-hotel-single {
	direction: rtl;
	text-align: right;
}

/* -------------------------------------------------------------------------
   Header = homepage style (transparent overlay on hotel SEARCH / hero pages).
   Hotel single must NOT use absolute overlay — content has no banner padding.
   Keep topbar + main menu stacked — do NOT pull .header to top:0 over #topbar.
   ------------------------------------------------------------------------- */
body.opsmind-header-like-home.ops-menu-transparent #ops-content-wrapper:not(.ops-style-elementor),
body.opsmind-header-like-home.ops-menu-transparent:not(.single-ops_rental) #ops-content-wrapper:not(.ops-style-elementor),
body.opsmind-header-like-home.opsmind-hotel-ui #ops-content-wrapper.search-result-page,
body.opsmind-hotel-ui.ops-menu-transparent #ops-content-wrapper:not(.ops-style-elementor) {
	/* padding-top: 0 !important; */
}

/* Safety: if overlay classes leak onto hotel single, keep header in flow. */
@media screen and (min-width: 992px) {
	body.single-ops_hotel.opsmind-header-like-home #header,
	body.single-hotel_room.opsmind-header-like-home #header,
	body.single-ops_hotel.opsmind-header-like-home #header.header-style-3,
	body.single-hotel_room.opsmind-header-like-home #header.header-style-3 {
		position: relative !important;
		top: auto !important;
		background: #232323 !important;
	}
}

@media screen and (min-width: 992px) {
	/* Whole header block (topbar + nav) overlays the banner — search/hero only */
	body.opsmind-header-like-home:not(.single-ops_hotel):not(.single-hotel_room) #header,
	body.opsmind-header-like-home:not(.single-ops_hotel):not(.single-hotel_room) #header.header-style-3,
	body.opsmind-header-like-home:not(.single-ops_hotel):not(.single-hotel_room) > header.header {
		position: absolute !important;
		top: 0;
		left: 0;
		right: 0;
		width: 100%;
		z-index: 100;
		background: transparent !important;
	}

	/* Main nav stays IN FLOW under topbar (fixes menu overlapping topbar) */
	body.opsmind-header-like-home #header .header,
	body.opsmind-header-like-home #header.header-style-3 .header,
	body.opsmind-header-like-home #header .header-sticky-menu {
		position: relative !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		width: 100%;
		border-bottom: none !important;
		background: rgba(0, 0, 0, 0.55) !important;
		box-shadow: none !important;
		color: #fff;
		border-radius: 0 0 50px 50px !important;
		/* Keep tool circles + cart badge fully visible (was clipping them) */
		overflow: visible !important;
		padding-top: 14px !important;
		padding-bottom: 14px !important;
		min-height: 72px;
		align-items: center !important;
	}

	body.opsmind-header-like-home #header .header__right .items,
	body.opsmind-header-like-home #header .header-sticky-menu .header__right .items {
		align-items: center !important;
		gap: 10px;
		margin: 0;
		padding: 4px 0;
		overflow: visible !important;
	}

	body.opsmind-header-like-home #header .header__right .items > li {
		overflow: visible !important;
		margin-left: 0 !important;
	}

	/* Icon chips must sit fully inside the bar */
	body.opsmind-header-like-home #header .header__right .dropdown-user-dashboard .dropdown-toggle,
	body.opsmind-header-like-home #header .header__right .dropdown-minicart .dropdown-toggle,
	body.opsmind-header-like-home #header .header__right .mini-cart.dropdown-toggle {
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		max-width: 44px !important;
		background: rgba(255, 255, 255, 0.18) !important;
		border: 1px solid rgba(255, 255, 255, 0.4) !important;
		color: #fff !important;
		overflow: visible !important;
	}

	body.opsmind-header-like-home #header .header__right .dropdown-toggle .ops-icon,
	body.opsmind-header-like-home #header .header__right .mini-cart .ops-icon {
		color: #fff !important;
		font-size: 18px !important;
		line-height: 1 !important;
	}

	/* Hide Bootstrap caret on icon-only account/cart toggles */
	body.opsmind-header-like-home #header .header__right .dropdown-user-dashboard .dropdown-toggle::after,
	body.opsmind-header-like-home #header .header__right .dropdown-minicart .dropdown-toggle::after,
	body.opsmind-header-like-home #header .header__right .mini-cart.dropdown-toggle::after {
		display: none !important;
	}

	/* User dropdown menu — readable above hero */
	body.opsmind-header-like-home #header .dropdown-user-dashboard .dropdown-menu {
		z-index: 1200 !important;
		margin-top: 10px !important;
		min-width: 220px;
		padding: 8px 0;
		border-radius: 12px !important;
		border: 1px solid #e2e8f0 !important;
		box-shadow: 0 12px 32px rgba(11, 31, 58, 0.18) !important;
		background: #fff !important;
	}

	body.opsmind-header-like-home #header .dropdown-user-dashboard .dropdown-menu li a,
	body.opsmind-header-like-home #header .dropdown-user-dashboard .dropdown-menu .user-name {
		color: #0b1f3a !important;
		padding: 10px 16px;
		font-weight: 600;
	}

	body.opsmind-header-like-home #header .dropdown-user-dashboard .dropdown-menu li a:hover {
		background: #f1f5f9 !important;
		color: #2d5be3 !important;
	}

	body.opsmind-header-like-home #header #topbar {
		position: relative !important;
		z-index: 2;
		background: rgba(20, 20, 20, 0.75) !important;
	}

	/* Sticky-wrapper must not collapse topbar height to 0 */
	body.opsmind-header-like-home .sticky-wrapper {
		height: auto !important;
		min-height: 0 !important;
	}
	body.opsmind-header-like-home .sticky-wrapper:not(.is-sticky) {
		/* Absolute parent already removes doc flow; avoid extra blank strip */
		position: static;
	}

	/* After scroll — fix nav bar only */
	body.opsmind-header-like-home .is-sticky .header,
	body.opsmind-header-like-home .is-sticky .header-sticky-menu {
		position: fixed !important;
		top: 0 !important;
		left: 0;
		right: 0;
		width: 100%;
		z-index: 101;
		background: rgba(35, 35, 35, 0.95) !important;
		box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12) !important;
		overflow: visible !important;
		padding-top: 12px !important;
		padding-bottom: 12px !important;
		border-radius: 0 !important;
	}

	/* Sticky under WP admin bar when logged in */
	body.admin-bar.opsmind-header-like-home .is-sticky .header,
	body.admin-bar.opsmind-header-like-home .is-sticky .header-sticky-menu {
		top: 32px !important;
	}

	body.opsmind-header-like-home #header .header a,
	body.opsmind-header-like-home #header .main-menu > li > a,
	body.opsmind-header-like-home #ops-main-menu .main-menu > li > a,
	body.opsmind-header-like-home #header .dropdown-toggle {
		color: #fff !important;
	}

	/* Banner under full header — shared size for hotel/tours/activity/cars + transfers */
	body.opsmind-header-like-home .search-result-page > .banner,
	body.opsmind-header-like-home .opsmind-hotel-search > .banner,
	body.opsmind-header-like-home .opsmind-hotel-search .opsmind-hotel-search-hero > .banner,
	body.opsmind-header-like-home .opsmind-service-search .opsmind-hotel-search-hero > .banner,
	body.opsmind-header-like-home .opsmind-hotel-single > .banner.ops-bg-feature,
	body.opsmind-header-like-home.opsmind-page-hero .opsmind-tf > .banner,
	body.opsmind-header-like-home.opsmind-page-hero .opsmind-page-hero__banner,
	body.opsmind-header-like-home.opsmind-page-hero #ops-content-wrapper > .banner,
	body.opsmind-page-hero .banner.opsmind-page-hero__banner {
		margin-top: 0 !important;
		padding-top: 170px !important;
		padding-bottom: 88px !important;
		min-height: 380px !important;
		box-sizing: border-box !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		background-size: cover !important;
		background-position: center !important;
		position: relative;
	}

	body.opsmind-header-like-home .search-result-page > .banner > .container,
	body.opsmind-header-like-home .opsmind-hotel-search .opsmind-hotel-search-hero > .banner > .container,
	body.opsmind-page-hero .banner.opsmind-page-hero__banner > .container {
		width: 100%;
		position: relative;
		z-index: 2;
	}
}

@media screen and (max-width: 782px) {
	body.admin-bar.opsmind-header-like-home .is-sticky .header,
	body.admin-bar.opsmind-header-like-home .is-sticky .header-sticky-menu {
		top: 46px !important;
	}
}

@media screen and (max-width: 991px) {
	body.opsmind-header-like-home #header .header,
	body.opsmind-header-like-home #header .header-sticky-menu {
		position: relative !important;
		top: auto !important;
		background: rgba(35, 35, 35, 0.95) !important;
	}

	body.opsmind-header-like-home .search-result-page > .banner,
	body.opsmind-header-like-home .opsmind-hotel-search > .banner,
	body.opsmind-header-like-home .opsmind-hotel-search .opsmind-hotel-search-hero > .banner,
	body.opsmind-header-like-home .opsmind-service-search .opsmind-hotel-search-hero > .banner,
	body.opsmind-header-like-home.opsmind-page-hero .opsmind-tf > .banner,
	body.opsmind-header-like-home.opsmind-page-hero .opsmind-page-hero__banner,
	body.opsmind-header-like-home.opsmind-page-hero #ops-content-wrapper > .banner,
	body.opsmind-page-hero .banner.opsmind-page-hero__banner {
		padding-top: 96px !important;
		padding-bottom: 56px !important;
		min-height: 260px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		box-sizing: border-box !important;
		/* Without this, #overlay (inset:0) escapes the static banner and covers
		   the whole page on mobile, swallowing every tap. */
		position: relative !important;
	}
}

/* Hotel search banner overlay ? lighter (was 0.5) */
body.opsmind-hotel-ui .banner #overlay,
body.opsmind-hotel-ui .search-result-page .banner #overlay,
.opsmind-hotel-search .banner #overlay,
body.opsmind-page-hero .banner #overlay {
	background-color: rgba(0, 0, 0, 0.1) !important;
	/* Decorative tint only — must never block clicks/taps. */
	pointer-events: none !important;
}

/* Banner title: ??? ??????? ? centered, larger, bold */
body.opsmind-hotel-ui .search-result-page .banner .banner-content,
body.opsmind-hotel-ui .opsmind-hotel-search .banner .banner-content,
body.opsmind-page-hero .banner .banner-content {
	text-align: center !important;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
}

body.opsmind-hotel-ui .search-result-page .banner .banner-content > h1,
body.opsmind-hotel-ui .opsmind-hotel-search .banner .banner-content > h1,
body.opsmind-page-hero .banner .banner-content > h1 {
	text-align: center !important;
	width: 100%;
	margin: 0 auto;
	font-size: clamp(2rem, 4vw, 3rem) !important;
	font-weight: 800 !important;
	line-height: 1.25;
	letter-spacing: 0;
	color: #fff !important;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
}

/* Kill Elementorv2 feature banner chrome when replaced / leftover */
body.opsmind-page-hero .banner.ops-bg-feature::after {
	display: none !important;
}

body.opsmind-page-hero .ops-banner-search-form__title {
	text-align: center !important;
	width: 100%;
	font-size: clamp(2rem, 4vw, 3rem) !important;
	font-weight: 800 !important;
	color: #fff !important;
}

body.opsmind-page-hero .ops-banner-search-form {
	text-align: center !important;
}

body.opsmind-page-hero .ops-banner-search-form .breadcrumb,
body.opsmind-page-hero .ops-banner-search-form .ops-breadcrumb {
	display: none !important;
}

/* Transfers: no extra top gap under shared banner */
body.opsmind-page-hero .opsmind-tf {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

body.opsmind-page-hero.ops-menu-transparent #ops-content-wrapper.ops-style-elementor {
	padding-top: 0 !important;
}

body.opsmind-rtl-ui .opsmind-hotel-single .ops-service-header2,
body.opsmind-rtl-ui .opsmind-hotel-single .ops-heading,
body.opsmind-rtl-ui .opsmind-hotel-single .ops-heading-section,
body.opsmind-rtl-ui .opsmind-hotel-single .sub-heading,
body.opsmind-rtl-ui .opsmind-hotel-single .opsmind-book-box,
body.opsmind-rtl-ui .opsmind-hotel-single .form-book-wrapper {
	text-align: right;
}

body.opsmind-rtl-ui .opsmind-hotel-single-row {
	flex-direction: row;
}

@media (min-width: 992px) {
	body.opsmind-rtl-ui .opsmind-hotel-book-col {
		order: 0;
	}

	body.opsmind-rtl-ui .opsmind-hotel-main-col {
		order: 0;
	}
}

body.opsmind-hotel-ui {
	background: #ffffff;
}

/* ??? Search form (legacy hero strip disabled; bar lives on banner) ??? */
.opsmind-hotel-search .opsmind-search-hero {
	display: none;
}

.opsmind-hotel-search .search-form-wrapper {
	position: relative;
	z-index: 2;
	background: transparent !important;
	margin: 0 !important;
	padding: 0 !important;
}

.opsmind-search-form {
	background: var(--opsmind-card);
	border-radius: var(--opsmind-radius);
	box-shadow: var(--opsmind-shadow);
	border: 1px solid rgba(255, 255, 255, 0.4);
	overflow: hidden;
}

/* Results form skin moved to opsmind-banner-search.css */

/* Sidebar search ? stacked ???? / ?????? */
.opsmind-sidebar .opsmind-sidebar-search .search-title {
	font-weight: 800;
	font-size: 16px;
	margin-bottom: 12px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--opsmind-line);
	color: var(--opsmind-ink);
}

.opsmind-sidebar .opsmind-sidebar-dates .opsmind-banner-dates {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.opsmind-sidebar .opsmind-sidebar-dates .opsmind-bf {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 0;
	border-bottom: 1px solid var(--opsmind-line);
	min-height: 0;
	border-inline-start: 0;
}

.opsmind-sidebar .opsmind-sidebar-dates .opsmind-bf:last-of-type {
	border-bottom: 0;
}

.opsmind-sidebar .opsmind-sidebar-dates .opsmind-banner-dates > input {
	position: absolute !important;
	opacity: 0 !important;
	width: 1px !important;
	height: 1px !important;
	pointer-events: none !important;
}

.opsmind-sidebar .opsmind-sidebar-search .field-icon,
.opsmind-sidebar .opsmind-sidebar-search i.input-icon,
.opsmind-sidebar .opsmind-sidebar-search i.fa-angle-down {
	color: var(--opsmind-orange) !important;
}

.opsmind-search-form .opsmind-search-fields .opsmind-field {
	padding: 14px 16px;
	min-height: 88px;
	display: flex;
	align-items: center;
}

.opsmind-search-form .border-left,
.opsmind-search-form .border-right {
	border-color: var(--opsmind-line) !important;
}

.opsmind-search-form label {
	font-size: 12px;
	color: var(--opsmind-muted);
	margin-bottom: 2px;
	font-weight: 600;
}

.opsmind-search-form .render,
.opsmind-search-form input[type="text"] {
	font-size: 15px;
	font-weight: 600;
	color: var(--opsmind-ink);
	border: 0;
	background: transparent;
	width: 100%;
}

.opsmind-field-hotel-name .opsmind-field-ico {
	margin-left: 10px;
	font-size: 18px;
}

.opsmind-btn-search {
	width: 100%;
	height: 52px;
	border-radius: 10px !important;
	background: var(--opsmind-orange) !important;
	border-color: var(--opsmind-orange) !important;
	color: #fff !important;
	font-weight: 700;
	font-size: 16px;
	transition: transform 0.2s ease, background 0.2s ease;
}

.opsmind-btn-search:hover {
	background: var(--opsmind-orange-dark) !important;
	border-color: var(--opsmind-orange-dark) !important;
	color: #fff !important;
	transform: translateY(-1px);
}

.opsmind-field-submit {
	align-items: center !important;
	justify-content: center;
}

.opsmind-search-actions {
	width: 100%;
	justify-content: stretch !important;
}

/* ??? Quick chips ??? */
.opsmind-quick-filters {
	padding: 18px 0 8px;
	margin-bottom: 8px;
}

.opsmind-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-start;
}

.opsmind-chip {
	appearance: none;
	border: 1px solid var(--opsmind-line);
	background: #fff;
	color: var(--opsmind-ink);
	border-radius: 999px;
	padding: 8px 14px;
	font-size: 13px;
	font-weight: 600;
	font-family: inherit;
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.15s ease;
	white-space: nowrap;
}

.opsmind-chip:hover {
	border-color: var(--opsmind-blue);
	color: var(--opsmind-blue);
	transform: translateY(-1px);
}

.opsmind-chip.is-active {
	background: var(--opsmind-blue);
	border-color: var(--opsmind-blue);
	color: #fff;
}

/* ??? Sidebar ??? */
.opsmind-sidebar {
	padding-top: 8px;
}

.opsmind-sidebar .sidebar-title {
	font-size: 16px;
	font-weight: 800;
	margin-bottom: 16px;
	color: var(--opsmind-ink);
}

.opsmind-side-section {
	background: var(--opsmind-card);
	border: 1px solid var(--opsmind-line);
	border-radius: var(--opsmind-radius);
	padding: 14px 16px;
	margin-bottom: 12px;
	box-shadow: none !important;
}

.opsmind-side-section .item-title h4 {
	font-size: 14px;
	font-weight: 700;
	margin: 0;
}

.opsmind-side-section .btn-apply-price-range {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	padding: 8px 18px !important;
	border-radius: 8px !important;
	background: var(--opsmind-orange, #ed8323) !important;
	border: 0 !important;
	color: #fff !important;
	font-weight: 800 !important;
	font-size: 14px !important;
	font-family: Tajawal, sans-serif !important;
	text-decoration: none !important;
	line-height: 1.2 !important;
	box-shadow: none !important;
}
.opsmind-side-section .btn-apply-price-range:hover,
.opsmind-side-section .btn-apply-price-range:focus {
	color: #fff !important;
	filter: brightness(1.05);
	text-decoration: none !important;
}
.opsmind-side-section .opsmind-show-more,
.opsmind-side-section .btn-more-item.opsmind-show-more,
.opsmind-side-section button.btn-link.opsmind-show-more,
body.opsmind-hotel-ui .sidebar-item .btn-more-item,
body.opsmind-hotel-ui .opsmind-side-section .btn-more-item {
	color: var(--opsmind-orange) !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}
.opsmind-side-section .opsmind-show-more:hover,
.opsmind-side-section .opsmind-show-more:focus,
.opsmind-side-section .btn-more-item.opsmind-show-more:hover,
body.opsmind-hotel-ui .sidebar-item .btn-more-item:hover {
	color: var(--opsmind-orange-dark) !important;
	text-decoration: none !important;
}
.opsmind-side-section .opsmind-show-more i,
.opsmind-side-section .opsmind-show-more .fa,
.opsmind-side-section .btn-more-item i,
body.opsmind-hotel-ui .sidebar-item .btn-more-item i {
	color: inherit !important;
}

/* Price range labels ? larger */
.opsmind-side-section.range-slider .irs-from,
.opsmind-side-section.range-slider .irs-to,
.opsmind-side-section.range-slider .irs-single,
.opsmind-sidebar .range-slider .irs-from,
.opsmind-sidebar .range-slider .irs-to,
.opsmind-sidebar .range-slider .irs-single,
body.opsmind-hotel-ui .range-slider .irs--flat .irs-from,
body.opsmind-hotel-ui .range-slider .irs--flat .irs-to,
body.opsmind-hotel-ui .range-slider .irs--flat .irs-single {
	font-size: 14px !important;
	font-weight: 800 !important;
	font-family: Tajawal, sans-serif !important;
	padding: 6px 12px !important;
	line-height: 1.25 !important;
	border-radius: 8px !important;
	min-height: 30px;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
}

/* Push slider track/handles below the price badges */
body.opsmind-hotel-ui .range-slider .irs,
body.opsmind-hotel-ui .opsmind-side-section.range-slider .irs {
	height: 78px !important;
}
body.opsmind-hotel-ui .range-slider .irs-line,
body.opsmind-hotel-ui .range-slider .irs--flat .irs-line,
body.opsmind-hotel-ui .opsmind-side-section.range-slider .irs-line {
	top: 48px !important;
}
body.opsmind-hotel-ui .range-slider .irs-bar,
body.opsmind-hotel-ui .range-slider .irs--flat .irs-bar,
body.opsmind-hotel-ui .opsmind-side-section.range-slider .irs-bar {
	top: 48px !important;
}
body.opsmind-hotel-ui .range-slider .irs-handle,
body.opsmind-hotel-ui .range-slider .irs--flat .irs-handle,
body.opsmind-hotel-ui .opsmind-side-section.range-slider .irs-handle {
	top: 42px !important;
}
body.opsmind-hotel-ui .range-slider .irs-min,
body.opsmind-hotel-ui .range-slider .irs-max {
	top: 62px !important;
}

.opsmind-side-section li.hidden {
	display: none;
}

.opsmind-side-section.is-expanded li.hidden {
	display: list-item;
}

/* ??? Hotel cards ??? */
.opsmind-hotel-card {
	background: var(--opsmind-card);
	border: 1px solid var(--opsmind-line);
	border-radius: var(--opsmind-radius);
	overflow: hidden;
	margin-bottom: 16px;
	box-shadow: var(--opsmind-shadow);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.opsmind-hotel-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 32px rgba(26, 34, 51, 0.12);
}

.opsmind-card-media .featured-image {
	height: 100%;
	min-height: 220px;
	position: relative;
}

.opsmind-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	min-height: 220px;
}

.opsmind-card-flag {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 2;
	background: var(--opsmind-blue);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 6px;
}

.opsmind-card-body {
	padding: 18px 8px 18px 4px;
}

.opsmind-card-title-row {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex-wrap: nowrap;
	gap: 6px;
	margin: 0 0 4px;
}

.opsmind-card-stars {
	display: inline-flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap;
	align-items: center;
	gap: 2px;
	margin: 0;
	padding: 0;
	list-style: none;
	line-height: 1;
}

.opsmind-card-stars ul,
.opsmind-card-stars > li,
.opsmind-card-body .opsmind-card-stars li {
	display: inline-flex !important;
	flex-direction: row !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	width: auto !important;
}

.opsmind-card-stars i,
.opsmind-card-stars .fa,
.opsmind-card-stars .ops-icon-star1 {
	color: #f5a623;
	font-size: 14px;
	line-height: 1;
}

.opsmind-card-title {
	font-size: 18px;
	font-weight: 800;
	margin: 0;
}

.opsmind-card-title a {
	color: var(--opsmind-ink);
	text-decoration: none;
}

.opsmind-card-city {
	color: var(--opsmind-muted);
	font-size: 13px;
	margin-bottom: 10px;
}

.opsmind-card-rating {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 12px;
	padding: 6px 12px 6px 6px;
	background: #fff;
	border: 1px solid var(--opsmind-line);
	border-radius: 14px;
	box-shadow: 0 1px 4px rgba(15, 23, 42, 0.04);
}

.opsmind-score {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 2px;
	min-width: 58px;
	width: auto;
	height: 40px;
	padding: 0 12px;
	margin: 0;
	background: var(--opsmind-accent) !important;
	color: #fff !important;
	border-radius: 10px;
	font-family: Tajawal, sans-serif;
	font-weight: 800;
	font-size: 18px;
	line-height: 1 !important;
	letter-spacing: -0.02em;
	direction: ltr;
	unicode-bidi: isolate;
	text-align: center;
	box-sizing: border-box;
	vertical-align: middle;
	position: relative;
}

/* Beat core: .rate { color: var(--main-color) } made score invisible on accent chip */
body.opsmind-hotel-ui .item .section-footer .reviews .opsmind-score,
body.opsmind-hotel-ui .item .section-footer .reviews .rate.opsmind-score,
body.opsmind-hotel-ui .opsmind-card-rating .opsmind-score,
body.opsmind-hotel-ui .opsmind-score,
body.opsmind-hotel-ui .opsmind-score .opsmind-score-den {
	color: #fff !important;
	-webkit-text-fill-color: #fff;
}

body.opsmind-hotel-ui .item .section-footer .reviews .opsmind-score:after,
body.opsmind-hotel-ui .item .section-footer .reviews .rate.opsmind-score:after,
body.opsmind-hotel-ui .opsmind-score:after {
	display: none !important;
	content: none !important;
}

.opsmind-score .opsmind-score-den {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	opacity: 0.9;
	transform: none;
	position: static;
}

.opsmind-score-label {
	font-weight: 700;
	font-size: 14px;
	color: var(--opsmind-ink);
	line-height: 1.2;
}

.opsmind-score-empty {
	color: var(--opsmind-muted);
	font-weight: 500;
	padding: 4px 6px;
}

.opsmind-review-count {
	color: var(--opsmind-muted);
	font-size: 12px;
}

.opsmind-hotel-single .review-score .head-rating {
	font-weight: 700;
	font-size: 15px;
	color: #5e6d77 !important;
}

.opsmind-hotel-single .review-score .text-rating {
	display: block;
	margin-top: 2px;
	font-size: 12px;
}

.opsmind-hotel-single .review-score .score,
.opsmind-hotel-single .ops-service-header .review-score .head .score,
.single-ops_hotel .opsmind-hotel-single .review-score .head .score,
body .opsmind-hotel-single .review-score .head .score {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	align-content: center !important;
	float: none !important;
	min-width: 78px !important;
	width: auto !important;
	height: 54px !important;
	min-height: 54px !important;
	max-height: 54px !important;
	padding: 0 16px !important;
	margin: 0 !important;
	font-size: 22px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	direction: ltr !important;
	unicode-bidi: isolate;
	box-sizing: border-box !important;
	text-align: center !important;
	vertical-align: middle !important;
	background: var(--opsmind-blue) !important;
	color: #fff !important;
	border-radius: 12px !important;
	position: relative;
	overflow: hidden;
}

.opsmind-hotel-single .review-score .score span,
.opsmind-hotel-single .ops-service-header .review-score .head .score span {
	display: inline !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	opacity: 0.95;
	vertical-align: baseline !important;
	position: static !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #fff !important;
}

/* Elementor v2 hotel cards ? unify rating chip */
.services-item.item-elementor .reviews.opsmind-card-rating {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	width: auto;
	margin: 8px 0 10px;
	padding: 6px 12px 6px 6px;
	background: #fff;
	border: 1px solid var(--opsmind-line);
	border-radius: 14px;
	box-shadow: 0 1px 4px rgba(15, 23, 42, 0.04);
}

.services-item.item-elementor .reviews.opsmind-card-rating .rate.opsmind-score {
	background: var(--opsmind-accent) !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff;
	border: 0;
	margin: 0;
	min-width: 58px;
	height: 40px;
	padding: 0 12px;
	border-radius: 10px;
	font-size: 18px;
	font-weight: 800;
	line-height: 1;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	direction: ltr;
	unicode-bidi: isolate;
}

.services-item.item-elementor .reviews.opsmind-card-rating .rate.opsmind-score:after {
	display: none !important;
	content: none !important;
}

.services-item.item-elementor .reviews.opsmind-card-rating .rate-text,
.services-item.item-elementor .reviews.opsmind-card-rating .opsmind-score-label {
	color: #5e6d77;
	font-weight: 700;
	font-size: 14px;
}

.services-item.item-elementor .reviews.opsmind-card-rating .summary:not(.opsmind-review-count) {
	display: none;
}

.services-item.item-elementor .reviews.opsmind-card-rating .opsmind-review-count {
	color: var(--opsmind-muted);
	font-size: 12px;
}

.opsmind-badges {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.opsmind-card-highlights {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 8px;
}

.opsmind-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: var(--opsmind-soft);
	border: 1px solid var(--opsmind-line);
	border-radius: 8px;
	padding: 4px 8px;
	font-size: 12px;
	color: var(--opsmind-ink);
	font-weight: 600;
}

.opsmind-badge--special {
	background: var(--opsmind-accent-soft);
	border-color: var(--opsmind-accent-line);
	color: var(--opsmind-accent-ink);
}

.opsmind-badge--board {
	background: var(--opsmind-accent-dark);
	border-color: var(--opsmind-accent-dark);
	color: #fff;
}

.opsmind-badge-ico {
	font-style: normal;
}

.opsmind-card-aside {
	padding: 18px 16px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: stretch;
	gap: 12px;
	background: linear-gradient(180deg, #fafbfd, #f3f6fb);
	border-right: 1px solid var(--opsmind-line);
}

.opsmind-price-label {
	font-size: 12px;
	color: var(--opsmind-muted);
}

.opsmind-price-main {
	display: block;
	font-size: 22px;
	font-weight: 800;
	color: var(--opsmind-ink);
	line-height: 1.2;
}

.opsmind-price-egp,
.opsmind-price-alt {
	display: block;
	font-size: 13px;
	color: var(--opsmind-muted);
	margin-top: 2px;
}

.opsmind-price-unit {
	font-size: 12px;
	color: var(--opsmind-muted);
}

.opsmind-card-cta,
body.opsmind-hotel-ui .opsmind-hotel-card .opsmind-card-cta,
body.opsmind-hotel-ui .services-item .btn-primary,
body.opsmind-hotel-ui .item-service .btn-primary,
body.opsmind-hotel-ui .section-footer .btn-primary {
	border-radius: 10px !important;
	font-weight: 700;
	background: var(--opsmind-accent) !important;
	border-color: var(--opsmind-accent) !important;
	color: #fff !important;
	text-align: center;
	padding: 10px 14px;
	box-shadow: 0 6px 16px var(--opsmind-accent-shadow);
}

.opsmind-card-cta:hover,
body.opsmind-hotel-ui .opsmind-hotel-card .opsmind-card-cta:hover,
body.opsmind-hotel-ui .services-item .btn-primary:hover,
body.opsmind-hotel-ui .item-service .btn-primary:hover,
body.opsmind-hotel-ui .section-footer .btn-primary:hover {
	background: var(--opsmind-accent-dark) !important;
	border-color: var(--opsmind-accent-dark) !important;
	color: #fff !important;
}

/* ??? Breadcrumb (hotel single) — larger type, clear gap under header ??? */
body.opsmind-hotel-ui .opsmind-breadcrumb-wrap .ops-breadcrumb,
body.opsmind-hotel-ui .opsmind-hotel-single > .ops-breadcrumb,
body.opsmind-hotel-ui.single-ops_hotel #ops-content-wrapper > .ops-breadcrumb,
body.single-ops_hotel .opsmind-hotel-single > .ops-breadcrumb,
body.single-ops_hotel .opsmind-hotel-title-band .ops-breadcrumb,
body.single-ops_hotel #ops-content-wrapper .opsmind-breadcrumb-wrap .ops-breadcrumb {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	margin: 0 !important;
}

body.opsmind-hotel-ui .ops-breadcrumb .container,
body.single-ops_hotel .ops-breadcrumb .container,
body.single-ops_hotel .opsmind-hotel-title-band .ops-breadcrumb .container {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	max-width: 100%;
	width: 100%;
}

body.opsmind-hotel-ui .opsmind-breadcrumb-wrap,
body.single-ops_hotel .opsmind-hotel-title-band .opsmind-breadcrumb-wrap,
body.single-ops_hotel #ops-content-wrapper .opsmind-breadcrumb-wrap {
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 0;
	margin: 0 0 20px;
	padding: 0 0 16px;
	border-bottom: 1px solid rgba(15, 23, 42, 0.07);
	background: transparent;
}

body.opsmind-hotel-ui .ops-breadcrumb ul,
body.single-ops_hotel .ops-breadcrumb ul,
body.single-ops_hotel #ops-content-wrapper .opsmind-breadcrumb-wrap .ops-breadcrumb ul {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 0;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	background: transparent !important;
	font-family: var(--opsmind-font, "Tajawal", "Cairo", sans-serif);
	direction: rtl;
}

body.opsmind-hotel-ui .ops-breadcrumb ul li,
body.single-ops_hotel .ops-breadcrumb ul li,
body.single-ops_hotel #ops-content-wrapper .opsmind-breadcrumb-wrap .ops-breadcrumb ul li {
	position: relative;
	display: inline-flex !important;
	align-items: center;
	max-width: 100%;
	padding: 0 !important;
	margin: 0 !important;
	font-size: 15px;
	line-height: 1.45;
	font-weight: 500;
	color: var(--opsmind-ink, #1a2233);
	z-index: 0;
	letter-spacing: 0;
}

/* Soft slash separators */
body.opsmind-hotel-ui .ops-breadcrumb ul li:not(:last-child)::after,
body.single-ops_hotel .ops-breadcrumb ul li:not(:last-child)::after,
body.single-ops_hotel #ops-content-wrapper .opsmind-breadcrumb-wrap .ops-breadcrumb ul li:not(:last-child)::after {
	content: "/" !important;
	position: static !important;
	display: inline-block;
	width: auto;
	height: auto;
	margin: 0 10px;
	border: 0 !important;
	background: none !important;
	transform: none;
	top: auto !important;
	right: auto !important;
	left: auto !important;
	opacity: 0.4;
	flex-shrink: 0;
	font-size: 14px;
	line-height: 1;
	color: #94a3b8 !important;
	font-weight: 500;
}

body.opsmind-hotel-ui .ops-breadcrumb ul li a,
body.single-ops_hotel .ops-breadcrumb ul li a,
body.single-ops_hotel #ops-content-wrapper .opsmind-breadcrumb-wrap .ops-breadcrumb ul li a {
	display: inline-flex !important;
	align-items: center;
	gap: 7px;
	padding: 2px 0 !important;
	color: var(--opsmind-ink, #1a2233) !important;
	font-weight: 600 !important;
	font-size: 15px !important;
	text-decoration: none !important;
	border-radius: 0;
	transition: color 0.15s ease;
	line-height: 1.4 !important;
	background: transparent !important;
	opacity: 0.72;
}

body.opsmind-hotel-ui .ops-breadcrumb ul li a:hover,
body.single-ops_hotel .ops-breadcrumb ul li a:hover,
body.single-ops_hotel #ops-content-wrapper .opsmind-breadcrumb-wrap .ops-breadcrumb ul li a:hover {
	color: var(--opsmind-accent, #2d5be3) !important;
	opacity: 1;
	background: transparent !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Home crumb — icon + label */
body.opsmind-hotel-ui .ops-breadcrumb ul li:first-child a::before,
body.single-ops_hotel .ops-breadcrumb ul li:first-child a::before {
	content: "";
	display: inline-block;
	width: 17px;
	height: 17px;
	flex-shrink: 0;
	background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a2233' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5L12 3l9 7.5'/%3E%3Cpath d='M5 9.5V21h14V9.5'/%3E%3Cpath d='M10 21v-7h4v7'/%3E%3C/svg%3E");
	opacity: 0.7;
	transition: opacity 0.15s ease;
}

body.opsmind-hotel-ui .ops-breadcrumb ul li:first-child a:hover::before,
body.single-ops_hotel .ops-breadcrumb ul li:first-child a:hover::before {
	opacity: 1;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232d5be3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5L12 3l9 7.5'/%3E%3Cpath d='M5 9.5V21h14V9.5'/%3E%3Cpath d='M10 21v-7h4v7'/%3E%3C/svg%3E");
}

/* Current crumb — same family, slightly stronger */
body.opsmind-hotel-ui .ops-breadcrumb ul li.active,
body.single-ops_hotel .ops-breadcrumb ul li.active,
body.single-ops_hotel #ops-content-wrapper .opsmind-breadcrumb-wrap .ops-breadcrumb ul li.active {
	color: var(--opsmind-ink, #1a2233) !important;
	font-weight: 700 !important;
	font-size: 15px;
	max-width: min(520px, 58vw);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	opacity: 1;
}

@media (max-width: 575.98px) {
	body.opsmind-hotel-ui .opsmind-breadcrumb-wrap,
	body.single-ops_hotel .opsmind-hotel-title-band .opsmind-breadcrumb-wrap {
		margin-bottom: 14px;
		padding-bottom: 12px;
	}

	body.opsmind-hotel-ui .ops-breadcrumb ul li,
	body.single-ops_hotel .ops-breadcrumb ul li,
	body.opsmind-hotel-ui .ops-breadcrumb ul li a,
	body.single-ops_hotel .ops-breadcrumb ul li a,
	body.opsmind-hotel-ui .ops-breadcrumb ul li.active,
	body.single-ops_hotel .ops-breadcrumb ul li.active {
		font-size: 13px !important;
	}
	body.opsmind-hotel-ui .ops-breadcrumb ul li.active,
	body.single-ops_hotel .ops-breadcrumb ul li.active {
		max-width: 42vw;
	}
	body.opsmind-hotel-ui .ops-breadcrumb ul li:not(:last-child)::after,
	body.single-ops_hotel .ops-breadcrumb ul li:not(:last-child)::after {
		margin: 0 7px;
		font-size: 12px;
	}
}

/* Grid results: 3 / 2 / 1 — mobile full-width from 768px (see opsmind-listings.css) */
@media (min-width: 992px) {
	body.opsmind-hotel-ui .modern-search-result .service-list-wrapper.row > [class*="col-lg-4"],
	body.opsmind-hotel-ui .modern-search-result .service-list-wrapper.row > [class*="col-md-4"],
	body.opsmind-hotel-ui .opsmind-results-grid > [class*="col-lg-4"],
	body.opsmind-hotel-ui .opsmind-results-grid > [class*="col-md-4"] {
		flex: 0 0 33.333333%;
		max-width: 33.333333%;
		width: 33.333333%;
		padding-left: 8px;
		padding-right: 8px;
	}
}

@media (min-width: 768px) and (max-width: 991.98px) {
	body.opsmind-hotel-ui .modern-search-result .service-list-wrapper.row > [class*="col-lg-4"],
	body.opsmind-hotel-ui .modern-search-result .service-list-wrapper.row > [class*="col-md-4"],
	body.opsmind-hotel-ui .opsmind-results-grid > [class*="col-lg-4"],
	body.opsmind-hotel-ui .opsmind-results-grid > [class*="col-md-4"] {
		flex: 0 0 50% !important;
		max-width: 50% !important;
		width: 50% !important;
	}
}

@media (max-width: 767.98px) {
	body.opsmind-hotel-ui .modern-search-result .service-list-wrapper.row > [class*="col-"],
	body.opsmind-hotel-ui .opsmind-results-grid > [class*="col-"] {
		flex: 0 0 100% !important;
		max-width: 100% !important;
		width: 100% !important;
	}
}

.opsmind-hotel-card-grid {
	display: flex;
	flex-direction: column;
	height: 100%;
	margin-bottom: 16px;
	text-align: right;
	direction: rtl;
}

.opsmind-hotel-card-grid .opsmind-grid-media {
	position: relative;
	overflow: hidden;
	aspect-ratio: 16 / 10;
	background: var(--opsmind-soft);
}

.opsmind-hotel-card-grid .opsmind-grid-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.opsmind-hotel-card-grid .opsmind-grid-body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 10px 12px 12px;
	text-align: right;
	gap: 2px;
}

.opsmind-hotel-card-grid .opsmind-card-stars {
	margin: 0 0 2px !important;
}

.opsmind-hotel-card-grid .opsmind-card-stars i,
.opsmind-hotel-card-grid .opsmind-card-stars .fa {
	font-size: 12px !important;
}

.opsmind-hotel-card-grid .opsmind-card-title,
.opsmind-hotel-card-grid .title {
	margin: 0 0 2px;
	font-size: 15px;
	font-weight: 800;
	text-align: right;
	line-height: 1.3;
}

.opsmind-hotel-card-grid .opsmind-card-title a,
.opsmind-hotel-card-grid .title a {
	color: var(--opsmind-ink);
	text-decoration: none;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.opsmind-hotel-card-grid .opsmind-card-city {
	margin: 0 0 6px;
	font-size: 12px;
	color: var(--opsmind-muted);
}

.opsmind-hotel-card-grid .opsmind-card-rating {
	margin: 0 0 6px;
	align-self: flex-start;
	padding: 4px 8px 4px 4px !important;
	gap: 6px !important;
}

.opsmind-hotel-card-grid .opsmind-card-rating .opsmind-score {
	min-width: 48px !important;
	height: 32px !important;
	padding: 0 8px !important;
	font-size: 14px !important;
	border-radius: 8px !important;
}

.opsmind-hotel-card-grid .opsmind-card-rating .opsmind-score-den {
	font-size: 10px !important;
}

.opsmind-hotel-card-grid .opsmind-card-rating .opsmind-score-label,
.opsmind-hotel-card-grid .opsmind-card-rating .opsmind-review-count {
	font-size: 12px !important;
}

.opsmind-hotel-card-grid .opsmind-badges {
	margin: 0 0 8px;
	gap: 4px;
}

.opsmind-hotel-card-grid .opsmind-badge {
	font-size: 11px;
	padding: 3px 6px;
}

.opsmind-hotel-card-grid .opsmind-grid-footer {
	margin-top: auto;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 8px;
}

.opsmind-hotel-card-grid .opsmind-grid-price-row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 6px;
	justify-content: flex-start;
}

.opsmind-hotel-card-grid .opsmind-price-block {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1px;
}

.opsmind-hotel-card-grid .opsmind-grid-price-row .opsmind-price-label,
.opsmind-hotel-card-grid .opsmind-grid-price-row .opsmind-price-unit {
	font-size: 11px;
}

.opsmind-hotel-card-grid .opsmind-grid-price-row .opsmind-price-main {
	font-size: 16px;
	font-weight: 800;
	color: var(--opsmind-ink);
	direction: ltr;
	unicode-bidi: isolate;
}

.opsmind-hotel-card-grid .opsmind-price-egp,
.opsmind-hotel-card-grid .opsmind-price-alt {
	font-size: 11px;
}

.opsmind-hotel-card-grid .opsmind-card-cta {
	width: 100%;
	display: block;
	padding: 8px 10px !important;
	font-size: 13px !important;
}

.opsmind-hotel-card-grid .ops-stars,
.opsmind-hotel-card-grid .featured-image .ops-stars {
	position: static !important;
	margin: 0 0 2px;
}

/* Toolbar result count ? full width, RTL */
body.opsmind-hotel-ui .opsmind-toolbar {
	flex-wrap: wrap;
	gap: 8px;
	align-items: center !important;
}

body.opsmind-hotel-ui .opsmind-toolbar .modern-result-string,
body.opsmind-hotel-ui .opsmind-toolbar h2.search-string {
	flex: 1 1 auto;
	margin: 0;
	text-align: right;
	font-size: 16px;
	font-weight: 700;
}

body.opsmind-hotel-ui .opsmind-toolbar .toolbar-action {
	flex: 0 0 auto;
}

/* Hide OpsMind Travel avatar/compare clutter on grid media */
.opsmind-hotel-card-grid .avatar-service-in-list,
.opsmind-hotel-card-grid .ops-compare {
	display: none !important;
}

/* ??? Hotel single ??? */
body.opsmind-hotel-ui.single-ops_hotel,
body.opsmind-hotel-ui .opsmind-hotel-single {
	--opsmind-media-radius: 25px;
	--opsmind-card-radius: 16px;
}

body.opsmind-hotel-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single,
body.opsmind-hotel-ui .opsmind-hotel-single {
	background: #ffffff;
	padding-bottom: 48px;
}

/* Title band — clear breathing room under dark header */
body.single-ops_hotel .opsmind-hotel-title-band,
body.opsmind-hotel-ui .opsmind-hotel-title-band,
.opsmind-hotel-single .opsmind-hotel-title-band {
	position: relative;
	z-index: 2;
	background: #fff;
	width: 100%;
	border-bottom: 1px solid #eef1f5;
	margin: 0 0 24px;
	box-shadow: none;
	padding-top: 36px !important;
}

.opsmind-hotel-header-wrap {
	padding-top: 0 !important;
	padding-bottom: 20px;
	background: transparent;
}

body.single-ops_hotel,
body.single-ops_hotel #ops-content-wrapper,
body.single-hotel_room,
body.single-hotel_room #ops-content-wrapper {
	background: #ffffff !important;
}

.opsmind-hotel-single .opsmind-gallery-wrap {
	margin-bottom: 24px;
}

/* Gallery / main photos ? soft 25px curves */
.opsmind-hotel-single .ops-gallery,
.opsmind-hotel-single .opsmind-gallery-wrap,
.opsmind-hotel-single .ops-gallery .fotorama__stage,
.opsmind-hotel-single .ops-gallery .fotorama__wrap,
.opsmind-hotel-single .ops-gallery .fotorama__stage__shaft,
.opsmind-hotel-single .ops-gallery .fotorama__stage__frame,
.opsmind-hotel-single .ops-gallery .fotorama__img,
.opsmind-hotel-single .ops-gallery img,
.opsmind-hotel-single .opsmind-gallery-wrap img,
.opsmind-hotel-single .ops-list-rooms .item .thumb img,
.opsmind-hotel-single .hotel-room-item .thumb img,
.opsmind-hotel-single .room-item .thumb img,
.opsmind-hotel-single .item-room .thumb img {
	border-radius: var(--opsmind-media-radius) !important;
	overflow: hidden;
}

.opsmind-hotel-single .ops-gallery .fotorama__nav-wrap,
.opsmind-hotel-single .ops-gallery .fotorama__nav,
.opsmind-hotel-single .ops-gallery .fotorama__thumb-border,
.opsmind-hotel-single .ops-gallery .fotorama__thumb,
.opsmind-hotel-single .ops-gallery .fotorama__nav__frame img {
	border-radius: 12px !important;
	overflow: hidden;
}

.opsmind-hotel-single .ops-gallery .fotorama__nav__frame {
	border-radius: 12px;
	overflow: hidden;
}

/* Circular action buttons on gallery */
.opsmind-hotel-single .ops-gallery .shares,
.opsmind-hotel-single .opsmind-gallery-wrap .shares,
.opsmind-hotel-single .btn-share,
.opsmind-hotel-single .service-wishlist,
.opsmind-hotel-single .ops-video-popup {
	border-radius: 999px;
}

.opsmind-hotel-single .ops-heading,
.opsmind-hotel-single .ops-heading-section {
	font-family: var(--opsmind-font);
	font-weight: 800;
	color: var(--opsmind-ink);
	letter-spacing: 0;
}

/* Stars above title (RTL start edge). */
.opsmind-hotel-single .ops-service-header2 .left,
.opsmind-hotel-single .ops-service-header .left,
.opsmind-hotel-header__main {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	flex: 1 1 280px;
	min-width: 0;
}

/* Full-bleed white title band under dark nav */
.opsmind-hotel-title-band {
	background: #fff;
	width: 100%;
	border-bottom: 1px solid #eef1f5;
	margin: 0 0 24px;
	box-shadow: none;
	padding-top: 36px;
}

.opsmind-hotel-header-wrap {
	padding-top: 0;
	padding-bottom: 20px;
	background: transparent;
}

.opsmind-hotel-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px 24px;
	margin: 0;
	padding: 6px 0 2px;
	min-height: 0;
	width: 100%;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

.opsmind-hotel-header__title,
.opsmind-hotel-single .ops-service-header2 .left .ops-heading,
.opsmind-hotel-single .ops-service-header .left .ops-heading {
	margin: 0 !important;
	font-size: clamp(1.45rem, 2.2vw, 1.95rem) !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	color: var(--opsmind-ink, #1a2233) !important;
	letter-spacing: -0.015em;
}

.opsmind-hotel-header .st-stars,
.opsmind-hotel-header .ops-stars,
.opsmind-hotel-header .star,
.opsmind-hotel-header .ops-icon-star1 {
	color: #e85a4f !important;
	font-size: 14px;
	letter-spacing: 2px;
	line-height: 1;
}

/* Inline meta: badge · label · reviews · place · map */
.opsmind-hotel-header__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin-top: 4px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--opsmind-muted, #5e6d77);
}

.opsmind-score-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	padding: 4px 8px;
	border: 1.5px solid var(--main-color, #3b71fe);
	border-radius: 8px;
	color: var(--main-color, #3b71fe) !important;
	background: #fff;
	font-weight: 700;
	font-size: 13px;
	line-height: 1.2;
}

.opsmind-hotel-header__label {
	color: var(--opsmind-ink, #1a2233);
	font-weight: 700;
	font-size: 14px;
}

.opsmind-hotel-header__reviews,
.opsmind-hotel-header__map {
	color: var(--main-color, #3b71fe) !important;
	font-weight: 600;
	text-decoration: none !important;
}

.opsmind-hotel-header__reviews:hover,
.opsmind-hotel-header__map:hover {
	text-decoration: underline !important;
}

.opsmind-hotel-header__sep {
	color: #b0b8c4;
	font-weight: 700;
	user-select: none;
}

.opsmind-hotel-header__place {
	color: var(--opsmind-muted, #5e6d77);
	font-weight: 500;
}

.opsmind-hotel-header__actions {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
	margin-inline-start: auto;
	align-self: center;
}

/* Rating card — sits where «احجز غرفة» was */
.opsmind-rating-card {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 10px 16px 10px 10px;
	background: #fff;
	border: 1px solid #e8edf3;
	border-radius: 16px;
	box-shadow: 0 6px 20px rgba(26, 34, 51, 0.08);
	direction: rtl;
}

.opsmind-rating-card__score {
	display: inline-flex;
	align-items: baseline;
	justify-content: center;
	gap: 1px;
	min-width: 52px;
	padding: 8px 10px;
	border-radius: 12px;
	background: var(--main-color, #3b71fe);
	color: #fff !important;
	font-weight: 800;
	font-size: 16px;
	line-height: 1;
	font-family: var(--opsmind-font, "Tajawal", "Cairo", sans-serif);
}

.opsmind-rating-card__score span {
	font-size: 12px;
	font-weight: 700;
	opacity: 0.92;
}

.opsmind-rating-card__label {
	color: #1a2233;
	font-weight: 700;
	font-size: 15px;
	line-height: 1.2;
	white-space: nowrap;
	padding-inline-end: 4px;
}

.opsmind-icon-btn,
.opsmind-hotel-header .shares > a,
.opsmind-hotel-header .service-add-wishlist {
	width: 46px !important;
	height: 46px !important;
	min-width: 46px;
	border-radius: 999px !important;
	border: 1px solid #d7dde5 !important;
	background: #fff !important;
	color: #5e6d77 !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	box-shadow: 0 1px 2px rgba(26, 34, 51, 0.04);
	padding: 0 !important;
	margin: 0 !important;
	text-decoration: none !important;
	transition: border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.opsmind-icon-btn:hover,
.opsmind-hotel-header .shares > a:hover,
.opsmind-hotel-header .service-add-wishlist:hover,
.opsmind-hotel-header .service-add-wishlist.added {
	border-color: var(--opsmind-orange, #ed8323) !important;
	color: var(--opsmind-orange, #ed8323) !important;
	box-shadow: 0 4px 12px rgba(237, 131, 35, 0.12);
}

.opsmind-reserve-btn {
	display: none !important;
}

@media screen and (max-width: 767px) {
	.opsmind-hotel-title-band,
	body.single-ops_hotel .opsmind-hotel-title-band {
		margin-bottom: 16px;
		padding-top: 24px !important;
	}

	.opsmind-hotel-header-wrap {
		padding-bottom: 14px;
	}

	.opsmind-hotel-header {
		min-height: 0;
		padding-top: 4px;
		align-items: flex-start;
	}

	.opsmind-hotel-header__actions {
		width: 100%;
		justify-content: flex-start;
		margin-inline-start: 0;
		align-self: stretch;
	}

	.opsmind-rating-card {
		width: 100%;
		justify-content: flex-start;
	}
}

.opsmind-hotel-single .sub-heading a.ops-link,
.opsmind-hotel-single a.ops-link {
	color: var(--main-color, #3b71fe) !important;
	font-weight: 600;
}

/* Legacy review-score card — hide when new header meta is present */
.opsmind-hotel-header ~ .review-score,
.opsmind-hotel-header .review-score {
	display: none !important;
}

.opsmind-hotel-single .review-score {
	background: #fff;
	border: 1px solid var(--opsmind-line);
	border-radius: 14px;
	box-shadow: var(--opsmind-shadow);
	padding: 12px 14px;
	overflow: hidden;
}

.opsmind-hotel-single .review-score .head {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 14px;
}

.opsmind-hotel-single .review-score .head .left {
	padding: 0;
	margin: 0;
}

.opsmind-hotel-single .review-score .score {
	background: var(--main-color, #3b71fe) !important;
	color: #fff !important;
	border-radius: 10px;
	flex-shrink: 0;
	position: relative;
	overflow: hidden;
}

/* Hide OpsMind Travel speech-bubble caret (orange/blue triangle under score) */
.opsmind-hotel-single .review-score .score::after,
.opsmind-hotel-single .review-score .head .score:after,
.single-ops_hotel .ops-service-header .review-score .head .score:after {
	content: none !important;
	display: none !important;
	border: 0 !important;
}

.opsmind-hotel-single .review-score .head-rating,
.opsmind-hotel-single .review-score .text-rating {
	color: var(--opsmind-muted);
}

.opsmind-hotel-single #ops-reviews,
.opsmind-hotel-single #reviews,
.opsmind-hotel-single #write-review,
.opsmind-hotel-single .comment-respond,
.opsmind-hotel-single #comments {
	display: none !important;
}

/* Content sections as soft cards */
.opsmind-hotel-single .ops-hr {
	border: 0;
	height: 0;
	margin: 12px 0;
}

.opsmind-hotel-single .ops-description,
.opsmind-hotel-single .ops-attributes,
.opsmind-hotel-single .opsmind-facilities-block,
.opsmind-hotel-single .ops-hotel-rule,
.opsmind-hotel-single .ops-properties,
.opsmind-hotel-single .list-attributes,
.opsmind-hotel-single .ops-list-rooms,
.opsmind-hotel-single .hotel-target-book-mobile,
.opsmind-hotel-single .owner-info,
.opsmind-hotel-single .widget-box,
.opsmind-hotel-single .map-view-wrapper,
.opsmind-hotel-single .ops-logo-box,
.opsmind-hotel-single .accordion-item,
.opsmind-hotel-single .ops-faq,
.opsmind-hotel-single .opsmind-location-section,
.opsmind-hotel-single .opsmind-faq-section {
	background: #fff;
	border: 1px solid var(--opsmind-line);
	border-radius: var(--opsmind-card-radius);
	box-shadow: var(--opsmind-shadow);
	padding: 20px 22px;
	margin-bottom: 16px;
}

.opsmind-hotel-single .ops-heading-section {
	margin-bottom: 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--opsmind-line);
	font-size: 18px;
}

/* Amenities grid breathing room */
.opsmind-hotel-single .list-attributes .item,
.opsmind-hotel-single .ops-attributes ul li,
.opsmind-hotel-single .facilities .item {
	padding: 8px 4px;
	gap: 10px;
}

.opsmind-hotel-single .list-attributes .item i,
.opsmind-hotel-single .ops-attributes i {
	color: var(--opsmind-blue);
}

/* Room cards */
.opsmind-hotel-single .ops-list-rooms .item:not(.opsmind-room-card),
.opsmind-hotel-single .hotel-room-item,
.opsmind-hotel-single .room-item,
.opsmind-hotel-single .item-room {
	border: 1px solid var(--opsmind-line) !important;
	border-radius: var(--opsmind-card-radius) !important;
	overflow: hidden;
	background: #fff;
	box-shadow: none;
	margin-bottom: 14px;
	padding: 14px !important;
}

.opsmind-hotel-single .ops-list-rooms .item .thumb,
.opsmind-hotel-single .hotel-room-item .thumb,
.opsmind-hotel-single .room-item .thumb {
	border-radius: var(--opsmind-media-radius);
	overflow: hidden;
}

.opsmind-hotel-single .ops-list-rooms .price,
.opsmind-hotel-single .hotel-room-item .price,
.opsmind-hotel-single .room-item .price {
	color: var(--opsmind-ink);
	font-weight: 800;
}

.opsmind-hotel-single .ops-list-rooms .btn,
.opsmind-hotel-single .hotel-room-item .btn,
.opsmind-hotel-single .room-item .btn,
.opsmind-hotel-single .btn-extra-room,
.opsmind-hotel-single .btn-show-price,
.opsmind-hotel-single a.btn-primary,
.opsmind-hotel-single .btn.btn-primary,
.opsmind-hotel-single .btn-green,
.opsmind-hotel-single .btn-mpopup {
	background: var(--opsmind-orange) !important;
	border-color: var(--opsmind-orange) !important;
	color: #fff !important;
	border-radius: 10px !important;
	font-weight: 700;
	box-shadow: none !important;
}

.opsmind-hotel-single .ops-list-rooms .btn:hover,
.opsmind-hotel-single .btn-green:hover,
.opsmind-hotel-single .btn-mpopup:hover {
	background: var(--opsmind-blue-dark) !important;
	border-color: var(--opsmind-blue-dark) !important;
}

.opsmind-badges-section {
	margin: 16px 0 8px;
}

.opsmind-sticky-book {
	position: sticky;
	top: 96px;
	z-index: 5;
}

/* Booking box ? theme orange header */
.opsmind-book-box,
.opsmind-hotel-single .form-book-wrapper,
.opsmind-hotel-single .ops-form-book-wrapper {
	background: #fff;
	border: 1px solid var(--opsmind-line) !important;
	border-radius: var(--opsmind-card-radius) !important;
	box-shadow: var(--opsmind-shadow);
	padding: 0;
	overflow: visible;
	position: relative;
}

.opsmind-book-box:has(> .opsmind-live-viewers),
.opsmind-hotel-single .form-book-wrapper:has(> .opsmind-live-viewers),
.opsmind-hotel-single .ops-form-book-wrapper:has(> .opsmind-live-viewers) {
	/* Top corners on the white card; bottom radius on the live-viewers bar */
	border-radius: var(--opsmind-card-radius) var(--opsmind-card-radius) 0 0 !important;
}

/* Keep gradient head clipped; allow guest dropdown to overflow the card. */
.opsmind-book-box .form-head,
.opsmind-hotel-single .form-book-wrapper .form-head,
.opsmind-hotel-single .ops-form-book-wrapper .form-head {
	overflow: hidden;
}

#ops-content-wrapper .form-book-wrapper .field-guest .dropdown-menu,
#ops-content-wrapper .ops-form-book-wrapper .field-guest .dropdown-menu,
.opsmind-book-box .field-guest .dropdown-menu,
.opsmind-guest-dropdown {
	max-height: min(70vh, 420px) !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	z-index: 40;
}

.opsmind-guest-dropdown .opsmind-child-ages,
.field-guest .opsmind-child-ages {
	border-top: 1px solid #eef2f7;
	margin-top: 4px;
}

.opsmind-child-ages__label {
	display: block;
	margin-bottom: 8px;
	font-weight: 600;
	font-size: 13px;
}

.opsmind-child-ages__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	width: 100%;
}

.opsmind-child-ages__select {
	width: 100% !important;
	margin: 0 !important;
	min-width: 0;
}

/* Guest names on room book form — always visible when rendered. */
.hotel-room-booking-form .guest_name_input,
.form-book-wrapper .guest_name_input {
	display: block !important;
	padding: 12px 16px 4px;
}
.hotel-room-booking-form .guest_name_input.d-none {
	display: block !important;
}
.hotel-room-booking-form .guest_name_control .control-item {
	display: flex;
	gap: 8px;
	margin-bottom: 8px;
}
.hotel-room-booking-form .guest_name_control .control-item select {
	max-width: 110px;
}

.opsmind-hotel-single .form-book-wrapper .form-head,
.opsmind-hotel-single .ops-form-book-wrapper .form-head,
.opsmind-book-box .form-head,
.opsmind-hotel-single .ops-form-head-book,
.opsmind-book-box .ops-form-head-book,
body.single-hotel_room #ops-content-wrapper .form-book-wrapper .form-head,
body.single-hotel_room #ops-content-wrapper .ops-form-book-wrapper .form-head,
body.single-hotel_room #ops-content-wrapper .ops-form-head-book,
body.single-hotel_room #ops-content-wrapper .form-booking-price {
	background: var(--opsmind-book-grad) !important;
	border: 0 !important;
	color: #fff !important;
	padding: 16px 18px !important;
	border-radius: var(--opsmind-card-radius, 16px) var(--opsmind-card-radius, 16px) 0 0 !important;
	min-height: 52px;
	align-items: center !important;
}

.opsmind-hotel-single .form-book-wrapper .form-head .price,
.opsmind-hotel-single .form-book-wrapper .form-head .price *,
.opsmind-book-box .form-head .price,
.opsmind-hotel-single .ops-form-head-book,
.opsmind-hotel-single .ops-form-head-book .price,
.opsmind-hotel-single .ops-form-head-book .price *,
.opsmind-hotel-single .ops-form-head-book .unit,
.opsmind-book-box .ops-form-head-book .price,
.opsmind-book-box .ops-form-head-book .unit,
body.single-hotel_room #ops-content-wrapper .form-book-wrapper .form-head,
body.single-hotel_room #ops-content-wrapper .form-book-wrapper .form-head .price,
body.single-hotel_room #ops-content-wrapper .form-book-wrapper .form-head .price *,
body.single-hotel_room #ops-content-wrapper .form-book-wrapper .form-head .unit {
	color: #fff !important;
}

.opsmind-hotel-single .form-book-wrapper .form-group,
.opsmind-book-box .form-group {
	padding-left: 16px;
	padding-right: 16px;
}

.opsmind-hotel-single .form-book-wrapper .submit-group,
.opsmind-book-box .submit-group {
	padding: 8px 16px 18px;
}

.opsmind-hotel-single .form-book-wrapper .btn-book,
.opsmind-hotel-single .form-book-wrapper button[type="submit"],
.opsmind-hotel-single .form-book-wrapper .btn-green,
.opsmind-book-box .btn-book,
.opsmind-book-box button[type="submit"] {
	background: var(--opsmind-blue) !important;
	border-color: var(--opsmind-blue) !important;
	border-radius: 10px !important;
	font-weight: 700;
	width: 100%;
}

.opsmind-book-box .nav-tabs a {
	font-weight: 700;
}

.opsmind-hotel-single .map-view-wrapper .map-view,
.opsmind-hotel-single .map-view-wrapper img {
	border-radius: calc(var(--opsmind-card-radius) - 4px);
	overflow: hidden;
}

/* Free OSM sidebar / location maps */
.opsmind-hotel-single .opsmind-hotel-map-card {
	padding: 0 !important;
	overflow: hidden;
	margin-top: 12px;
	border: 1px solid var(--opsmind-line, #e3e8ef);
}
.opsmind-hotel-single .opsmind-hotel-map-card__hit {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	position: relative;
	text-align: right;
}
.opsmind-hotel-single .opsmind-hotel-map-card__map {
	width: 100%;
	height: 200px;
	border-radius: 0;
	background: #d9e4f0;
	z-index: 1;
	pointer-events: none;
}
.opsmind-hotel-single .opsmind-hotel-map-card__overlay {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	background: linear-gradient(180deg, rgba(10, 24, 48, 0.15), rgba(10, 24, 48, 0.55));
	color: #fff;
	font-family: Tajawal, sans-serif;
	pointer-events: none;
}
.opsmind-hotel-single .opsmind-hotel-map-card__ico {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: rgba(27, 127, 234, 0.95);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 4px;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
}
.opsmind-hotel-single .opsmind-hotel-map-card__overlay strong {
	font-size: 15px;
	font-weight: 800;
}
.opsmind-hotel-single .opsmind-hotel-map-card__overlay em {
	font-style: normal;
	font-size: 12px;
	opacity: 0.9;
}
.opsmind-hotel-single .opsmind-hotel-map-card__hit:hover .opsmind-hotel-map-card__overlay {
	background: linear-gradient(180deg, rgba(10, 24, 48, 0.25), rgba(10, 24, 48, 0.65));
}

/* Hide old OpsMind Travel "view on map" under title */
.opsmind-hotel-single .ops-service-header2 .map-view,
.opsmind-hotel-single .sub-heading .map-view {
	display: none !important;
}

.opsmind-hotel-single .opsmind-location-open-map {
	width: 100%;
	border-radius: 10px;
	font-family: Tajawal, sans-serif;
	font-weight: 700;
}

/* OSM popup */
body.opsmind-osm-modal-open {
	overflow: hidden;
}
.opsmind-osm-modal[hidden] {
	display: none !important;
}
.opsmind-osm-modal {
	position: fixed;
	inset: 0;
	z-index: 100050;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}
.opsmind-osm-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(8, 16, 32, 0.62);
	backdrop-filter: blur(2px);
}
.opsmind-osm-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(1225px, 96vw); /* +25% vs 980px */
	max-width: 96vw;
	background: #fff;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 24px 80px rgba(0, 0, 0, 0.35);
	direction: rtl;
}
.opsmind-osm-modal__map {
	display: block !important;
	width: 100% !important;
	/* height = 50% of width (set also in JS for Leaflet) */
	aspect-ratio: 2 / 1 !important;
	height: auto !important;
	min-height: 360px !important;
	background: #e8eef5 !important;
	z-index: 1;
	pointer-events: auto !important;
}
.opsmind-osm-modal__map.leaflet-container {
	width: 100% !important;
	aspect-ratio: 2 / 1 !important;
	min-height: 360px !important;
}
.opsmind-osm-modal__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 18px;
	border-bottom: 1px solid #e8eef5;
	font-family: Tajawal, sans-serif;
}
.opsmind-osm-modal__titles {
	display: flex;
	flex-direction: column;
	gap: 2px;
	text-align: right;
}
.opsmind-osm-modal__titles strong {
	font-size: 16px;
	color: #0f1c34;
}
.opsmind-osm-modal__titles span {
	font-size: 12px;
	color: #6b7a90;
}
.opsmind-osm-modal__close {
	width: 36px;
	height: 36px;
	border: 0;
	border-radius: 50%;
	background: #f1f4f8;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	color: #334;
}
.opsmind-osm-modal__foot {
	padding: 12px 18px;
	border-top: 1px solid #e8eef5;
	text-align: left;
}
.opsmind-osm-modal__ext {
	font-family: Tajawal, sans-serif;
	font-weight: 700;
	font-size: 13px;
	color: #1b7fea;
	text-decoration: none;
}
.opsmind-osm-modal__ext:hover {
	text-decoration: underline;
}

@media (max-width: 767px) {
	.opsmind-osm-modal__dialog {
		width: calc(100% - 16px);
	}
	.opsmind-osm-modal__map,
	.opsmind-osm-modal__map.leaflet-container {
		min-height: 280px !important;
	}
	.opsmind-hotel-single .opsmind-hotel-map-card__map {
		height: 180px;
	}
}

.opsmind-hotel-single .owner-info .media-left img,
.opsmind-hotel-single .owner-info img.avatar {
	border-radius: 50%;
}

.opsmind-hotel-single .hotel-target-book-mobile {
	display: flex;
	align-items: center;
	gap: 12px;
}

.opsmind-location-section,
.opsmind-faq-section {
	margin-top: 8px;
}

/* City-only geo ? match Guests field (form-extra-field) look */
.opsmind-geo-search.opsmind-geo-city-only {
	display: block;
	width: 100%;
	padding: 0;
	gap: 0;
}

.opsmind-geo-search.opsmind-geo-city-only .form-extra-field {
	width: 100%;
	cursor: pointer;
}

.opsmind-geo-search.opsmind-geo-city-only .opsmind-city-select-hidden,
.opsmind-geo-search.opsmind-geo-city-only select#opsmind_city_id {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	border: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.opsmind-geo-search.opsmind-geo-city-only .opsmind-city-dropdown-menu {
	min-width: 100%;
	max-height: 260px;
	overflow-y: auto;
	padding: 8px 0;
	border-radius: 8px;
	border: 1px solid var(--opsmind-line, #e4e9f0);
	box-shadow: var(--opsmind-shadow, 0 8px 28px rgba(26, 34, 51, 0.08));
}

.opsmind-geo-search.opsmind-geo-city-only .opsmind-city-dropdown-menu .opsmind-city-option {
	display: block;
	padding: 10px 16px;
	cursor: pointer;
	text-align: right;
	font-size: 14px;
	color: var(--opsmind-ink, #1a2233);
	border: 0 !important;
}

.opsmind-geo-search.opsmind-geo-city-only .opsmind-city-dropdown-menu .opsmind-city-option:hover,
.opsmind-geo-search.opsmind-geo-city-only .opsmind-city-dropdown-menu .opsmind-city-option.active {
	background: rgba(59, 113, 254, 0.08);
	color: var(--opsmind-orange, #ed8323);
}

.opsmind-geo-search.opsmind-geo-city-only .opsmind-city-display {
	color: inherit;
}

.opsmind-search-form .opsmind-geo-search.opsmind-geo-city-only,
.ops-banner-search-form .opsmind-geo-search.opsmind-geo-city-only,
.sidebar-search-form .opsmind-geo-search.opsmind-geo-city-only {
	padding: 0;
}

/* Hide country field if old markup still present. */
.opsmind-geo-search label[for="opsmind_country_id"],
.opsmind-geo-search select#opsmind_country_id {
	display: none !important;
}

/* Legacy boxed select styles (unused when dropdown UI is active) */
.opsmind-geo-field label {
	display: block;
	font-size: 13px;
	font-weight: 700;
	margin-bottom: 6px;
	color: #1d2327;
}

.opsmind-geo-select {
	width: 100%;
	min-height: 44px;
	border: 1px solid var(--opsmind-line, #dcdcde);
	border-radius: 8px;
	padding: 8px 12px;
	background: #fff;
	font-family: inherit;
	font-size: 14px;
}

.opsmind-faq-item {
	border: 1px solid var(--opsmind-line);
	border-radius: 10px;
	padding: 12px 14px;
	margin-bottom: 8px;
	background: #fff;
}

.opsmind-faq-item summary {
	cursor: pointer;
	font-weight: 700;
}

.opsmind-faq-answer {
	margin-top: 8px;
	color: var(--opsmind-muted);
	font-size: 14px;
}

.opsmind-map-trigger .map-view {
	cursor: pointer;
}

/* ??? Responsive ??? */
@media (max-width: 991px) {
	.opsmind-sticky-book {
		position: static;
	}

	.opsmind-card-aside {
		border-right: 0;
		border-top: 1px solid var(--opsmind-line);
	}

	.opsmind-search-form .opsmind-search-fields .opsmind-field {
		border-left: 0 !important;
		border-bottom: 1px solid var(--opsmind-line);
	}
}

@media (max-width: 575px) {
	.opsmind-chips {
		flex-wrap: nowrap;
		overflow-x: auto;
		padding-bottom: 6px;
		-webkit-overflow-scrolling: touch;
	}
}

/* Motion */
@keyframes opsmind-fade-up {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.opsmind-hotel-card,
.opsmind-quick-filters,
.opsmind-book-box {
	animation: opsmind-fade-up 0.45s ease both;
}

.opsmind-chip:nth-child(2) { animation-delay: 0.04s; }
.opsmind-chip:nth-child(3) { animation-delay: 0.08s; }

/* Keep check-in ? check-out chronological under RTL (avoid visual date swap) */
body.opsmind-hotel-ui .opsmind-date-range,
body.opsmind-rtl-ui .opsmind-date-range {
	direction: ltr;
	unicode-bidi: isolate;
	display: inline-block;
}

body.opsmind-hotel-ui .alert.alert-warning {
	direction: rtl;
	text-align: right;
	unicode-bidi: plaintext;
}

body.opsmind-hotel-ui .opsmind-room-children-policy {
	margin: 10px 0 0;
	padding: 8px 12px;
	background: #f3f6fb;
	border-right: 3px solid #3b71fe;
	border-left: 0;
	border-radius: 8px;
	color: #1a2233;
	font-size: 13px;
	font-weight: 500;
	direction: rtl;
	text-align: right;
}

/* -------------------------------------------------------------------------
   Hotel single ? room cards (?????) RTL ? high-specificity overrides
   ------------------------------------------------------------------------- */
body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room,
body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .ops-list-rooms,
body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .fetch,
body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card,
body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card__form {
	direction: rtl !important;
	text-align: right !important;
}

body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .accordion-button {
	text-align: right !important;
	justify-content: space-between;
	flex-direction: row-reverse;
}

body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .fetch {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: 16px;
	float: none !important;
	margin: 0 !important;
	width: 100% !important;
	flex-direction: unset !important;
}

body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .fetch > .item,
body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .fetch > .opsmind-room-card {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	min-width: 0;
}

body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card__form {
	border: 1px solid var(--opsmind-line, #e5e7eb);
	border-radius: var(--opsmind-card-radius, 16px);
	overflow: hidden;
	background: #fff;
	height: 100%;
	display: flex;
	flex-direction: column;
}

body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card__body,
.opsmind-hotel-single #ops-list-room .opsmind-room-card__body {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 0 !important;
	width: 100%;
	padding: 0 !important;
	flex: 1;
}

body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card__top,
.opsmind-hotel-single #ops-list-room .opsmind-room-card__top,
#ops-list-room .opsmind-room-card__top {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 10px !important;
	width: 100% !important;
	direction: rtl !important;
	text-align: right !important;
	padding: 14px 16px 0;
	order: 2;
}

body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card__media,
.opsmind-hotel-single #ops-list-room .opsmind-room-card__media,
#ops-list-room .opsmind-room-card__media {
	flex: 0 0 auto !important;
	align-self: stretch !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: none !important;
	min-height: 0 !important;
	border-radius: 0 !important;
	overflow: hidden !important;
	background: #f3f4f6 !important;
	order: 1;
}

body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card__media-link,
.opsmind-hotel-single #ops-list-room .opsmind-room-card__media-link,
#ops-list-room .opsmind-room-card__media-link {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: none !important;
	min-height: 0 !important;
	aspect-ratio: 16 / 10;
	border-radius: 0 !important;
	overflow: hidden !important;
}

body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card__thumb,
.opsmind-hotel-single #ops-list-room .opsmind-room-card__thumb,
#ops-list-room .opsmind-room-card__thumb {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;
	max-height: none !important;
	min-height: 0 !important;
	object-fit: cover !important;
	object-position: center !important;
	border-radius: 0 !important;
}

body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card__media-placeholder,
.opsmind-hotel-single #ops-list-room .opsmind-room-card__media-placeholder,
#ops-list-room .opsmind-room-card__media-placeholder {
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: none !important;
	aspect-ratio: 16 / 10;
	border-radius: 0 !important;
	background: #f3f4f6;
}

/* Override OpsMind Travel ops-style-4 room card defaults. */
body.single #ops-content-wrapper.ops-style-4 #ops-list-room .fetch > .item .opsmind-room-card__form,
body.single #ops-content-wrapper.ops-style-4 #ops-list-room .fetch > .opsmind-room-card .opsmind-room-card__form {
	display: block;
}

body.single #ops-content-wrapper.ops-style-4 #ops-list-room .fetch > .item .opsmind-room-card__media,
body.single #ops-content-wrapper.ops-style-4 #ops-list-room .fetch > .opsmind-room-card .opsmind-room-card__media {
	flex: 0 0 auto !important;
	align-self: stretch !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: none !important;
	border-radius: 0 !important;
}

body.single #ops-content-wrapper.ops-style-4 #ops-list-room .fetch > .item .opsmind-room-card__thumb,
body.single #ops-content-wrapper.ops-style-4 #ops-list-room .fetch > .opsmind-room-card .opsmind-room-card__thumb {
	width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;
	max-height: none !important;
	object-fit: cover;
	border-radius: 0 !important;
}

body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card__footer,
.opsmind-hotel-single #ops-list-room .opsmind-room-card__footer {
	padding: 12px 16px 16px;
	direction: rtl;
	display: flex;
	flex-direction: column;
	gap: 10px;
	order: 3;
	margin-top: auto;
}

body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card__action,
.opsmind-hotel-single #ops-list-room .opsmind-room-card__action {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 10px;
	text-align: right !important;
	width: 100%;
}

body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card h2.heading,
body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card .heading,
body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card .heading a {
	text-align: right !important;
	margin: 0 !important;
	line-height: 1.35;
	font-size: 17px;
}

body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card .facilities .ops-list-facilities,
#ops-list-room .opsmind-room-card .facilities .ops-list-facilities {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: flex-start !important;
	align-items: flex-start;
	gap: 10px;
	direction: rtl;
	border-bottom: 0 !important;
	padding-bottom: 0 !important;
}

body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card .ops-border-right {
	border: 0 !important;
}

body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single .opsmind-room-list-wrap,
body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single .opsmind-room-list-wrap .accordion-body {
	direction: rtl !important;
	text-align: right !important;
}

body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card .facilities p.item,
#ops-list-room .opsmind-room-card .facilities p.item {
	margin: 0 !important;
	padding: 0 !important;
	text-align: center;
	min-width: 64px;
}

body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card .facilities p.item .item-box,
#ops-list-room .opsmind-room-card .facilities p.item .item-box {
	width: 58px !important;
	height: 58px !important;
	min-width: 58px !important;
	padding: 0 !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	background: #fff !important;
	border: 1px solid #e8edf3 !important;
	border-radius: 12px !important;
	box-shadow: 0 4px 12px rgba(26, 34, 51, 0.08) !important;
	color: #1a2233 !important;
}

body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card .facilities p.item .item-box i,
#ops-list-room .opsmind-room-card .facilities p.item .item-box i,
body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card .facilities p.item .item-box [class^="ops-icon"],
#ops-list-room .opsmind-room-card .facilities p.item .item-box [class^="ops-icon"] {
	color: #1a2233 !important;
	font-size: 20px !important;
	line-height: 1 !important;
}

body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card .facilities p.item .infor,
#ops-list-room .opsmind-room-card .facilities p.item .infor {
	display: block;
	min-width: 58px;
	margin-top: 8px;
	text-align: center;
	font-size: 13px;
	font-weight: 600;
	color: #4a5565;
	line-height: 1.2;
}

body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card .price-wrapper {
	text-align: right !important;
	display: block !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}

body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card .price-wrapper .price {
	direction: ltr;
	unicode-bidi: isolate;
	display: inline-block;
	font-weight: 800;
}

body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card .price-wrapper .unit {
	direction: rtl;
	unicode-bidi: plaintext;
}

body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card .btn-show-price,
body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card .btn_hotel_booking,
body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card .show-detail {
	float: none !important;
	display: inline-block !important;
	margin: 0 !important;
	text-align: center !important;
	width: auto;
	min-width: 140px;
}

body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card .opsmind-room-children-policy,
body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card .opsmind-room-card__policy,
.opsmind-hotel-single #ops-list-room .opsmind-room-card .opsmind-room-children-policy {
	margin: 0;
	text-align: right !important;
	border-right: 3px solid #3b71fe;
	border-left: 0;
	width: 100%;
}

@media screen and (min-width: 768px) {
	body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .fetch,
	#ops-list-room .ops-list-rooms .fetch,
	#ops-list-room .fetch {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 18px !important;
		flex-direction: unset !important;
		flex-wrap: unset !important;
	}

	body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .fetch > .item,
	body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .fetch > .opsmind-room-card,
	#ops-list-room .fetch > .item,
	#ops-list-room .fetch > .opsmind-room-card {
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
	}
}

@media screen and (max-width: 767px) {
	body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card__action,
	.opsmind-hotel-single #ops-list-room .opsmind-room-card__action {
		align-items: stretch;
	}

	body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card .btn-show-price,
	body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card .btn_hotel_booking,
	body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card .opsmind-room-book-btn {
		width: 100%;
	}

	body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .fetch,
	#ops-list-room .fetch {
		grid-template-columns: 1fr !important;
	}
}

@media screen and (min-width: 992px) {
	body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .fetch {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 20px;
	}

	body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .fetch > .item,
	body.opsmind-rtl-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .fetch > .opsmind-room-card {
		width: auto !important;
	}
}

.opsmind-chip:nth-child(3) { animation-delay: 0.08s; }
.opsmind-chip:nth-child(4) { animation-delay: 0.12s; }

/* Room card: image on top, details below — max 2 per row on desktop. */
/* Modern (non-elementorv2) room list grid — same card treatment. */
.ops-list-rooms .fetch,
.opsmind-room-list .fetch {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}

@media screen and (min-width: 768px) {
	.ops-list-rooms .fetch,
	.opsmind-room-list .fetch {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px;
	}
}

#ops-list-room .item.opsmind-room-card,
#ops-list-room .opsmind-room-card {
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	overflow: visible !important;
	height: 100%;
}

#ops-list-room .opsmind-room-card__form {
	display: flex !important;
	flex-direction: column !important;
	border: 1px solid var(--opsmind-line, #e5e7eb) !important;
	border-radius: var(--opsmind-card-radius, 16px) !important;
	overflow: hidden !important;
	background: #fff !important;
	height: 100%;
}

#ops-list-room .opsmind-room-card__body {
	display: flex !important;
	flex-direction: column !important;
	padding: 0 !important;
	gap: 0 !important;
	flex: 1;
}

#ops-list-room .opsmind-room-card__media {
	flex: 0 0 auto !important;
	align-self: stretch !important;
	width: 100% !important;
	max-width: 100% !important;
	order: 1;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 0 !important;
	overflow: hidden !important;
	background: #f3f4f6 !important;
}

#ops-list-room .opsmind-room-card__media-link {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	aspect-ratio: 16 / 10;
	border-radius: 0 !important;
	overflow: hidden !important;
}

#ops-list-room .opsmind-room-card__thumb {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center !important;
	border-radius: 0 !important;
}

#ops-list-room .opsmind-room-card__media-placeholder {
	width: 100% !important;
	max-width: 100% !important;
	aspect-ratio: 16 / 10;
	border-radius: 0 !important;
	background: #f3f4f6;
}

#ops-list-room .opsmind-room-card__top {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 10px !important;
	width: 100% !important;
	direction: rtl !important;
	text-align: right !important;
	padding: 14px 16px 0 !important;
	order: 2;
}

#ops-list-room .opsmind-room-card__footer {
	padding: 12px 16px 16px !important;
	direction: rtl !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	order: 3;
	margin-top: auto;
}

#ops-list-room .opsmind-room-card__action {
	width: 100% !important;
	align-items: flex-start !important;
}

#ops-list-room .opsmind-room-card__ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

#ops-list-room .opsmind-room-card .heading,
#ops-list-room .opsmind-room-card .heading a {
	margin: 0 !important;
	font-size: 16px !important;
	line-height: 1.35 !important;
}

/* Banner search styles moved to opsmind-banner-search.css */

/* ?? Room / hotel mobile booking bar ??
 * OpsMind Travel room templates ship with Bootstrap `d-none`, and WP Call Button
 * (full-width, z-index 9999999999) covers the sticky book CTA. Fix both. */
@media screen and (min-width: 992px) {
	body.single-hotel_room .hotel-target-book-mobile,
	body.single-ops_hotel .hotel-target-book-mobile {
		display: none !important;
	}
}

@media screen and (max-width: 991px) {
	/* Prefer booking CTA over floating Call Us on bookable pages. */
	body.single-hotel_room a.wp-call-button,
	body.single-ops_hotel a.wp-call-button,
	body.single-hotel_room .wp-call-button,
	body.single-ops_hotel .wp-call-button {
		display: none !important;
	}

	body.single-hotel_room .hotel-target-book-mobile,
	body.single-ops_hotel .hotel-target-book-mobile,
	body.single-hotel_room .opsmind-room-book-mobile,
	#ops-content-wrapper .hotel-target-book-mobile.opsmind-room-book-mobile {
		display: flex !important;
		position: fixed !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		width: 100% !important;
		z-index: 10000000000 !important;
		background: #fff !important;
		border-top: 1px solid var(--opsmind-line, #e3e8ef) !important;
		box-shadow: 0 -6px 24px rgba(15, 23, 42, 0.12) !important;
		padding: 12px 16px !important;
		margin: 0 !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 12px !important;
		border-radius: 0 !important;
	}

	body.single-hotel_room .hotel-target-book-mobile.hide,
	body.single-ops_hotel .hotel-target-book-mobile.hide {
		display: none !important;
	}

	body.single-hotel_room .hotel-target-book-mobile .btn-mpopup,
	body.single-ops_hotel .hotel-target-book-mobile .btn-mpopup {
		background: var(--opsmind-orange, #f8890c) !important;
		border-color: var(--opsmind-orange, #f8890c) !important;
		color: #fff !important;
		border-radius: 10px !important;
		font-weight: 700 !important;
		white-space: nowrap;
		padding: 12px 18px !important;
	}

	body.single-hotel_room .hotel-target-book-mobile .price-wrapper .price,
	body.single-ops_hotel .hotel-target-book-mobile .price-wrapper .price {
		font-weight: 800;
		font-size: 18px;
		color: var(--opsmind-ink, #0f172a);
		margin-inline: 4px;
	}

	/* Space content so sticky bar doesn?t cover the last section. */
	body.single-hotel_room #ops-content-wrapper,
	body.single-ops_hotel #ops-content-wrapper {
		padding-bottom: 88px !important;
	}
}

/* ?? Room single: 25px curves on gallery + booking box ??
 * Room page uses elementor single-room (Fotorama + .form-book-wrapper).
 * opsmind-hotel.css now loads on hotel_room singulars. */
body.single-hotel_room {
	--opsmind-room-radius: 25px;
}

body.single-hotel_room #ops-content-wrapper .ops-gallery,
body.single-hotel_room #ops-content-wrapper .ops-gallery .fotorama,
body.single-hotel_room #ops-content-wrapper .ops-gallery .fotorama__wrap,
body.single-hotel_room #ops-content-wrapper .ops-gallery .fotorama__stage,
body.single-hotel_room #ops-content-wrapper .ops-gallery .fotorama__stage__shaft,
body.single-hotel_room #ops-content-wrapper .ops-gallery .fotorama__stage__frame,
body.single-hotel_room #ops-content-wrapper .ops-gallery .fotorama__img,
body.single-hotel_room #ops-content-wrapper .ops-gallery img,
body.single-hotel_room #ops-content-wrapper .ops-gallery.style-masonry,
body.single-hotel_room #ops-content-wrapper .ops-gallery .item-gallery,
body.single-hotel_room #ops-content-wrapper .ops-gallery .item-gallery img {
	border-radius: var(--opsmind-room-radius) !important;
	overflow: hidden !important;
}

body.single-hotel_room #ops-content-wrapper .ops-gallery .fotorama__nav-wrap,
body.single-hotel_room #ops-content-wrapper .ops-gallery .fotorama__nav,
body.single-hotel_room #ops-content-wrapper .ops-gallery .fotorama__thumb-border,
body.single-hotel_room #ops-content-wrapper .ops-gallery .fotorama__thumb,
body.single-hotel_room #ops-content-wrapper .ops-gallery .fotorama__nav__frame,
body.single-hotel_room #ops-content-wrapper .ops-gallery .fotorama__nav__frame img {
	border-radius: 12px !important;
	overflow: hidden !important;
}

body.single-hotel_room #ops-content-wrapper .widgets .fixed-on-mobile > .form-book-wrapper,
body.single-hotel_room #ops-content-wrapper .form-book-wrapper,
body.single-hotel_room #ops-content-wrapper .form-book-wrapper.ops-border-radius,
body.single-hotel_room #ops-content-wrapper .ops-form-book-wrapper,
body.single-hotel_room #ops-content-wrapper .ops-fixed-form-booking,
body.single-hotel_room #ops-content-wrapper .opsmind-book-box {
	border-radius: var(--opsmind-room-radius) !important;
	overflow: hidden !important;
	position: relative;
}

body.single-hotel_room #ops-content-wrapper .form-book-wrapper .form-head,
body.single-hotel_room #ops-content-wrapper .ops-form-book-wrapper .form-head,
body.single-hotel_room #ops-content-wrapper .ops-form-head-book,
body.single-hotel_room #ops-content-wrapper .form-booking-price {
	border-radius: var(--opsmind-room-radius) var(--opsmind-room-radius) 0 0 !important;
}

@media screen and (max-width: 991px) {
	body.single-hotel_room #ops-content-wrapper .fixed-on-mobile.open,
	body.single-hotel_room #ops-content-wrapper .fixed-on-mobile.open .form-book-wrapper,
	body.single-hotel_room #ops-content-wrapper .ops-fixed-form-booking.open,
	body.single-hotel_room #ops-content-wrapper .ops-fixed-form-booking.open .ops-form-book-wrapper {
		border-radius: 0 !important;
	}
}



/* Guest names: fixed Arabic titles (?????/? / ?????). */
.guest_name_input > label {
	font-weight: 700;
	margin-bottom: 8px;
	display: block;
	text-align: right;
	font-size: 13px;
	color: #6b7785;
}

.guest_name_input .control-item {
	display: flex;
	align-items: center;
	gap: 8px;
	direction: rtl;
}

.guest_name_input select.opsmind-guest-title,
.guest_name_input select[name="guest_title[]"] {
	flex: 0 0 auto;
	min-width: 4.5em;
	width: auto !important;
	max-width: 6em;
	appearance: none;
	-webkit-appearance: none;
	background-image: none !important;
	padding: 6px 8px !important;
	pointer-events: none;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	color: #6b7785 !important;
	border: 1px solid var(--opsmind-line, #e5e7eb) !important;
	border-radius: 8px !important;
	background-color: #f8fafc !important;
}

.guest_name_input input[name="guest_name[]"] {
	flex: 1 1 auto;
	min-width: 0;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	color: #152033 !important;
}

.guest_name_input input[name="guest_name[]"]::placeholder {
	font-size: 12px !important;
	font-weight: 700 !important;
	color: #6b7785 !important;
	opacity: 1;
}

/* Desktop/tablet: room image fills card width (grid layout). */
@media screen and (min-width: 768px) {
	#ops-list-room .opsmind-room-card__media,
	#ops-list-room .opsmind-room-card__media-link,
	#ops-list-room .opsmind-room-card__thumb,
	#ops-list-room .opsmind-room-card .opsmind-room-card__media img,
	#ops-list-room .item.opsmind-room-card img.opsmind-room-card__thumb,
	body.single #ops-content-wrapper #ops-list-room .opsmind-room-card img {
		width: 100% !important;
		max-width: 100% !important;
		border-radius: 0 !important;
	}

	#ops-list-room .opsmind-room-card__media {
		align-self: stretch !important;
	}

	#ops-list-room .opsmind-room-card__thumb {
		height: 100% !important;
		object-fit: cover !important;
	}
}

/* Live viewers — flush under book card; round bottom corners only */
.ops-form-book-wrapper > .opsmind-live-viewers,
.form-book-wrapper > .opsmind-live-viewers,
.opsmind-book-box > .opsmind-live-viewers {
	margin: 0;
	border-radius: 0 0 var(--opsmind-card-radius, 16px) var(--opsmind-card-radius, 16px);
}

.opsmind-live-viewers {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin: 10px 0 0;
	padding: 16px 18px;
	min-height: 52px;
	background: var(--opsmind-book-grad);
	border: 0;
	border-radius: 0 0 var(--opsmind-card-radius, 16px) var(--opsmind-card-radius, 16px);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	transition: opacity 0.25s ease;
	box-sizing: border-box;
	position: relative;
	z-index: 2;
}

.opsmind-tf .opsmind-live-viewers {
	margin: 12px 0 16px;
}

.opsmind-live-viewers.is-updating {
	opacity: 0.85;
}

.opsmind-live-viewers__dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.55);
	animation: opsmindLivePulse 1.6s ease-out infinite;
	flex-shrink: 0;
}

.opsmind-live-viewers__text {
	color: #fff;
}

.opsmind-live-viewers__count {
	font-weight: 800;
	color: #fff;
	font-variant-numeric: tabular-nums;
	min-width: 1.25em;
	display: inline-block;
	text-align: center;
}

@keyframes opsmindLivePulse {
	0% {
		box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.5);
	}
	70% {
		box-shadow: 0 0 0 8px rgba(255, 255, 255, 0);
	}
	100% {
		box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
	}
}

/* Sit flush under book box when sticky column */
.opsmind-sticky-book .opsmind-live-viewers,
.ops-fixed-form-booking .opsmind-live-viewers {
	margin-top: 0;
}

body.opsmind-rtl-ui .opsmind-live-viewers {
	flex-direction: row;
}

/* ---- Extra breathing room inside single-hotel panels (rules table + room cards) ---- */
/* Rules / policies table: keep cell text off the inner panel border. */
.opsmind-hotel-single .ops-properties th,
.opsmind-hotel-single .ops-properties td {
	padding: 14px 18px !important;
	vertical-align: top;
}

.opsmind-hotel-single .ops-properties [data-show-all] {
	padding-bottom: 4px;
}

/* Room card: image flush top; details padded below. */
.opsmind-hotel-single #ops-list-room .opsmind-room-card__body {
	padding: 0 !important;
}

.opsmind-hotel-single #ops-list-room .opsmind-room-card__top {
	padding: 16px 18px 0 !important;
}

.opsmind-hotel-single #ops-list-room .opsmind-room-card__footer {
	padding: 12px 18px 18px !important;
}

/* Children-stay policy note: a little more inner padding. */
body.opsmind-hotel-ui .opsmind-room-children-policy,
.opsmind-hotel-single #ops-list-room .opsmind-room-card .opsmind-room-children-policy,
.opsmind-hotel-single #ops-list-room .opsmind-room-card .opsmind-room-card__policy {
	padding: 12px 16px !important;
}

/* Room single — force RTL when site/UI is Arabic (or body rtl). */
body.rtl.single-hotel_room,
body.opsmind-rtl-ui.single-hotel_room,
html[dir="rtl"] body.single-hotel_room {
	direction: rtl;
	text-align: right;
}

body.rtl.single-hotel_room #ops-content-wrapper,
body.opsmind-rtl-ui.single-hotel_room #ops-content-wrapper,
html[dir="rtl"] body.single-hotel_room #ops-content-wrapper {
	direction: rtl;
}

body.rtl.single-hotel_room .ops-service-header,
body.rtl.single-hotel_room .ops-service-header2,
body.rtl.single-hotel_room .room-facility,
body.rtl.single-hotel_room .ops-list-feature,
body.rtl.single-hotel_room .form-book-wrapper,
body.opsmind-rtl-ui.single-hotel_room .ops-service-header,
body.opsmind-rtl-ui.single-hotel_room .form-book-wrapper,
html[dir="rtl"] body.single-hotel_room .ops-service-header,
html[dir="rtl"] body.single-hotel_room .form-book-wrapper {
	direction: rtl;
	text-align: right;
}

body.rtl.single-hotel_room .room-facility ul,
body.rtl.single-hotel_room .ops-list-feature ul,
body.opsmind-rtl-ui.single-hotel_room .room-facility ul,
html[dir="rtl"] body.single-hotel_room .room-facility ul {
	direction: rtl;
	text-align: right;
}

body.rtl.single-hotel_room .room-facility li,
body.rtl.single-hotel_room .ops-list-feature li,
body.opsmind-rtl-ui.single-hotel_room .room-facility li,
html[dir="rtl"] body.single-hotel_room .room-facility li {
	direction: rtl;
	text-align: right;
}

/* LTR room page when English. */
body:not(.rtl):not(.opsmind-rtl-ui).single-hotel_room,
html[dir="ltr"] body.single-hotel_room {
	direction: ltr;
	text-align: left;
}

/* Room single — match hotel RTL: booking widget on the RIGHT.
 * Core template DOM is [content, sidebar]; with direction:rtl that puts
 * the sidebar on the left. Re-order so booking comes first (visual right). */
@media screen and (min-width: 992px) {
	body.opsmind-rtl-ui.single-hotel_room #ops-content-wrapper .container > .row,
	body.rtl.single-hotel_room #ops-content-wrapper .container > .row,
	html[dir="rtl"] body.single-hotel_room #ops-content-wrapper .container > .row {
		display: flex;
		flex-wrap: wrap;
	}

	body.opsmind-rtl-ui.single-hotel_room #ops-content-wrapper .container > .row > [class*="col-"].col-sm-3,
	body.opsmind-rtl-ui.single-hotel_room #ops-content-wrapper .container > .row > [class*="col-"].col-md-3,
	body.opsmind-rtl-ui.single-hotel_room #ops-content-wrapper .container > .row > .col-12.col-sm-3,
	body.rtl.single-hotel_room #ops-content-wrapper .container > .row > .col-12.col-sm-3,
	html[dir="rtl"] body.single-hotel_room #ops-content-wrapper .container > .row > .col-12.col-sm-3 {
		order: -1;
	}
}

/* Site-wide animated orb loader lives in assets/css/opsmind-loader.css */

/* -------------------------------------------------------------------------
   English / LTR hotel UI — mirror of RTL-first base (do not force RTL on EN).
   ------------------------------------------------------------------------- */
html[dir="ltr"] body.opsmind-hotel-ui,
html[dir="ltr"] body.opsmind-page-hero,
body.opsmind-ltr-ui,
body.opsmind-ltr-ui .opsmind-hotel-search,
body.opsmind-ltr-ui .opsmind-hotel-single,
html[dir="ltr"] body.opsmind-hotel-ui .opsmind-hotel-search,
html[dir="ltr"] body.opsmind-hotel-ui .opsmind-hotel-single {
	direction: ltr !important;
	text-align: left;
}

html[dir="ltr"] body.opsmind-hotel-ui .opsmind-hotel-card-grid,
html[dir="ltr"] body.opsmind-hotel-ui .opsmind-hotel-card-grid .opsmind-grid-body,
html[dir="ltr"] body.opsmind-hotel-ui .ops-breadcrumb ul,
html[dir="ltr"] body.opsmind-hotel-ui .opsmind-rating-card,
html[dir="ltr"] body.opsmind-hotel-ui .alert.alert-warning,
html[dir="ltr"] body.opsmind-hotel-ui .opsmind-room-children-policy,
body.opsmind-ltr-ui .opsmind-hotel-card-grid,
body.opsmind-ltr-ui .opsmind-hotel-card-grid .opsmind-grid-body,
body.opsmind-ltr-ui .ops-breadcrumb ul,
body.opsmind-ltr-ui .opsmind-rating-card,
body.opsmind-ltr-ui .alert.alert-warning,
body.opsmind-ltr-ui .opsmind-room-children-policy {
	direction: ltr !important;
	text-align: left !important;
}

html[dir="ltr"] body.opsmind-hotel-ui .opsmind-card-flag,
body.opsmind-ltr-ui .opsmind-card-flag {
	right: auto;
	left: 12px;
}

html[dir="ltr"] body.opsmind-hotel-ui .opsmind-room-children-policy,
body.opsmind-ltr-ui .opsmind-room-children-policy {
	border-right: 0;
	border-left: 3px solid #3b71fe;
}

html[dir="ltr"] body.opsmind-hotel-ui .opsmind-card-body,
body.opsmind-ltr-ui .opsmind-card-body {
	padding: 18px 4px 18px 8px;
	text-align: left;
}

html[dir="ltr"] body.opsmind-hotel-ui .opsmind-sidebar .sidebar-title,
html[dir="ltr"] body.opsmind-hotel-ui .opsmind-sidebar .opsmind-sidebar-search .search-title,
body.opsmind-ltr-ui .opsmind-sidebar .sidebar-title,
body.opsmind-ltr-ui .opsmind-sidebar .opsmind-sidebar-search .search-title {
	text-align: left;
}

/* Room cards on hotel single — LTR counterpart to opsmind-rtl-ui rules */
body.opsmind-ltr-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room,
body.opsmind-ltr-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .ops-list-rooms,
body.opsmind-ltr-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .fetch,
body.opsmind-ltr-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card,
body.opsmind-ltr-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .opsmind-room-card__form,
html[dir="ltr"] body.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room {
	direction: ltr !important;
	text-align: left !important;
}

body.opsmind-ltr-ui.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .accordion-button,
html[dir="ltr"] body.single-ops_hotel #ops-content-wrapper.opsmind-hotel-single #ops-list-room .accordion-button {
	text-align: left !important;
	flex-direction: row;
}

