/*
 * RMH listing page (specs/11 §6 layers, lane 11d). Hangs off body.rmh-listing (rmh-listing.php). Tokens:
 * brand/web-design-system.md §3, with fallbacks so the page stands without the skin. `:not(#_)` lifts a rule over the skin's
 * heading and link rules; !important only against Elementor/Boostly inline or ID-level styles. px only (html is 10 px).
 * Victor's booking card keeps its fields: only its frame and price line are styled here.
 */

body.rmh-listing {
	--l-ink: var(--rmh-ink, #231F20);
	--l-ink-soft: var(--rmh-ink-soft, #625A55);
	--l-taupe-deep: var(--rmh-taupe-deep, #80655A);
	--l-sand: var(--rmh-sand, #DED5CC);
	--l-cream: var(--rmh-cream, #F7F3EE);
	--l-shell: #EFE7DE;
	--l-gold: var(--rmh-gold, #D79800);
	--l-serif: var(--rmh-serif, "RMH Digits", "Marcellus", Georgia, serif);
	--l-sans: var(--rmh-sans, "DM Sans", "Helvetica Neue", Arial, sans-serif);
	--l-ease: cubic-bezier(.2, .7, .2, 1);
}

body.rmh-listing .rmh-lst { font-family: var(--l-sans); color: var(--l-ink); text-align: left; }
body.rmh-listing .rmh-lst :where(h1, h2, p, ul, dl, dd, figure, blockquote) { margin: 0; padding: 0; }
body.rmh-listing .rmh-lst ul[role="list"] { list-style: none; }
body.rmh-listing .rmh-lst em { font-style: normal; color: var(--l-taupe-deep); }
body.rmh-listing .rmh-lst a:not(#_) { color: inherit; }
body.rmh-listing .rmh-lst__label:not(#_) {
	margin-bottom: 12px; font: 600 12px/1.4 var(--l-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--l-taupe-deep);
}
body.rmh-listing .rmh-lst .rmh-lst__h2:not(#_):not(#_) {
	margin: 0 0 28px; font: 400 clamp(28px, 18px + 1.6vw, 40px)/1.1 var(--l-serif); letter-spacing: 0; text-transform: none;
	color: var(--l-ink); text-wrap: balance;
}
body.rmh-listing .rmh-lst__stars { color: var(--l-gold); letter-spacing: 1px; }
body.rmh-listing .rmh-lst__link:not(#_) {
	display: inline-flex; align-items: center; min-height: 44px; font: 600 15px/1.4 var(--l-sans); text-decoration: underline;
	text-decoration-color: var(--l-taupe-deep); text-decoration-thickness: 1px; text-underline-offset: 6px;
}
body.rmh-listing .rmh-lst__link::after { content: "\00a0→"; }

/* ---------- Template rhythm: the stacked ~150 px bands go ---------- */
body.rmh-listing .elementor-193128 .elementor-element-1db151a3:not(#_) { padding-top: 40px !important; padding-bottom: 0 !important; }
body.rmh-listing .elementor-193128 .rmh-listing-slot:not(#_) { margin-bottom: 0 !important; width: 100%; }
body.rmh-listing .elementor-193128 .elementor-element-7998c34e > .elementor-widget-wrap:not(#_) { align-content: flex-start; }

/* ---------- Gallery: a quiet photo count, 44 px arrows ---------- */
body.rmh-listing .gallery-slider-wrapper .slider-counter:not(#_) { display: none !important; }
body.rmh-listing .gallery-slider-wrapper .withlist-group:not(#_) {
	position: absolute !important; right: 16px; bottom: 16px; left: auto; top: auto; width: auto !important; margin: 0 !important; z-index: 3;
}
body.rmh-listing .gallery-slider-wrapper .withlist-group :is(.elementor-container, .elementor-column):not(#_) {
	display: flex; align-items: center; gap: 8px; width: auto !important; padding: 0 !important; margin: 0 !important;
}
body.rmh-listing .gallery-slider-wrapper .withlist-group .elementor-col-66:not(#_) { display: none; }
body.rmh-listing .top_gallery_v1_button:not(#_) {
	position: static !important; display: inline-flex !important; align-items: center; gap: 8px; min-height: 44px; margin: 0 !important;
	padding: 0 18px !important; border: 1px solid var(--l-sand) !important; border-radius: 999px !important;
	background: rgba(255, 255, 255, .94) !important; color: var(--l-ink) !important; font: 600 14px/1 var(--l-sans) !important;
	letter-spacing: 0; text-transform: none; box-shadow: 0 6px 18px -8px rgba(0, 0, 0, .35); transform: none !important;
}
body.rmh-listing .top_gallery_v1_button:hover { background: #fff !important; }
body.rmh-listing .top_gallery_v1_button svg { flex: none; }
body.rmh-listing .rmh-lst-photos__short { display: none; }
body.rmh-listing .gallery-slider-v2 :is(.swiper-button-prev, .swiper-button-next):not(#_) {
	width: 44px !important; height: 44px !important; border-radius: 50%; background: rgba(255, 255, 255, .9) !important;
	color: var(--l-ink) !important; box-shadow: 0 4px 14px -6px rgba(0, 0, 0, .4);
}
body.rmh-listing .gallery-slider-v2 :is(.swiper-button-prev, .swiper-button-next) i { font-size: 15px; color: var(--l-ink); }

/* Desktop photo grid (its own switch): lead photo + 4, the swiper stays for phones */
body.rmh-listing .rmh-lst-mosaic { display: none; }
@media (min-width: 1024px) {
	body.rmh-listing .rmh-lst-has-mosaic:not(#_) { display: none !important; }
	body.rmh-listing .rmh-lst-mosaic {
		position: relative; display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 8px;
		height: clamp(420px, 40vw, 600px); width: min(100vw - 2 * clamp(16px, 3vw, 40px), 1440px); margin: 16px 0 0 50%;
		transform: translateX(-50%);
	}
	body.rmh-listing .rmh-lst-mosaic__tile:not(#_) {
		display: block; padding: 0; margin: 0; border: 0; overflow: hidden; background: var(--l-cream); cursor: pointer; border-radius: 4px;
	}
	body.rmh-listing .rmh-lst-mosaic__tile--1 { grid-row: 1 / span 2; border-radius: 12px 4px 4px 12px !important; }
	body.rmh-listing .rmh-lst-mosaic__tile--3 { border-top-right-radius: 12px !important; }
	body.rmh-listing .rmh-lst-mosaic__tile--5 { border-bottom-right-radius: 12px !important; }
	body.rmh-listing .rmh-lst-mosaic__tile :is(picture, img):not(#_) {
		display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform .6s var(--l-ease), filter .3s;
	}
	body.rmh-listing .rmh-lst-mosaic__tile:hover img { transform: scale(1.03); filter: brightness(.94); }
	body.rmh-listing .rmh-lst-mosaic__all:not(#_) {
		position: absolute; right: 16px; bottom: 16px; display: inline-flex; align-items: center; gap: 8px; min-height: 44px;
		padding: 0 18px; border: 1px solid var(--l-sand); border-radius: 999px; background: rgba(255, 255, 255, .96);
		color: var(--l-ink); font: 600 14px/1 var(--l-sans); letter-spacing: 0; text-transform: none; cursor: pointer;
		box-shadow: 0 6px 18px -8px rgba(0, 0, 0, .35);
	}
	body.rmh-listing .rmh-lst-mosaic__all .rmh-lst-photos__short { display: none; }
	body.rmh-listing .rmh-lst-mosaic__all:focus-visible { outline: 2px solid var(--l-ink); outline-offset: 3px; }
}
@media (min-width: 1024px) and (prefers-reduced-motion: reduce) {
	body.rmh-listing .rmh-lst-mosaic__tile img { transition: none; }
	body.rmh-listing .rmh-lst-mosaic__tile:hover img { transform: none; }
}

/* ---------- The haciendas' and picked villas' first screen (hero.php, own switches): one photo, a quiet photo count ---------- */
body.rmh-lst-hero-on .rmh-lst-hero { position: relative; width: 100vw; margin-left: calc(50% - 50vw); }
body.rmh-lst-hero-on .rmh-lst-hero__photo {
	display: block; height: min(110vw, 58vh); height: min(110vw, 58svh); overflow: hidden; background: var(--l-cream); cursor: pointer;
}
body.rmh-lst-hero-on .rmh-lst-hero__photo :is(picture, img):not(#_) {
	display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: var(--rmh-hero-focus, 50% 50%);
	transition: transform .8s var(--l-ease);
}
/* the count reads on any photo: a soft shade along the bottom edge, white text with its own shadow */
body.rmh-lst-hero-on .rmh-lst-hero::after {
	content: ""; position: absolute; inset: auto 0 0; height: 112px; pointer-events: none;
	background: linear-gradient(to bottom, rgba(35, 31, 32, 0), rgba(35, 31, 32, .5));
}
body.rmh-lst-hero-on .rmh-lst-hero__all:not(#_) {
	position: absolute; right: 12px; bottom: 6px; z-index: 1; display: inline-flex; align-items: center; min-height: 44px;
	padding: 0 8px; margin: 0; border: 0; border-radius: 6px; background: none; box-shadow: none; cursor: pointer;
	color: #fff; font: 600 15px/1 var(--l-sans); letter-spacing: 0; text-transform: none; text-shadow: 0 1px 6px rgba(0, 0, 0, .5);
	text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px;
}
body.rmh-lst-hero-on .rmh-lst-hero__all:hover { text-decoration-thickness: 2px; }
body.rmh-lst-hero-on .rmh-lst-hero__all:focus-visible { outline: 2px solid #fff; outline-offset: 2px; box-shadow: 0 0 0 4px var(--l-ink); }
@media (min-width: 768px) {
	body.rmh-lst-hero-on .rmh-lst-hero__photo { height: min(62vw, 64vh); }
}
@media (min-width: 1024px) {
	body.rmh-lst-hero-on .rmh-lst-hero {
		width: min(100vw - 2 * clamp(16px, 3vw, 40px), 1440px); margin: 16px 0 0 50%; transform: translateX(-50%);
		overflow: hidden; border-radius: 12px;
	}
	body.rmh-lst-hero-on .rmh-lst-hero__photo { height: clamp(400px, 56vh, 600px); }
	body.rmh-lst-hero-on .rmh-lst-hero__photo img:not(#_) { object-position: var(--rmh-hero-focus-wide, 50% 50%); }
	body.rmh-lst-hero-on .rmh-lst-hero__all:not(#_) { right: 20px; bottom: 12px; }
	body.rmh-lst-hero-on .rmh-lst-hero__photo:hover img { transform: scale(1.015); }
}
@media (prefers-reduced-motion: reduce) {
	body.rmh-lst-hero-on .rmh-lst-hero__photo img { transition: none; }
	body.rmh-lst-hero-on .rmh-lst-hero__photo:hover img { transform: none; }
}

/* Desktop booking card, collapsed: price, dates, "Check availability", the reply line. The rest of Victor's card (guests,
   quote, contact fields, Send, WhatsApp) is the same markup after the gate, shown once the card opens (rmh-listing.js). */
body.rmh-lst-hero-on .rmh-lst-card:not(.rmh-lst-card--open) .rmh-lst-gate ~ * { display: none !important; }
body.rmh-lst-hero-on .rmh-lst-card--open .rmh-lst-gate { display: none; }
body.rmh-lst-hero-on .rmh-lst-gate { margin-top: 16px; }
body.rmh-lst-hero-on .rmh-lst-gate__go:not(#_) { min-height: 48px; margin: 0; }
body.rmh-lst-hero-on :is(.rmh-lst-gate__note, .rmh-lst-gate__after):not(#_) {
	margin: 12px 0 0; font: 400 14px/1.45 var(--l-sans); color: var(--l-ink-soft); text-align: center;
}
body.rmh-lst-hero-on .rmh-lst-gate__after:not(#_) { margin-bottom: 4px; }

/* ---------- Layer 1: the head ---------- */
body.rmh-listing .rmh-lst-head { padding-bottom: 8px; }
body.rmh-listing .rmh-lst__crumb:not(#_) { margin-bottom: 12px; font: 400 14px/1.4 var(--l-sans); color: var(--l-ink-soft); }
body.rmh-listing .rmh-lst__crumb a:not(#_) { display: inline-flex; align-items: center; min-height: 32px; text-decoration: none; font: inherit; color: var(--l-ink-soft); }
body.rmh-listing .rmh-lst__crumb a:hover { color: var(--l-taupe-deep); }
/* rmh-share.php: the crumb and the Share button on one line, the button right-aligned (also alone, when there's no crumb) */
body.rmh-listing .rmh-lst__top { display: flex; align-items: center; gap: 16px; margin-bottom: 12px; }
body.rmh-listing .rmh-lst__top .rmh-lst__crumb:not(#_) { margin-bottom: 0; min-width: 0; }
body.rmh-listing .rmh-share:not(#_) {
	display: inline-flex; align-items: center; gap: 8px; flex: none; margin-left: auto; min-height: 44px; padding: 0 16px;
	border: 1px solid var(--l-sand); border-radius: 999px; background: transparent; box-shadow: none;
	font: 500 14px/1 var(--l-sans); letter-spacing: .01em; text-transform: none; color: var(--l-ink); cursor: pointer;
	transition: transform .15s var(--l-ease);
}
body.rmh-listing .rmh-share:hover:not(#_) { background: var(--l-cream); border-color: var(--l-taupe-deep); color: var(--l-ink); }
body.rmh-listing .rmh-share:focus-visible:not(#_) { outline: 2px solid var(--l-ink); outline-offset: 3px; }
body.rmh-listing .rmh-share:active:not(#_) { transform: scale(.97); }
body.rmh-listing .rmh-share.is-done:not(#_) { border-color: var(--l-taupe-deep); color: var(--l-taupe-deep); }
body.rmh-listing .rmh-share__icon { flex: none; }
body.rmh-listing .rmh-share__status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { body.rmh-listing .rmh-share:not(#_) { transition: none; } body.rmh-listing .rmh-share:active:not(#_) { transform: none; } }
body.rmh-listing .rmh-lst .rmh-lst__title:not(#_):not(#_) {
	font: 400 clamp(34px, 22px + 2vw, 52px)/1.05 var(--l-serif) !important; letter-spacing: -.005em; text-transform: none;
	color: var(--l-ink); text-wrap: balance;
}
body.rmh-listing .rmh-lst__line:not(#_) { margin-top: 12px; max-width: 52ch; font: 400 18px/1.55 var(--l-sans); color: var(--l-ink-soft); }
/* the four haciendas: the family story's line for the house (rmh-landing components/story.php, off until rmh_our_story_enabled),
   in ink (the capacity line above is ink-soft) so it reads as its own line, with the link to /our-story/ in the text links' style */
body.rmh-listing .rmh-lst__story:not(#_) { margin-top: 10px; max-width: 52ch; font: 400 18px/1.5 var(--l-sans); color: var(--l-ink); text-wrap: pretty; }
body.rmh-listing .rmh-lst__story a:not(#_) {
	padding-block: 12px; margin-left: 4px; font: 600 15px/1.4 var(--l-sans); color: var(--l-ink); /* inline padding: a 44 px tap area, same line height */
	text-decoration: underline; text-decoration-color: var(--l-taupe-deep); text-underline-offset: 5px; white-space: nowrap;
}
body.rmh-listing .rmh-lst__story a:hover { color: var(--l-taupe-deep); }
body.rmh-listing .rmh-lst__facts { display: flex; flex-wrap: wrap; margin-top: 24px; border-block: 1px solid var(--l-sand); }
body.rmh-listing .rmh-lst__facts > div { padding: 16px 24px 16px 0; margin-right: 24px; border-right: 1px solid var(--l-sand); }
body.rmh-listing .rmh-lst__facts > div:last-child { margin-right: 0; border-right: 0; }
body.rmh-listing .rmh-lst__facts dt { font: 400 30px/1 var(--l-serif); }
body.rmh-listing .rmh-lst__facts dd { margin-top: 6px; font: 400 14px/1.3 var(--l-sans); color: var(--l-ink-soft); }
body.rmh-listing .rmh-lst__price:not(#_) { margin-top: 16px; font: 400 16px/1.4 var(--l-sans); color: var(--l-ink-soft); }
body.rmh-listing .rmh-lst__price strong { font-weight: 600; color: var(--l-ink); white-space: nowrap; }
body.rmh-listing .rmh-lst__proof:not(#_) { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin-top: 16px; font: 400 15px/1.4 var(--l-sans); }
body.rmh-listing .rmh-lst__proof a:not(#_) { display: inline-flex; align-items: center; min-height: 32px; font: inherit; text-decoration: underline; text-decoration-color: var(--l-sand); text-underline-offset: 4px; }
body.rmh-listing .rmh-lst__proof a:hover { text-decoration-color: var(--l-taupe-deep); }
body.rmh-listing .rmh-lst__jump {
	position: sticky; top: 0; z-index: 5; display: flex; gap: 4px; margin-top: 28px; padding: 8px 0; overflow-x: auto;
	background: #fff; border-bottom: 1px solid var(--l-sand); scrollbar-width: none;
}
body.rmh-listing .rmh-lst__jump a:not(#_) {
	flex: none; display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 999px;
	font: 500 15px/1 var(--l-sans); text-decoration: none; color: var(--l-ink);
}
body.rmh-listing .rmh-lst__jump a:hover, body.rmh-listing .rmh-lst__jump a:focus-visible { background: var(--l-cream); color: var(--l-taupe-deep); }

/* ---------- Layers 2–4 ---------- */
body.rmh-listing .rmh-lst-sec { padding: 56px 0; border-top: 1px solid var(--l-sand); scroll-margin-top: 72px; }
body.rmh-listing .rmh-lst-sec--first { border-top: 0; padding-top: 40px; }
body.rmh-listing .rmh-lst-incl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
body.rmh-listing .rmh-lst-incl li { padding-top: 16px; border-top: 2px solid var(--l-ink); }
body.rmh-listing .rmh-lst-incl strong { display: block; margin-bottom: 6px; font: 600 16px/1.3 var(--l-sans); }
body.rmh-listing .rmh-lst-incl span { font: 400 15px/1.5 var(--l-sans); color: var(--l-ink-soft); }
/* What's included (three lists) + Good to know */
body.rmh-listing .rmh-lst-inc { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
body.rmh-listing .rmh-lst-inc__h:not(#_) {
	margin: 0 0 12px; padding-top: 14px; border-top: 2px solid var(--l-ink); font: 600 15px/1.3 var(--l-sans); color: var(--l-ink);
}
body.rmh-listing .rmh-lst-inc ul, body.rmh-listing .rmh-lst-know ul { margin: 0; padding: 0; list-style: none; }
body.rmh-listing .rmh-lst-inc li:not(#_) {
	position: relative; margin: 0 0 10px; padding-left: 20px; font: 400 15px/1.5 var(--l-sans); color: var(--l-ink-soft);
}
body.rmh-listing .rmh-lst-inc li::before { content: ""; position: absolute; left: 2px; top: 9px; width: 8px; height: 4px; border: solid var(--l-taupe-deep); border-width: 0 0 1.5px 1.5px; transform: rotate(-45deg); }
body.rmh-listing .rmh-lst-inc__col:nth-child(2) li::before { width: 8px; height: 0; top: 11px; border-width: 0 0 1.5px 0; transform: none; }
body.rmh-listing .rmh-lst-inc__col:nth-child(3) li::before { width: 5px; height: 5px; top: 9px; border: 0; border-radius: 50%; background: var(--l-taupe-deep); transform: none; }
body.rmh-listing .rmh-lst-know { margin-top: 36px; padding: 24px 28px; border-radius: 12px; background: var(--l-cream); }
body.rmh-listing .rmh-lst-know .rmh-lst-inc__h:not(#_) { border-top: 0; padding-top: 0; }
body.rmh-listing .rmh-lst-know li:not(#_) { margin: 0 0 10px; font: 400 15px/1.55 var(--l-sans); color: var(--l-ink); }
body.rmh-listing .rmh-lst-know li:last-child { margin-bottom: 0; }
body.rmh-listing .rmh-lst-know a:not(#_) { text-decoration: underline; text-decoration-color: var(--l-taupe-deep); text-underline-offset: 4px; }
/* How pricing works (T10): the quote's order as numbered steps, the two food options side by side, the holiday weeks in ink */
body.rmh-listing .rmh-lst-price:not(#_) { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--l-ink); }
body.rmh-listing .rmh-lst-price__step:not(#_) {
	display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 16px; align-items: baseline; margin: 0; padding: 20px 0;
	border-bottom: 1px solid var(--l-sand);
}
body.rmh-listing .rmh-lst-price__n { font: 400 40px/1 var(--l-serif); color: var(--l-taupe-deep); }
body.rmh-listing :is(.rmh-lst-price, .rmh-lst-price__opt, .rmh-lst-price__holiday) p:not(#_) {
	margin: 0; max-width: 60ch; font: 400 16px/1.55 var(--l-sans); color: var(--l-ink-soft);
}
body.rmh-listing .rmh-lst-price__t:not(#_):not(#_) { margin: 0 0 4px; font: 600 16px/1.35 var(--l-sans); color: var(--l-ink); }
body.rmh-listing .rmh-lst-price__food { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 16px 0 0 72px; }
body.rmh-listing .rmh-lst-price__opt { padding: 20px 24px; border: 1px solid var(--l-sand); border-radius: 4px; background: #fff; }
body.rmh-listing .rmh-lst-price__holiday { margin-top: 40px; padding: 28px 32px; border-radius: 12px; background: var(--l-ink); }
body.rmh-listing .rmh-lst-price__holiday .rmh-lst-price__ht:not(#_):not(#_):not(#_) { margin: 0 0 8px; font: 400 26px/1.2 var(--l-serif); font-family: var(--l-serif) !important; letter-spacing: 0; text-transform: none; color: #fff; text-wrap: balance; }
body.rmh-listing .rmh-lst-price__holiday p:not(#_):not(#_) { color: var(--l-sand); }
body.rmh-listing .rmh-lst-price__foot:not(#_) { margin: 24px 0 0; font: 400 15px/1.55 var(--l-sans); color: var(--l-ink-soft); }
body.rmh-listing .rmh-lst-price__foot a:not(#_) { text-decoration: underline; text-decoration-color: var(--l-taupe-deep); text-underline-offset: 4px; }
body.rmh-listing .rmh-lst-price__go:not(#_) { margin: 8px 0 0; }
body.rmh-listing .rmh-lst-price__go a:focus-visible, body.rmh-listing .rmh-lst-price__foot a:focus-visible { outline: 2px solid var(--l-ink); outline-offset: 3px; }
body.rmh-listing .rmh-lst-hl { display: flex; flex-wrap: wrap; gap: 10px; }
body.rmh-listing .rmh-lst-hl li { padding: 10px 16px; border: 1px solid var(--l-sand); border-radius: 999px; font: 500 15px/1.2 var(--l-sans); }

body.rmh-listing .rmh-lst-sec .rmh-lst__h2 span:not(.rmh-lst-reviews__score) {
	display: block; margin-top: 8px; font: 400 16px/1.4 var(--l-sans); color: var(--l-ink-soft);
}
body.rmh-listing .rmh-lst-reviews__score { display: block; color: var(--l-ink); margin-bottom: 4px; font: 400 56px/1 var(--l-serif); }
body.rmh-listing .rmh-lst-reviews__score .elementor-screen-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
body.rmh-listing .rmh-lst-reviews { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
body.rmh-listing .rmh-lst-review { display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; gap: 14px; align-content: start; padding: 24px; border-radius: 12px; background: var(--l-shell); }
body.rmh-listing .rmh-lst-review blockquote:not(#_) { width: auto; max-width: 100%; margin: 0 !important; padding: 0 !important; border: 0 !important; quotes: none; font-style: normal; background: none; }
body.rmh-listing .rmh-lst-review blockquote::before, body.rmh-listing .rmh-lst-review blockquote::after { content: none; }
body.rmh-listing .rmh-lst-review blockquote p:not(#_) { margin: 0; font: 400 19px/1.45 var(--l-serif); color: var(--l-ink); overflow-wrap: break-word; text-align: left; }
body.rmh-listing .rmh-lst-review blockquote p::before { content: "“"; }
body.rmh-listing .rmh-lst-review blockquote p::after { content: "”"; }
body.rmh-listing .rmh-lst-review figcaption { font: 400 14px/1.4 var(--l-sans); color: var(--l-ink-soft); }

body.rmh-listing .rmh-lst-acc { border-bottom: 1px solid var(--l-sand); }
body.rmh-listing .rmh-lst-acc > summary {
	display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 64px; cursor: pointer; list-style: none;
	font: 600 18px/1.3 var(--l-sans); color: var(--l-ink);
}
body.rmh-listing .rmh-lst-acc > summary::-webkit-details-marker { display: none; }
body.rmh-listing .rmh-lst-acc > summary::after { content: "+"; flex: none; font: 300 26px/1 var(--l-sans); color: var(--l-taupe-deep); transition: transform .2s; }
body.rmh-listing .rmh-lst-acc[open] > summary::after { transform: rotate(45deg); }
body.rmh-listing .rmh-lst-acc > summary:focus-visible { outline: 2px solid var(--l-ink); outline-offset: 4px; }
body.rmh-listing .rmh-lst-acc__body { padding: 0 0 24px; font-size: 16px; }
body.rmh-listing .rmh-lst-allreviews { margin-top: 24px; border-top: 1px solid var(--l-sand); }
body.rmh-listing .rmh-lst-allreviews > summary { font-size: 16px; }
body.rmh-listing .rmh-lst-allreviews .reviews-section h2 { display: none; }
body.rmh-listing .rmh-lst-allreviews .reviews-section { padding: 0; margin: 0; }

body.rmh-listing .rmh-lst-about { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; }
body.rmh-listing .rmh-lst-about__text p:not(#_) { margin: 0 0 16px; max-width: 64ch; font: 400 17px/1.65 var(--l-sans); color: var(--l-ink); text-align: left; }
/* the description's own headings (Clic Root's copy) sit under the section title, so they read as subtitles */
body.rmh-listing .rmh-lst-about__text :is(h1, h2, h3, h4, h5, h6):not(#_):not(#_) {
	margin: 24px 0 8px; font: 600 19px/1.35 var(--l-sans) !important; letter-spacing: 0; text-transform: none; color: var(--l-ink);
}
body.rmh-listing .rmh-lst-about__text > :first-child:is(h1, h2, h3, h4, h5, h6):not(#_):not(#_) { margin-top: 0; }
/* the haciendas' three layers (the house, the day, the evening): a quiet tracked label over one short paragraph */
body.rmh-listing .rmh-lst-layer + .rmh-lst-layer { margin-top: var(--rmh-space-1, 24px); padding-top: var(--rmh-space-1, 24px); border-top: 1px solid var(--l-sand); }
body.rmh-listing .rmh-lst-about__text .rmh-lst-layer__h:not(#_):not(#_):not(#_) {
	margin: 0 0 8px; font: 500 13px/1.4 var(--l-sans) !important; letter-spacing: .1em; text-transform: uppercase; color: var(--l-ink-soft);
}
body.rmh-listing .rmh-lst-about__text .rmh-lst-layer p:not(#_) { margin: 0; font-size: 19px; }
/* villas with site copy (villa-about.php): Guesty's full description folds under the three layers, on the same rule */
body.rmh-listing .rmh-lst-layer + .rmh-lst-more { margin-top: var(--rmh-space-1, 24px); padding-top: 8px; border-top: 1px solid var(--l-sand); }
body.rmh-listing .rmh-lst-more > summary {
	display: inline-flex; align-items: center; min-height: 44px; cursor: pointer; list-style: none; font: 600 15px/1.4 var(--l-sans);
	text-decoration: underline; text-decoration-color: var(--l-taupe-deep); text-underline-offset: 6px;
}
body.rmh-listing .rmh-lst-more > summary::-webkit-details-marker { display: none; }
/* open, the summary stays as "Show less" so the description can fold back */
body.rmh-listing .rmh-lst-more .rmh-lst-more__close, body.rmh-listing .rmh-lst-more[open] .rmh-lst-more__open { display: none; }
body.rmh-listing .rmh-lst-more[open] .rmh-lst-more__close { display: inline; }

body.rmh-listing .rmh-lst-houses { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
body.rmh-listing .rmh-lst-house:not(#_) { display: grid; gap: 6px; text-decoration: none; color: var(--l-ink); }
body.rmh-listing .rmh-lst-house__arch { display: block; aspect-ratio: 4 / 3; overflow: hidden; margin-bottom: 8px; border-radius: 160px 160px 10px 10px; background: var(--l-cream); }
body.rmh-listing .rmh-lst-house__arch img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--l-ease); }
body.rmh-listing .rmh-lst-house:hover .rmh-lst-house__arch img { transform: scale(1.04); }
body.rmh-listing .rmh-lst-house strong { font: 400 18px/1.2 var(--l-serif); letter-spacing: .08em; text-transform: uppercase; }
body.rmh-listing .rmh-lst-house > span:last-child { font: 400 14px/1.4 var(--l-sans); color: var(--l-ink-soft); }
body.rmh-listing .rmh-lst-next__all { margin-top: 16px; }
/* Villas and condos: "More homes to compare", the site's listing card (one link, Marcellus capitals name, DM Sans meta) */
body.rmh-listing .rmh-lst-home:not(#_) {
	display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid var(--l-sand); border-radius: 12px;
	background: #fff; color: var(--l-ink); text-decoration: none;
}
body.rmh-listing .rmh-lst-home__img { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--l-cream); }
body.rmh-listing .rmh-lst-home__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--l-ease); }
body.rmh-listing .rmh-lst-home:hover .rmh-lst-home__img img { transform: scale(1.04); }
body.rmh-listing .rmh-lst-home__body { display: grid; gap: 6px; padding: 16px 18px 18px; }
body.rmh-listing .rmh-lst-home strong { font: 400 19px/1.25 var(--l-serif); letter-spacing: .03em; text-transform: uppercase; }
/* the meta never truncates ("3.5 bathro…", design walk 10-16): short words, and a second line rather than an ellipsis */
body.rmh-listing .rmh-lst-home__body > span { font: 400 15px/1.4 var(--l-sans); color: var(--l-ink-soft); text-wrap: pretty; }
body.rmh-listing .rmh-lst-home__price:not(#_) { margin-top: 2px; white-space: nowrap; }
body.rmh-listing .rmh-lst-home__price b { font-weight: 600; color: var(--l-ink); }
body.rmh-listing .rmh-lst-home:focus-visible { outline: 2px solid var(--l-ink); outline-offset: 4px; }

/* ---------- The booking card: frame + price line ---------- */
/* sticky by CSS inside the sidebar column, so it stops where the two-column row ends (desktop + tablet layouts).
   The theme's body{overflow-x:hidden} makes <body> the scroll container and sticky would never engage; clip keeps the
   no-sideways-scroll guarantee without that (browsers without clip fall back to a card that simply scrolls). */
html:has(body.rmh-listing), body.rmh-listing:not(#_) { overflow-x: clip; overflow-y: visible; }
@media (min-width: 768px) {
	body.rmh-listing .elementor-element-ba2f5ad > .elementor-widget-wrap:not(#_) { display: block; height: 100%; }
	/* an inline theme rule sets `div#clbooking section.elementor-section { top: auto !important }` below 1700 px.
	   z-index 6 > the jump nav's 5: the date picker opens leftwards out of the card, over the nav (a week row hid under it) */
	/* --rmh-lst-sticky-top: rmh-listing.js lowers it below 96 px when the card is taller than the window */
	body.rmh-listing div#clbooking section.rmh-lst-sticky:not(#_) { position: sticky !important; top: var(--rmh-lst-sticky-top, 96px) !important; z-index: 6; }
}
/* One frame: the widget box around the module carries it (it had a 2 px ink border on cream); the module itself goes flat */
body.rmh-listing .elementor-element-2cecd4ef > .elementor-widget-container:not(#_) {
	border: 1px solid var(--l-sand) !important; border-radius: 12px !important; background: #fff !important; padding: 24px 24px 20px !important;
	box-shadow: 0 24px 48px -30px rgba(35, 31, 32, .35) !important;
}
body.rmh-listing .sidebar-booking-module:not(#_) {
	border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: transparent !important;
}
body.rmh-listing .sidebar-booking-module .item-price:not(#_) {
	display: flex; align-items: baseline; flex-wrap: wrap; gap: 0 6px; white-space: nowrap; font: 400 30px/1.1 var(--l-serif) !important; color: var(--l-ink) !important;
}
body.rmh-listing .sidebar-booking-module .item-price :is(sup, sub):not(#_) {
	position: static; vertical-align: baseline; font: 400 15px/1 var(--l-sans) !important; color: var(--l-ink-soft) !important;
}
/* S11 (10-07): the card says "From $2,860 a night · 4 suites" itself; the Customizer's "From USD" prefix and hidden <sup> go */
body.rmh-listing .sidebar-booking-module .item-price:not(#_)::before { content: none; }
body.rmh-listing .sidebar-booking-module .item-price sup:not(#_):not(#_) { display: inline; }
body.rmh-listing .sidebar-booking-module .item-price sup:empty:not(#_):not(#_) { display: none; }

/* "Dates are available" was 11 px green italic (under the 12 px floor, off-palette); the month names in the picker were Lato */
html body.rmh-listing .boostly_notification .notify.text-success:not(#_):not(#_) {
	font: 400 13px/1.4 var(--l-sans) !important; font-style: normal !important; color: var(--l-ink-soft) !important; text-transform: none !important;
}
html body.rmh-listing .search-calendar .month-title:not(#_) { font-family: var(--l-sans) !important; font-weight: 600; letter-spacing: 0; }

/* Guests counter (sidebar + phone sheet): count · label · − · +, two separate 44 px circles (the theme's -1 px joined-pill
   margins made the circles overlap; the children row stays hidden); − shows disabled at one guest (rmh-listing.js) */
body.rmh-listing .adults-calculator:not(#_) { display: flex; align-items: center; gap: 8px; }
body.rmh-listing .adults-calculator .quantity-calculator:not(#_) { order: 0; margin: 0; width: auto; min-width: 24px; }
body.rmh-listing .adults-calculator .calculator-label:not(#_) { order: 1; flex: 1 1 auto; }
body.rmh-listing .adults-calculator .adult_minus:not(#_) { order: 2; }
body.rmh-listing .adults-calculator .adult_plus:not(#_) { order: 3; }
body.rmh-listing .adults-calculator .btn:not(#_):not(#_) {
	flex: none; float: none; width: 44px; height: 44px !important; margin: 0; padding: 0; border: 1px solid var(--l-ink); border-radius: 50%;
}
body.rmh-listing .adults-calculator .btn:disabled:not(#_):not(#_) { border-color: var(--l-sand); color: var(--l-sand); opacity: 1; cursor: not-allowed; }

/* Phone booking bar on narrow phones: "From USD $2,860" was cut to "From USD $2,8…" at 320 (rmh-brand's one-line rule
   with an ellipsis). Up to 400 px, "From" takes its own small line, the number never truncates. */
@media (max-width: 400px) {
	body.rmh-listing .overlay-booking-price:not(#_):not(#_) { overflow: visible; text-overflow: clip; font-size: 16px; line-height: 1.15; }
	body.rmh-listing .overlay-booking-price:not(#_)::before { display: block; font-size: 12px; line-height: 1.2; color: var(--l-ink-soft); }
}
/* Under 360 px the bar's WhatsApp circle sat on the price ("USD $2,8", staging check 10-05): it steps out there; the header
   keeps its own WhatsApp circle at every phone width. */
@media (max-width: 359px) {
	body.rmh-listing .overlay-booking-btn .rmh-wa-bar:not(#_) { display: none; }
}

/* Phone sheet: the same visible labels as the desktop card (there, template 193128's Elementor CSS prints them). The
   theme's field icons are absolute ::after at a fixed top, so they move down with the 24 px label. */
body.rmh-listing #overlay-booking-module :is(.search-date-range-arrive, .search-date-range-depart, .search-guests)::before {
	display: block; height: 24px; font: 600 14px/18px var(--l-sans); color: var(--l-ink);
}
body.rmh-listing #overlay-booking-module .search-date-range-arrive::before { content: "Check-in"; }
body.rmh-listing #overlay-booking-module .search-date-range-depart::before { content: "Check-out"; }
body.rmh-listing #overlay-booking-module .search-guests::before { content: "Guests"; }
body.rmh-listing #overlay-booking-module :is(.search-date-range-arrive, .search-date-range-depart, .search-guests)::after { transform: translateY(24px); }

/* ---------- Widths ---------- */
@media (min-width: 1025px) {
	body.rmh-listing .rmh-lst-about { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 72px; }
}
/* the full-width section under the two-column row (About, Questions, "An evening", next door): the same side padding as the
   main column above it, which Elementor sets per width (16 / 30 / 20 px). It was 10 px, so the block sat out of line with
   the page and nearly on the edge at 768–1024 (design walk 10-16). */
body.rmh-listing { --rmh-lst-gutter: 16px; }
@media (min-width: 768px) { body.rmh-listing { --rmh-lst-gutter: 30px; } }
@media (min-width: 1025px) { body.rmh-listing { --rmh-lst-gutter: 20px; } }
body.rmh-listing .rmh-lst-after > .elementor-container > .elementor-column > .elementor-widget-wrap:not(#_) { padding: 0 var(--rmh-lst-gutter); }
/* Questions: the FAQ component's band and centred 880 px wrap go, so it starts on the About column's line and top */
body.rmh-listing #rmh-lst-faq.rmh-l__band:not(#_) { padding-block: 0; background: none; scroll-margin-top: 72px; }
body.rmh-listing #rmh-lst-faq > .rmh-l__wrap:not(#_) { width: auto; max-width: none; margin: 0; }
/* "An evening at the house": the cream band sits inside the gutter as one rounded panel, not edge to edge */
body.rmh-listing #rmh-lst-evenings.rmh-l__band:not(#_) { border-radius: 12px; }
/* From 1100 px its six photos were ~165 px wide in one filmstrip; now three larger frames a row, the middle one dropped */
@media (min-width: 1100px) {
	body.rmh-listing #rmh-lst-evenings .rmh-l-moments__list:not(#_) {
		grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: clamp(24px, 2.4vw, 40px);
		row-gap: calc(var(--l-moment-drop) + 48px);
	}
	body.rmh-listing #rmh-lst-evenings .rmh-l-moment:nth-child(n):not(#_) { transform: none; }
	body.rmh-listing #rmh-lst-evenings .rmh-l-moment:nth-child(3n+2):not(#_) { transform: translateY(var(--l-moment-drop)); }
	body.rmh-listing #rmh-lst-evenings .rmh-l-moment__frame:not(#_) { aspect-ratio: 4 / 5; }
}
@media (max-width: 1024px) {
	body.rmh-listing .rmh-lst-inc { grid-template-columns: minmax(0, 1fr); gap: 8px; }
	body.rmh-listing .rmh-lst-incl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.rmh-listing .rmh-lst-reviews { grid-template-columns: minmax(0, 1fr); }
}
/* phones and tablets: the ~65 px white band between the photo and the crumb (section padding + margin on top of the
   column's own) pushed the H1 under the cookie banner; the column's padding alone is the gap now (design walk 10-16) */
@media (max-width: 1024px) {
	body.rmh-listing .elementor-193128 .elementor-element-1db151a3:not(#_) { padding-top: 0 !important; margin-top: 0 !important; }
}
@media (max-width: 767px) {
	body.rmh-listing .rmh-lst-photos__long { display: none; }
	body.rmh-listing .rmh-lst-photos__short { display: inline; }
	body.rmh-listing .rmh-lst__facts dt { font-size: 24px; }
	body.rmh-listing .rmh-lst__facts > div { padding-right: 14px; margin-right: 14px; }
	/* four facts (the haciendas since 10-07): two by two on phones, not a ragged wrap */
	body.rmh-listing .rmh-lst__facts:has(> div:nth-child(4)) { display: grid; grid-template-columns: 1fr 1fr; }
	body.rmh-listing .rmh-lst__facts:has(> div:nth-child(4)) > div { margin-right: 0; padding: 14px 12px 14px 0; border-right: 0; }
	body.rmh-listing .rmh-lst__facts:has(> div:nth-child(4)) > div:nth-child(even) { padding-left: 14px; border-left: 1px solid var(--l-sand); }
	body.rmh-listing .rmh-lst__facts:has(> div:nth-child(4)) > div:nth-child(n+3) { border-top: 1px solid var(--l-sand); }
	body.rmh-listing .rmh-lst__line:not(#_) { font-size: 16px; }
	body.rmh-listing .rmh-lst__story:not(#_) { font-size: 17px; }
	body.rmh-listing .rmh-lst-sec { padding: 40px 0; }
	body.rmh-listing .rmh-lst-know { padding: 20px; }
	body.rmh-listing .rmh-lst-price__step:not(#_) { grid-template-columns: 36px minmax(0, 1fr); gap: 12px; padding: 16px 0; }
	body.rmh-listing .rmh-lst-price__n { font-size: 30px; }
	body.rmh-listing .rmh-lst-price__food { grid-template-columns: minmax(0, 1fr); margin-left: 0; }
	body.rmh-listing .rmh-lst-price__opt { padding: 16px 20px; }
	body.rmh-listing .rmh-lst-price__holiday { margin-top: 32px; padding: 24px 20px; }
	body.rmh-listing .rmh-lst-incl { grid-template-columns: minmax(0, 1fr); gap: 14px; }
	body.rmh-listing .rmh-lst-houses {
		grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 78%; overflow-x: auto; scroll-snap-type: x mandatory;
		padding-bottom: 8px; scrollbar-width: none;
	}
	body.rmh-listing :is(.rmh-lst-house, .rmh-lst-home) { scroll-snap-align: start; }
	body.rmh-listing .rmh-lst-review blockquote p:not(#_) { font-size: 18px; }
	body.rmh-listing .rmh-lst__dot { display: none; }
	body.rmh-listing .rmh-lst-reviews {
		grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 86%; overflow-x: auto; scroll-snap-type: x mandatory;
		padding-bottom: 8px; scrollbar-width: none;
	}
	body.rmh-listing .rmh-lst-review { scroll-snap-align: start; }
}
@media (prefers-reduced-motion: reduce) {
	body.rmh-listing :is(.rmh-lst-house__arch img, .rmh-lst-home__img img, .rmh-lst-acc > summary::after) { transition: none !important; }
	body.rmh-listing :is(.rmh-lst-house:hover .rmh-lst-house__arch img, .rmh-lst-home:hover .rmh-lst-home__img img) { transform: none; }
}
/* session 31: "See every experience" under the concierge list, once /experiences/ is live */
body.rmh-listing .rmh-lst-inc__more:not(#_) { margin-top: 14px; }

/* ---------- O16: Vrbo and Airbnb next to Google (ota-reviews.php, switch rmh_ota_reviews_enabled) ---------- */
body.rmh-listing .rmh-lst__stars-off { color: var(--l-sand); }
body.rmh-listing .rmh-lst__ota { display: inline-flex; align-items: center; min-height: 32px; white-space: nowrap; color: var(--l-ink); }
body.rmh-listing .rmh-lst-src:not(#_) { display: flex; flex-wrap: wrap; row-gap: 8px; margin: -12px 0 32px; padding: 0; list-style: none; }
body.rmh-listing .rmh-lst-src li {
	display: flex; align-items: baseline; gap: 6px; margin: 0 20px 0 0; padding: 0 20px 0 0; border-right: 1px solid var(--l-sand);
	font: 400 15px/1.4 var(--l-sans); color: var(--l-ink-soft); white-space: nowrap;
}
body.rmh-listing .rmh-lst-src li:last-child { margin-right: 0; padding-right: 0; border-right: 0; }
body.rmh-listing .rmh-lst-src__name { margin-right: 4px; font: 600 12px/1.4 var(--l-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--l-ink); }
body.rmh-listing .rmh-lst-src__score { font: 400 22px/1 var(--l-serif); color: var(--l-ink); }
body.rmh-listing .rmh-lst-review__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
body.rmh-listing .rmh-lst-review__src { font: 600 12px/1.4 var(--l-sans); letter-spacing: .16em; text-transform: uppercase; color: #6E564B; } /* on the shell card: taupe-deep is 4.36:1 here, this 5.3:1 (10-16) */
body.rmh-listing .rmh-lst-ota { margin-top: 40px; }
body.rmh-listing .rmh-lst-all:not(#_) { margin: 0; padding: 0 0 8px; list-style: none; }
body.rmh-listing .rmh-lst-all__item { padding: 20px 0; border-top: 1px solid var(--l-sand); }
body.rmh-listing .rmh-lst-all__meta:not(#_) { margin: 0 0 8px; font: 400 14px/1.5 var(--l-sans); color: var(--l-ink-soft); }
body.rmh-listing .rmh-lst-all__meta strong { font-weight: 600; color: var(--l-ink); }
body.rmh-listing .rmh-lst-all__text p:not(#_) { margin: 0 0 10px; max-width: 70ch; font: 400 16px/1.6 var(--l-sans); color: var(--l-ink); overflow-wrap: break-word; text-align: left; }
@media (max-width: 767px) {
	/* one platform per line on phones: a wrapped row left a hairline dangling at the line end */
	body.rmh-listing .rmh-lst-src:not(#_) { flex-direction: column; row-gap: 6px; }
	body.rmh-listing .rmh-lst-src li { margin-right: 0; padding-right: 0; border-right: 0; }
	body.rmh-listing .rmh-lst-src__name { min-width: 72px; }
	body.rmh-listing .rmh-lst-ota { margin-top: 32px; }
}

/* ---------- The story of this house (the four haciendas; luxury-legends 10-16, sections.php rmh_listing_story_section) ----------
   A legend, set apart from the selling layers: a cream page inside the column, a drop initial in the display serif, the copy
   on a reading measure. It comes first, so what's included gets its hairline back. */
body.rmh-listing .rmh-lst-story + .rmh-lst-sec--first { padding-top: 56px; border-top: 1px solid var(--l-sand); }
body.rmh-listing .rmh-lst-story__panel {
	position: relative; padding: clamp(28px, 4vw, 48px) clamp(20px, 4vw, 52px); background: var(--l-cream);
	border-left: 2px solid var(--l-taupe-deep);
}
body.rmh-listing .rmh-lst .rmh-lst-story__h2:not(#_):not(#_) { margin-bottom: 24px; }
body.rmh-listing .rmh-lst-story__text { display: grid; gap: 18px; max-width: 62ch; }
body.rmh-listing .rmh-lst-story__text p:not(#_) { margin: 0; font: 400 18px/1.7 var(--l-sans); color: var(--l-ink); text-align: left; text-wrap: pretty; }
body.rmh-listing .rmh-lst-story__text p:first-child::first-letter {
	float: left; margin: 6px 12px 0 0; font: 400 74px/.82 var(--l-serif); color: var(--l-taupe-deep);
}
body.rmh-listing .rmh-lst-story__more:not(#_) { margin: 28px 0 0; padding-top: 20px; border-top: 1px solid var(--l-sand); }
@media (max-width: 400px) {
	body.rmh-listing .rmh-lst-story__text p:not(#_) { font-size: 17px; }
	body.rmh-listing .rmh-lst-story__text p:first-child::first-letter { font-size: 64px; margin-right: 10px; }
}
