/* =========================================================================
   Parampara Design – visual refresh (CSS only, content untouched)
   Palette taken from the logo: magenta "parampara", terracotta roof,
   sun yellow, plus the jungle green of the resort.
   ========================================================================= */
:root {
	--pp-magenta: #b8136f;
	--pp-magenta-d: #8f0f57;
	--pp-plum: #5e0c3d;
	--pp-forest: #173527;
	--pp-forest-2: #21452f;
	--pp-moss: #53624e;
	--pp-gold: #c8975a;
	--pp-sun: #f2c230;
	--pp-ivory: #fbf7f0;
	--pp-sand: #f3ece0;
	--pp-ink: #1d2a22;
	--pp-text: #4a5249;
	--pp-radius: 20px;
	--pp-shadow: 0 18px 40px rgba(23, 53, 39, .12);
	--pp-shadow-sm: 0 8px 22px rgba(23, 53, 39, .10);
	--primary-color: #b8136f;
	--btn-bg: #b8136f;
	--btn-bg-hover: #8f0f57;
	--shf-color: var(--pp-magenta);
}
html { scroll-padding-top: calc(var(--ppd-head, 120px) + 10px); }

/* sticky needs the wrapper not to clip */
body.ppd #page { overflow: clip; overflow-x: clip; }

/* ---------------------------------------------------------------- header */
body.ppd #masthead.site-header {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	left: 0; right: 0;
	z-index: 999;
	background: var(--pp-ivory);
	box-shadow: 0 1px 0 rgba(0, 0, 0, .06);
	transition: box-shadow .3s ease;
}
body.ppd.ppd-scrolled #masthead.site-header { box-shadow: 0 10px 30px rgba(23, 53, 39, .16); }
/* On phones (≤600px) WordPress' admin bar is not fixed – it scrolls away – so the header must stick at 0,
   otherwise logged-in users see a 46px gap above it. */
@media (max-width: 600px) {
	body.ppd #masthead.site-header { top: 0 !important; }
}

/* Pages whose header overlaps the hero/banner (home + most pages): the header floats over the
   photo fully TRANSPARENT at the top of the page (original look) and gets its colours only once
   the visitor scrolls (body.ppd-scrolled, set by parampara.js). */
body.ppd #masthead.site-header.overlap-header {
	position: fixed;
	top: var(--wp-admin--admin-bar--height, 0px);
	left: 0; right: 0;
	background: transparent;
	box-shadow: none;
	transition: background-color .35s ease, box-shadow .35s ease;
}
body.ppd.ppd-scrolled #masthead.site-header.overlap-header { background: var(--pp-ivory); box-shadow: 0 10px 30px rgba(23, 53, 39, .16); }
@media (max-width: 600px) {
	body.ppd:not(.ppd-scrolled) #masthead.site-header.overlap-header { top: var(--wp-admin--admin-bar--height, 0px) !important; }
}
body.ppd #masthead .elementor-298 :is(.elementor-element-c8560a1, .elementor-element-bc435d9, .elementor-element-7458942, .elementor-element-261cb61) {
	transition: background .35s ease, border-color .35s ease, padding .3s ease;
}
/* transparent state */
body.ppd:not(.ppd-scrolled) #masthead.overlap-header { background: linear-gradient(180deg, rgba(0, 0, 0, .45) 0%, rgba(0, 0, 0, .12) 70%, rgba(0, 0, 0, 0) 100%); }
body.ppd:not(.ppd-scrolled) #masthead.overlap-header .elementor-298 :is(.elementor-element-c8560a1, .elementor-element-bc435d9) {
	background: transparent !important; border-bottom: 1px solid rgba(255, 255, 255, .28) !important;
}
body.ppd:not(.ppd-scrolled) #masthead.overlap-header .elementor-298 :is(.elementor-element-c8560a1, .elementor-element-bc435d9) .elementor-icon-list-icon svg { fill: #fff !important; }
body.ppd:not(.ppd-scrolled) #masthead.overlap-header .elementor-298 .elementor-element-f5f154c .elementor-social-icon { background: transparent !important; }
body.ppd:not(.ppd-scrolled) #masthead.overlap-header .elementor-298 :is(.elementor-element-7458942, .elementor-element-261cb61) { background: transparent !important; }
body.ppd:not(.ppd-scrolled) #masthead.overlap-header .elementor-298 .cs-menu .primary-menu > li > a,
body.ppd:not(.ppd-scrolled) #masthead.overlap-header .elementor-298 .cs-menu .primary-menu > li > .dropdown-toggle,
body.ppd:not(.ppd-scrolled) #masthead.overlap-header .elementor-298 .cs-menu .primary-menu > li > a::after { color: #fff !important; }
body.ppd:not(.ppd-scrolled) #masthead.overlap-header .elementor-298 .cs-menu .primary-menu > li:hover > a { color: var(--pp-sun) !important; }
body.ppd:not(.ppd-scrolled) #masthead.overlap-header .elementor-298 .cs-menu .primary-menu > li > a span::after { background: #fff; }
body.ppd:not(.ppd-scrolled) #masthead.overlap-header .elementor-298 :is(.elementor-element-57eb1d3 a.button, .elementor-element-315713d .elementor-button) {
	background: transparent !important; border: 1px solid #fff !important; box-shadow: none !important;
}
body.ppd:not(.ppd-scrolled) #masthead.overlap-header .elementor-298 :is(.elementor-element-57eb1d3 a.button, .elementor-element-315713d .elementor-button):hover { background: #fff !important; }
body.ppd:not(.ppd-scrolled) #masthead.overlap-header .elementor-298 .elementor-element-57eb1d3 a.button:hover .cs-btn-text,
body.ppd:not(.ppd-scrolled) #masthead.overlap-header .elementor-298 .elementor-element-315713d .elementor-button:hover { color: var(--pp-magenta) !important; }
body.ppd:not(.ppd-scrolled) #masthead.overlap-header .elementor-298 .elementor-element-261cb61 .menu-toggle,
body.ppd:not(.ppd-scrolled) #masthead.overlap-header .elementor-298 .elementor-element-261cb61 .menu-toggle-icon { color: #fff !important; }
body.ppd:not(.ppd-scrolled) #masthead.overlap-header .elementor-298 .elementor-element-261cb61 .menu-toggle { background: rgba(255, 255, 255, .14) !important; }
/* "Sticky Header Effects for Elementor" pins only the logo/menu row (position:fixed) and leaves
   the top bar behind. The whole #masthead is sticky now, so keep every row in normal flow. */
body.ppd #masthead .elementor-298 .she-header,
body.ppd #masthead .elementor-298 .she-header-yes {
	position: relative !important; top: auto !important; left: auto !important; right: auto !important;
	transform: none !important; width: auto !important;
}
body.ppd #masthead .elementor-298 .she-header-yes + .she-header-spacer,
body.ppd #masthead .she-header-spacer { display: none !important; }

