/**
 * OpsMind unified listing cards — hotels / tours / activities / cars / transfers.
 * Desktop: grid 3-col + horizontal list. Mobile ≤991: stacked vertical cards.
 */

:root {
	--om-list-blue: var(--opsmind-accent, var(--main-color, #2d5be3));
	--om-list-blue-dark: var(--opsmind-accent-dark, #2449c4);
	--om-list-navy: #0b1f3a;
	--om-list-muted: #5e6d77;
	--om-list-line: #e2e8f0;
	--om-list-soft: #f1f5f9;
	--om-list-radius: 14px;
	--om-list-star: var(--opsmind-star, #f5b301);
}

/* ---------- Desktop polish: list / list-2 ---------- */
.services-item.item-elementor.list .item,
.services-item.item-elementor.list.list-2 .item,
.services-item.item-elementor.grid .item {
	border-radius: var(--om-list-radius);
	overflow: hidden;
	border-color: var(--om-list-line);
	background: #fff;
}

.services-item.item-elementor {
	margin-bottom: 16px;
}

.services-item.item-elementor .view-detail,
.services-item.item-elementor a.view-detail,
.ops-mod-style .services-item.item-elementor .view-detail,
.services-item.item-elementor .opsmind-card-cta {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 18px !important;
	border-radius: 10px !important;
	background: var(--om-list-blue) !important;
	color: #fff !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	border: 0 !important;
	box-shadow: 0 6px 16px var(--opsmind-accent-shadow, rgba(45, 91, 227, 0.28));
	transition: background 0.15s ease, transform 0.15s ease;
}

.services-item.item-elementor .view-detail:hover,
.services-item.item-elementor a.view-detail:hover,
.ops-mod-style .services-item.item-elementor .view-detail:hover,
.services-item.item-elementor .opsmind-card-cta:hover {
	background: var(--om-list-blue-dark) !important;
	color: #fff !important;
	transform: translateY(-1px);
}

.services-item.item-elementor .reviews .rate,
.services-item.item-elementor .opsmind-score,
.services-item.item-elementor .reviews.opsmind-card-rating .rate.opsmind-score {
	background: var(--om-list-blue) !important;
	color: #fff !important;
}

/* Featured ribbon + stars */
.services-item.item-elementor .item .featured-image .featured,
.services-item.item-elementor .featured-image .featured,
#ops-content-wrapper .services-grid .item .featured-image .featured,
body.opsmind-listings-ui .featured-image .featured,
body.opsmind-hotel-ui .featured-image .featured {
	background: var(--om-list-blue) !important;
	color: #fff !important;
	border-radius: 6px !important;
}

.services-item.item-elementor .ops-stars .fa-star,
.services-item.item-elementor .ops-stars i,
.services-item.item-elementor .ops-stars .fa,
body.opsmind-listings-ui .ops-stars .fa-star,
body.opsmind-hotel-ui .ops-stars .fa-star {
	color: var(--om-list-star) !important;
}

.services-item.item-elementor .opsmind-badge--special {
	background: var(--opsmind-accent-soft, rgba(45, 91, 227, 0.1)) !important;
	border-color: var(--opsmind-accent-line, rgba(45, 91, 227, 0.32)) !important;
	color: var(--opsmind-accent-ink, #132a6b) !important;
}

.services-item.item-elementor .opsmind-badge--board {
	background: var(--om-list-blue-dark) !important;
	border-color: var(--om-list-blue-dark) !important;
	color: #fff !important;
}

.services-item.item-elementor .reviews .rate-text,
.services-item.item-elementor .opsmind-score-label {
	color: var(--opsmind-ink, #1a2233) !important;
}

/* Map floating button on search results */
.search-result-page .map-view-popup,
.search-result-page .btn-map,
.search-result-page .ops-map-btn,
.modern-search-result .map-view,
.toolbar-action .btn-map,
#sticky-map .btn,
.ops-map-full-item {
	background: var(--om-list-blue) !important;
	border-color: var(--om-list-blue) !important;
	color: #fff !important;
}

/* ---------- Grid columns: 3 / 2 / 1 (desktop first) ---------- */
@media (min-width: 992px) {
	body.opsmind-listings-ui .modern-search-result .service-list-wrapper.row > [class*="col-lg-4"],
	body.opsmind-listings-ui .modern-search-result .service-list-wrapper.row > [class*="col-md-4"],
	body.opsmind-listings-ui .opsmind-results-grid > [class*="col-lg-4"],
	body.opsmind-listings-ui .opsmind-results-grid > [class*="col-md-4"],
	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% !important;
		max-width: 33.333333% !important;
		width: 33.333333% !important;
		padding-left: 10px;
		padding-right: 10px;
	}
}

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

@media (max-width: 767.98px) {
	body.opsmind-listings-ui .modern-search-result .service-list-wrapper.row > [class*="col-"],
	body.opsmind-listings-ui .opsmind-results-grid > [class*="col-"],
	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;
		padding-left: 12px;
		padding-right: 12px;
	}
}

/* Half-map: list column stays readable — force single column cards */
@media (max-width: 1199.98px) {
	.search-result-page.style-map .modern-search-result .service-list-wrapper.row > [class*="col-"],
	.search-result-page.has-map .modern-search-result .service-list-wrapper.row > [class*="col-"],
	.ops-halfmap .service-list-wrapper.row > [class*="col-"],
	#half-map .service-list-wrapper.row > [class*="col-"],
	.halfmap .service-list-wrapper.row > [class*="col-"] {
		flex: 0 0 100% !important;
		max-width: 100% !important;
		width: 100% !important;
	}
}

/* ---------- Mobile ≤991: stack list / list-2 (hotels + tours + cars + activity) ---------- */
@media (max-width: 991.98px) {
	.services-item.item-elementor.list .item,
	.services-item.item-elementor.list.list-2 .item,
	.service-list-wrapper .services-item.list .item,
	.service-list-wrapper.service-tour .services-item.list .item,
	.service-list-wrapper.service-activity .services-item.list .item,
	.service-list-wrapper.service-car .services-item.list .item {
		display: flex !important;
		flex-direction: column !important;
		padding-bottom: 0 !important;
	}

	.services-item.item-elementor.list .item .featured-image,
	.services-item.item-elementor.list.list-2 .item .featured-image,
	.service-list-wrapper .services-item.list .item .featured-image {
		width: 100% !important;
		max-width: 100% !important;
		min-height: 200px;
		height: 200px;
		flex: none !important;
		position: relative;
		overflow: hidden;
	}

	.services-item.item-elementor.list .item .featured-image img,
	.services-item.item-elementor.list.list-2 .item .featured-image img,
	.service-list-wrapper .services-item.list .item .featured-image img {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.services-item.item-elementor.list .item .content-item,
	.services-item.item-elementor.list.list-2 .item .content-item,
	.service-list-wrapper .services-item.list .item .content-item {
		width: 100% !important;
		max-width: 100% !important;
		display: flex !important;
		flex-direction: column !important;
		padding: 16px !important;
		gap: 12px;
		flex: none !important;
	}

	.services-item.item-elementor.list.list-2 .item .content-item .content-item-left,
	.services-item.item-elementor.list.list-2 .item .content-item .content-item-right,
	.service-list-wrapper.service-tour .services-item.list.item-elementor .content-item .content-item-left,
	.service-list-wrapper.service-tour .services-item.list.item-elementor .content-item .content-item-right,
	.service-list-wrapper .services-item.list .content-item .content-item-left,
	.service-list-wrapper .services-item.list .content-item .content-item-right {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
		flex: none !important;
	}

	.services-item.item-elementor.list.list-2 .item .content-item .content-item-right,
	.services-item.item-elementor.list .item .content-item .section-footer {
		display: flex;
		flex-direction: column;
		align-items: stretch !important;
		gap: 10px;
		padding-top: 8px !important;
		border-top: 1px solid var(--om-list-line);
		width: 100%;
	}

	.services-item.item-elementor.list .item .content-item .title,
	.services-item.item-elementor.list.list-2 .item .content-item .title {
		font-size: 1.05rem !important;
		line-height: 1.35 !important;
		margin: 4px 0 6px !important;
		white-space: normal !important;
	}

	.services-item.item-elementor.list .item .content-item .address,
	.services-item.item-elementor.list.list-2 .item .content-item .address,
	.services-item.item-elementor.list .item .content-item .sub-title {
		white-space: normal !important;
		flex-wrap: wrap;
		font-size: 0.9rem;
	}

	.services-item.item-elementor.list.list-2 .item .content-item .facilities {
		display: none !important;
	}

	.services-item.item-elementor.list .item .content-item .reviews,
	.services-item.item-elementor.list.list-2 .item .content-item .reviews {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 6px;
	}

	.services-item.item-elementor.list .item .content-item .price-wrapper,
	.services-item.item-elementor.list.list-2 .item .content-item .price-wrapper {
		flex-wrap: wrap;
		gap: 4px;
		font-size: 0.95rem;
		justify-content: flex-start !important;
	}

	.services-item.item-elementor.list .item .content-item .price-wrapper .price,
	.services-item.item-elementor.list.list-2 .item .content-item .price-wrapper .price {
		font-size: 1.15rem;
		font-weight: 800;
		color: var(--om-list-navy);
	}

	.services-item.item-elementor .view-detail,
	.services-item.item-elementor a.view-detail,
	.services-item.item-elementor .opsmind-card-cta {
		width: 100% !important;
		text-align: center;
		border-radius: 10px !important;
	}

	.services-item.item-elementor.list .featured-image .service-avatar,
	.services-item.item-elementor.list.list-2 .featured-image .service-avatar,
	.services-item.item-elementor.list .featured-image a.service-avatar {
		display: none !important;
	}

	.services-item.item-elementor.grid .item .content-item {
		padding: 12px 14px 14px;
	}
}

@media (max-width: 575.98px) {
	.services-item.item-elementor.list .item .featured-image,
	.services-item.item-elementor.list.list-2 .item .featured-image {
		min-height: 180px;
		height: 180px;
	}

	.services-item.item-elementor.list .item .content-item,
	.services-item.item-elementor.list.list-2 .item .content-item {
		padding: 14px !important;
	}
}

/* Sort / filter toolbar spacing on mobile */
@media (max-width: 991.98px) {
	.toolbar,
	.toolbar-action,
	.modern-search-result .toolbar,
	.search-result-page .top-filter {
		gap: 10px;
		padding-inline: 4px;
	}
}

/* ---------- Header tools on listing / search result pages ---------- */
body.opsmind-listings-ui header.header .header__right .items,
body.opsmind-hotel-ui.search-result-page header.header .header__right .items,
body.opsmind-listings-ui #header .header__right .items,
.search-result-page #header .header__right .items {
	gap: 8px !important;
	align-items: center !important;
	flex-wrap: nowrap !important;
}

body.opsmind-listings-ui header.header .header__left .logo img,
body.opsmind-hotel-ui.search-result-page header.header .header__left .logo img,
.search-result-page #header .header__left .logo img {
	max-height: 40px !important;
	width: auto !important;
	object-fit: contain;
}

body.opsmind-listings-ui #header .header__right .dropdown-toggle,
body.opsmind-listings-ui #header .header__right .mini-cart.dropdown-toggle,
.search-result-page #header .header__right .dropdown-toggle,
.search-result-page #header .header__right .mini-cart.dropdown-toggle {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 40px !important;
	height: 40px !important;
	min-width: 40px !important;
	border-radius: 50% !important;
	overflow: visible !important;
}

body.opsmind-listings-ui #header .menu-toggle,
.search-result-page #header .menu-toggle {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
}
