.urlm-page,
.urlm-search,
.urlm-listings-wrap,
.urlm-panel,
.urlm-dashboard {
	box-sizing: border-box;
	color: #16211d;
	font-family: inherit;
}

.urlm-page *,
.urlm-search *,
.urlm-listings-wrap *,
.urlm-panel *,
.urlm-dashboard * {
	box-sizing: border-box;
}

.urlm-page {
	width: min(1180px, calc(100% - 32px));
	margin: 0 auto;
	padding: 32px 0 56px;
}

.urlm-archive-head,
.urlm-single-head,
.urlm-panel-head {
	margin: 0 0 24px;
}

.urlm-eyebrow,
.urlm-card-kicker {
	margin: 0 0 8px;
	color: #64746d;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: uppercase;
}

.urlm-archive-head h1,
.urlm-single-head h1,
.urlm-panel-head h2,
.urlm-search h2 {
	margin: 0;
	color: #10231b;
	font-size: clamp(2rem, 4vw, 3.5rem);
	line-height: 1.05;
	letter-spacing: 0;
}

.urlm-search h2,
.urlm-panel-head h2,
.urlm-attribute-section h2,
.urlm-tax-section h2,
.urlm-map-section h2,
.urlm-cta-panel h2 {
	font-size: 1.35rem;
	line-height: 1.2;
}

.urlm-archive-head p,
.urlm-panel-head p,
.urlm-search p,
.urlm-cta-panel p {
	max-width: 760px;
	margin: 10px 0 0;
	color: #4f625a;
	font-size: 1rem;
	line-height: 1.55;
}

.urlm-search,
.urlm-panel,
.urlm-cta-panel {
	margin: 22px 0;
	padding: 22px;
	border: 1px solid #dce5df;
	border-radius: 8px;
	background: #ffffff;
	box-shadow: 0 12px 36px rgba(22, 33, 29, 0.08);
}

.urlm-search-head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(180px, 260px);
	gap: 18px;
	align-items: end;
	margin-bottom: 18px;
}

.urlm-filter-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.urlm-field {
	display: grid;
	gap: 6px;
	margin: 0 0 14px;
	min-width: 0;
}

.urlm-field > span {
	color: #405148;
	font-size: 0.86rem;
	font-weight: 700;
	line-height: 1.2;
}

.urlm-field input,
.urlm-field select,
.urlm-field textarea {
	width: 100%;
	min-height: 42px;
	border: 1px solid #cdd9d2;
	border-radius: 6px;
	background: #fff;
	color: #16211d;
	font: inherit;
	padding: 10px 11px;
}

.urlm-field textarea {
	min-height: 104px;
	resize: vertical;
}

.urlm-field-range > div,
.urlm-date-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}

.urlm-search-actions,
.urlm-cta-buttons,
.urlm-chip-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin-top: 14px;
}

.urlm-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 10px 16px;
	border: 1px solid transparent;
	border-radius: 6px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	transition: transform 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}

.urlm-button:hover,
.urlm-button:focus {
	transform: translateY(-1px);
	text-decoration: none;
}

.urlm-button-primary {
	background: #0c6b4f;
	color: #fff;
	box-shadow: 0 8px 18px rgba(12, 107, 79, 0.24);
}

.urlm-button-secondary {
	background: #eef5f1;
	color: #173c31;
	border-color: #cddfd6;
}

.urlm-button-whatsapp {
	background: #25d366;
	color: #092d18;
}

.urlm-button-link {
	color: #36554a;
	background: transparent;
	border-color: #dce5df;
}

.urlm-listings-grid {
	display: grid;
	gap: 18px;
	margin-top: 22px;
}

.urlm-columns-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.urlm-columns-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.urlm-columns-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.urlm-card {
	position: relative;
	display: grid;
	grid-template-rows: auto 1fr;
	min-width: 0;
	overflow: hidden;
	border: 1px solid #dce5df;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 12px 30px rgba(29, 45, 39, 0.08);
}

.urlm-card-actions {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 2;
}

.urlm-favorite-form {
	margin: 0;
}

.urlm-favorite-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 7px 11px;
	border: 1px solid rgba(255, 255, 255, 0.8);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.94);
	color: #15352b;
	font-size: 0.82rem;
	font-weight: 900;
	text-decoration: none;
	box-shadow: 0 8px 24px rgba(17, 33, 27, 0.16);
	cursor: pointer;
}

