/* ==========================================================================
   Samtastic Portal 3.0.0 -- every Samtastic Core page in the portal look.
   Loaded LAST. The 3D story pages get a new layout: a white two-column hero
   (headline, figures and actions on the left; a lead form with an offer that
   fits the page on the right -- moved in by portal.js), a light card style for
   the scrolling chapters and panels, and red / green actions. Data pages,
   launch pages, blog and forms follow the same system.
   ========================================================================== */

/* 1. 3D story pages ---------------------------------------------------------- */
body.prestige .h3d {
	--h3d-ink: var(--pt-ink);
	--h3d-muted: var(--pt-muted);
	--h3d-line: var(--pt-line);
	--h3d-accent: var(--pt-accent);
	--h3d-sun: #fbbf24;
	background: #fff;
	font-family: var(--pt-sans);
}
body.prestige .h3d .h3d__hero {
	color: var(--pt-ink); text-align: left;
	padding: 48px max(24px, calc((100vw - 1180px) / 2)) 40px;
	background: linear-gradient(180deg, #fff 0%, var(--pt-soft) 100%);
	border-bottom: 1px solid var(--pt-line);
}
/* With the offer card moved in: headline left, form right. */
body.prestige .h3d .h3d__hero.ps-hero--split { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); column-gap: 48px; align-items: start; }
body.prestige .h3d .h3d__hero.ps-hero--split > :not(.ps-hero-offer) { grid-column: 1; }
body.prestige .h3d .h3d__hero.ps-hero--split > .ps-hero-offer { grid-column: 2; grid-row: 1 / span 12; align-self: start; }
body.prestige .h3d .h3d__eyebrow { color: var(--pt-accent); font: 800 12px/1.2 var(--pt-sans); letter-spacing: .12em; }
body.prestige .h3d .h3d__title { margin-left: 0; color: var(--pt-ink); font: 800 clamp(34px, 4.6vw, 58px)/1.04 var(--pt-head); letter-spacing: -.035em; text-align: left; }
body.prestige .h3d .h3d__lead { margin-left: 0 !important; margin-right: 0 !important; max-width: 620px; color: var(--pt-muted); text-align: left; }
body.prestige .h3d .h3d__stats { justify-content: flex-start; gap: 10px; margin: 8px 0 14px; max-width: none; }
body.prestige .h3d .h3d__stats > div { flex: 0 1 auto; min-width: 140px; padding: 14px 16px; border-radius: 14px; background: #fff; border: 1px solid var(--pt-line); box-shadow: var(--pt-shadow); text-align: left; }
body.prestige .h3d .h3d__stats strong { color: var(--pt-ink); font: 800 clamp(24px, 2.6vw, 32px)/1.05 var(--pt-head); letter-spacing: -.02em; }
body.prestige .h3d .h3d__stats span { color: var(--pt-muted); font-size: 12px; }
body.prestige .h3d .h3d__meta { color: var(--pt-muted); text-align: left; }
body.prestige .h3d .h3d__meta a, body.prestige .h3d .h3d__hero a:not(.h3d__btn):not(.h3d__scroll):not(.ps-btn):not(.ps-link) { color: var(--pt-accent-2); }
body.prestige .h3d .h3d__scroll { margin-top: 16px; background: var(--pt-ink); color: #fff !important; border-radius: 10px; }
body.prestige .h3d .h3d__hero input:not([type="submit"]):not([type="button"]):not([type="range"]):not([type="checkbox"]):not([type="radio"]), body.prestige .h3d .h3d__hero select { background: #fff !important; color: var(--pt-ink) !important; border: 1.5px solid var(--pt-line) !important; border-radius: 12px !important; }
body.prestige .h3d .h3d__hero input::placeholder { color: #94a3b8 !important; }
.ps-hero-offer { padding: 22px; border-radius: 18px; background: #fff; border: 2px solid var(--pt-accent); box-shadow: var(--pt-shadow-lg); }
.ps-hero-offer .ps-kicker { margin-bottom: 6px; }
.ps-hero-offer__or { margin: 12px 0 0; text-align: center; font-size: .9rem; color: var(--pt-muted); }

/* Stage: slate map, white floating UI */
body.prestige .h3d .h3d__stage { background: #0f172a; }
body.prestige .h3d .h3d__loading { color: #cbd5e1; font-family: var(--pt-head); font-weight: 700; }
body.prestige .h3d .h3d__loading span { border-color: rgba(255, 255, 255, .2); border-top-color: var(--pt-accent); }
body.prestige .h3d .h3d__legend, body.prestige .h3d .h3d__hud { background: rgba(255, 255, 255, .96); color: var(--pt-ink); border-color: var(--pt-line); box-shadow: var(--pt-shadow); }
body.prestige .h3d .h3d__legend small { color: var(--pt-muted); }
body.prestige .h3d .h3d__btn { background: #fff; color: var(--pt-ink); border-color: var(--pt-line); box-shadow: 0 4px 12px -6px rgba(15, 23, 42, .4); font-family: var(--pt-sans); }
body.prestige .h3d a.h3d__btn, body.prestige .h3d a.h3d__btn:visited { color: var(--pt-ink) !important; }
body.prestige .h3d .h3d__btn:hover { background: var(--pt-soft-2); color: var(--pt-ink); }
body.prestige .h3d .h3d__btn.is-active, body.prestige .h3d .h3d__modes button.is-active, body.prestige .h3d .h3d__tabs button.is-active { background: var(--pt-ink); color: #fff; }
body.prestige .h3d a.h3d__btn.is-active { color: #fff !important; }
body.prestige .h3d .h3d__btn--primary { background: var(--pt-accent); color: #fff !important; border-color: transparent; }
body.prestige .h3d a.h3d__btn--primary, body.prestige .h3d a.h3d__btn--primary:visited { color: #fff !important; }
body.prestige .h3d .h3d__btn--primary:hover { background: var(--pt-accent-2); }
body.prestige .h3d .h3d__btn--ghost { background: #fff; color: var(--pt-ink); }
body.prestige .h3d .h3d__modes, body.prestige .h3d .h3d__toggle, body.prestige .h3d .h3d__timeline, body.prestige .h3d .h3d__controls select, body.prestige .h3d .h3d__search input { background: #fff; color: var(--pt-ink); border-color: var(--pt-line); }
body.prestige .h3d .h3d__modes button { color: var(--pt-muted); }
body.prestige .h3d .h3d__search input::placeholder { color: #94a3b8; }
body.prestige .h3d .h3d__timeline output { color: var(--pt-ink); font-family: var(--pt-head); }
body.prestige .h3d .h3d__ctrl-row:nth-child(2) { background: transparent; }

/* Chapters + panel: white cards, red numbering */
body.prestige .h3d .h3d__card-in, body.prestige .h3d .h3d__panel { background: #fff; border: 1px solid var(--pt-line); border-radius: 18px; box-shadow: 0 30px 60px -28px rgba(0, 0, 0, .55); }
body.prestige .h3d .h3d__num { color: var(--pt-accent); font: 800 12px/1 var(--pt-sans); letter-spacing: .12em; }
body.prestige .h3d .h3d__card h2 { font: 800 clamp(22px, 2.2vw, 28px)/1.15 var(--pt-head); letter-spacing: -.02em; }
body.prestige .h3d .h3d__panel h3 { font: 800 21px/1.2 var(--pt-head); }
body.prestige .h3d .h3d__panel-eyebrow { color: var(--pt-accent); }
body.prestige .h3d .h3d__big, body.prestige .h3d .h3d__kv div, body.prestige .h3d .h3d__list li, body.prestige .h3d .h3d__rank li { background: var(--pt-soft-2); }
body.prestige .h3d .h3d__big { border-left: 3px solid var(--pt-accent); }
body.prestige .h3d .h3d__big strong, body.prestige .h3d .h3d__kv strong { font-family: var(--pt-head); font-weight: 800; }
body.prestige .h3d .h3d__list li:hover, body.prestige .h3d .h3d__rank li:hover { background: var(--pt-accent-soft); }
body.prestige .h3d .h3d__rank li::before { color: var(--pt-accent); }
body.prestige .h3d .h3d__rank li i { background: var(--pt-accent); }
body.prestige .h3d .h3d__bars i { background: linear-gradient(90deg, #fca5a5, var(--pt-accent)); }
body.prestige .h3d .h3d__tabs button { background: #fff; border-color: var(--pt-line); }
body.prestige .h3d .h3d__range { accent-color: var(--pt-accent); }
body.prestige .h3d .h3d__dots a.is-active { background: var(--pt-accent); }
body.prestige .h3d .h3d__close { background: var(--pt-soft-2); }

/* Below the story */
body.prestige .h3d .h3d__towns h2 { font: 800 clamp(26px, 3vw, 36px)/1.1 var(--pt-head); }
body.prestige .h3d .h3d__town { border-radius: 14px; box-shadow: none; }
body.prestige .h3d .h3d__town:hover { border-color: var(--pt-accent); box-shadow: var(--pt-shadow); }
body.prestige .h3d .h3d__town h3 { font: 800 17px/1.2 var(--pt-head); }
body.prestige .h3d .h3d__town-avg { font: 800 24px/1.1 var(--pt-head); color: var(--pt-accent-2); }
body.prestige .h3d .h3d__town .h3d__btn { background: var(--pt-ink); color: #fff; border-color: var(--pt-ink); }
body.prestige .h3d .h3d__town a.h3d__btn { color: #fff !important; }

/* The "Ask Sam" bar that follows the story pages */
body.prestige .g3d-cta { background: #fff !important; border: 1px solid var(--pt-line) !important; box-shadow: 0 20px 40px -18px rgba(15, 23, 42, .5); }
body.prestige .g3d-cta__txt { color: var(--pt-muted) !important; }
body.prestige .g3d-cta__txt b { color: var(--pt-ink) !important; }
body.prestige .g3d-cta__btn { background: var(--pt-soft-2) !important; color: var(--pt-ink) !important; font-family: var(--pt-sans); }
body.prestige .g3d-cta__btn--wa, body.prestige .lst-btn--wa { background: var(--pt-wa) !important; color: #fff !important; }
body.prestige .g3d-cta__btn--gold { background: var(--pt-accent) !important; color: #fff !important; }

/* 2. Page heads ----------------------------------------------------------------- */
body.prestige .page-head { padding: 44px 0 34px; color: var(--pt-ink); background: var(--pt-soft); border-bottom: 1px solid var(--pt-line); }
body.prestige .page-head::after { display: none; }
body.prestige .page-head__title { color: var(--pt-ink); font: 800 clamp(2rem, 1.4rem + 2.4vw, 3rem)/1.06 var(--pt-head); letter-spacing: -.03em; }
body.prestige .page-head__intro { color: var(--pt-muted); }
body.prestige .crumbs, body.prestige .crumbs__current { color: var(--pt-muted); font-size: .82rem; }
body.prestige .crumbs a { color: var(--pt-accent-2); }
body.prestige .page-head .page-views { color: var(--pt-muted); }

/* 3. Reading & data content ---------------------------------------------------------- */
body.prestige .section--related, body.prestige .section--cta, body.prestige .section--calendar, body.prestige .section--explore-areas { background: var(--pt-soft); }
body.prestige .section__title { font: 800 clamp(1.7rem, 1.2rem + 1.8vw, 2.4rem)/1.1 var(--pt-head); }
body.prestige .section__eyebrow { color: var(--pt-accent); }
body.prestige .prose { color: var(--pt-text); font-size: 1.03rem; }
body.prestige .prose h2 { font: 800 clamp(1.5rem, 1.1rem + 1.2vw, 1.9rem)/1.2 var(--pt-head); }
body.prestige .prose h3 { font: 800 1.15rem/1.3 var(--pt-head); }
body.prestige .prose a:not([class*="btn"]):not([class*="chip"]):not([class*="cta"]):not(.ps-link) { color: var(--pt-accent-2); }
body.prestige .prose blockquote { border-left-color: var(--pt-accent); }
body.prestige .prose table, body.prestige .unit-table { border-collapse: separate; border-spacing: 0; width: 100%; background: #fff; border: 1px solid var(--pt-line); border-radius: 12px; overflow: hidden; }
body.prestige .prose th, body.prestige .unit-table th { background: var(--pt-soft-2); color: var(--pt-ink); font-size: .74rem; letter-spacing: .06em; text-transform: uppercase; text-align: left; padding: 11px 14px; }
body.prestige .prose td, body.prestige .unit-table td { padding: 11px 14px; border-top: 1px solid var(--pt-line); }
body.prestige .sam-empty { padding: 16px 18px; border-radius: 12px; background: var(--pt-soft); border: 1px dashed #cbd5e1; color: var(--pt-muted); }
body.prestige .ura-district-chip { background: #fff !important; border: 1px solid var(--pt-line) !important; border-radius: 12px !important; box-shadow: none !important; color: var(--pt-ink) !important; }
body.prestige .ura-district-chip:hover { border-color: var(--pt-accent) !important; box-shadow: var(--pt-shadow) !important; }
body.prestige .ura-district-chip__icon { background: var(--pt-accent-soft) !important; color: var(--pt-accent-2) !important; opacity: 1 !important; filter: none !important; }
body.prestige .ura-district-chip__num { color: var(--pt-accent-2) !important; font-weight: 800; }
body.prestige [class$="-page__heading"] { font: 800 clamp(1.4rem, 1.1rem + 1vw, 1.8rem)/1.2 var(--pt-head) !important; }
body.prestige .sle-block { background: var(--pt-ink) !important; border-radius: 16px !important; }
body.prestige .sle-block__kicker { color: #fca5a5 !important; }
body.prestige .sle-block__cta { background: var(--pt-accent) !important; color: #fff !important; border-color: transparent !important; }
body.prestige .sle-block a:not([class*="cta"]) { color: #fff !important; }

/* 4. Launch pages -------------------------------------------------------------------- */
body.prestige .launch-hero { padding: 96px 0 52px; min-height: 52vh; display: flex; align-items: flex-end; }
body.prestige .launch-hero__scrim { background: linear-gradient(180deg, rgba(15, 23, 42, .2) 0%, rgba(15, 23, 42, .25) 40%, rgba(15, 23, 42, .9) 100%); }
body.prestige .launch-hero__title { font: 800 clamp(2.2rem, 1.4rem + 3.4vw, 4rem)/1.02 var(--pt-head); letter-spacing: -.035em; }
body.prestige .launch-hero__tagline { color: #e2e8f0; font-size: 1.15rem; }
body.prestige .launch-keyfacts { border-radius: 14px; overflow: hidden; }
body.prestige .keyfact__value { font: 800 1.35rem/1.15 var(--pt-head); color: var(--pt-ink); }
body.prestige .launch-section > h2 { font: 800 1.6rem/1.2 var(--pt-head); }
body.prestige .launch-price-card { background: var(--pt-ink) !important; border-radius: 16px !important; }
body.prestige .launch-price-card__price { font-family: var(--pt-head) !important; font-weight: 800; color: #fff !important; }
body.prestige .launch-card { border: 1px solid var(--pt-line); border-radius: 16px; box-shadow: none; }
body.prestige .launch-card:hover { box-shadow: var(--pt-shadow-lg); }
body.prestige .launch-card__title { font: 800 1.2rem/1.25 var(--pt-head); }
body.prestige .launch-card__district, body.prestige .launch-card__link { color: var(--pt-accent-2); }
body.prestige .badge { border-radius: 6px; }
body.prestige .badge--selling, body.prestige .badge--launching { background: var(--pt-accent); color: #fff; }
body.prestige .badge--preview { background: var(--pt-gold); color: var(--pt-ink); }
body.prestige .badge--upcoming, body.prestige .badge--top_soon { background: var(--pt-ink); color: #fff; }
body.prestige .btn--primary, body.prestige .btn--whatsapp { background: var(--pt-wa); color: #fff; box-shadow: none; border-radius: 10px; }
body.prestige .btn--primary:hover, body.prestige .btn--whatsapp:hover { background: var(--pt-wa-2); color: #fff; }

/* 5. Blog + forms everywhere --------------------------------------------------------- */
body.prestige .post-item__title { font: 800 1.35rem/1.25 var(--pt-head); }
body.prestige .post-item__date { color: var(--pt-accent); font-weight: 800; font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; }
body.prestige .blog-pillar-nav__link.is-active { background: var(--pt-ink); color: #fff; }
body.prestige .sam-form:not(.ps-lead) { background: #fff; border: 1px solid var(--pt-line); border-radius: 16px; }
body.prestige .sam-form:not(.ps-lead) input, body.prestige .sam-form:not(.ps-lead) textarea, body.prestige .sam-form:not(.ps-lead) select { border-color: var(--pt-line); border-radius: 10px; }
body.prestige .sam-form:not(.ps-lead) button[type="submit"], body.prestige .sam-btn, body.prestige .sam-btn-primary { background: var(--pt-accent) !important; color: #fff !important; border-radius: 10px !important; border: 0; }
body.prestige .pagination .current { background: var(--pt-ink); color: #fff; }

/* 6. Phones ------------------------------------------------------------------------------ */
@media (max-width: 980px) {
	body.prestige .h3d .h3d__hero.ps-hero--split { grid-template-columns: 1fr; }
	body.prestige .h3d .h3d__hero.ps-hero--split > .ps-hero-offer { grid-column: 1; grid-row: auto; margin-top: 18px; }
	body.prestige .h3d .h3d__hero { padding: 30px 18px 28px; }
	body.prestige .h3d .h3d__stats > div { flex: 1 1 calc(50% - 10px); min-width: 0; }
}
@media (max-width: 760px) {
	body.prestige .prose table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
	body.prestige .prose select, body.prestige .prose input { max-width: 100%; }
	body.prestige .g3d-cta { display: none !important; } /* the phone action bar replaces it */
}
body.prestige .h3d .h3d__hero.ps-hero--split > .h3d__scroll, body.prestige .h3d .h3d__hero.ps-hero--split > a, body.prestige .h3d .h3d__hero.ps-hero--split > button { justify-self: start; }
body.prestige .h3d .h3d__stats strong span { font: inherit; color: inherit; letter-spacing: inherit; text-transform: none; }
