/* Prospera Core: components rendered by shortcodes */
:root {
	--pr-navy: var(--e-global-color-primary, #011948);
	--pr-mid: var(--e-global-color-prmid, #010F2E);
	--pr-gold: var(--e-global-color-accent, #D5A646);
	--pr-champ: var(--e-global-color-prchamp, #E6C77D);
	--pr-ink: var(--e-global-color-prink, #14203A);
	--pr-muted: #56627A;
	--pr-line: var(--e-global-color-prline, #E1E6EF);
	--pr-surf: var(--e-global-color-prsurf, #F4F6FA);
	--pr-serif: "Cormorant Garamond", Georgia, serif;
	--pr-sans: "Manrope", system-ui, sans-serif;
	--pr-ease: cubic-bezier(.2, .7, .2, 1);
}

/* Buttons */
.pr-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .6em;
	font: 600 12.5px/1 var(--pr-sans); letter-spacing: .14em; text-transform: uppercase;
	padding: 16px 26px; border-radius: 2px; border: 1px solid transparent;
	text-decoration: none; transition: background-color .3s var(--pr-ease), color .3s var(--pr-ease), border-color .3s var(--pr-ease), transform .2s;
	white-space: nowrap;
}
.pr-btn:active { transform: translateY(1px); }
.pr-btn--gold { background: var(--pr-gold); color: var(--pr-navy); }
.pr-btn--gold:hover, .pr-btn--gold:focus-visible { background: var(--pr-champ); color: var(--pr-navy); }
.pr-btn--line { border-color: var(--pr-navy); color: var(--pr-navy); background: transparent; }
.pr-btn--line:hover, .pr-btn--line:focus-visible { background: var(--pr-navy); color: #fff; }
.pr-btn--sm { padding: 13px 18px; font-size: 11.5px; }
.pr-arrow-link { font: 600 12.5px/1 var(--pr-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--pr-navy); text-decoration: none; display: inline-flex; gap: .7em; align-items: center; }
.pr-arrow-link span { color: var(--pr-gold); transition: transform .35s var(--pr-ease); }
.pr-arrow-link:hover span { transform: translateX(5px); }

/* Search panel */
.pr-search {
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; align-items: stretch;
	background: #fff; border-radius: 2px; box-shadow: 0 30px 60px -30px rgba(1, 25, 72, .45);
	border-top: 2px solid var(--pr-gold);
}
.pr-search__field { position: relative; padding: 20px 26px 18px; border-right: 1px solid var(--pr-line); min-width: 0; }
.pr-search__field label {
	display: block; font: 600 11px/1 var(--pr-sans); letter-spacing: .2em; text-transform: uppercase; color: #8A6A22; margin-bottom: 10px;
}
.pr-search__field select {
	appearance: none; -webkit-appearance: none; width: 100%; border: 0; background: transparent; padding: 2px 22px 2px 0;
	font: 500 16px/1.4 var(--pr-sans); color: var(--pr-ink); cursor: pointer; border-radius: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23011948' stroke-width='1.5'%3E%3Cpath d='m1 1.5 5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 2px center;
}
.pr-search__field select:focus { outline: none; }
.pr-search__field:focus-within { box-shadow: inset 0 -2px 0 var(--pr-gold); }
.pr-search__submit {
	display: inline-flex; align-items: center; justify-content: center; gap: 12px; border: 0; cursor: pointer;
	background: var(--pr-navy); color: #fff; padding: 0 34px; min-height: 84px; border-radius: 0 2px 2px 0;
	font: 600 12.5px/1 var(--pr-sans); letter-spacing: .14em; text-transform: uppercase; transition: background-color .3s var(--pr-ease);
}
.pr-search__submit svg { color: var(--pr-gold); }
.pr-search__submit:hover, .pr-search__submit:focus-visible { background: var(--pr-mid); }
.pr-search__submit:focus-visible, .pr-tab:focus-visible, .pr-btn:focus-visible { outline: 2px solid var(--pr-gold); outline-offset: 3px; }
@media (max-width: 1024px) {
	.pr-search { grid-template-columns: 1fr 1fr; }
	.pr-search__field:nth-child(2) { border-right: 0; }
	.pr-search__field { border-bottom: 1px solid var(--pr-line); }
	.pr-search__submit { grid-column: 1 / -1; min-height: 60px; border-radius: 0 0 2px 2px; }
}
@media (max-width: 600px) {
	.pr-search { grid-template-columns: 1fr; }
	.pr-search__field { border-right: 0; padding: 16px 20px 14px; }
}

/* Filter tabs */
.pr-tabs { display: flex; flex-wrap: wrap; gap: 6px 28px; margin: 0 0 40px; border-bottom: 1px solid var(--pr-line); }
.pr-tab {
	background: none; border: 0; padding: 0 0 16px; margin-bottom: -1px; cursor: pointer; border-radius: 0;
	font: 600 12px/1 var(--pr-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--pr-muted);
	border-bottom: 2px solid transparent; transition: color .25s, border-color .25s;
}
.pr-tab:hover, .pr-tab:focus { color: var(--pr-navy); background: none; }
.pr-tab.is-active { color: var(--pr-navy); border-bottom-color: var(--pr-gold); background: none; }
@media (max-width: 767px) {
	.pr-tabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; gap: 24px; }
	.pr-tabs::-webkit-scrollbar { display: none; }
	.pr-tab { white-space: nowrap; }
}

/* Property cards */
.pr-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 32px; }
@media (max-width: 1024px) { .pr-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .pr-grid { grid-template-columns: 1fr; } }
.pr-card { display: flex; flex-direction: column; background: #fff; }
.pr-card[hidden] { display: none; }
.pr-card__media { display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 2px; background: var(--pr-navy); }
.pr-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--pr-ease); }
.pr-card:hover .pr-card__media img { transform: scale(1.05); }
.pr-card__ph { display: grid; place-items: center; height: 100%; font: 600 54px/1 var(--pr-serif); color: var(--pr-gold); letter-spacing: .05em; background: radial-gradient(circle at 50% 40%, #0B2A66, var(--pr-navy) 70%); }
.pr-card__body { padding: 22px 2px 0; display: flex; flex-direction: column; flex: 1; }
.pr-card__loc { margin: 0 0 8px; font: 600 11px/1.3 var(--pr-sans); letter-spacing: .2em; text-transform: uppercase; color: #8A6A22; }
.pr-card__title { margin: 0 0 12px; font: 600 26px/1.15 var(--pr-serif); }
.pr-card__title a { color: var(--pr-navy); text-decoration: none; }
.pr-card__facts { list-style: none; margin: 0 0 14px; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 0; font: 400 14px/1.5 var(--pr-sans); color: var(--pr-muted); }
.pr-card__facts li + li::before { content: ""; display: inline-block; width: 14px; height: 1px; background: var(--pr-gold); vertical-align: middle; margin: 0 10px; }
.pr-card__price { margin: auto 0 18px; padding-top: 14px; border-top: 1px solid var(--pr-line); font: 600 18px/1.3 var(--pr-sans); color: var(--pr-ink); }
.pr-card__actions { display: flex; gap: 10px; flex-wrap: wrap; }
.pr-card__actions .pr-btn { flex: 1; }
.pr-filter-empty { margin: 8px 0 0; font: 400 16px/1.6 var(--pr-sans); color: var(--pr-muted); }
.pr-filter-empty a { color: var(--pr-navy); }
.pr-pager { display: flex; gap: 8px; margin-top: 48px; }
.pr-pager a { min-width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--pr-line); color: var(--pr-navy); text-decoration: none; font: 600 14px var(--pr-sans); }
.pr-pager a[aria-current] { background: var(--pr-navy); color: #fff; border-color: var(--pr-navy); }

/* Empty state */
.pr-empty { position: relative; padding: 56px 56px 52px; background: var(--pr-surf); border-radius: 2px; max-width: 860px; }
.pr-empty__rule { display: block; width: 56px; height: 1px; background: var(--pr-gold); margin-bottom: 26px; }
.pr-empty h3 { margin: 0 0 14px; font: 600 clamp(26px, 3vw, 34px)/1.15 var(--pr-serif); color: var(--pr-navy); }
.pr-empty p { margin: 0 0 28px; max-width: 60ch; font: 400 17px/1.7 var(--pr-sans); color: #4A5670; }
.pr-empty__cta { display: flex; gap: 12px; flex-wrap: wrap; }
@media (max-width: 640px) { .pr-empty { padding: 36px 24px; } .pr-empty__cta .pr-btn { width: 100%; } }

/* Admin-only notes */
.pr-admin-note { margin: 24px 0 0 !important; font: 400 13px/1.5 var(--pr-sans) !important; color: #8A6A22 !important; }
.pr-admin-placeholder { border: 1px dashed var(--pr-gold); background: rgba(213, 166, 70, .06); padding: 24px 28px; font: 400 15px/1.6 var(--pr-sans); color: var(--pr-ink); border-radius: 2px; }
.pr-admin-placeholder a { color: var(--pr-navy); }
.pr-ph { opacity: .7; font-style: italic; }

/* Testimonials */
.pr-quotes { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(300px, 1fr); gap: 32px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; }
.pr-quote { margin: 0; scroll-snap-align: start; padding: 40px 36px; background: #fff; border-top: 2px solid var(--pr-gold); }
.pr-quote__mark { display: block; font: 600 72px/0.6 var(--pr-serif); color: var(--pr-gold); height: 30px; }
.pr-quote blockquote { margin: 0 0 24px; padding: 0; border: 0; font: italic 500 22px/1.45 var(--pr-serif); color: var(--pr-navy); }
.pr-quote blockquote p { margin: 0; }
.pr-quote figcaption strong { display: block; font: 600 14px/1.4 var(--pr-sans); color: var(--pr-ink); }
.pr-quote figcaption span { font: 400 13px/1.4 var(--pr-sans); color: var(--pr-muted); }

/* Insights */
.pr-posts { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 40px 32px; }
.pr-posts .pr-post:first-child .pr-post__title { font-size: 32px; }
@media (max-width: 1024px) { .pr-posts { grid-template-columns: 1fr 1fr; } .pr-posts .pr-post:first-child { grid-column: 1 / -1; } }
@media (max-width: 640px) { .pr-posts { grid-template-columns: 1fr; } }
.pr-post__media { display: block; aspect-ratio: 3 / 2; overflow: hidden; border-radius: 2px; background: var(--pr-navy); margin-bottom: 20px; }
.pr-post__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--pr-ease); }
.pr-post:hover .pr-post__media img { transform: scale(1.05); }
.pr-post__meta { margin: 0 0 10px; font: 600 11px/1.3 var(--pr-sans); letter-spacing: .18em; text-transform: uppercase; color: #8A6A22; }
.pr-post__title { margin: 0 0 12px; font: 600 25px/1.2 var(--pr-serif); }
.pr-post__title a { color: var(--pr-navy); text-decoration: none; }
.pr-post__excerpt { margin: 0 0 18px; font: 400 15.5px/1.65 var(--pr-sans); color: #4A5670; }

/* Footer contact */
.pr-contact { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
.pr-contact li { font: 400 15px/1.6 var(--pr-sans); color: rgba(255, 255, 255, .82); }
.pr-contact span { display: block; font: 600 10.5px/1 var(--pr-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--pr-champ); margin-bottom: 6px; }
.pr-contact a { color: #fff; text-decoration: none; }
.pr-contact a:hover { color: var(--pr-champ); }
.pr-contact address { font-style: normal; }
.pr-social { display: flex; gap: 10px; margin-top: 26px; flex-wrap: wrap; }
.pr-social a { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid rgba(230, 199, 125, .4); color: var(--pr-champ); border-radius: 2px; transition: background-color .3s, color .3s; }
.pr-social a:hover { background: var(--pr-gold); color: var(--pr-navy); }
.pr-social .pr-ph { font: italic 400 13px/1.5 var(--pr-sans); color: rgba(255, 255, 255, .6); }

/* Single property facts */
.pr-facts { margin: 0 0 40px; padding: 32px; background: var(--pr-surf); border-top: 2px solid var(--pr-gold); }
.pr-facts dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 20px 32px; margin: 0 0 28px; }
.pr-facts dt { font: 600 11px/1 var(--pr-sans); letter-spacing: .18em; text-transform: uppercase; color: #8A6A22; margin-bottom: 6px; }
.pr-facts dd { margin: 0; font: 500 16px/1.5 var(--pr-sans); color: var(--pr-ink); }
.pr-facts__cta { display: flex; gap: 12px; flex-wrap: wrap; }

/* Floating WhatsApp */
.pr-wa {
	position: fixed; right: 22px; bottom: 22px; z-index: 9990; display: inline-flex; align-items: center; gap: 10px;
	padding: 12px 18px 12px 14px; background: var(--pr-navy); color: #fff; border: 1px solid rgba(230, 199, 125, .55); border-radius: 40px;
	box-shadow: 0 16px 32px -14px rgba(1, 15, 46, .6); text-decoration: none; font: 600 12px/1 var(--pr-sans); letter-spacing: .12em; text-transform: uppercase;
	transition: transform .3s var(--pr-ease), background-color .3s;
}
.pr-wa svg { color: #4ADE80; }
.pr-wa:hover { transform: translateY(-3px); background: var(--pr-mid); color: #fff; }
@media (max-width: 640px) { .pr-wa { padding: 13px; right: 16px; bottom: 16px; } .pr-wa span { display: none; } }

/* Respect reduced motion across Elementor animations */
@media (prefers-reduced-motion: reduce) {
	.elementor-invisible { visibility: visible !important; }
	.animated, .elementor-element.animated { animation: none !important; }
	.elementor-ken-burns, .elementor-background-slideshow__slide__image { transition: none !important; transform: none !important; animation: none !important; }
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

.pr-legal{display:flex;gap:24px;flex-wrap:wrap}.pr-legal a{color:rgba(255,255,255,.7);text-decoration:none}.pr-legal a:hover{color:var(--pr-champ)}