.urlm-favorite-button.is-saved {
	background: #0c6b4f;
	color: #fff;
}

.urlm-card-media {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: #e7f0eb;
	color: #39564b;
	text-decoration: none;
}

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

.urlm-card-placeholder {
	display: grid;
	width: 100%;
	height: 100%;
	place-items: center;
	font-weight: 800;
}

.urlm-card-body {
	display: grid;
	gap: 10px;
	padding: 16px;
}

.urlm-card-title {
	margin: 0;
	font-size: 1.12rem;
	line-height: 1.25;
	letter-spacing: 0;
}

.urlm-card-title a {
	color: #10231b;
	text-decoration: none;
}

.urlm-price {
	color: #0c6b4f;
	font-size: 1.08rem;
	font-weight: 900;
}

.urlm-price-large {
	margin-top: 12px;
	font-size: 1.45rem;
}

.urlm-plp-attributes,
.urlm-chip-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.urlm-chip {
	display: inline-flex;
	gap: 4px;
	align-items: center;
	max-width: 100%;
	padding: 7px 9px;
	border: 1px solid #d9e4dd;
	border-radius: 999px;
	background: #f7faf8;
	color: #263b33;
	font-size: 0.82rem;
	line-height: 1.2;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.urlm-card-excerpt {
	margin: 0;
	color: #52645d;
	font-size: 0.94rem;
	line-height: 1.45;
}

.urlm-empty-state,
.urlm-notice {
	padding: 18px;
	border-radius: 8px;
	background: #f7faf8;
	border: 1px solid #dce5df;
}

.urlm-notice-success {
	background: #eef8f0;
	border-color: #b9dfc2;
	color: #174f2a;
}

.urlm-single-shell {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
	gap: 28px;
	align-items: start;
}

.urlm-single-media {
	margin: 0 0 24px;
	overflow: hidden;
	border-radius: 8px;
	background: #e7f0eb;
}

.urlm-single-media img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.urlm-content {
	color: #243931;
	line-height: 1.7;
}

.urlm-attribute-section,
.urlm-tax-section,
.urlm-map-section {
	margin-top: 28px;
}

.urlm-pdp-attributes {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border: 1px solid #dce5df;
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
}

.urlm-attribute-row {
	display: grid;
	gap: 4px;
	padding: 14px;
	border-right: 1px solid #dce5df;
	border-bottom: 1px solid #dce5df;
	min-width: 0;
}

.urlm-attribute-row span {
	color: #5d7067;
	font-size: 0.82rem;
	font-weight: 700;
}

.urlm-attribute-row strong {
	color: #172a21;
	overflow-wrap: anywhere;
}

.urlm-map-link {
	display: grid;
	gap: 6px;
	padding: 18px;
	border: 1px solid #dce5df;
	border-radius: 8px;
	background: #f9fbfa;
	color: #10231b;
	text-decoration: none;
}

.urlm-map-link span {
	font-weight: 900;
}

.urlm-map-link small {
	color: #5d7067;
}

.urlm-single-side {
	position: sticky;
	top: 24px;
}

.urlm-inquiry-form {
	display: grid;
	gap: 10px;
	margin-top: 18px;
}

.urlm-booking-box {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid #dce5df;
}

.urlm-booking-box h3 {
	margin: 0 0 12px;
	font-size: 1.08rem;
}

.urlm-booking-form,
.urlm-review-form,
.urlm-contact-form {
	display: grid;
	gap: 10px;
	margin-top: 14px;
}

.urlm-quote-mini {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 12px;
	border-radius: 8px;
	background: #f7faf8;
	color: #2d463b;
}

.urlm-quote-mini strong {
	color: #0c6b4f;
}

.urlm-notice-error {
	background: #fff1f1;
	border-color: #f3b8b8;
	color: #7e1d1d;
}

.urlm-media-links,
.urlm-text-section,
.urlm-reviews {
	margin-top: 28px;
}

.urlm-text-section p {
	margin: 0;
	color: #34493f;
	line-height: 1.7;
}

.urlm-availability-calendar {
	display: grid;
	gap: 12px;
}

.urlm-calendar-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	color: #435950;
	font-size: 0.88rem;
	font-weight: 700;
}

.urlm-calendar-legend span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.urlm-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	display: inline-block;
}

.urlm-dot-available {
	background: #0c6b4f;
}