/* top bar (desktop + mobile versions) */
body.ppd .elementor-298 .elementor-element-c8560a1,
body.ppd .elementor-298 .elementor-element-bc435d9 {
	background: linear-gradient(90deg, var(--pp-plum) 0%, var(--pp-magenta-d) 55%, var(--pp-magenta) 100%) !important;
	border-bottom: 0 !important;
}
body.ppd .elementor-298 .elementor-element-c8560a1 { --padding-top: 7px; --padding-bottom: 7px; padding-left: max(24px, calc((100% - 1240px) / 2)) !important; padding-right: max(24px, calc((100% - 1240px) / 2)) !important; }
body.ppd .elementor-298 .elementor-element-c8560a1 .elementor-icon-list-text,
body.ppd .elementor-298 .elementor-element-bc435d9 .elementor-icon-list-text { color: #fff !important; font-weight: 500; letter-spacing: .02em; }
body.ppd .elementor-298 .elementor-element-c8560a1 .elementor-icon-list-icon svg,
body.ppd .elementor-298 .elementor-element-bc435d9 .elementor-icon-list-icon svg { fill: var(--pp-sun) !important; }
body.ppd .elementor-298 .elementor-element-c8560a1 .elementor-icon-list-item a:hover .elementor-icon-list-text { color: var(--pp-sun) !important; }
/* four reservation numbers */
body.ppd .elementor-298 .pp-topnums .elementor-icon-list-items { display: flex !important; flex-wrap: wrap; gap: 4px 20px; margin: 0 !important; }
body.ppd .elementor-298 .pp-topnums .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
body.ppd .elementor-298 .pp-topnums .elementor-icon-list-item::after { display: none !important; }
body.ppd .elementor-298 .pp-topnums .elementor-icon-list-item a { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
body.ppd .elementor-298 .pp-topnums .elementor-icon-list-text { font-size: 14px !important; padding: 0 !important; }
body.ppd .elementor-298 .pp-topnums .elementor-icon-list-icon { margin: 0 !important; padding: 0 !important; }
body.ppd .elementor-298 .pp-topnums .elementor-icon-list-icon svg { width: 13px !important; height: 13px !important; }
body.ppd .elementor-298 .elementor-element-339eb4e { width: auto !important; flex: 1 1 auto !important; gap: 6px 22px !important; flex-wrap: wrap !important; align-items: center !important; }
body.ppd .elementor-298 .elementor-element-339eb4e > .elementor-widget { flex: 0 0 auto !important; width: auto !important; max-width: none !important; }
body.ppd .elementor-298 .elementor-element-348163d { flex: 0 0 auto !important; width: auto !important; }
@media (max-width: 1240px) {
	body.ppd .elementor-298 .cs-menu .primary-menu { white-space: nowrap; }
	body.ppd .elementor-298 .cs-menu .primary-menu { flex-wrap: nowrap !important; }
	body.ppd .elementor-298 .cs-menu .primary-menu > li { margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
	body.ppd .elementor-298 .cs-menu .primary-menu > li > a { padding-left: 9px !important; padding-right: 9px !important; }
	body.ppd .elementor-298 .cs-menu .primary-menu > li > a { font-size: 12px !important; letter-spacing: .04em; }
	body.ppd .elementor-298 .elementor-element-57eb1d3 a.button { padding: 0 18px !important; height: 42px; }
}
@media (max-width: 1180px) {
	body.ppd .elementor-298 .pp-topnums .elementor-icon-list-items { gap: 4px 14px; }
	body.ppd .elementor-298 .pp-topnums .elementor-icon-list-text,
	body.ppd .elementor-298 .elementor-element-527f64c .elementor-icon-list-text { font-size: 13px !important; }
}
body.ppd .elementor-298 .elementor-element-f5f154c .elementor-social-icon { background: rgba(255, 255, 255, .14) !important; border-radius: 50%; width: 30px; height: 30px; --icon-padding: 0; display: inline-grid; place-items: center; transition: background .2s; }
body.ppd .elementor-298 .elementor-element-f5f154c .elementor-social-icon svg { fill: #fff !important; width: 14px; height: 14px; }
body.ppd .elementor-298 .elementor-element-f5f154c .elementor-social-icon:hover { background: var(--pp-sun) !important; }
body.ppd .elementor-298 .elementor-element-f5f154c .elementor-social-icon:hover svg { fill: var(--pp-plum) !important; }

/* main bar – ivory so the colourful logo reads well */
body.ppd .elementor-298 .elementor-element-7458942,
body.ppd .elementor-298 .elementor-element-261cb61 {
	background: var(--pp-ivory) !important;
	transition: padding .3s ease;
}
body.ppd .elementor-298 .elementor-element-7458942 { padding: 10px max(24px, calc((100% - 1240px) / 2)) !important; }
body.ppd.ppd-scrolled .elementor-298 .elementor-element-7458942 { padding-top: 4px !important; padding-bottom: 4px !important; }
body.ppd .elementor-298 .elementor-element-7458942 .cs-logo img,
body.ppd .elementor-298 .elementor-element-f736700 img { transition: max-width .3s ease, width .3s ease; }
body.ppd.ppd-scrolled .elementor-298 .elementor-element-f736700 img { width: 150px !important; }

body.ppd .elementor-298 .cs-menu .primary-menu > li > a { color: var(--pp-ink) !important; font-weight: 600; letter-spacing: .06em; }
body.ppd .elementor-298 .cs-menu .primary-menu > li > a span { position: relative; }
body.ppd .elementor-298 .cs-menu .primary-menu > li > a span::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 2px; border-radius: 2px;
	background: var(--pp-magenta); transform: scaleX(0); transform-origin: left; transition: transform .25s ease;
}
body.ppd .elementor-298 .cs-menu .primary-menu > li:hover > a span::after,
body.ppd .elementor-298 .cs-menu .primary-menu > li.current-menu-item > a span::after { transform: scaleX(1); }
body.ppd .elementor-298 .cs-menu .primary-menu > li:hover > a,
body.ppd .elementor-298 .cs-menu .primary-menu > li.current-menu-item > a { color: var(--pp-magenta) !important; }
body.ppd .elementor-298 .cs-menu .primary-menu > li > .dropdown-toggle,
body.ppd .elementor-298 .cs-menu .primary-menu > li > a::after { color: var(--pp-ink) !important; }
body.ppd .elementor-298 .cs-menu .primary-menu > li > a span { border-bottom: 0 !important; text-decoration: none !important; }
/* dropdowns */
body.ppd .elementor-298 .cs-menu .sub-menu {
	background: #fff !important; border-radius: 14px; box-shadow: 0 18px 40px rgba(0, 0, 0, .14);
	padding: 10px 0 !important; border-top: 3px solid var(--pp-magenta);
}
body.ppd .elementor-298 .cs-menu .sub-menu a { color: var(--pp-ink) !important; }
body.ppd .elementor-298 .cs-menu .sub-menu li:hover > a { color: var(--pp-magenta) !important; background: rgba(184, 19, 111, .06); }

/* Book now buttons */
body.ppd .elementor-298 .elementor-element-57eb1d3 a.button,
body.ppd .elementor-298 .elementor-element-315713d .elementor-button {
	background: linear-gradient(135deg, var(--pp-magenta) 0%, var(--pp-magenta-d) 100%) !important;
	color: #fff !important; border: 0 !important; border-radius: 999px !important;
	box-shadow: 0 8px 20px rgba(184, 19, 111, .3); letter-spacing: .08em; font-weight: 600;
	transition: transform .2s ease, box-shadow .2s ease;
}
body.ppd .elementor-298 .elementor-element-57eb1d3 a.button { padding: 0 26px !important; height: 46px; line-height: 1 !important; display: inline-flex !important; align-items: center; justify-content: center; white-space: nowrap; }
body.ppd .elementor-298 .elementor-element-57eb1d3 a.button:hover,
body.ppd .elementor-298 .elementor-element-315713d .elementor-button:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(184, 19, 111, .4); }
body.ppd .elementor-298 .elementor-element-57eb1d3 a.button .cs-btn-text,
body.ppd .elementor-298 .elementor-element-57eb1d3 a.button:hover .cs-btn-text { color: #fff !important; }

/* mobile header row */
body.ppd .elementor-298 .elementor-element-261cb61 { padding: 8px 0 !important; }
body.ppd .elementor-298 .elementor-element-261cb61 .menu-toggle { color: var(--pp-ink) !important; }
body.ppd .elementor-298 .elementor-element-261cb61 .menu-toggle,
body.ppd .elementor-298 .elementor-element-261cb61 .menu-toggle-icon { color: var(--pp-forest) !important; --line-height: 2px; }
body.ppd .elementor-298 .elementor-element-261cb61 .menu-toggle {
	width: 42px; height: 42px; border-radius: 12px; background: rgba(23, 53, 39, .07) !important; display: inline-grid; place-items: center; padding: 0 !important;
}
body.ppd .elementor-150 .cs-reservation-form,
body.ppd .elementor-150 .elementor-element-5dc39db7 .elementor-widget-container { border: 0 !important; outline: 0 !important; }
body.ppd .elementor-150 .cs-reservation-form :is(.cs-form-field, .field-wrap, .field-input-wrap) { border-color: rgba(23, 53, 39, .1) !important; }
body.ppd .elementor-298 .elementor-element-315713d .elementor-button { padding: 11px 15px !important; font-size: 11px !important; }

/* ------------------------------------------------------------ shared bits */
body.ppd .cs-subtitle { color: var(--pp-magenta) !important; font-weight: 600 !important; letter-spacing: .16em !important; display: inline-flex; align-items: center; gap: 10px; }
body.ppd .cs-subtitle::before { content: ""; width: 28px; height: 2px; border-radius: 2px; background: currentColor; display: inline-block; }
body.ppd .text-center .cs-subtitle::after { content: ""; width: 28px; height: 2px; border-radius: 2px; background: currentColor; display: inline-block; }

/* buttons inside page content */
body.ppd .elementor-page .site-content a.button.cs-btn-outline,
body.ppd .site-content .cs-fc-btn a.button {
	border-radius: 999px !important; border: 0 !important; padding: 0 26px !important;
	background: var(--pp-magenta) !important; color: #fff !important;
	box-shadow: 0 8px 20px rgba(184, 19, 111, .25); transition: background .2s, transform .2s;
}
body.ppd .site-content .cs-fc-btn a.button .cs-btn-text,
body.ppd .elementor-page .site-content a.button.cs-btn-outline .cs-btn-text { color: #fff !important; }
body.ppd .site-content .cs-fc-btn a.button:hover,
body.ppd .elementor-page .site-content a.button.cs-btn-outline:hover { background: var(--pp-forest) !important; transform: translateY(-2px); }
body.ppd .site-content .elementor-button { border-radius: 999px !important; transition: transform .2s, background .2s; }
body.ppd .site-content .elementor-button:hover { transform: translateY(-2px); }

/* light ("ivory") sections – re-map the theme's colour variables */
body.ppd .elementor-150 .elementor-element-2a968fb,
body.ppd .elementor-150 .elementor-element-f63cc98,
body.ppd .elementor-150 .elementor-element-a168c8e,
body.ppd .elementor-150 .elementor-element-3e1a6d5,
body.ppd .elementor-150 .elementor-element-3b7c9a5b,
body.ppd .elementor-150 .elementor-element-dd4fb9f,
body.ppd .elementor-150 .elementor-element-0c70d3f {
	--bg-color: var(--pp-ivory);
	--text-color: var(--pp-ink);
	--content-color: var(--pp-text);
	--link-color: var(--pp-magenta);
	--link-color-hover: var(--pp-magenta-d);
	--text-lighter: #6b6f68;
	--border-color: rgba(0, 0, 0, .08);
	--pp-bleed: var(--pp-ivory);
	background-color: var(--pp-bleed) !important;
	background-image: none !important;
	color: var(--pp-text);
	/* paint the colour edge to edge even when the section is boxed */
	box-shadow: 0 0 0 100vmax var(--pp-bleed);
	clip-path: inset(-1px -100vmax);
}
body.ppd .elementor-150 .elementor-element-f63cc98,
body.ppd .elementor-150 .elementor-element-dd4fb9f,
body.ppd .elementor-150 .elementor-element-0c70d3f { --pp-bleed: var(--pp-sand); --bg-color: var(--pp-sand); }
body.ppd .elementor-150 :is(.elementor-element-2a968fb, .elementor-element-f63cc98, .elementor-element-a168c8e, .elementor-element-3e1a6d5, .elementor-element-3b7c9a5b, .elementor-element-dd4fb9f, .elementor-element-0c70d3f) > .elementor-background-overlay { display: none !important; }
body.ppd .elementor-150 :is(.elementor-element-2a968fb, .elementor-element-f63cc98, .elementor-element-a168c8e, .elementor-element-3e1a6d5, .elementor-element-3b7c9a5b, .elementor-element-dd4fb9f, .elementor-element-0c70d3f) :is(h1, h2, h3, h4, h5, h6, .cs-title):not(.elementor-element-0ce7de9 *):not(.elementor-element-30b4be8 *):not(.elementor-element-da83950 *):not(.elementor-element-eb5abba *) { color: var(--pp-forest) !important; }
body.ppd .elementor-150 :is(.elementor-element-2a968fb, .elementor-element-f63cc98, .elementor-element-3e1a6d5, .elementor-element-dd4fb9f) :is(p, .cs-title-text, .cs-info-box-text, .cs-fc-text) { color: var(--pp-text) !important; }
body.ppd .elementor-150 :is(.elementor-element-2a968fb, .elementor-element-f63cc98, .elementor-element-3e1a6d5, .elementor-element-3b7c9a5b) :is(b, strong) { color: var(--pp-ink); }
body.ppd .elementor-150 :is(.elementor-element-2a968fb, .elementor-element-f63cc98, .elementor-element-3e1a6d5, .elementor-element-3b7c9a5b) p a { color: var(--pp-magenta) !important; }

/* big section titles */
body.ppd .elementor-150 .cs-title-wrap > .cs-title { line-height: 1.2; }

/* ------------------------------------------------------------------ hero */
body.ppd .elementor-150 .elementor-element-1850564f > .elementor-background-overlay {
	background: linear-gradient(180deg, rgba(10, 20, 14, .55) 0%, rgba(10, 20, 14, .25) 45%, rgba(10, 20, 14, .75) 100%) !important;
	opacity: 1 !important;
}
body.ppd .elementor-150 .elementor-element-c0c2de1 .cs-title { text-shadow: 0 4px 30px rgba(0, 0, 0, .45); letter-spacing: .02em; }
body.ppd .elementor-150 .elementor-element-c0c2de1 .cs-title::after {
	content: ""; display: block; width: 90px; height: 3px; border-radius: 3px; margin: 22px auto 0;
	background: linear-gradient(90deg, var(--pp-sun), var(--pp-magenta));
}
/* hero buttons (Elementor Button widgets – text/link editable in Elementor) */
body.ppd .elementor-150 .elementor-element-3e4d3e40 > .elementor-widget-wrap { justify-content: center; column-gap: 16px; }
body.ppd .elementor-150 .elementor-element-3e4d3e40 .elementor-widget-heading,
body.ppd .elementor-150 .elementor-element-3e4d3e40 .elementor-widget-cs_title { width: 100%; }
body.ppd .elementor-150 .pp-hero-btn { margin-top: 26px !important; margin-bottom: 0 !important; }
body.ppd .elementor-150 .pp-hero-btn .elementor-button {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-width: 210px;
	padding: 17px 30px !important; border-radius: 999px !important; font-size: 16px !important; font-weight: 600; letter-spacing: .04em;
	transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}
body.ppd .elementor-150 .pp-hero-btn .elementor-button-content-wrapper { gap: 10px; align-items: center; }
body.ppd .elementor-150 .pp-hero-btn .elementor-button-icon svg { width: 16px; height: 16px; }
body.ppd .elementor-150 .pp-hero-btn--main .elementor-button {
	background: linear-gradient(135deg, var(--pp-magenta), var(--pp-magenta-d)) !important; color: #fff !important; border: 0 !important;
	box-shadow: 0 14px 30px rgba(184, 19, 111, .4);
}
body.ppd .elementor-150 .pp-hero-btn--main .elementor-button svg { fill: #fff !important; }
body.ppd .elementor-150 .pp-hero-btn--ghost .elementor-button {
	background: rgba(255, 255, 255, .1) !important; color: #fff !important; border: 1.5px solid #fff !important;
	backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
}
body.ppd .elementor-150 .pp-hero-btn--ghost .elementor-button svg { fill: #fff !important; }
body.ppd .elementor-150 .pp-hero-btn .elementor-button:hover { transform: translateY(-3px); }
body.ppd .elementor-150 .pp-hero-btn--main .elementor-button:hover { background: var(--pp-forest) !important; box-shadow: 0 16px 34px rgba(0, 0, 0, .35); }
body.ppd .elementor-150 .pp-hero-btn--ghost .elementor-button:hover { background: #fff !important; color: var(--pp-magenta) !important; }
body.ppd .elementor-150 .pp-hero-btn--ghost .elementor-button:hover svg { fill: var(--pp-magenta) !important; }
@media (max-width: 767px) {
	body.ppd .elementor-150 .elementor-element-3e4d3e40 > .elementor-widget-wrap { column-gap: 10px; }
	body.ppd .elementor-150 .pp-hero-btn { margin-top: 14px !important; width: 100% !important; text-align: center; }
	body.ppd .elementor-150 .pp-hero-btn--main { margin-top: 24px !important; }
	body.ppd .elementor-150 .pp-hero-btn .elementor-button { min-width: 230px; padding: 15px 22px !important; font-size: 15px !important; }
}
@media (max-width: 380px) {
	body.ppd .elementor-150 .pp-hero-btn { width: 100% !important; margin-top: 12px !important; }
	body.ppd .elementor-150 .pp-hero-btn .elementor-button { width: 100%; }
}

/* booking bar as a white card */
body.ppd .elementor-150 .cs-reservation-form .cs-form-wrap {
	background: rgba(255, 255, 255, .97) !important; border: 0 !important; border-radius: 18px !important;
	box-shadow: 0 24px 60px rgba(0, 0, 0, .35); padding: 8px !important; overflow: visible;
}
body.ppd .elementor-150 .cs-reservation-form .cs-form-field { border-color: rgba(0, 0, 0, .08) !important; }
body.ppd .elementor-150 .cs-reservation-form .cs-form-field .field-wrap { border: 0 !important; }
body.ppd .elementor-150 .cs-reservation-form .cs-form-label { color: var(--pp-magenta) !important; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; font-size: 12px !important; }
body.ppd .elementor-150 .cs-reservation-form input,
body.ppd .elementor-150 .cs-reservation-form .field-input-wrap,
body.ppd .elementor-150 .cs-reservation-form .field-input-wrap::after { color: var(--pp-ink) !important; }
body.ppd .elementor-150 .cs-reservation-form .cs-submit button {
	background: linear-gradient(135deg, var(--pp-magenta), var(--pp-magenta-d)) !important; color: #fff !important;
	border: 0 !important; border-radius: 12px !important; font-weight: 600; letter-spacing: .04em;
}
body.ppd .elementor-150 .cs-reservation-form .cs-submit button:hover { background: var(--pp-forest) !important; }
body.ppd .elementor-150 .cs-reservation-form .csf-dropdown { background: #fff !important; color: var(--pp-ink) !important; border-radius: 12px; }

/* ------------------------------------------------- welcome + stay cards */
body.ppd .elementor-150 .elementor-element-2a968fb { padding-top: 90px !important; padding-bottom: 70px !important; }
body.ppd .elementor-150 .elementor-element-938bfb3 .cs-title-text { max-width: 980px; margin-left: auto; margin-right: auto; }
body.ppd .elementor-150 .elementor-element-938bfb3 .cs-title::after,
body.ppd .elementor-150 .elementor-element-80f4524 .cs-title::after {
	content: ""; display: block; width: 70px; height: 3px; border-radius: 3px; margin: 18px auto 0;
	background: linear-gradient(90deg, var(--pp-sun), var(--pp-magenta));
}
body.ppd .elementor-150 :is(.elementor-element-2a968fb, .elementor-element-3b7c9a5b) .elementor-widget-cs_fancy_card { margin-bottom: 30px !important; }
body.ppd .elementor-150 :is(.elementor-element-2a968fb, .elementor-element-3b7c9a5b) .cs-fancy-card .cs-fc-wrap {
	border: 0 !important; border-radius: var(--pp-radius); overflow: hidden; background: #fff !important;
	box-shadow: var(--pp-shadow); transition: transform .35s ease, box-shadow .35s ease;
}
body.ppd .elementor-150 :is(.elementor-element-2a968fb, .elementor-element-3b7c9a5b) .cs-fancy-card .cs-fc-wrap:hover { transform: translateY(-6px); box-shadow: 0 26px 50px rgba(23, 53, 39, .18); }
body.ppd .elementor-150 :is(.elementor-element-2a968fb, .elementor-element-3b7c9a5b) .cs-fancy-card .cs-fc-content { background: #fff !important; }
body.ppd .elementor-150 :is(.elementor-element-2a968fb, .elementor-element-3b7c9a5b) .cs-fancy-card .cs-fc-title { color: var(--pp-forest) !important; position: relative; padding-bottom: 14px; }
body.ppd .elementor-150 :is(.elementor-element-2a968fb, .elementor-element-3b7c9a5b) .cs-fancy-card .cs-fc-title::after {
	content: ""; position: absolute; left: 0; bottom: 0; width: 46px; height: 3px; border-radius: 3px; background: var(--pp-magenta);
}
body.ppd .elementor-150 :is(.elementor-element-2a968fb, .elementor-element-3b7c9a5b) .cs-fancy-card .cs-fc-text,
body.ppd .elementor-150 :is(.elementor-element-2a968fb, .elementor-element-3b7c9a5b) .cs-fancy-card .cs-fc-text p { color: var(--pp-text) !important; }
body.ppd .elementor-150 .elementor-element-3b7c9a5b { padding-bottom: 80px !important; }

/* ---------------------------------------- green feature sections (2x) */
body.ppd .elementor-150 .elementor-element-3b6cecc,
body.ppd .elementor-150 .elementor-element-34b31b1 {
	background: radial-gradient(1200px 500px at 85% 0%, rgba(184, 19, 111, .18), transparent 60%), linear-gradient(135deg, var(--pp-forest) 0%, var(--pp-forest-2) 100%) !important;
	padding-top: 90px !important; padding-bottom: 90px !important;
}
body.ppd .elementor-150 :is(.elementor-element-5e81672, .elementor-element-272acb4, .elementor-element-afae2da, .elementor-element-6081f52, .elementor-element-610bf81, .elementor-element-2488758) { background: transparent !important; --background-color: transparent; }
body.ppd .elementor-150 :is(.elementor-element-c9fdcf5, .elementor-element-ee77463, .elementor-element-892fdcc, .elementor-element-9cd5d6d) > .elementor-widget-wrap,
body.ppd .elementor-150 :is(.elementor-element-c9fdcf5, .elementor-element-ee77463, .elementor-element-892fdcc, .elementor-element-9cd5d6d) { background: transparent !important; }
body.ppd .elementor-150 :is(.elementor-element-a3acaa5, .elementor-element-d6a47c6) { box-shadow: 0 0 0 100vmax var(--pp-forest); clip-path: inset(-1px -100vmax); }
body.ppd .elementor-150 .elementor-element-219b736d { background: var(--pp-forest) !important; }
body.ppd .elementor-150 :is(.elementor-element-df47b13, .elementor-element-c0effb8) { border-radius: 26px; overflow: hidden; box-shadow: 0 30px 60px rgba(0, 0, 0, .35); }
body.ppd .elementor-150 :is(.elementor-element-3b6cecc, .elementor-element-34b31b1) .cs-subtitle { color: var(--pp-sun) !important; }
body.ppd .elementor-150 :is(.elementor-element-3b6cecc, .elementor-element-34b31b1) .cs-title-text,
body.ppd .elementor-150 :is(.elementor-element-3b6cecc, .elementor-element-34b31b1) .cs-title-text p { color: rgba(255, 255, 255, .86) !important; }
body.ppd .elementor-150 :is(.elementor-element-01b4802, .elementor-element-c9cf830) {
	background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .14); border-radius: 18px; padding: 14px 18px; margin-top: 10px;
	backdrop-filter: blur(4px);
}
body.ppd .elementor-150 :is(.elementor-element-01b4802, .elementor-element-c9cf830) .elementor-icon { background: var(--pp-magenta) !important; border-color: var(--pp-magenta) !important; }
body.ppd .elementor-150 :is(.elementor-element-01b4802, .elementor-element-c9cf830) .elementor-icon svg { fill: #fff !important; }

/* --------------------------------------------------------- amenities */
body.ppd .elementor-150 .elementor-element-f63cc98 { padding-top: 90px !important; padding-bottom: 80px !important; }
body.ppd .elementor-150 .elementor-element-30f7c35 .cs-info-box-wrap { row-gap: 26px; }
body.ppd .elementor-150 .elementor-element-30f7c35 .cs-info-box-item .cs-item-container {
	background: #fff; border-radius: var(--pp-radius); padding: 30px 28px; height: 100%;
	box-shadow: var(--pp-shadow-sm); border: 1px solid rgba(23, 53, 39, .06);
	transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
body.ppd .elementor-150 .elementor-element-30f7c35 .cs-info-box-item .cs-item-container:hover { transform: translateY(-6px); box-shadow: var(--pp-shadow); border-color: rgba(184, 19, 111, .25); }
body.ppd .elementor-150 .elementor-element-30f7c35 .cs-info-box-img {
	width: 66px; height: 66px; border-radius: 18px; display: grid; place-items: center; margin-bottom: 18px;
	background: linear-gradient(135deg, rgba(184, 19, 111, .1), rgba(242, 194, 48, .18));
}
body.ppd .elementor-150 .elementor-element-30f7c35 .cs-info-box-img i { color: var(--pp-magenta) !important; font-size: 34px !important; }
body.ppd .elementor-150 .elementor-element-30f7c35 .cs-info-box-img svg { width: 36px !important; height: 36px !important; fill: var(--pp-magenta) !important; }
body.ppd .elementor-150 .elementor-element-30f7c35 .cs-info-box-img svg * { fill: var(--pp-magenta) !important; }
body.ppd .elementor-150 .elementor-element-30f7c35 .cs-info-box-title { color: var(--pp-forest) !important; font-size: 20px !important; }

/* ------------------------------------------------------------- video */
body.ppd .elementor-150 .elementor-element-219b736d .cs-video .cs-video-btn,
body.ppd .elementor-150 .elementor-element-219b736d .cs-play-video { box-shadow: 0 0 0 12px rgba(255, 255, 255, .15); }

/* -------------------------------------------------------- activities */
body.ppd .elementor-150 .elementor-element-a3acaa5,
body.ppd .elementor-150 .elementor-element-d6a47c6 { background: var(--pp-forest) !important; }
body.ppd .elementor-150 .elementor-element-a3acaa5 { padding-top: 90px !important; }
body.ppd .elementor-150 .elementor-element-a3acaa5 .cs-subtitle { color: var(--pp-sun) !important; }
body.ppd .elementor-150 .elementor-element-a3acaa5 .cs-title-text,
body.ppd .elementor-150 .elementor-element-a3acaa5 .cs-title-text p { color: rgba(255, 255, 255, .82) !important; }
body.ppd .elementor-150 .elementor-element-d6a47c6 { padding-bottom: 90px !important; }
body.ppd .elementor-150 .elementor-element-0d368ab .swiper-slide > .e-con {
	background: #fff !important; border-radius: var(--pp-radius); overflow: hidden; padding: 0 0 24px !important;
	box-shadow: 0 20px 40px rgba(0, 0, 0, .25); height: 100%;
}
body.ppd .elementor-150 .elementor-element-0d368ab .swiper-slide > .e-con > .e-con-inner { padding: 0 !important; height: 100%; justify-content: space-between; }
body.ppd .elementor-150 .elementor-element-0d368ab .elementor-image-box-img { margin: 0 0 18px !important; width: 100% !important; overflow: hidden; }
body.ppd .elementor-150 .elementor-element-0d368ab .elementor-image-box-img img { border-radius: 0 !important; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .6s ease; }
body.ppd .elementor-150 .elementor-element-0d368ab .swiper-slide:hover .elementor-image-box-img img { transform: scale(1.06); }
body.ppd .elementor-150 .elementor-element-0d368ab .elementor-image-box-content { padding: 0 22px; }
body.ppd .elementor-150 .elementor-element-0d368ab .elementor-image-box-title { color: var(--pp-forest) !important; }
body.ppd .elementor-150 .elementor-element-0d368ab .elementor-image-box-description { color: var(--pp-text) !important; }
body.ppd .elementor-150 .elementor-element-0d368ab .elementor-button {
	background: var(--pp-magenta) !important; color: #fff !important; border-radius: 999px !important; padding: 12px 26px !important;
}
body.ppd .elementor-150 .elementor-element-0d368ab .elementor-button:hover { background: var(--pp-forest) !important; }
body.ppd .elementor-150 :is(.elementor-element-0d368ab, .elementor-element-1122347) .elementor-swiper-button {
	width: 46px; height: 46px; border-radius: 50%; background: #fff; display: grid; place-items: center;
	box-shadow: 0 10px 24px rgba(0, 0, 0, .2); color: var(--pp-forest) !important; font-size: 18px !important;
}
body.ppd .elementor-150 :is(.elementor-element-0d368ab, .elementor-element-1122347) .elementor-swiper-button svg { fill: var(--pp-forest) !important; width: 18px; height: 18px; }
body.ppd .elementor-150 :is(.elementor-element-0d368ab, .elementor-element-1122347) .swiper-pagination-bullet-active { background: var(--pp-magenta) !important; }
body.ppd .elementor-150 .elementor-element-0d368ab .swiper-pagination-bullet { background: rgba(255, 255, 255, .6); }

/* ---------------------------------------------------------- packages */
body.ppd .elementor-150 .elementor-element-a168c8e { padding-top: 90px !important; padding-bottom: 90px !important; }
body.ppd .elementor-150 .elementor-element-1122347 .swiper-slide > .e-con {
	border: 0 !important; border-radius: 24px; overflow: hidden; box-shadow: var(--pp-shadow);
}
body.ppd .elementor-150 .elementor-element-1122347 .swiper-slide > .e-con > .e-con-inner > .e-con {
	box-shadow: inset 0 -220px 140px -60px rgba(12, 25, 18, .88);
	border: 0 !important; border-radius: 24px;
}
body.ppd .elementor-150 .elementor-element-1122347 .swiper-slide > .e-con > .e-con-inner { padding: 0 !important; }
body.ppd .elementor-150 .elementor-element-1122347 .swiper-slide > .e-con:hover { transform: translateY(-6px); transition: transform .35s ease; }
body.ppd .elementor-150 .elementor-element-1122347 :is(.elementor-element-6a624df, .elementor-element-e4d5af8, .elementor-element-d09d396, .elementor-element-28c284e) .elementor-heading-title a {
	display: inline-block; padding: 10px 24px; border-radius: 999px; background: var(--pp-magenta); color: #fff !important;
	font-size: 15px !important; letter-spacing: .06em; box-shadow: 0 10px 22px rgba(184, 19, 111, .35); transition: background .2s;
}
body.ppd .elementor-150 .elementor-element-1122347 :is(.elementor-element-6a624df, .elementor-element-e4d5af8, .elementor-element-d09d396, .elementor-element-28c284e) .elementor-heading-title a:hover { background: var(--pp-sun); color: var(--pp-ink) !important; }
body.ppd .elementor-150 .elementor-element-1122347 :is(.elementor-element-c5bd1c7, .elementor-element-ec443fa, .elementor-element-a300e74, .elementor-element-ecd70f4) .elementor-heading-title { color: #fff !important; text-shadow: 0 2px 14px rgba(0, 0, 0, .5); }

/* --------------------------------------------------------- attractions */
body.ppd .elementor-150 .elementor-element-3e1a6d5 { padding-top: 90px !important; }
body.ppd .elementor-150 .elementor-element-67cf2d6 .cs-title { text-transform: none; }

/* -------------------------------------------------------- testimonials */
body.ppd .elementor-150 .elementor-element-7cc864d > .elementor-widget-wrap,
body.ppd .elementor-150 .elementor-element-c7401ed > .elementor-widget-wrap { border-radius: 0; }
body.ppd .elementor-150 .elementor-element-c7401ed { background: linear-gradient(135deg, var(--pp-forest) 0%, var(--pp-forest-2) 100%) !important; }
body.ppd .elementor-150 .elementor-element-c7401ed > .elementor-widget-wrap { background: transparent !important; }
body.ppd .elementor-150 .elementor-element-fb84194 .elementor-star-rating i::before,
body.ppd .elementor-150 .elementor-element-fb84194 .elementor-star-rating { color: var(--pp-sun) !important; }
body.ppd .elementor-150 .elementor-element-2150bd3 .slick-dots li button { border-radius: 50% !important; }
body.ppd .elementor-150 .elementor-element-2150bd3 .slick-dots li.slick-active button { background: var(--pp-sun) !important; transform: scale(1.3); }
body.ppd .elementor-150 .elementor-element-c5bba75 { background-color: var(--pp-forest) !important; }

/* ------------------------------------------------------------- plan CTA */
body.ppd .elementor-150 .elementor-element-5ff5b7f .cs-subtitle { color: var(--pp-sun) !important; }

/* ---------------------------------------------------------------- FAQ */
body.ppd .elementor-150 .elementor-element-dd4fb9f { padding-top: 80px !important; padding-bottom: 10px !important; }
body.ppd .elementor-150 .elementor-element-0c70d3f { padding-bottom: 90px !important; }
body.ppd .elementor-150 .elementor-element-0c70d3f .e-n-accordion-item {
	background: #fff; border-radius: 16px; margin-bottom: 14px; box-shadow: var(--pp-shadow-sm); overflow: hidden;
	border: 1px solid rgba(23, 53, 39, .06);
}
body.ppd .elementor-150 .elementor-element-0c70d3f .e-n-accordion-item-title {
	border: 0 !important; background: #fff !important; padding: 18px 20px !important;
}
body.ppd .elementor-150 .elementor-element-0c70d3f .e-n-accordion-item-title-text { color: var(--pp-forest) !important; font-weight: 600; }
body.ppd .elementor-150 .elementor-element-0c70d3f .e-n-accordion-item-title-icon svg { fill: var(--pp-magenta) !important; }
body.ppd .elementor-150 .elementor-element-0c70d3f .e-n-accordion-item[open] { border-color: rgba(184, 19, 111, .3); }
body.ppd .elementor-150 .elementor-element-0c70d3f .e-n-accordion-item > .e-con { border: 0 !important; padding: 0 22px 18px !important; background: #fff !important; }
body.ppd .elementor-150 .elementor-element-0c70d3f .e-n-accordion-item .elementor-widget-text-editor,
body.ppd .elementor-150 .elementor-element-0c70d3f .e-n-accordion-item .elementor-widget-text-editor p { color: var(--pp-text) !important; }

/* ----------------------------------------- new: Stay options & tariff */
body.ppd .pp-sec { --text-color: var(--pp-ink); --content-color: var(--pp-text); color: var(--pp-text); }
body.ppd .pp-rates { background: var(--pp-sand) !important; padding: 90px 24px !important; }
body.ppd .pp-know { background: var(--pp-ivory) !important; padding: 90px 24px !important; }
body.ppd .pp-sec .pp-center-title .cs-title-wrap { text-align: center; max-width: 820px; margin: 0 auto; }
body.ppd .pp-sec .pp-center-title .cs-subtitle::after { content: ""; width: 28px; height: 2px; border-radius: 2px; background: currentColor; display: inline-block; }
body.ppd .pp-sec .pp-center-title .cs-title { color: var(--pp-forest) !important; margin-top: 10px; }
body.ppd .pp-sec .pp-center-title .cs-title::after { content: ""; display: block; width: 70px; height: 3px; border-radius: 3px; margin: 18px auto 0; background: linear-gradient(90deg, var(--pp-sun), var(--pp-magenta)); }
body.ppd .pp-sec .pp-center-title .cs-title-text p { color: var(--pp-text) !important; }

body.ppd .pp-facts { margin: 34px 0 40px !important; }
body.ppd .pp-facts-list { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; background: linear-gradient(135deg, var(--pp-forest), var(--pp-forest-2)); border-radius: 22px; overflow: hidden; box-shadow: var(--pp-shadow); }
body.ppd .pp-facts-list li { margin: 0 !important; padding: 26px 12px; text-align: center; color: rgba(255, 255, 255, .8); border-right: 1px solid rgba(255, 255, 255, .1); list-style: none; }
body.ppd .pp-facts-list li:last-child { border-right: 0; }
body.ppd .pp-facts-list li::before { display: none !important; }
body.ppd .pp-facts-list strong { display: block; font-family: var(--heading-font); font-size: 40px; font-weight: 400; line-height: 1.1; color: var(--pp-sun); }
body.ppd .pp-facts-list span { display: block; margin-top: 6px; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }

body.ppd .pp-rate-grid { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 22px; }
body.ppd .pp-rate-card {
	background: #fff !important; border-radius: var(--pp-radius); padding: 28px 24px 24px !important; box-shadow: var(--pp-shadow-sm);
	border: 1px solid rgba(23, 53, 39, .07); position: relative; overflow: hidden; transition: transform .3s ease, box-shadow .3s ease;
	--gap: 0px; gap: 0 !important; justify-content: flex-start;
}
body.ppd .pp-rate-card::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px; background: linear-gradient(90deg, var(--pp-magenta), var(--pp-sun)); }
body.ppd .pp-rate-card:hover { transform: translateY(-6px); box-shadow: var(--pp-shadow); }
body.ppd .pp-rate-card .elementor-widget { margin: 0 !important; }
body.ppd .pp-rate-tag { display: inline-block; margin: 0 0 12px !important; padding: 5px 12px; border-radius: 999px; background: rgba(184, 19, 111, .08); color: var(--pp-magenta); font-size: 11.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
body.ppd .pp-rate-name .elementor-heading-title { color: var(--pp-forest) !important; font-size: 23px !important; line-height: 1.25; margin-bottom: 14px; }
body.ppd .pp-rate-list { list-style: none; margin: 0 0 18px !important; padding: 0 !important; }
body.ppd .pp-rate-list li { position: relative; padding: 6px 0 6px 26px; margin: 0 !important; color: var(--pp-text); font-size: 15px; border-bottom: 1px dashed rgba(23, 53, 39, .1); list-style: none; }
body.ppd .pp-rate-list li::before { content: ""; position: absolute; left: 0; top: 11px; width: 16px; height: 16px; border-radius: 50%; background: rgba(23, 53, 39, .1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23173527' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / 10px no-repeat; }
body.ppd .pp-rate-card .elementor-widget.pp-rate-price { margin-top: auto !important; }
body.ppd .pp-rates, body.ppd .pp-know { box-shadow: 0 0 0 100vmax var(--pp-bleed); clip-path: inset(-1px -100vmax); }
body.ppd .pp-rates { --pp-bleed: var(--pp-sand); }
body.ppd .pp-know { --pp-bleed: var(--pp-ivory); }
body.ppd .pp-price { margin: 0 !important; padding-top: 14px; color: var(--pp-text); font-size: 13px; }
body.ppd .pp-price strong { display: block; font-family: var(--heading-font); font-weight: 400; font-size: 34px; line-height: 1.1; color: var(--pp-magenta); }
body.ppd .pp-rate-note { max-width: 900px; margin: 34px auto 0 !important; text-align: center; }
body.ppd .pp-rate-note p { color: var(--pp-text) !important; font-size: 15px; }
body.ppd .pp-rate-note strong { color: var(--pp-forest); }
body.ppd .pp-cta { margin-top: 18px !important; }
body.ppd .pp-cta .elementor-button { background: linear-gradient(135deg, var(--pp-magenta), var(--pp-magenta-d)) !important; color: #fff !important; padding: 16px 34px !important; font-weight: 600; letter-spacing: .04em; box-shadow: 0 12px 26px rgba(184, 19, 111, .3); }
body.ppd .pp-cta .elementor-button:hover { background: var(--pp-forest) !important; }

/* ------------------------------------------------ rooms slider (home) */
body.ppd .pp-rooms-carousel { margin-top: 36px !important; padding: 6px 4px 54px; }
body.ppd .pp-rooms-carousel .swiper { padding: 10px 6px 18px; margin: -10px -6px 0; }
body.ppd .pp-rooms-carousel .swiper-slide { height: auto; }
body.ppd .pp-room {
	height: 100%; background: #fff !important; border-radius: 22px; overflow: hidden; padding: 0 0 24px !important;
	box-shadow: var(--pp-shadow-sm); border: 1px solid rgba(23, 53, 39, .07); gap: 0 !important; justify-content: flex-start;
	transition: transform .4s cubic-bezier(.2, .7, .2, 1), box-shadow .4s ease;
}
body.ppd .pp-room > .e-con-inner { padding: 0 !important; height: 100%; }
body.ppd .pp-room:hover { transform: translateY(-8px); border-color: rgba(184, 19, 111, .35); }
/* no shadow: the slider clips it into a visible box behind the cards */
body.ppd .pp-room, body.ppd .pp-room:hover { box-shadow: none !important; }
body.ppd .pp-room .elementor-widget { margin: 0 !important; }
body.ppd .pp-room .pp-room-img { position: relative; overflow: hidden; margin-bottom: 20px !important; }
body.ppd .pp-room .pp-room-img img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 0 !important; transition: transform .8s cubic-bezier(.2, .7, .2, 1); }
body.ppd .pp-room:hover .pp-room-img img { transform: scale(1.08); }
body.ppd .pp-room .pp-room-img::after {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 55%, rgba(12, 25, 18, .45) 100%); opacity: .6; transition: opacity .4s;
}
body.ppd .pp-room:hover .pp-room-img::after { opacity: 1; }
body.ppd .pp-room :is(.pp-room-tag, .pp-room-name, .pp-room-text, .pp-room-list, .pp-room-price, .pp-room-btn) { padding: 0 24px; }
body.ppd .pp-room .pp-room-tag .pp-rate-tag { margin-bottom: 10px !important; }
body.ppd .pp-room .pp-room-name .elementor-heading-title { color: var(--pp-forest) !important; font-size: 25px !important; line-height: 1.2; margin-bottom: 10px; transition: color .25s; }
body.ppd .pp-room .pp-room-name .elementor-heading-title a { color: inherit !important; }
body.ppd .pp-room:hover .pp-room-name .elementor-heading-title { color: var(--pp-magenta) !important; }
body.ppd .pp-room .pp-room-text p { color: var(--pp-text) !important; font-size: 14.5px; line-height: 1.65; margin: 0 0 12px !important; }
body.ppd .pp-room .pp-room-text :is(b, strong, a) { color: var(--pp-magenta) !important; font-weight: 600; }
body.ppd .pp-room .pp-room-list .pp-rate-list { margin-bottom: 4px !important; }
body.ppd .pp-room .pp-rate-list li { font-size: 14px; }
body.ppd .pp-room .elementor-widget.pp-room-price { margin-top: auto !important; }
body.ppd .pp-room .elementor-widget.pp-room-btn { margin-top: auto !important; padding-top: 14px; }
body.ppd .pp-room .pp-room-name .elementor-heading-title { margin-bottom: 4px; }
body.ppd .pp-room .pp-room-btn .elementor-button {
	width: 100%; justify-content: center; padding: 14px 20px !important; border-radius: 999px !important; font-weight: 600; letter-spacing: .04em;
	background: var(--pp-forest) !important; color: #fff !important; transition: background .25s, transform .25s, box-shadow .25s;
}
body.ppd .pp-room:hover .pp-room-btn .elementor-button { background: linear-gradient(135deg, var(--pp-magenta), var(--pp-magenta-d)) !important; box-shadow: 0 12px 26px rgba(184, 19, 111, .3); }
body.ppd .pp-rooms-carousel .elementor-swiper-button {
	width: 48px; height: 48px; border-radius: 50%; background: #fff; display: grid; place-items: center; top: calc(50% - 30px) !important;
	box-shadow: 0 10px 26px rgba(23, 53, 39, .2); color: var(--pp-forest) !important; transition: background .2s, transform .2s; z-index: 5;
}
body.ppd .pp-rooms-carousel .elementor-swiper-button:hover { background: var(--pp-magenta); transform: scale(1.06); }
body.ppd .pp-rooms-carousel .elementor-swiper-button svg { width: 18px !important; height: 18px !important; fill: var(--pp-forest) !important; }
body.ppd .pp-rooms-carousel .elementor-swiper-button:hover svg { fill: #fff !important; }
body.ppd .pp-rooms-carousel .elementor-swiper-button-prev { left: -22px !important; }
body.ppd .pp-rooms-carousel .elementor-swiper-button-next { right: -22px !important; }
body.ppd .pp-rooms-carousel .swiper-pagination { bottom: 8px !important; }
body.ppd .pp-rooms-carousel .swiper-pagination-bullet { width: 9px; height: 9px; background: rgba(23, 53, 39, .25); opacity: 1; transition: width .3s, background .3s; }
body.ppd .pp-rooms-carousel .swiper-pagination-bullet-active { width: 28px; border-radius: 6px; background: var(--pp-magenta) !important; }
body.ppd .elementor-150 .elementor-element-2a968fb .pp-facts { margin-top: 10px !important; }
/* room cards on any page (dark-scheme pages too): force readable colours */
body.ppd .pp-room { --text-color: var(--pp-ink); --content-color: var(--pp-text); color: var(--pp-text); }
body.ppd .pp-room .pp-room-name .elementor-heading-title,
body.ppd .pp-room .pp-room-name .elementor-heading-title a { color: var(--pp-forest) !important; }
body.ppd .pp-room:hover .pp-room-name .elementor-heading-title,
body.ppd .pp-room:hover .pp-room-name .elementor-heading-title a { color: var(--pp-magenta) !important; }
body.ppd .pp-room p.pp-rate-tag { color: var(--pp-magenta) !important; }
body.ppd .pp-room p.pp-price { color: var(--pp-text) !important; }
body.ppd .pp-room .pp-price strong { color: var(--pp-magenta) !important; }
body.ppd .pp-room .pp-rate-list li { color: var(--pp-text) !important; }
body.ppd .pp-rooms-carousel { width: 100% !important; max-width: 100% !important; }
body.ppd .elementor-2123 .elementor-element-d8ae0a1 { background: transparent !important; }
body.ppd .elementor-2123 .elementor-element-d8ae0a1 .pp-rooms-carousel .swiper-pagination-bullet { background: rgba(255, 255, 255, .35); }
body.ppd .elementor-2123 .elementor-element-d8ae0a1 .pp-rooms-carousel .swiper-pagination-bullet-active { background: var(--pp-magenta) !important; }
body.ppd .elementor-180 .pp-rooms-carousel .swiper-pagination-bullet { background: rgba(255, 255, 255, .35); }

/* room page: "Room Details" */
body.ppd .pp-details-h { margin-top: 26px !important; }
body.ppd .pp-details-h .elementor-heading-title { font-size: 26px !important; }
body.ppd .pp-room-facts { list-style: none; margin: 10px 0 26px !important; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; }
body.ppd .pp-room-facts li {
	list-style: none; margin: 0 !important; padding: 16px 18px; border-radius: 16px;
	background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .14); border-left: 4px solid var(--pp-magenta);
}
body.ppd .pp-room-facts li::before { display: none !important; }
body.ppd .pp-room-facts span { display: block; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--pp-sun); margin-bottom: 4px; }
body.ppd .pp-room-facts strong { display: block; font-size: 17px; font-weight: 500; color: inherit; }
body.ppd .light-color .pp-room-facts li { background: #fff; border-color: rgba(23, 53, 39, .08); border-left-color: var(--pp-magenta); }
body.ppd .light-color .pp-room-facts span { color: var(--pp-magenta); }

/* ------------------------------------------------------ reviews section */
body.ppd .pp-reviews {
	--pp-bleed: var(--pp-forest);
	background: radial-gradient(900px 420px at 15% 0%, rgba(184, 19, 111, .22), transparent 60%), radial-gradient(700px 380px at 100% 100%, rgba(242, 194, 48, .12), transparent 60%), linear-gradient(135deg, var(--pp-forest), #0f2219) !important;
	padding: 96px 24px 84px !important; box-shadow: 0 0 0 100vmax #142c20; clip-path: inset(-1px -100vmax);
	--text-color: #fff; color: rgba(255, 255, 255, .85);
}
body.ppd .pp-reviews .pp-center-title .cs-title { color: #fff !important; }
body.ppd .pp-reviews .pp-center-title .cs-subtitle { color: var(--pp-sun) !important; }
body.ppd .pp-reviews .pp-center-title .cs-title-text p { color: rgba(255, 255, 255, .78) !important; }
body.ppd .pp-reviews-carousel { margin-top: 44px !important; padding-bottom: 52px; }
body.ppd .pp-reviews-carousel .swiper { padding: 26px 4px 8px; margin: -26px -4px 0; }
body.ppd .pp-reviews-carousel .swiper-slide { height: auto; }
body.ppd .pp-review {
	position: relative; height: 100%; background: #fff !important; border-radius: 22px; padding: 30px 28px 26px !important;
	gap: 0 !important; justify-content: flex-start; transition: transform .35s ease;
}
body.ppd .pp-review:hover { transform: translateY(-6px); }
body.ppd .pp-review::before {
	content: "\201C"; position: absolute; top: -26px; right: 26px; width: 56px; height: 56px; border-radius: 50%;
	display: grid; place-items: center; font: 64px/1 Georgia, serif; padding-top: 18px; box-sizing: border-box;
	color: #fff; background: linear-gradient(135deg, var(--pp-magenta), var(--pp-magenta-d)); box-shadow: 0 10px 24px rgba(184, 19, 111, .4);
}
body.ppd .pp-review .elementor-widget { margin: 0 !important; }
body.ppd .pp-review .pp-rev-stars { margin: 0 0 14px !important; color: #f2b01e !important; font-size: 20px; letter-spacing: 3px; }
body.ppd .pp-review .pp-rev-text p { margin: 0 !important; color: var(--pp-text) !important; font-size: 15.5px; line-height: 1.75; font-style: italic; }
body.ppd .pp-review .elementor-widget.pp-rev-author { margin-top: auto !important; padding-top: 22px; }
body.ppd .pp-review .pp-rev-who { display: flex; align-items: center; gap: 12px; margin: 0 !important; padding-top: 18px; border-top: 1px solid rgba(23, 53, 39, .1); }
body.ppd .pp-review .pp-av {
	flex: 0 0 46px; width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center;
	background: var(--pp-forest); color: var(--pp-sun); font-family: var(--heading-font); font-size: 20px;
}
body.ppd .pp-review .pp-rev-who strong { display: block; color: var(--pp-forest) !important; font-size: 16px; font-weight: 600; }
body.ppd .pp-review .pp-rev-who small { display: block; color: #8a8f88; font-size: 12.5px; }
body.ppd .pp-reviews-carousel .elementor-swiper-button {
	width: 48px; height: 48px; border-radius: 50%; background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .3);
	display: grid; place-items: center; top: calc(50% - 26px) !important; transition: background .2s; z-index: 5;
}
body.ppd .pp-reviews-carousel .elementor-swiper-button:hover { background: var(--pp-magenta); border-color: var(--pp-magenta); }
body.ppd .pp-reviews-carousel .elementor-swiper-button svg { width: 18px !important; height: 18px !important; fill: #fff !important; }
/* arrows sit in their own gutter outside the cards, always on top */
body.ppd .pp-reviews-carousel { padding-left: 64px !important; padding-right: 64px !important; }
body.ppd .pp-reviews-carousel .elementor-swiper-button { z-index: 20 !important; background: rgba(255, 255, 255, .14); }
body.ppd .pp-reviews-carousel .elementor-swiper-button-prev { left: 0 !important; }
body.ppd .pp-reviews-carousel .elementor-swiper-button-next { right: 0 !important; }
body.ppd :is(.pp-rooms-carousel, .pp-attr-carousel) .elementor-swiper-button { z-index: 20 !important; }
@media (max-width: 1024px) { body.ppd .pp-reviews-carousel { padding-left: 54px !important; padding-right: 54px !important; } }
@media (max-width: 767px) { body.ppd .pp-reviews-carousel { padding-left: 0 !important; padding-right: 0 !important; } }
body.ppd .pp-reviews-carousel .swiper-pagination { bottom: 6px !important; }
body.ppd .pp-reviews-carousel .swiper-pagination-bullet { width: 9px; height: 9px; background: rgba(255, 255, 255, .4); opacity: 1; transition: width .3s; }
body.ppd .pp-reviews-carousel .swiper-pagination-bullet-active { width: 28px; border-radius: 6px; background: var(--pp-sun) !important; }

/* "Plan your stay" CTA under the reviews */
body.ppd .pp-plan { padding: 110px 0 !important; }
body.ppd .pp-plan > .elementor-background-overlay { background: linear-gradient(180deg, rgba(10, 22, 15, .78), rgba(10, 22, 15, .9)) !important; opacity: 1 !important; }
body.ppd .pp-plan .elementor-widget-wrap { justify-content: center; column-gap: 16px; }
body.ppd .pp-plan .elementor-widget-cs_title { width: 100%; }
body.ppd .pp-plan .cs-title-wrap { max-width: 860px; margin: 0 auto; text-align: center !important; }
body.ppd .pp-plan .cs-title-wrap * { text-align: center !important; }
body.ppd .pp-plan .cs-subtitle { color: var(--pp-sun) !important; }
body.ppd .pp-plan .cs-subtitle::after { content: ""; width: 28px; height: 2px; border-radius: 2px; background: currentColor; display: inline-block; }
body.ppd .pp-plan .cs-title { font-size: 42px !important; line-height: 1.2; }
body.ppd .pp-plan .cs-title-text p { color: rgba(255, 255, 255, .82) !important; }
body.ppd .pp-plan .cs-title-text a { color: var(--pp-sun) !important; }
body.ppd .pp-plan .pp-cta-btn { margin-top: 18px !important; }
@media (max-width: 767px) {
	body.ppd .pp-reviews { padding: 64px 12px 56px !important; margin-left: -22px !important; margin-right: -22px !important; width: auto !important; max-width: none !important; }
	body.ppd .pp-reviews-carousel { margin-top: 36px !important; }
	body.ppd .pp-reviews-carousel .elementor-swiper-button { display: none !important; }
	body.ppd .pp-review { padding: 26px 22px 22px !important; }
	body.ppd .pp-review .pp-rev-text p { font-size: 15px; }
	body.ppd .pp-plan { padding: 70px 0 !important; }
	body.ppd .pp-plan .cs-title { font-size: 28px !important; }
}

/* ---------------------------------------------------------- preloader */
html.ppd-loading { overflow: hidden; }
html.ppd-loading::before, html.ppd-loading::after { content: ""; position: fixed; z-index: 2147483000; pointer-events: none; transition: opacity .45s ease; }
/* logo on an ivory screen (logo URL set inline in <head>) */
html.ppd-loading::before {
	inset: 0;
	background-position: center; background-size: 170px auto; background-repeat: no-repeat;
	background-color: #fbf7f0;
	animation: ppd-logo-in .8s cubic-bezier(.2, .7, .2, 1) both, ppd-loader-out .45s ease 6s forwards;
}
/* spinning ring around the logo */
html.ppd-loading::after {
	top: 50%; left: 50%; width: 240px; height: 240px; margin: -120px 0 0 -120px; border-radius: 50%;
	border: 3px solid rgba(184, 19, 111, .12); border-top-color: #b8136f; border-right-color: #f2c230;
	animation: ppd-spin 1s linear infinite, ppd-loader-out .45s ease 6s forwards;
}
html.ppd-loaded::before, html.ppd-loaded::after { opacity: 0; }
@keyframes ppd-spin { to { transform: rotate(360deg); } }
@keyframes ppd-logo-in { from { background-size: 130px auto; } to { background-size: 170px auto; } }
@keyframes ppd-loader-out { to { opacity: 0; visibility: hidden; } }
@media (prefers-reduced-motion: reduce) { html.ppd-loading::after { animation: none; } }

/* ------------------------------------------------- footer photo panels */
body.ppd .elementor-340 :is(.elementor-element-15406d3a, .elementor-element-12f3cc74) .elementor-background-overlay {
	background: linear-gradient(180deg, rgba(8, 20, 13, .72) 0%, rgba(8, 20, 13, .86) 100%) !important; opacity: 1 !important;
}

/* ------------------------------------------- home: headings centred */
body.ppd .elementor-150 .cs-title-wrap,
body.ppd .elementor-150 .cs-title-wrap > .cs-subtitle-wrap,
body.ppd .elementor-150 .cs-title-wrap > .cs-title { text-align: center !important; }
body.ppd .elementor-150 .cs-title-wrap { margin-left: auto !important; margin-right: auto !important; }
body.ppd .elementor-150 .cs-subtitle-wrap { display: flex; justify-content: center; }
body.ppd .elementor-150 .cs-subtitle::after { content: ""; width: 28px; height: 2px; border-radius: 2px; background: currentColor; display: inline-block; }
/* split image/text blocks + amenities intro: centre the whole text column */
body.ppd .elementor-150 :is(.elementor-element-0a60f6c, .elementor-element-92f9f2e) .cs-title-text,
body.ppd .elementor-150 :is(.elementor-element-0a60f6c, .elementor-element-92f9f2e) .cs-title-text p { text-align: center !important; }
body.ppd .elementor-150 :is(.elementor-element-01b4802, .elementor-element-c9cf830) { align-self: center; max-width: 420px; margin-left: auto; margin-right: auto; }
body.ppd .elementor-150 .elementor-element-ee77463 > .elementor-container { flex-direction: column; }
body.ppd .elementor-150 :is(.elementor-element-892fdcc, .elementor-element-9cd5d6d) { width: 100% !important; }
body.ppd .elementor-150 .elementor-element-7cedd48 .cs-title-wrap { max-width: 860px; }
body.ppd .elementor-150 .elementor-element-7cedd48 :is(.cs-title, .cs-title-text, p) { text-align: center !important; }
body.ppd .elementor-150 .elementor-element-dd4fb9f .cs-title-wrap { padding-bottom: 20px; }

/* 5 lines + Read more */
body.ppd .ppd-clamp { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5; overflow: hidden; }
body.ppd .ppd-clamp p { display: inline; }
body.ppd .ppd-clamp p + p::before { content: " "; }
body.ppd .ppd-clamp.is-open { display: block; -webkit-line-clamp: unset; overflow: visible; }
body.ppd .ppd-clamp.is-open p { display: block; }
body.ppd .ppd-more {
	display: block; margin: 12px auto 4px; padding: 6px 18px; border-radius: 999px; cursor: pointer;
	background: transparent; border: 1px solid rgba(255, 255, 255, .45); color: var(--pp-sun);
	font: 600 13px/1.4 var(--body-font); letter-spacing: .06em; text-transform: uppercase; transition: background .2s, color .2s;
}
body.ppd .ppd-more:hover { background: var(--pp-sun); color: var(--pp-forest); border-color: var(--pp-sun); }

/* footer payment icons: one even row */
body.ppd .elementor-340 .elementor-element-06497e9 > .elementor-widget-wrap { display: flex !important; flex-wrap: nowrap; align-items: center !important; justify-content: center !important; gap: 16px; align-content: center; }
body.ppd .elementor-340 .elementor-element-06497e9 > .elementor-widget-wrap > .elementor-widget { margin: 0 !important; top: 0 !important; transform: none !important; width: auto !important; }
body.ppd .elementor-340 .elementor-element-06497e9 .elementor-icon-wrapper { line-height: 0; }
body.ppd .elementor-340 .elementor-element-06497e9 .elementor-icon svg { width: 34px !important; height: 30px !important; }

/* -------------------------------------------------------- video section */
body.ppd .elementor-150 .pp-video-sec { padding-left: 0 !important; padding-right: 0 !important; }
body.ppd .elementor-150 .pp-video-sec > .elementor-container { max-width: 100% !important; width: 100% !important; }
body.ppd .elementor-150 .pp-video-sec .pp-center-title { padding: 0 24px; }
body.ppd .elementor-150 .pp-video-sec .pp-video { width: 100% !important; max-width: 100% !important; }
body.ppd .elementor-150 .pp-video-sec .pp-video .elementor-wrapper { border-radius: 0 !important; border: 0 !important; box-shadow: none !important; }
body.ppd .elementor-150 .pp-video-sec { padding-bottom: 0 !important; }
body.ppd .pp-video-sec { background: linear-gradient(135deg, var(--pp-forest), #0f2219) !important; padding: 90px 24px !important; min-height: 0 !important; }
body.ppd .pp-video-sec > .elementor-background-overlay { display: none !important; }
body.ppd .pp-video-sec > .elementor-container { max-width: 1100px !important; margin: 0 auto; }
body.ppd .pp-video-sec .elementor-widget-wrap { flex-direction: column; }
body.ppd .pp-video-sec .cs-title { color: #fff !important; }
body.ppd .pp-video-sec .cs-subtitle { color: var(--pp-sun) !important; }
body.ppd .pp-video-sec .cs-title-text p { color: rgba(255, 255, 255, .8) !important; }
body.ppd .pp-video { margin-top: 34px !important; width: 100%; }
body.ppd .pp-video .elementor-wrapper { border-radius: 24px; overflow: hidden; box-shadow: 0 30px 60px rgba(0, 0, 0, .45); border: 4px solid rgba(255, 255, 255, .08); }
@media (max-width: 767px) {
	body.ppd .pp-video-sec { padding: 56px 14px !important; }
	body.ppd .pp-video { margin-top: 24px !important; }
	body.ppd .pp-video .elementor-wrapper { border-radius: 16px; }
}

/* ------------------------------------------- mobile hero: tighter */
@media (max-width: 767px) {
	body.ppd .elementor-150 .elementor-element-1850564f { min-height: 0 !important; height: auto !important; padding-top: 150px !important; padding-bottom: 46px !important; }
	body.ppd .elementor-150 .elementor-element-1850564f > .elementor-container { min-height: 0 !important; height: auto !important; }
	body.ppd .elementor-150 .elementor-element-c0c2de1 { padding-top: 0 !important; }
	body.ppd .elementor-150 .elementor-element-c0c2de1 > .elementor-widget-container { padding-top: 0 !important; }
	body.ppd .elementor-150 .elementor-element-c0c2de1 .cs-title::after { margin-top: 16px; }
}

/* ============================================================ Offers page */
body.ppd .pp-off-sec { --text-color: var(--pp-ink); --content-color: var(--pp-text); color: var(--pp-text); padding: 90px 24px !important; gap: 0 !important; }
body.ppd .pp-off-sec .elementor-widget { margin: 0 !important; }
body.ppd .pp-off-sec :is(h2, h3) { color: var(--pp-forest) !important; }
body.ppd .pp-off-sec p, body.ppd .pp-off-sec li { color: var(--pp-text) !important; }
body.ppd .pp-off-sec b, body.ppd .pp-off-sec strong { color: var(--pp-ink) !important; }
body.ppd .pp-off-sec ul { list-style: none; margin: 0 0 18px !important; padding: 0 !important; }
body.ppd .pp-off-sec li { position: relative; list-style: none; padding: 7px 0 7px 30px; margin: 0 !important; font-size: 15.5px; }
body.ppd .pp-off-sec li::before {
	content: ""; position: absolute; left: 0; top: 11px; width: 18px; height: 18px; border-radius: 50%;
	background: rgba(184, 19, 111, .12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8136f' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / 11px no-repeat;
}
body.ppd .pp-off-kicker { margin: 0 0 8px !important; text-align: center; color: var(--pp-magenta) !important; font-size: 12.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
body.ppd .pp-off-left .pp-off-kicker, body.ppd .pp-off-left { text-align: left !important; }
body.ppd .pp-off-title :is(h2, h3), body.ppd .pp-off-title .elementor-heading-title { text-align: center; font-family: var(--heading-font); font-weight: 400 !important; font-size: 40px !important; line-height: 1.2; margin: 0 !important; }
body.ppd .pp-off-title.pp-off-left .elementor-heading-title { text-align: left !important; }
body.ppd .pp-off-title::after { content: ""; display: block; width: 70px; height: 3px; border-radius: 3px; margin: 16px auto 0; background: linear-gradient(90deg, var(--pp-sun), var(--pp-magenta)); }
body.ppd .pp-off-title.pp-off-left::after { margin-left: 0; }
body.ppd .pp-off-sec .pp-hero-btn { margin: 22px 12px 0 0 !important; }
body.ppd .pp-off-sec .pp-hero-btn .elementor-button { display: inline-flex; align-items: center; gap: 10px; padding: 15px 28px !important; border-radius: 999px !important; font-weight: 600; letter-spacing: .04em; transition: transform .2s, background .2s, color .2s; }
body.ppd .pp-off-sec .pp-hero-btn .elementor-button:hover { transform: translateY(-3px); }
body.ppd .pp-off-sec .pp-hero-btn--main .elementor-button { background: linear-gradient(135deg, var(--pp-magenta), var(--pp-magenta-d)) !important; color: #fff !important; box-shadow: 0 12px 26px rgba(184, 19, 111, .3); }
body.ppd .pp-off-sec .pp-hero-btn--main .elementor-button:hover { background: var(--pp-forest) !important; }
body.ppd .pp-off-sec .pp-hero-btn--line .elementor-button { background: transparent !important; color: var(--pp-forest) !important; border: 1.5px solid var(--pp-forest) !important; }
body.ppd .pp-off-sec .pp-hero-btn--line .elementor-button:hover { background: var(--pp-forest) !important; color: #fff !important; }
body.ppd .pp-off-sec .pp-hero-btn--ghost .elementor-button { background: rgba(255, 255, 255, .1) !important; color: #fff !important; border: 1.5px solid #fff !important; }
body.ppd .pp-off-sec .elementor-button svg { fill: currentColor !important; width: 15px; height: 15px; }

/* two-column blocks */
body.ppd :is(.pp-off-intro, .pp-off-why) > .e-con-inner { display: grid !important; grid-template-columns: 1.05fr .95fr; gap: 56px !important; align-items: center; }
body.ppd .pp-off-why > .e-con-inner { grid-template-columns: .95fr 1.05fr; }
body.ppd .pp-off-col { padding: 0 !important; gap: 0 !important; flex-wrap: wrap !important; flex-direction: row !important; align-content: flex-start; }
body.ppd .pp-off-col > .elementor-widget:not(.pp-hero-btn) { width: 100%; }
body.ppd .pp-off-intro { background: var(--pp-ivory) !important; box-shadow: 0 0 0 100vmax var(--pp-ivory); clip-path: inset(-1px -100vmax); }
body.ppd .pp-off-sub .elementor-heading-title { font-family: var(--body-font) !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: .14em; text-transform: uppercase; color: var(--pp-magenta) !important; margin-bottom: 12px !important; line-height: 1.6; }
body.ppd .pp-off-h1 .elementor-heading-title { font-family: var(--heading-font) !important; font-weight: 400 !important; font-size: 44px !important; line-height: 1.15; color: var(--pp-forest) !important; margin-bottom: 18px !important; }
body.ppd .pp-off-intro p { font-size: 16.5px; line-height: 1.8; }
body.ppd .pp-off-img { position: relative; }
body.ppd .pp-off-img img { width: 100%; aspect-ratio: 4 / 3.4; object-fit: cover; border-radius: 26px; box-shadow: 0 30px 60px rgba(23, 53, 39, .22); }
body.ppd .pp-off-intro .pp-off-img::after { content: "Best Price\A Guaranteed"; white-space: pre; position: absolute; left: -22px; bottom: 28px; padding: 16px 22px; border-radius: 18px; background: var(--pp-forest); color: var(--pp-sun); font: 600 15px/1.35 var(--body-font); letter-spacing: .04em; box-shadow: 0 18px 36px rgba(0, 0, 0, .25); }

/* limited time deal */
body.ppd .pp-off-deal { position: relative; text-align: center; padding: 100px 24px !important; align-items: center; border-radius: 28px; box-shadow: inset 0 0 0 100vmax rgba(10, 22, 15, .78), 0 0 0 100vmax var(--pp-ivory); clip-path: inset(-1px -100vmax); }
body.ppd .pp-off-deal::before { content: ""; position: absolute; inset: 0 -100vmax; background: linear-gradient(180deg, rgba(10, 22, 15, .82), rgba(10, 22, 15, .9)); z-index: 0; }
body.ppd .pp-off-deal > * { position: relative; z-index: 1; }
body.ppd .pp-off-deal h2 { color: #fff !important; font-family: var(--heading-font); font-weight: 400 !important; font-size: 42px !important; margin: 0 0 26px !important; }
body.ppd .pp-off-deal h2 b { color: #fff !important; font-weight: 400; }
body.ppd .pp-off-deal ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; max-width: 900px; margin: 0 auto 22px !important; }
body.ppd .pp-off-deal li { padding: 13px 22px 13px 46px !important; border-radius: 999px; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .25); color: #fff !important; font-weight: 500; backdrop-filter: blur(4px); }
body.ppd .pp-off-deal li::before { left: 18px; top: 50%; margin-top: -9px; background-color: var(--pp-sun); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23173527' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E"); }
body.ppd .pp-off-deal p, body.ppd .pp-off-deal i { color: var(--pp-sun) !important; font-size: 18px; text-align: center; }
body.ppd .pp-off-deal .pp-hero-btn { margin: 18px auto 0 !important; }

/* package cards */
body.ppd .pp-off-packs { background: var(--pp-sand) !important; box-shadow: 0 0 0 100vmax var(--pp-sand); clip-path: inset(-1px -100vmax); }
body.ppd .pp-off-packs .pp-off-title { margin-bottom: 44px !important; }
body.ppd .pp-off-grid { display: grid !important; grid-template-columns: repeat(2, 1fr); gap: 28px !important; padding: 0 !important; }
body.ppd .pp-off-card { background: #fff !important; border-radius: 24px; overflow: hidden; padding: 0 0 28px !important; gap: 0 !important; border: 1px solid rgba(23, 53, 39, .07); transition: transform .35s ease, box-shadow .35s ease; }
body.ppd .pp-off-card:hover { transform: translateY(-6px); box-shadow: 0 26px 50px rgba(23, 53, 39, .16); }
body.ppd .pp-off-card-img { overflow: hidden; }
body.ppd .pp-off-card-img img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 0 !important; transition: transform .7s ease; }
body.ppd .pp-off-card:hover .pp-off-card-img img { transform: scale(1.06); }
body.ppd .pp-off-card .elementor-widget-text-editor { padding: 26px 30px 0; }
body.ppd .pp-off-card h3 { font-family: var(--heading-font); font-weight: 400 !important; font-size: 27px !important; margin: 0 0 6px !important; }
body.ppd .pp-off-card h3 b { font-weight: 400; color: var(--pp-forest) !important; }
body.ppd .pp-off-card h3 + p { margin: 0 0 12px !important; }
body.ppd .pp-off-card h3 + p b { color: var(--pp-magenta) !important; font-size: 14px; letter-spacing: .06em; text-transform: uppercase; }
body.ppd .pp-off-card p { margin: 0 0 6px !important; }
body.ppd .pp-off-card ul { margin-bottom: 12px !important; }
body.ppd .pp-off-card p:last-child i { display: inline-block; padding: 8px 16px; border-radius: 12px; background: rgba(242, 194, 48, .16); color: var(--pp-ink) !important; font-size: 14.5px; }
body.ppd .pp-off-card .pp-off-card-btn { margin: auto 30px 0 !important; padding-top: 14px; width: calc(100% - 60px); }
body.ppd .pp-off-card .pp-off-card-btn .elementor-button { width: 100%; justify-content: center; }

/* inclusions / add-ons */
body.ppd .pp-off-incl { background: var(--pp-sand) !important; box-shadow: 0 0 0 100vmax var(--pp-sand); clip-path: inset(-1px -100vmax); padding-top: 0 !important; }
body.ppd .pp-off-deal::before, body.ppd .pp-off-cta::before { display: none !important; }
body.ppd .pp-off-incl > .e-con-inner { display: grid !important; grid-template-columns: 1fr 1fr; gap: 28px !important; }
body.ppd .pp-off-box { border-radius: 24px; padding: 40px 38px !important; gap: 0 !important; overflow: hidden; position: relative; }
body.ppd .pp-off-box--incl { background: #fff !important; border: 1px solid rgba(23, 53, 39, .08); box-shadow: var(--pp-shadow-sm); }
body.ppd .pp-off-box--add::before { content: ""; position: absolute; inset: 0; background: linear-gradient(160deg, rgba(10, 22, 15, .78), rgba(94, 12, 61, .82)); }
body.ppd .pp-off-box--add > * { position: relative; z-index: 1; }
body.ppd .pp-off-boxh .elementor-heading-title { font-family: var(--body-font) !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: .16em; text-transform: uppercase; color: var(--pp-magenta) !important; margin-bottom: 8px !important; }
body.ppd .pp-off-box--add .pp-off-boxh .elementor-heading-title { color: var(--pp-sun) !important; }
body.ppd .pp-off-box h3 { font-family: var(--heading-font); font-size: 32px !important; font-weight: 400 !important; margin: 0 0 16px !important; }
body.ppd .pp-off-box h3 b { font-weight: 400; }
body.ppd .pp-off-box--add :is(h3, h3 b) { color: #fff !important; }
body.ppd .pp-off-box--add ul { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
body.ppd .pp-off-box--add li { padding: 14px 16px 14px 44px !important; border-radius: 14px; background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .2); color: #fff !important; font-weight: 500; }
body.ppd .pp-off-box--add li::before { left: 16px; top: 50%; margin-top: -9px; background-color: var(--pp-sun); }
body.ppd .pp-off-box--add p, body.ppd .pp-off-box--add i { color: rgba(255, 255, 255, .85) !important; }

/* why choose us */
body.ppd .pp-off-why { background: var(--pp-ivory) !important; box-shadow: 0 0 0 100vmax var(--pp-ivory); clip-path: inset(-1px -100vmax); }
body.ppd .pp-off-why .pp-off-title { margin-bottom: 22px !important; }
body.ppd .pp-off-why li { font-size: 16.5px; padding: 10px 0 10px 32px; border-bottom: 1px dashed rgba(23, 53, 39, .12); }

/* CTA */
body.ppd .pp-off-cta { position: relative; text-align: center; align-items: center; padding: 110px 24px !important; border-radius: 28px; margin-bottom: 70px !important; box-shadow: inset 0 0 0 100vmax rgba(10, 22, 15, .72), 0 0 0 100vmax var(--pp-ivory); clip-path: inset(-1px -100vmax -70px); }
body.ppd .pp-off-cta::before { content: ""; position: absolute; inset: 0 -100vmax; background: linear-gradient(180deg, rgba(10, 22, 15, .78), rgba(10, 22, 15, .9)); }
body.ppd .pp-off-cta > * { position: relative; z-index: 1; }
body.ppd .pp-off-ctah .elementor-heading-title, body.ppd .pp-off-ctah .elementor-heading-title a { font-family: var(--heading-font) !important; font-weight: 400 !important; font-size: 42px !important; color: #fff !important; text-align: center; }
body.ppd .pp-off-cta p { color: rgba(255, 255, 255, .85) !important; max-width: 700px; margin: 16px auto 0 !important; font-size: 17px; text-align: center; }
body.ppd .pp-off-btns { flex-direction: row !important; justify-content: center; flex-wrap: wrap; gap: 0 !important; padding: 0 !important; }

@media (max-width: 1024px) {
	body.ppd :is(.pp-off-intro, .pp-off-why) > .e-con-inner, body.ppd .pp-off-incl > .e-con-inner { grid-template-columns: 1fr; gap: 36px !important; }
	body.ppd .pp-off-why .pp-off-media { order: 2; }
}
@media (max-width: 767px) {
	body.ppd .pp-off-sec { padding: 56px 16px !important; }
	body.ppd .pp-off-h1 .elementor-heading-title { font-size: 31px !important; }
	body.ppd .pp-off-title .elementor-heading-title, body.ppd .pp-off-deal h2, body.ppd .pp-off-ctah .elementor-heading-title { font-size: 29px !important; }
	body.ppd .pp-off-grid { grid-template-columns: 1fr; gap: 20px !important; }
	body.ppd .pp-off-card .elementor-widget-text-editor { padding: 22px 20px 0; }
	body.ppd .pp-off-card .pp-off-card-btn { margin: auto 20px 0 !important; width: calc(100% - 40px); }
	body.ppd .pp-off-box { padding: 30px 22px !important; }
	body.ppd .pp-off-box--add ul { grid-template-columns: 1fr; }
	body.ppd .pp-off-deal li { width: 100%; text-align: left; }
	body.ppd .pp-off-intro .pp-off-img::after { left: 12px; bottom: 12px; font-size: 13px; padding: 12px 16px; }
	body.ppd .pp-off-sec .pp-hero-btn { margin-right: 8px !important; }
}

/* ===================================== home rooms: horizontal scroll row */
body.ppd .pp-hscroll { position: relative; padding: 0 !important; margin-top: 10px !important; }
body.ppd .pp-hs-stick { padding: 0 !important; gap: 0 !important; }
body.ppd .pp-hscroll.is-on .pp-hs-stick {
	position: sticky; top: var(--ppd-head, 137px); min-height: calc(100vh - var(--ppd-head, 137px)); justify-content: center; box-sizing: border-box;
	width: 100vw; margin-left: calc(50% - 50vw); overflow: hidden; padding: 14px 0 26px !important;
}
body.ppd .pp-hs-stick .elementor-element-89b0a31 { padding: 0 24px !important; margin: 0 0 26px !important; --padding-top: 0px; --padding-bottom: 0px; }
body.ppd .pp-hs-stick .elementor-element-89b0a31 > .e-con-inner, body.ppd .pp-hs-stick .elementor-element-80f4524 { padding: 0 !important; margin: 0 !important; }
body.ppd .pp-hs-stick .elementor-element-80f4524 .cs-title { font-size: 40px !important; }
body.ppd .pp-hs-track { display: flex !important; flex-wrap: nowrap !important; gap: 26px !important; padding: 6px 0 10px !important; width: max-content !important; max-width: none !important; will-change: transform; }
body.ppd .pp-hscroll.is-on .pp-hs-track { padding-left: max(24px, calc((100vw - 1240px) / 2)) !important; padding-right: max(24px, calc((100vw - 1240px) / 2)) !important; }
body.ppd .pp-hs-card {
	flex: 0 0 420px !important; width: 420px !important; background: #fff !important; border-radius: 24px; overflow: hidden; padding: 0 0 22px !important; gap: 0 !important;
	border: 1px solid rgba(23, 53, 39, .08); box-shadow: 0 14px 34px rgba(23, 53, 39, .1); position: relative; transition: transform .35s ease, box-shadow .35s ease;
	--text-color: var(--pp-ink); color: var(--pp-text);
}
body.ppd .pp-hs-card:hover { transform: translateY(-6px); box-shadow: 0 24px 50px rgba(23, 53, 39, .18); }
body.ppd .pp-hs-card .elementor-widget { margin: 0 !important; }
body.ppd .pp-hs-track { align-items: stretch !important; }
body.ppd .pp-hs-card { justify-content: flex-start !important; }
body.ppd .pp-hs-card .elementor-widget.pp-hs-footw { margin-top: auto !important; }
body.ppd .pp-hs-img { overflow: hidden; line-height: 0; }
body.ppd .pp-hs-img img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 0 !important; transition: transform .8s ease; }
body.ppd .pp-hs-card:hover .pp-hs-img img { transform: scale(1.07); }
body.ppd .pp-hs-badgew { position: absolute !important; left: 0; right: 0; top: 0; aspect-ratio: 16 / 10; pointer-events: none; }
body.ppd .pp-hs-badges { margin: 0 !important; position: relative; height: 100%; }
body.ppd .pp-hs-tag { position: absolute; top: 16px; left: 16px; padding: 6px 13px; border-radius: 999px; background: var(--pp-sun); color: var(--pp-forest); font: 700 11px/1.2 var(--body-font); letter-spacing: .12em; text-transform: uppercase; }
body.ppd .pp-hs-cap { position: absolute; right: 14px; bottom: 14px; padding: 6px 12px 6px 30px; border-radius: 999px; background: rgba(10, 22, 15, .62); color: #fff; font: 600 12.5px/1.2 var(--body-font); backdrop-filter: blur(6px);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Cpath d='M3 19c0-3.3 2.7-5 6-5s6 1.7 6 5M16 5.5a3 3 0 0 1 0 5.5M21 19c0-2.5-1.6-4.2-4-4.8'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: 10px center; background-size: 14px; }
body.ppd .pp-hs-card :is(.pp-hs-kickw, .pp-hs-name, .pp-hs-desc, .pp-hs-chipw, .pp-hs-footw) { padding: 0 24px; }
body.ppd .pp-hs-kick { margin: 20px 0 6px !important; color: var(--pp-magenta) !important; font: 600 11.5px/1.5 var(--body-font); letter-spacing: .14em; text-transform: uppercase; }
body.ppd .pp-hs-name .elementor-heading-title, body.ppd .pp-hs-name .elementor-heading-title a { color: var(--pp-forest) !important; font-size: 27px !important; line-height: 1.15; margin: 0 0 8px !important; }
body.ppd .pp-hs-desc p { margin: 0 0 14px !important; color: var(--pp-text) !important; font-size: 14.5px; line-height: 1.6; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
body.ppd .pp-hs-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px !important; }
body.ppd .pp-hs-chips span { padding: 6px 12px; border-radius: 999px; background: #eef3ee; color: var(--pp-forest); font-size: 12.5px; font-weight: 500; }
body.ppd .pp-hs-foot { display: flex; align-items: center; gap: 10px; padding-top: 16px; border-top: 1px solid rgba(23, 53, 39, .08); }
body.ppd .pp-hs-price { margin: 0 auto 0 0 !important; line-height: 1.1; }
body.ppd .pp-hs-price strong { display: block; font-family: var(--heading-font); font-weight: 400; font-size: 26px; color: var(--pp-magenta) !important; }
body.ppd .pp-hs-price small { font-size: 11.5px; color: #7c827a; }
body.ppd .pp-hs-call { width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid rgba(23, 53, 39, .2); flex: 0 0 auto; transition: background-color .2s, border-color .2s;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23173527' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E") center / 18px no-repeat; }
body.ppd .pp-hs-call:hover { border-color: var(--pp-magenta); background-color: rgba(184, 19, 111, .08); }
body.ppd .pp-hs-book { padding: 12px 20px; border-radius: 999px; background: var(--pp-forest); color: #fff !important; font-weight: 600; font-size: 14px; white-space: nowrap; transition: background .2s; }
body.ppd .pp-hs-book::after { content: " \2197"; }
body.ppd .pp-hs-book:hover { background: var(--pp-magenta); }
body.ppd .pp-hs-progress { width: min(320px, 60%); height: 4px; border-radius: 4px; background: rgba(23, 53, 39, .12); margin: 26px auto 0; overflow: hidden; }
body.ppd .pp-hs-progress i { display: block; height: 100%; width: 18%; border-radius: 4px; background: linear-gradient(90deg, var(--pp-sun), var(--pp-magenta)); }
@media (max-height: 820px) and (min-width: 1025px) { body.ppd .pp-hs-img img, body.ppd .pp-hs-badgew { aspect-ratio: 16 / 8 !important; } body.ppd .pp-hs-chips span:nth-child(n+4) { display: none; } body.ppd .pp-hs-stick .elementor-element-89b0a31 { margin-bottom: 18px !important; } }
@media (max-width: 1024px) {
	body.ppd .pp-hs-track { flex-direction: column !important; width: 100% !important; gap: 18px !important; transform: none !important; }
	body.ppd .pp-hs-card { flex: 1 1 auto !important; width: 100% !important; }
	body.ppd .pp-hs-progress { display: none; }
}
@media (max-width: 767px) {
	body.ppd .pp-hs-card :is(.pp-hs-kickw, .pp-hs-name, .pp-hs-desc, .pp-hs-chipw, .pp-hs-footw) { padding: 0 18px; }
	body.ppd .pp-hs-name .elementor-heading-title { font-size: 24px !important; }
	body.ppd .pp-hs-book { padding: 11px 16px; font-size: 13px; }
}

/* ============================ activity sliders (Activities page + sub pages) */
body.ppd .pp-act-wrap { padding: 40px 24px 90px !important; }
body.ppd .pp-act-carousel .pp-room-text p { color: var(--pp-text) !important; font-size: 14.5px; line-height: 1.65; margin: 0 !important; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
body.ppd .pp-act-carousel .pp-room .pp-room-img img { aspect-ratio: 4 / 3; }
body.ppd .elementor-1120 .pp-rooms-carousel .swiper-pagination-bullet { background: rgba(255, 255, 255, .4); }
body.ppd .pp-act-title .cs-title-wrap { text-align: center; }
body.ppd .pp-act-title .cs-subtitle { color: var(--pp-sun) !important; }
body.ppd .pp-act-title .cs-subtitle::after { content: ""; width: 28px; height: 2px; border-radius: 2px; background: currentColor; display: inline-block; }
body.ppd .pp-act-title .cs-title { color: #fff !important; }
body.ppd .pp-act-title .cs-title::after { content: ""; display: block; width: 70px; height: 3px; border-radius: 3px; margin: 16px auto 0; background: linear-gradient(90deg, var(--pp-sun), var(--pp-magenta)); }
body.ppd .elementor-element-2ad9540 { background: radial-gradient(900px 400px at 10% 0%, rgba(184, 19, 111, .2), transparent 60%), linear-gradient(135deg, var(--pp-forest), #0f2219) !important; padding: 90px 24px !important; }
body.ppd .pp-actsub { padding: 10px 56px 50px !important; }
body.ppd .pp-actsub .swiper { padding: 8px 4px 14px; }
body.ppd .pp-actsub .swiper-slide { height: auto; }
body.ppd .pp-actsub-card {
	height: 100%; background: #fff !important; border-radius: 22px !important; padding: 0 0 24px !important; overflow: hidden; gap: 0 !important; border: 0 !important;
	transition: transform .35s ease; justify-content: flex-start;
}
body.ppd .pp-actsub-card > .e-con-inner { padding: 0 !important; height: 100%; justify-content: space-between; }
body.ppd .pp-actsub-card:hover { transform: translateY(-8px); }
body.ppd .pp-actsub-card .elementor-widget { margin: 0 !important; }
body.ppd .pp-actsub-card .elementor-image-box-wrapper { text-align: left !important; }
body.ppd .pp-actsub-card .elementor-image-box-img { width: 100% !important; margin: 0 0 18px !important; overflow: hidden; line-height: 0; }
body.ppd .pp-actsub-card .elementor-image-box-img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 0 !important; transition: transform .8s ease; }
body.ppd .pp-actsub-card:hover .elementor-image-box-img img { transform: scale(1.08); }
body.ppd .pp-actsub-card .elementor-image-box-content { padding: 0 24px; }
body.ppd .pp-actsub-card .elementor-image-box-title { color: var(--pp-forest) !important; font-size: 24px !important; margin-bottom: 8px !important; }
body.ppd .pp-actsub-card:hover .elementor-image-box-title { color: var(--pp-magenta) !important; }
body.ppd .pp-actsub-card .elementor-image-box-description { color: var(--pp-text) !important; font-size: 14.5px !important; line-height: 1.6 !important; }
body.ppd .pp-actsub-card .elementor-widget-button { padding: 18px 24px 0; }
body.ppd .pp-actsub-card .elementor-button { width: 100%; justify-content: center; padding: 13px 20px !important; border-radius: 999px !important; background: var(--pp-forest) !important; color: #fff !important; font-weight: 600; transition: background .25s; }
body.ppd .pp-actsub-card:hover .elementor-button { background: linear-gradient(135deg, var(--pp-magenta), var(--pp-magenta-d)) !important; }
body.ppd .pp-actsub .elementor-swiper-button { width: 48px; height: 48px; border-radius: 50%; background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .3); display: grid; place-items: center; z-index: 20; }
body.ppd .pp-actsub .elementor-swiper-button:hover { background: var(--pp-magenta); border-color: var(--pp-magenta); }
body.ppd .pp-actsub .elementor-swiper-button svg { width: 18px !important; height: 18px !important; fill: #fff !important; }
body.ppd .pp-actsub .elementor-swiper-button { top: 42% !important; transform: translateY(-50%) !important; }
body.ppd .pp-actsub .elementor-swiper-button-prev { left: 0 !important; }
body.ppd .pp-actsub .elementor-swiper-button-next { right: 0 !important; }
body.ppd .pp-actsub .swiper-pagination-bullet { width: 9px; height: 9px; background: rgba(255, 255, 255, .4); opacity: 1; transition: width .3s; }
body.ppd .pp-actsub .swiper-pagination-bullet-active { width: 28px; border-radius: 6px; background: var(--pp-sun) !important; }

/* phones: one card and a half visible, native swipe */
@media (max-width: 767px) {
	body.ppd .elementor-widget.pp-mobile-peek { padding: 0 0 10px !important; margin-left: -16px !important; margin-right: -16px !important; width: calc(100% + 32px) !important; max-width: none !important; }
	body.ppd .elementor-widget.pp-mobile-peek .swiper { overflow: visible !important; padding: 0 !important; margin: 0 !important; }
	body.ppd .elementor-widget.pp-mobile-peek .swiper-wrapper {
		display: flex !important; flex-direction: row !important; transform: none !important; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory;
		padding: 6px 16px 18px; scroll-padding-left: 16px; scrollbar-width: none; -webkit-overflow-scrolling: touch;
	}
	body.ppd .elementor-widget.pp-mobile-peek .swiper-wrapper::-webkit-scrollbar { display: none; }
	body.ppd .elementor-widget.pp-mobile-peek .swiper-slide { flex: 0 0 66% !important; width: 66% !important; margin: 0 !important; scroll-snap-align: start; }
	body.ppd .elementor-widget.pp-mobile-peek .swiper-slide-duplicate,
	body.ppd .elementor-widget.pp-mobile-peek .elementor-swiper-button,
	body.ppd .elementor-widget.pp-mobile-peek .swiper-pagination { display: none !important; }
	body.ppd .elementor-widget.pp-mobile-peek .pp-room, body.ppd .elementor-widget.pp-mobile-peek .pp-actsub-card { transform: none !important; }
	body.ppd .elementor-widget.pp-mobile-peek .pp-room .pp-room-name .elementor-heading-title, body.ppd .pp-actsub-card .elementor-image-box-title { font-size: 20px !important; }
	body.ppd .elementor-widget.pp-mobile-peek .pp-room :is(.pp-room-name, .pp-room-text, .pp-room-btn) { padding: 0 16px; }
	body.ppd .pp-actsub-card .elementor-image-box-content { padding: 0 16px; }
	body.ppd .pp-actsub-card .elementor-widget-button { padding: 14px 16px 0; }
	body.ppd .pp-actsub-card .elementor-image-box-description { font-size: 13.5px !important; }
	body.ppd .elementor-element-2ad9540 { padding: 60px 0 !important; }
	body.ppd .elementor-widget.pp-actsub.pp-mobile-peek { margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; }
	body.ppd .pp-act-wrap { padding: 20px 16px 60px !important; }
}

/* attractions slider reuses the room card look */
body.ppd .pp-attr-carousel { margin-top: 10px !important; }
body.ppd .pp-attr .pp-room-name { padding-top: 4px; }
body.ppd .elementor-150 .elementor-element-67cf2d6 .cs-title-wrap,
body.ppd .elementor-150 .elementor-element-67cf2d6 .cs-title-wrap * { text-align: center !important; }
body.ppd .elementor-150 .elementor-element-67cf2d6 .cs-title-wrap { max-width: 900px; margin: 0 auto; }
body.ppd .elementor-150 .elementor-element-67cf2d6 .cs-subtitle::after { content: ""; width: 28px; height: 2px; border-radius: 2px; background: currentColor; display: inline-block; }
body.ppd .elementor-150 .elementor-element-67cf2d6 .cs-title::after { content: ""; display: block; width: 70px; height: 3px; border-radius: 3px; margin: 18px auto 0; background: linear-gradient(90deg, var(--pp-sun), var(--pp-magenta)); }
body.ppd .elementor-150 .elementor-element-3e1a6d5 { border-bottom: 0 !important; padding-bottom: 10px !important; }
body.ppd .pp-attr .pp-room-img img { aspect-ratio: 4 / 3; }
body.ppd .pp-attr .pp-room-img img { aspect-ratio: 16 / 10; }
body.ppd .elementor-150 .elementor-element-3b7c9a5b .pp-room .pp-room-text p { color: var(--pp-text) !important; font-size: 15px; line-height: 1.7; margin: 0 !important; }
body.ppd .elementor-150 .elementor-element-3b7c9a5b .pp-room .elementor-widget-text-editor { margin-top: 2px !important; }
body.ppd .elementor-150 .elementor-element-2a968fb .pp-facts-list strong { color: var(--pp-sun) !important; }
body.ppd .elementor-150 .elementor-element-2a968fb .pp-facts-list span { color: rgba(255, 255, 255, .82) !important; }
body.ppd .pp-room .pp-room-img, body.ppd .pp-room .pp-room-img a { display: block; line-height: 0; background: none !important; }
body.ppd .elementor-150 .elementor-element-2a968fb .pp-room .pp-price strong { color: var(--pp-magenta) !important; }
body.ppd .elementor-150 .elementor-element-2a968fb .pp-room p.pp-rate-tag { color: var(--pp-magenta) !important; }
body.ppd .elementor-150 .elementor-element-2a968fb .pp-room p.pp-price { color: var(--pp-text) !important; }
body.ppd .pp-room .pp-room-price { padding-top: 6px; border-top: 1px solid rgba(23, 53, 39, .08); margin-left: 24px !important; margin-right: 24px !important; padding-left: 0 !important; padding-right: 0 !important; }
@media (max-width: 767px) {
	/* phones: no slider – the 4 cards simply stack */
	body.ppd .pp-rooms-carousel { margin-top: 24px !important; padding: 0 !important; }
	body.ppd .pp-rooms-carousel .swiper { overflow: visible !important; margin: 0 !important; padding: 0 !important; }
	body.ppd .pp-rooms-carousel .swiper-wrapper { display: flex !important; flex-direction: column !important; gap: 18px; transform: none !important; height: auto !important; }
	body.ppd .pp-rooms-carousel .swiper-slide { width: 100% !important; margin: 0 !important; transform: none !important; opacity: 1 !important; }
	body.ppd .pp-rooms-carousel .swiper-slide-duplicate,
	body.ppd .pp-rooms-carousel .elementor-swiper-button,
	body.ppd .pp-rooms-carousel .swiper-pagination { display: none !important; }
	body.ppd .pp-room { border-radius: 20px; }
	body.ppd .pp-room .pp-room-img img { aspect-ratio: 16 / 10; }
	body.ppd .pp-room .pp-room-price { margin-left: 18px !important; margin-right: 18px !important; }
	body.ppd .pp-rooms-carousel .elementor-swiper-button-prev { left: 6px !important; }
	body.ppd .pp-rooms-carousel .elementor-swiper-button-next { right: 6px !important; }
	body.ppd .pp-room :is(.pp-room-tag, .pp-room-name, .pp-room-text, .pp-room-list, .pp-room-price, .pp-room-btn) { padding: 0 18px; }
	body.ppd .pp-room .pp-room-name .elementor-heading-title { font-size: 22px !important; }
	body.ppd .pp-room:hover { transform: none; }
}

/* ------------------------------------------------ new: Good to know */
body.ppd .pp-know-grid { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 40px; }
body.ppd .pp-know-card {
	background: #fff !important; border-radius: 18px; padding: 26px 22px !important; box-shadow: var(--pp-shadow-sm);
	border: 1px solid rgba(23, 53, 39, .06); gap: 0 !important; justify-content: flex-start; transition: transform .3s ease, border-color .3s ease;
}
body.ppd .pp-know-card:hover { transform: translateY(-5px); border-color: rgba(184, 19, 111, .25); }
body.ppd .pp-know-card .pp-know-title::before {
	content: ""; display: block; width: 50px; height: 50px; border-radius: 14px; margin-bottom: 16px;
	background: linear-gradient(135deg, var(--pp-magenta), var(--pp-magenta-d));
	-webkit-mask: var(--pp-ic) center / 26px no-repeat, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: var(--pp-ic) center / 26px no-repeat exclude, linear-gradient(#000 0 0);
}
body.ppd .pp-know-card .elementor-widget { margin: 0 !important; }
body.ppd .pp-know-title .elementor-heading-title { color: var(--pp-forest) !important; font-size: 19px !important; margin-bottom: 8px; }
body.ppd .pp-know-text p { color: var(--pp-text) !important; font-size: 14.5px; line-height: 1.7; margin: 0 !important; }
body.ppd .pp-know-text strong { color: var(--pp-magenta); }
body.ppd .pp-ic-clock { --pp-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
body.ppd .pp-ic-meal { --pp-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M3 17h18M5 17a7 7 0 0 1 14 0M12 7V5M4 20h16'/%3E%3C/svg%3E"); }
body.ppd .pp-ic-child { --pp-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='6' r='3'/%3E%3Cpath d='M12 9v6M8 12h8M10 21l2-6 2 6'/%3E%3C/svg%3E"); }
body.ppd .pp-ic-bed { --pp-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M3 18V7M3 13h18v5M21 18v-3a3 3 0 0 0-3-3h-8v1'/%3E%3Ccircle cx='7' cy='10' r='2'/%3E%3C/svg%3E"); }
body.ppd .pp-ic-heart { --pp-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.5-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.5-7 10-7 10Z'/%3E%3C/svg%3E"); }
body.ppd .pp-ic-paw { --pp-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Ccircle cx='6' cy='10' r='1.8'/%3E%3Ccircle cx='10' cy='6' r='1.8'/%3E%3Ccircle cx='14' cy='6' r='1.8'/%3E%3Ccircle cx='18' cy='10' r='1.8'/%3E%3Cpath d='M12 12c-3 0-5 3.5-5 5.5S9 20 12 19s5 1 5-1.5S15 12 12 12Z'/%3E%3C/svg%3E"); }
body.ppd .pp-ic-refund { --pp-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12a8 8 0 1 0 2.3-5.7L4 8.5M4 4v4.5h4.5M12 8v4l2.5 1.5'/%3E%3C/svg%3E"); }
body.ppd .pp-ic-group { --pp-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Ccircle cx='17' cy='9' r='2.4'/%3E%3Cpath d='M3 19c0-3.3 2.7-5 6-5s6 1.7 6 5M15 14.5c3 0 6 1.3 6 4.5'/%3E%3C/svg%3E"); }

/* --------------------------------------------------- mobile side menu */
body.ppd .elementor-1058 :is(.elementor-element-7c4be910, .elementor-element-294813d1) {
	background: var(--pp-ivory) !important; border-bottom: 3px solid var(--pp-magenta);
}
body.ppd .elementor-1058 :is(.elementor-element-41685404, .elementor-element-6dce6217) .menu-toggle { color: var(--pp-forest) !important; }
body.ppd .elementor-1058 .cs-menu a, body.ppd .elementor-1058 nav a { color: var(--pp-ink); }
body.ppd .elementor-1058 .current-menu-item > a, body.ppd .elementor-1058 nav a:hover { color: var(--pp-magenta) !important; }

/* ------------------------------------------------------------- footer */
body.ppd .elementor-340 .cs-subtitle { color: var(--pp-sun) !important; }
body.ppd .elementor-340 a.button.cs-btn-outline {
	background: var(--pp-magenta) !important; border: 0 !important; border-radius: 999px !important; color: #fff !important; padding: 0 28px !important;
	box-shadow: 0 10px 24px rgba(184, 19, 111, .35); transition: background .2s, transform .2s;
}
body.ppd .elementor-340 a.button.cs-btn-outline .cs-btn-text { color: #fff !important; }
body.ppd .elementor-340 a.button.cs-btn-outline:hover { background: var(--pp-sun) !important; transform: translateY(-2px); }
body.ppd .elementor-340 a.button.cs-btn-outline:hover .cs-btn-text { color: var(--pp-ink) !important; }
body.ppd .elementor-340 > .elementor-element:not(:first-child),
body.ppd .elementor-340 > .elementor-section-wrap > .elementor-element:not(:first-child) { background-color: #0f2219 !important; }
body.ppd .elementor-340 .elementor-social-icon { transition: transform .2s, background .2s; }
body.ppd .elementor-340 .elementor-social-icon:hover { transform: translateY(-3px); background: var(--pp-magenta) !important; }
body.ppd .elementor-340 .elementor-social-icon:hover svg { fill: #fff !important; }
body.ppd .elementor-340 .menu a:hover { color: var(--pp-sun) !important; }
body.ppd .elementor-150 :is(.elementor-element-dd4fb9f, .elementor-element-0c70d3f, .elementor-element-3e1a6d5, .elementor-element-3b7c9a5b) { border: 0 !important; }

/* ------------------------------------------------------- floating buttons */
body.ppd #callnowbutton, body.ppd .call-now-button { box-shadow: 0 10px 24px rgba(0, 0, 0, .25) !important; }

/* =============================================================== tablet */
@media (max-width: 1024px) {
	body.ppd .elementor-150 :is(.elementor-element-2a968fb, .elementor-element-f63cc98, .elementor-element-a168c8e, .elementor-element-3b6cecc, .elementor-element-34b31b1, .elementor-element-a3acaa5, .elementor-element-3e1a6d5) { padding-top: 64px !important; }
	body.ppd .elementor-150 :is(.elementor-element-3b6cecc, .elementor-element-34b31b1, .elementor-element-a168c8e, .elementor-element-d6a47c6, .elementor-element-0c70d3f) { padding-bottom: 64px !important; }
}

@media (max-width: 1024px) {
	body.ppd .pp-rate-grid, body.ppd .pp-know-grid { grid-template-columns: repeat(2, 1fr); }
	body.ppd .pp-facts-list { grid-template-columns: repeat(3, 1fr); }
	body.ppd .pp-facts-list li { border-bottom: 1px solid rgba(255, 255, 255, .1); }
	body.ppd .pp-rates, body.ppd .pp-know { padding: 64px 24px !important; }
}

/* =============================================================== mobile */
@media (max-width: 767px) {
	body.ppd .elementor-340 .cs-title-text a { white-space: nowrap; }
	body.ppd .elementor-340 .elementor-social-icons-wrapper,
	body.ppd .elementor-340 .elementor-widget-image-gallery .gallery,
	body.ppd .elementor-340 .elementor-widget-social-icons { justify-content: center !important; text-align: center !important; }
	body.ppd .pp-rates, body.ppd .pp-know { padding: 54px 12px !important; margin-left: -22px !important; margin-right: -22px !important; width: auto !important; max-width: none !important; }
	body.ppd .pp-rate-grid { grid-template-columns: 1fr; gap: 16px; }
	body.ppd .pp-know-grid { grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 28px; }
	body.ppd .pp-know-card { padding: 18px 14px !important; }
	body.ppd .pp-know-card .pp-know-title::before { width: 40px; height: 40px; border-radius: 12px; margin-bottom: 12px; -webkit-mask-size: 21px, auto; mask-size: 21px, auto; }
	body.ppd .pp-know-title .elementor-heading-title { font-size: 16px !important; }
	body.ppd .pp-know-text p { font-size: 13px; line-height: 1.6; }
	body.ppd .pp-facts { margin: 24px 0 28px !important; }
	body.ppd .pp-facts-list { grid-template-columns: repeat(2, 1fr); border-radius: 18px; }
	body.ppd .pp-facts-list li { padding: 18px 8px; }
	body.ppd .pp-facts-list li:last-child { grid-column: 1 / -1; }
	body.ppd .pp-facts-list strong { font-size: 32px; }
	body.ppd .pp-facts-list span { font-size: 11px; }
	body.ppd .pp-sec .pp-center-title .cs-title { font-size: 28px !important; }
	body.ppd .elementor-298 .elementor-element-bc435d9 { padding: 7px 10px !important; }
	/* one number + email in one centred row (both are Elementor Icon List widgets – edit them in the header template) */
	body.ppd .elementor-298 .elementor-element-3e28ec0 { width: 100% !important; justify-content: center !important; flex-wrap: nowrap !important; gap: 14px !important; }
	body.ppd .elementor-298 .elementor-element-3e28ec0 > .elementor-widget { width: auto !important; flex: 0 0 auto !important; }
	body.ppd .elementor-298 .elementor-element-3e28ec0 .elementor-icon-list-text { font-size: 12.5px !important; font-weight: 600; white-space: nowrap; }
	body.ppd .elementor-298 .elementor-element-3e28ec0 .elementor-icon-list-icon svg { width: 12px !important; height: 12px !important; }

	/* menu button: plain 3-line icon, no box */
	body.ppd .elementor-298 .elementor-element-261cb61 .menu-toggle,
	body.ppd:not(.ppd-scrolled) #masthead.overlap-header .elementor-298 .elementor-element-261cb61 .menu-toggle {
		background: transparent !important; width: 40px; height: 40px; border-radius: 0; box-shadow: none !important;
	}
	body.ppd .elementor-298 .elementor-element-261cb61 .menu-toggle-icon { --line-width: 26px; --line-height: 2px; width: 26px; height: 18px; }
	body.ppd .elementor-298 .elementor-element-261cb61 .menu-toggle-icon::before { height: 18px !important; border-radius: 2px; }
	body.ppd .elementor-298 .elementor-element-261cb61 .menu-toggle-icon::after { width: 18px !important; border-radius: 2px; }
	body.ppd .elementor-298 .elementor-element-261cb61 .cs-logo img,
	body.ppd .elementor-298 .elementor-element-af7538b img { width: 108px !important; }
	body.ppd.ppd-scrolled .elementor-298 .elementor-element-af7538b img { width: 92px !important; }
	body.ppd .elementor-298 .elementor-element-315713d .elementor-button { border-radius: 999px !important; }

	body.ppd .elementor-150 .elementor-element-1850564f { padding-top: 150px !important; padding-bottom: 40px !important; }
	body.ppd .elementor-150 .elementor-element-c0c2de1 .cs-title { font-size: 30px !important; line-height: 1.2 !important; }
	body.ppd .elementor-150 .cs-reservation-form .cs-form-wrap { padding: 6px !important; border-radius: 16px !important; }
	body.ppd .elementor-150 .cs-reservation-form .cs-form-field { border-width: 0 0 1px !important; }
	body.ppd .elementor-150 .cs-reservation-form .cs-submit { border: 0 !important; padding-top: 6px; }
	body.ppd .elementor-150 .cs-reservation-form .cs-submit button { width: 100%; }

	body.ppd .elementor-150 :is(.elementor-element-2a968fb, .elementor-element-f63cc98, .elementor-element-a168c8e, .elementor-element-3b6cecc, .elementor-element-34b31b1, .elementor-element-a3acaa5, .elementor-element-3e1a6d5, .elementor-element-dd4fb9f) { padding-top: 54px !important; }
	body.ppd .elementor-150 :is(.elementor-element-2a968fb, .elementor-element-3b6cecc, .elementor-element-34b31b1, .elementor-element-a168c8e, .elementor-element-d6a47c6, .elementor-element-0c70d3f, .elementor-element-3b7c9a5b, .elementor-element-f63cc98) { padding-bottom: 54px !important; }
	body.ppd .elementor-150 .cs-title-wrap > .cs-title { font-size: 28px !important; }
	body.ppd .elementor-150 .cs-title-text p { font-size: 15px; line-height: 1.7; }
	body.ppd .elementor-150 :is(.elementor-element-2a968fb, .elementor-element-3b7c9a5b) .cs-fancy-card .cs-fc-content { padding: 24px 22px 28px !important; }
	body.ppd .elementor-150 :is(.elementor-element-2a968fb, .elementor-element-3b7c9a5b) .elementor-widget-cs_fancy_card { margin-bottom: 22px !important; }
	body.ppd .elementor-150 :is(.elementor-element-2a968fb, .elementor-element-3b7c9a5b) .cs-fancy-card :is(.cs-fc-wrap, .cs-fc-content) { min-height: 0 !important; height: auto !important; }
	body.ppd .elementor-150 :is(.elementor-element-2a968fb, .elementor-element-3b7c9a5b) .cs-fancy-card .cs-fc-btn { margin-top: 18px !important; }
	body.ppd .elementor-150 .elementor-element-30f7c35 .cs-info-box-wrap { display: grid !important; grid-template-columns: 1fr 1fr; gap: 12px !important; margin: 0 !important; }
	body.ppd .elementor-150 .elementor-element-30f7c35 .cs-info-box-item { width: auto !important; max-width: none !important; padding: 0 !important; margin: 0 !important; flex: none !important; }
	body.ppd .elementor-150 .elementor-element-30f7c35 .cs-info-box-item .cs-item-container { padding: 18px 14px; }
	body.ppd .elementor-150 .elementor-element-30f7c35 .cs-info-box-img { width: 50px; height: 50px; border-radius: 14px; margin-bottom: 12px; }
	body.ppd .elementor-150 .elementor-element-30f7c35 .cs-info-box-img i { font-size: 26px !important; }
	body.ppd .elementor-150 .elementor-element-30f7c35 .cs-info-box-img svg { width: 28px !important; height: 28px !important; }
	body.ppd .elementor-150 .elementor-element-30f7c35 .cs-info-box-title { font-size: 16px !important; line-height: 1.3; }
	body.ppd .elementor-150 .elementor-element-30f7c35 .cs-info-box-text { font-size: 13px !important; line-height: 1.55; }
	body.ppd .elementor-150 :is(.elementor-element-df47b13, .elementor-element-c0effb8) { border-radius: 20px; min-height: 280px; }
	body.ppd .elementor-150 :is(.elementor-element-01b4802, .elementor-element-c9cf830) { padding: 12px 14px; }
	body.ppd .elementor-150 .elementor-element-0c70d3f .e-n-accordion-item-title { padding: 15px 16px !important; }
	body.ppd .elementor-150 .elementor-element-0c70d3f .e-n-accordion-item-title-text { font-size: 15px !important; }
}