.urlm-dot-booked {
	background: #9a3412;
}

.urlm-dot-blocked {
	background: #67736f;
}

.urlm-calendar-grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 8px;
}

.urlm-calendar-day {
	display: grid;
	place-items: center;
	min-height: 72px;
	padding: 8px 4px;
	border: 1px solid #dce5df;
	border-radius: 8px;
	background: #fff;
	color: #19352b;
}

.urlm-calendar-day strong {
	font-size: 1.15rem;
}

.urlm-calendar-day span,
.urlm-calendar-day small {
	color: #64766d;
	font-size: 0.72rem;
	font-weight: 800;
}

.urlm-day-booked {
	background: #fff7ed;
	border-color: #fed7aa;
	color: #9a3412;
}

.urlm-day-blocked {
	background: #f2f4f3;
	color: #52615b;
}

.urlm-review-list {
	display: grid;
	gap: 12px;
	margin: 12px 0 18px;
}

.urlm-review {
	padding: 14px;
	border: 1px solid #dce5df;
	border-radius: 8px;
	background: #fff;
}

.urlm-review h3,
.urlm-review p {
	margin: 0;
}

.urlm-review-stars {
	color: #b7791f;
	font-weight: 900;
	letter-spacing: 0;
}

.urlm-stat-grid,
.urlm-feature-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin: 16px 0;
}

.urlm-stat-grid > div,
.urlm-feature-group {
	padding: 16px;
	border: 1px solid #dce5df;
	border-radius: 8px;
	background: #fff;
}

.urlm-stat-grid span {
	display: block;
	color: #64766d;
	font-size: 0.82rem;
	font-weight: 800;
}

.urlm-stat-grid strong {
	display: block;
	margin-top: 6px;
	color: #0c6b4f;
	font-size: 1.25rem;
}

.urlm-feature-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.urlm-feature-group h3 {
	margin: 0 0 10px;
}

.urlm-feature-group ul {
	margin: 0;
	padding-left: 18px;
}

.urlm-feature-group li {
	margin: 0 0 6px;
	color: #34493f;
}

.urlm-dashboard {
	margin: 22px 0;
}

.urlm-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 16px;
}

.urlm-tabs a {
	padding: 10px 14px;
	border: 1px solid #dce5df;
	border-radius: 6px;
	color: #31483f;
	text-decoration: none;
}

.urlm-tabs a.is-active {
	background: #0c6b4f;
	border-color: #0c6b4f;
	color: #fff;
}

.urlm-dashboard-list {
	display: grid;
	gap: 10px;
}

.urlm-dashboard-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 16px;
	align-items: center;
	padding: 14px;
	border: 1px solid #dce5df;
	border-radius: 8px;
	background: #fff;
}

.urlm-dashboard-row h3,
.urlm-dashboard-row p {
	margin: 0;
}

.urlm-dashboard-meta {
	display: flex;
	flex-wrap: wrap;
	justify-content: end;
	gap: 8px;
}

.urlm-dashboard-meta span {
	padding: 6px 8px;
	border-radius: 999px;
	background: #eef5f1;
	color: #2c4c40;
	font-size: 0.82rem;
	font-weight: 700;
}

@media (max-width: 960px) {
	.urlm-filter-grid,
	.urlm-columns-3,
	.urlm-columns-4,
	.urlm-single-shell,
	.urlm-stat-grid,
	.urlm-feature-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.urlm-single-shell {
		grid-template-columns: 1fr;
	}

	.urlm-single-side {
		position: static;
	}
}

@media (max-width: 680px) {
	.urlm-page {
		width: min(100% - 20px, 1180px);
		padding-top: 22px;
	}

	.urlm-search,
	.urlm-panel,
	.urlm-cta-panel {
		padding: 16px;
	}

	.urlm-search-head,
	.urlm-filter-grid,
	.urlm-columns-2,
	.urlm-columns-3,
	.urlm-columns-4,
	.urlm-pdp-attributes,
	.urlm-dashboard-row,
	.urlm-date-row,
	.urlm-stat-grid,
	.urlm-feature-grid {
		grid-template-columns: 1fr;
	}

	.urlm-calendar-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.urlm-field-range > div {
		grid-template-columns: 1fr;
	}

	.urlm-search-actions,
	.urlm-cta-buttons {
		align-items: stretch;
		flex-direction: column;
	}

	.urlm-button {
		width: 100%;
	}
}
