/* =============================================
   LUXURY PUNTA — JAMES EDITION CLONE
   Target: https://www.jamesedition.com/es/real_estate/uruguay
   Palette: white bg, near-black text, subtle grays, no gold accents
   Typography: serif for H1 only, sans for everything else
   ============================================= */

/* ─── 1. DESIGN TOKENS (override previous) ─── */
:root {
    --je-white: #FFFFFF;
    --je-bg: #FFFFFF;
    --je-bg-soft: #F7F7F5;
    --je-text: #111111;
    --je-text-soft: #3A3A3A;
    --je-text-muted: #7A7A7A;
    --je-border: #E5E5E5;
    --je-border-soft: #EFEFEF;
    --je-accent: #111111;           /* JE CTAs son negros/blancos */
    --je-accent-hover: #000000;
    --je-promo: #C89A3B;            /* badge promocionado */
    --je-chip-bg: #F2F1EE;

    --je-font-sans: 'Inter', 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
    /* Ya no usamos serif — todo sans como JE real */
    --je-font-serif: 'Inter', 'Open Sans', 'Helvetica Neue', Arial, sans-serif;

    --je-container: 1300px;
    --je-radius: 4px;
    --je-radius-card: 6px;
    --je-shadow-card: 0 1px 2px rgba(0,0,0,.04);
    --je-shadow-card-hover: 0 6px 24px rgba(0,0,0,.08);

    /* Pisar los tokens anteriores para que no aparezca fondo oscuro */
    --theme-tera1: #111111;
    --theme-tera2: #111111;
    --theme-tera3: #111111;
    --theme-fondo-encabezado: #FFFFFF;
    --theme-texto-encabezado: #111111;
    --theme-texto-hover: #111111;
    --theme-fondo-pie: #0A0A0A;
    --theme-texto-pie: #FFFFFF;
}

/* ─── 1.9 SCORCHED-EARTH: MATAR SERIF EN TODO EL SITIO ─── */
/* Pisar variables del tema viejo (SIR + Lora) para que cualquier regla
   que use var(--sir-font-display) / var(--theme-tera-font) pase a Inter. */
:root,
html,
html body {
    --sir-font-display: 'Inter', 'Open Sans', 'Helvetica Neue', Arial, sans-serif !important;
    --sir-font-body: 'Inter', 'Open Sans', 'Helvetica Neue', Arial, sans-serif !important;
    --theme-tera-font: 'Inter', 'Open Sans', 'Helvetica Neue', Arial, sans-serif !important;
    --theme-tera-font-display: 'Inter', 'Open Sans', 'Helvetica Neue', Arial, sans-serif !important;
}

html body,
html body *:not(i):not([class*="icon"]):not([class*="lni"]):not([class*="lnil"]):not([class*="lnir"]):not([class*="fa-"]):not(.fa):not(.lni):not(.lnil):not(.lnir) {
    font-family: 'Inter', 'Open Sans', 'Helvetica Neue', Arial, sans-serif !important;
}

/* Respetar fuentes de iconos (no tocar) */
html body i,
html body i[class*="lni"],
html body i[class*="lnil"],
html body i[class*="lnir"],
html body i[class*="icon"],
html body .lni,
html body .lnil,
html body .lnir,
html body .fa,
html body [class*="fa-"] {
    font-family: inherit !important; /* hereda de la declaración del propio font-face */
}
html body i.lni { font-family: 'lineicons' !important; }
html body i.lnil { font-family: 'LineIconsPro Light' !important; }
html body i.lnir { font-family: 'LineIconsPro Regular' !important; }

/* Specificity-heavy override para rivalizar con .x .y a del tema viejo */
html body .card-prop__title,
html body .card-prop__title a,
html body .ps-project__name,
html body .ps-project__name a,
html body .ps-project__name span,
html body .ps-project--detail h1,
html body .ps-project--detail .ps-project__name,
html body h1 a, html body h2 a, html body h3 a, html body h4 a, html body h5 a, html body h6 a,
html body .ps-post__title,
html body .ps-post__title a,
html body .ps-post__title span,
html body .ps-post__content h3,
html body .ps-post__content h4,
html body .ps-post__content a,
html body .ps-team-member__name,
html body .ps-team-member__name a,
html body .qs-title,
html body .qs-title a,
html body .ps-about p,
html body .ps-about p span,
html body .ps-section__heading,
html body .ps-section__heading span,
html body .ps-section__heading a,
html body .ps-page__heading,
html body .ps-page__heading a,
html body .ps-block__header h1,
html body .ps-block__header h2,
html body .ps-block__header h3,
html body .ps-block--contact-offices figcaption,
html body .ps-project-listing h3,
html body .ps-project-listing h3 span,
html body .ps-highlight-posts h3,
html body .ps-highlight-posts h3 span,
html body .ps-leaderships h2,
html body .ps-home-search h1,
html body .ps-home-search h3,
html body [class*="title"],
html body [class*="heading"],
html body [class*="__name"] {
    font-family: 'Inter', 'Open Sans', 'Helvetica Neue', Arial, sans-serif !important;
    font-style: normal !important;
}
html body h1, html body h2, html body h3, html body h4, html body h5, html body h6,
html body .qs-title,
html body .ps-section__heading,
html body .ps-section__heading span,
html body .ps-about p,
html body .ps-leaderships h2,
html body .ps-home-search h1,
html body .ps-project__name,
html body .card-prop__title,
html body .ps-post__title,
html body .ps-team-member__name,
html body .ps-block--contact-offices figcaption,
html body .ps-page__heading,
html body .ps-project-listing h3,
html body .ps-highlight-posts h3 {
    font-family: 'Inter', 'Open Sans', 'Helvetica Neue', Arial, sans-serif !important;
    font-style: normal !important;
}

/* ─── 2. BASE RESET + TYPOGRAPHY HARD OVERRIDE ─── */
html, body {
    background: var(--je-bg) !important;
    color: var(--je-text) !important;
    font-family: var(--je-font-sans) !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    -webkit-font-smoothing: antialiased;
}

/* Matar Lora/Jost/SIR fonts donde quedaron colgados del tema viejo.
   Regla: por defecto TODO es sans; sólo H1-H4 y .je-serif vuelven a serif. */
body, body *,
input, textarea, select, button,
.menu, .menu *, .menu--desktop li a,
.header, .header *,
.ps-footer, .ps-footer *,
.je-footer, .je-footer *,
.breadcrumb, .breadcrumb *,
.ps-projects__top, .ps-projects__top *,
.ps-project__price, .ps-project__price *,
.ps-project__services, .ps-project__services *,
.ps-project__address, .card-prop__title, .ps-project__name,
.ps-form--projects-search, .ps-form--projects-search *,
.ps-form--projects-search-2, .ps-form--projects-search-2 *,
.je-filter-bar, .je-filter-bar *,
.label-caps, .ps-team-member__position,
.ps-project__meta, .ps-project__meta *,
.ps-post__meta, .ps-post__meta *,
.ps-form, .ps-form *, .form-control,
.ps-btn, button,
p, li, small, span, strong, em, a, label, figcaption {
    font-family: var(--je-font-sans) !important;
}

/* Sólo estos son serif */
h1, h2, h3, h4,
.ps-page__heading,
.ps-project__name.h1,
.ps-project--detail h1,
.ps-page--single-property h1,
.ps-page--single-property h2,
.ps-page--single-property h3,
.ps-section__heading,
.qs-title,
.je-serif,
.ps-home-search h1,
.ps-about p,
.ps-leaderships h2,
.ps-project-listing .ps-section__heading,
.ps-highlight-posts h3,
.ps-team-member__name,
.ps-post__title,
.ps-page--inner .ps-block--contact-offices figcaption,
.ps-page--inner .ps-block--contact-offices h3 {
    font-family: var(--je-font-serif) !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
}

a { color: inherit; text-decoration: none; }
a:hover { color: var(--je-text); text-decoration: underline; }

h1, h2, h3, h4, h5, h6 {
    font-family: var(--je-font-serif) !important;
    color: var(--je-text) !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    line-height: 1.15 !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
}

h1 { font-size: 32px !important; }
h2 { font-size: 26px !important; }
h3 { font-size: 20px !important; }
h4 { font-size: 16px !important; }

p { color: var(--je-text-soft); font-size: 14px; line-height: 1.5; }

.container {
    max-width: var(--je-container) !important;
    width: 100%;
    padding-left: 24px;
    padding-right: 24px;
}

/* =======================================================
   JE HERO + TOPBAR — CLON EXACTO (v28+)
   ======================================================= */
.je-hero {
    position: relative;
    width: 100%;
    min-height: 620px;
    height: 100vh;
    max-height: 820px;
    overflow: hidden;
    background: #0d0d0d;
}
.je-hero__bg {
    position: absolute; inset: 0; z-index: 0;
    background: #000;
}
.je-hero__slide {
    position: absolute; inset: 0;
    opacity: 0;
    transition: opacity 1.2s ease;
}
.je-hero__slide.is-active { opacity: 1; z-index: 1; }
.je-hero__slide img,
.je-hero__video {
    width: 100%; height: 100%;
    object-fit: cover; object-position: center;
    display: block;
}
.je-hero__video {
    position: absolute; inset: 0;
    z-index: 1;
    pointer-events: none;
}
.je-hero__overlay {
    position: absolute; inset: 0; z-index: 2;
    background: linear-gradient(180deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,0) 25%, rgba(0,0,0,0) 55%, rgba(0,0,0,.55) 100%);
    pointer-events: none;
}

/* -------- TOP BAR (un solo nivel, clon JE) -------- */
.je-topbar {
    position: absolute;
    top: 0; left: 0; right: 0;
    z-index: 30;
    background: transparent;
    border-bottom: 1px solid rgba(255,255,255,.14);
    transition: background .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.je-topbar.is-scrolled {
    position: fixed;
    background: #ffffff;
    border-bottom-color: var(--je-border);
    box-shadow: 0 1px 4px rgba(0,0,0,.05);
    animation: jeTopbarSlide .2s ease;
}
@keyframes jeTopbarSlide { from { transform: translateY(-100%); } to { transform: translateY(0); } }

.je-topbar__row {
    max-width: 1680px;
    margin: 0 auto;
    padding: 14px 32px;
    display: flex;
    align-items: center;
    gap: 24px;
    min-height: 78px;
}
.je-topbar__logo { display: inline-block; line-height: 0; flex-shrink: 0; }
.je-topbar__logo img {
    height: 100px;
    width: auto;
    max-width: 300px;
    display: block;
    filter: drop-shadow(0 2px 12px rgba(0,0,0,.45));
    transition: filter .25s, height .25s;
}
.je-topbar.is-scrolled .je-topbar__logo img {
    height: 64px;
    max-width: 220px;
}
.je-topbar.is-scrolled .je-topbar__logo img {
    filter: none;
    content: url("../img/logo.png");
}

/* Search pill al centro */
.je-topbar__search {
    flex: 1 1 auto;
    max-width: 520px;
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(255,255,255,.18);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 999px;
    padding: 0 18px;
    height: 44px;
    transition: background .25s, border-color .25s;
    margin: 0 auto;
}
.je-topbar.is-scrolled .je-topbar__search {
    background: #F4F4F4;
    border-color: #E5E5E5;
    backdrop-filter: none;
}
.je-topbar__search-icon { color: #ffffff; flex-shrink: 0; opacity: .9; }
.je-topbar.is-scrolled .je-topbar__search-icon { color: var(--je-text); opacity: .6; }
.je-topbar__search-input {
    flex: 1;
    border: none;
    background: transparent;
    outline: none;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    font-family: 'Inter', sans-serif !important;
}
.je-topbar__search-input::placeholder { color: rgba(255,255,255,.75); }
.je-topbar.is-scrolled .je-topbar__search-input { color: var(--je-text); }
.je-topbar.is-scrolled .je-topbar__search-input::placeholder { color: var(--je-text-muted); }

/* Navegación derecha (alineada a la derecha en desktop) */
.je-topbar__nav {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    margin-left: auto;
}
.je-topbar__menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 4px;
    align-items: center;
}
.je-topbar__item { position: relative; }
.je-topbar__item > a {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    padding: 10px 12px;
    letter-spacing: 0;
    opacity: .95;
    transition: opacity .15s, color .2s;
}
.je-topbar__item > a:hover { opacity: 1; color: #fff !important; }
.je-topbar__item > a svg { opacity: .7; }
.je-topbar.is-scrolled .je-topbar__item > a { color: var(--je-text) !important; }

/* Submenu dropdown */
.je-topbar__sub {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 220px;
    background: #ffffff;
    border: 1px solid var(--je-border);
    border-radius: 6px;
    box-shadow: 0 10px 30px rgba(0,0,0,.12);
    padding: 8px 0;
    margin: 4px 0 0;
    list-style: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    transition: opacity .15s, transform .15s, visibility .15s;
    z-index: 40;
}
.je-topbar__item--has-children:hover > .je-topbar__sub,
.je-topbar__item--has-children:focus-within > .je-topbar__sub {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.je-topbar__sub li a {
    display: block;
    padding: 10px 18px;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--je-text) !important;
    text-decoration: none !important;
}
.je-topbar__sub li a:hover { background: var(--je-bg-soft); }

/* Lang + CTA */
.je-topbar__lang {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 10px;
    margin-left: 4px;
    border-left: 1px solid rgba(255,255,255,.25);
    border-right: 1px solid rgba(255,255,255,.25);
    height: 22px;
}
.je-topbar.is-scrolled .je-topbar__lang { border-color: var(--je-border); }
.je-topbar__lang a { display: inline-flex; opacity: .85; }
.je-topbar__lang a:hover { opacity: 1; }
.je-topbar__lang img { border-radius: 2px; display: block; }

.je-topbar__cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 16px;
    border: 1px solid rgba(255,255,255,.7);
    border-radius: 999px;
    color: #ffffff !important;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none !important;
    transition: background .2s, border-color .2s, color .2s;
    margin-left: 6px;
    white-space: nowrap;
}
.je-topbar__cta:hover { background: rgba(255,255,255,.15); border-color: #fff; color: #fff !important; }
.je-topbar.is-scrolled .je-topbar__cta {
    border-color: var(--je-text);
    color: var(--je-text) !important;
}
.je-topbar.is-scrolled .je-topbar__cta:hover { background: var(--je-text); color: #fff !important; border-color: var(--je-text); }

/* ------- Hero headline + meta ------- */
.je-hero__content {
    position: absolute;
    bottom: 80px;
    left: 48px;
    right: 48px;
    z-index: 10;
}
#hero-main-headline.je-hero__headline {
    font-family: 'Cormorant Garamond','Playfair Display','Times New Roman',Georgia,serif !important;
    font-size: clamp(48px, 6vw, 82px) !important;
    font-weight: 400 !important;
    line-height: 1.05 !important;
    color: #ffffff !important;
    margin: 0 0 16px !important;
    letter-spacing: 0 !important;
    max-width: 900px;
    text-shadow: 0 2px 30px rgba(0,0,0,.3);
    font-style: normal !important;
}
.je-hero__caption {
    font-size: 13px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255,255,255,.95);
    margin: 0;
    font-weight: 500;
}

/* Arrows + index bottom-right */
.je-hero__meta {
    position: absolute;
    bottom: 80px;
    right: 48px;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 14px;
}
.je-hero__arrows { display: flex; gap: 10px; }
.je-hero__arrow {
    width: 44px; height: 44px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.55);
    background: transparent;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .2s, border-color .2s;
}
.je-hero__arrow:hover { background: rgba(255,255,255,.14); border-color: #fff; }
.je-hero__index {
    color: #fff;
    font-size: 13px;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.je-hero__index b { font-weight: 700; font-size: 15px; }

/* Dots bottom-center */
.je-hero__dots {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    display: flex;
    gap: 8px;
}
.je-hero__dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    background: rgba(255,255,255,.5);
    border: none;
    cursor: pointer;
    padding: 0;
    transition: background .2s, width .2s;
}
.je-hero__dot:hover { background: rgba(255,255,255,.85); }
.je-hero__dot.is-active { background: #fff; width: 26px; border-radius: 10px; }

/* Responsive */
@media (max-width: 1280px) {
    .je-topbar__search { max-width: 320px; }
    .je-topbar__item > a { padding: 10px 8px; font-size: 13px !important; }
    .je-topbar__cta { padding: 8px 12px; font-size: 12px; }
}
@media (max-width: 1080px) {
    .je-topbar__search { display: none; }
}
@media (max-width: 880px) {
    .je-topbar__menu { display: none; }
    .je-topbar__lang { display: none; }
    .je-topbar__row { min-height: 64px; padding: 10px 20px; }
    .je-topbar__logo img { height: 48px; }
    .je-hero__content { left: 24px; right: 24px; bottom: 70px; }
    .je-hero__meta { right: 24px; bottom: 70px; }
}

/* Kill estructura vieja (nav-top/nav-main/je-header--over-hero/je-utility/hero-*) en home */
.hero,
.hero-bg,
.hero-overlay,
.hero-slider,
.hero-slide,
.hero-headers,
.hero-content,
.hero-bottom-meta,
.hero-meta,
.hero-dots,
.hero-arrow,
.nav-top,
.nav-main,
.je-utility { display: none !important; }

/* ─── 2.3 HERO SLIDER ─── */
.hero-slider {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.hero-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 1.2s ease;
    pointer-events: none;
}
.hero-slide.is-active {
    opacity: 1;
    pointer-events: auto;
    z-index: 1;
}
.hero-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* Utility bar arriba del menú */
.hero-headers {
    position: absolute;
    top: 0; left: 0; right: 0;
    z-index: 20;
}
.je-utility {
    background: rgba(0,0,0,.2);
    backdrop-filter: blur(6px);
    border-bottom: 1px solid rgba(255,255,255,.1);
    transition: background .25s, border-color .25s;
}
.je-utility.is-scrolled {
    background: var(--je-white);
    border-bottom-color: var(--je-border);
}
.je-utility__inner {
    max-width: 1680px;
    margin: 0 auto;
    padding: 9px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    font-size: 13px;
    font-weight: 400;
    color: rgba(255,255,255,.92);
}
.je-utility__inner--right { justify-content: flex-end; }
.je-utility.is-scrolled .je-utility__inner { color: var(--je-text); }
.je-utility__left,
.je-utility__right {
    display: flex;
    align-items: center;
    gap: 20px;
}
.je-utility__left a,
.je-utility__link {
    color: inherit !important;
    text-decoration: none !important;
    opacity: .95;
    transition: opacity .15s;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.je-utility__left a:hover,
.je-utility__link:hover { opacity: 1; text-decoration: underline !important; }
.je-utility__sep {
    width: 1px;
    height: 14px;
    background: rgba(255,255,255,.3);
    display: inline-block;
}
.je-utility.is-scrolled .je-utility__sep { background: var(--je-border); }
.language-selector--utility {
    display: inline-flex;
    gap: 6px;
    align-items: center;
}
.language-selector--utility img { border-radius: 2px; display: block; opacity: .85; }
.language-selector--utility a:hover img { opacity: 1; }
.je-utility__cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border: 1px solid rgba(255,255,255,.7);
    border-radius: 999px;
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 12px;
    font-weight: 500;
    transition: background .2s, border-color .2s, color .2s;
}
.je-utility__cta:hover { background: rgba(255,255,255,.12); border-color: #fff; color: #fff !important; text-decoration: none !important; }
.je-utility.is-scrolled .je-utility__cta {
    color: var(--je-text) !important;
    border-color: var(--je-text);
}
.je-utility.is-scrolled .je-utility__cta:hover { background: var(--je-text); color: var(--je-white) !important; }

@media (max-width: 1024px) {
    .je-utility__left { display: none; }
    .je-utility__right { gap: 14px; }
    .je-utility__right .je-utility__link:not(:last-child) { display: none; }
}
@media (max-width: 720px) {
    .je-utility { display: none; }
}

/* Dots bottom center */
.hero-dots {
    position: absolute;
    bottom: 116px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    display: flex;
    gap: 8px;
}
.hero-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255,255,255,.5);
    border: none;
    cursor: pointer;
    padding: 0;
    transition: background .2s, transform .2s;
}
.hero-dot:hover { background: rgba(255,255,255,.8); transform: scale(1.2); }
.hero-dot.is-active { background: #fff; width: 24px; border-radius: 10px; }

/* ─── 2.4 HEADER over-hero: misma estructura que el resto pero blanco ─── */
.hero .je-header--over-hero {
    position: absolute;
    bottom: 0;
    left: 0; right: 0;
    top: auto;
    z-index: 20;
    background: transparent !important;
    border-top: 1px solid rgba(255,255,255,.18) !important;
    border-bottom: none !important;
    padding: 0 !important;
    box-shadow: none !important;
}
.hero .je-header--over-hero .je-header__inner {
    padding: 18px 48px;
}
.hero .je-header--over-hero .je-header__logo img {
    height: 120px !important;
    max-width: 360px !important;
    filter: drop-shadow(0 2px 12px rgba(0,0,0,.45));
}
@media (max-width: 1024px) {
    .hero .je-header--over-hero .je-header__logo img { height: 90px !important; max-width: 280px !important; }
}
.hero .je-header--over-hero .je-header__menu > li > a {
    color: #ffffff !important;
}
.hero .je-header--over-hero .je-header__menu > li > a:hover {
    color: #ffffff !important;
    opacity: .85;
}
.hero .je-header--over-hero .sub-menu {
    background: rgba(0,0,0,.88) !important;
    border: 1px solid rgba(255,255,255,.15) !important;
}
.hero .je-header--over-hero .sub-menu a {
    color: #ffffff !important;
}
.hero .je-header--over-hero .sub-menu a:hover {
    background: rgba(255,255,255,.08) !important;
}
.hero .je-header--over-hero .language-selector .lang-link img {
    filter: brightness(1.05);
}

/* Al scrollear, el header se vuelve sticky + solid + negro */
.hero .je-header--over-hero.is-scrolled {
    position: fixed;
    background: var(--je-white) !important;
    border-bottom: 1px solid var(--je-border) !important;
    box-shadow: 0 1px 4px rgba(0,0,0,.04) !important;
    animation: heroNavSlideDown .2s ease;
}
.hero .je-header--over-hero.is-scrolled .je-header__logo img {
    filter: none;
}
.hero .je-header--over-hero.is-scrolled .je-header__menu > li > a { color: var(--je-text) !important; }
.hero .je-header--over-hero.is-scrolled .sub-menu { background: #fff !important; border-color: var(--je-border) !important; }
.hero .je-header--over-hero.is-scrolled .sub-menu a { color: var(--je-text) !important; }
.hero .je-header--over-hero.is-scrolled .sub-menu a:hover { background: var(--je-bg-soft) !important; }

@keyframes heroNavSlideDown {
    from { transform: translateY(-100%); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

/* Ocultar viejos nav-top / nav-main que ya no se usan en home */
.hero > .nav-top,
.hero > .nav-main { display: none !important; }

/* ─── 2.5 HERO-HEADER full-width (solo home) ─── */
.hero {
    position: relative;
    width: 100%;
    min-height: 620px;
    height: 100vh;
    max-height: 860px;
    overflow: hidden;
    background: #111;
}
.hero-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.hero-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
.hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(0,0,0,.40) 0%, rgba(0,0,0,0) 30%, rgba(0,0,0,0) 60%, rgba(0,0,0,.55) 100%);
    pointer-events: none;
}

/* Top nav bar */
.nav-top {
    position: absolute;
    top: 0; left: 0; right: 0;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 26px 48px;
    background: transparent;
}
.nav-top__left {
    display: flex;
    align-items: center;
    gap: 24px;
}
.nav-burger {
    width: 32px; height: 32px;
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
}
.nav-burger span {
    display: block;
    width: 22px; height: 1.5px;
    background: #fff;
}
.nav-brand { display: inline-block; line-height: 0; }
.nav-brand img {
    height: 82px;
    width: auto;
    max-width: 260px;
    display: block;
    filter: drop-shadow(0 2px 10px rgba(0,0,0,.4));
}
@media (max-width: 1024px) {
    .nav-brand img { height: 64px; max-width: 210px; }
}
.nav-top__right {
    display: flex;
    align-items: center;
    gap: 32px;
}
.nav-top__link {
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    opacity: .95;
}
.nav-top__link:hover { opacity: 1; color: #fff !important; }
.nav-top__link i { font-size: 12px; }
.nav-top__lang { display: flex; gap: 8px; margin-left: 12px; }
.nav-top__lang a { display: inline-flex; opacity: .85; }
.nav-top__lang a:hover { opacity: 1; }

/* Main category nav */
.nav-main {
    position: absolute;
    top: 90px;
    left: 0; right: 0;
    z-index: 19;
    background: transparent;
    border-top: 1px solid rgba(255,255,255,.15);
    border-bottom: 1px solid rgba(255,255,255,.15);
    padding: 18px 48px;
}
.nav-main__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 40px;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}
.nav-main__list a {
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    letter-spacing: 0;
    text-decoration: none !important;
    opacity: .9;
    transition: opacity .2s;
}
.nav-main__list a:hover { opacity: 1; color: #fff !important; }

/* Hero content bottom-left */
.hero-content {
    position: absolute;
    top: 52%;
    transform: translateY(-50%);
    left: 48px;
    right: 48px;
    z-index: 10;
}
#hero-main-headline,
#hero-main-headline * {
    font-family: 'Cormorant Garamond','Playfair Display','Times New Roman',Georgia,serif !important;
    font-style: normal !important;
}
#hero-main-headline {
    font-size: clamp(56px, 7vw, 96px) !important;
    font-weight: 400 !important;
    line-height: 1.05 !important;
    color: #fff !important;
    margin: 0 !important;
    letter-spacing: 0 !important;
    max-width: 900px;
    text-shadow: 0 2px 30px rgba(0,0,0,.2);
}

/* Hero meta bottom-right */
.hero-meta {
    position: absolute;
    bottom: 110px;
    right: 48px;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
}
.hero-meta__arrows {
    display: flex;
    gap: 12px;
}
.hero-arrow {
    width: 40px; height: 40px;
    border: 1px solid rgba(255,255,255,.6);
    border-radius: 50%;
    background: transparent;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .2s, border-color .2s;
    font-size: 14px;
}
.hero-arrow:hover { background: rgba(255,255,255,.12); border-color: #fff; }
.hero-meta__caption {
    color: #fff;
    font-size: 13px;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin: 0;
    opacity: .92;
}

/* Bottom-left meta line (si la querés reactivar) */
.hero-bottom-meta {
    position: absolute;
    bottom: 110px;
    left: 48px;
    z-index: 10;
    color: #fff;
    font-size: 13px;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin: 0;
}

/* Hero search pill bottom-center (si querés) */
.hero-search {
    position: absolute;
    bottom: 220px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    width: min(880px, calc(100% - 96px));
}
.hero-search form {
    display: flex;
    align-items: center;
    gap: 0;
    background: rgba(255,255,255,.95);
    backdrop-filter: blur(10px);
    border-radius: 999px;
    padding: 6px 6px 6px 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,.15);
}
.hero-search select,
.hero-search input[type="text"] {
    border: none;
    background: transparent;
    padding: 12px 12px;
    font-size: 14px;
    outline: none;
    color: var(--je-text);
    font-weight: 500;
    flex: 1;
}
.hero-search select { max-width: 150px; cursor: pointer; }
.hero-search .hero-search__sep {
    width: 1px;
    height: 24px;
    background: var(--je-border);
    flex: 0 0 1px;
}
.hero-search button[type="submit"] {
    width: 48px; height: 48px;
    border-radius: 50%;
    background: var(--je-text);
    color: #fff;
    border: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex: 0 0 48px;
    font-size: 16px;
    margin-left: 4px;
}
.hero-search button[type="submit"]:hover { background: #000; }

/* Responsive hero */
@media (max-width: 1024px) {
    .nav-main { display: none; }
    .nav-top { padding: 20px 24px; }
    .nav-top__right .nav-top__link:not(:last-of-type) { display: none; }
    .hero-content { left: 24px; right: 24px; bottom: 120px; }
    .hero-meta { right: 24px; bottom: 32px; }
}
@media (max-width: 768px) {
    .hero { min-height: 620px; }
    .hero-headline { font-size: clamp(40px, 10vw, 64px) !important; }
    .hero-search { bottom: 150px; width: calc(100% - 48px); }
    .hero-search select { max-width: 110px; }
}

/* Kill old home hero styles that conflict */
#homepage-one .ps-home-search,
#homepage-one .ps-home-search * { /* ya no se usa en home (slider.php eliminado) */ }

/* ─── 3.0 JE HEADER CLON EXACTO (páginas no-home) ─── */
.je-header {
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    padding: 0 !important;
    border: none !important;
    box-shadow: 0 1px 0 var(--je-border) !important;
    background: rgba(255,255,255,.96) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transition: background .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.je-header--solid {
    background: var(--je-white) !important;
    border-bottom: 1px solid var(--je-border) !important;
}
.je-header--over-hero {
    background: transparent !important;
    border-bottom: 1px solid transparent !important;
    position: absolute; /* flota sobre el hero */
    top: 0;
}
.je-header--over-hero.is-scrolled {
    position: fixed;
    background: var(--je-white) !important;
    border-bottom: 1px solid var(--je-border) !important;
    box-shadow: 0 1px 4px rgba(0,0,0,.04) !important;
}
.je-header__inner {
    display: flex;
    align-items: center;
    gap: 24px;
    max-width: var(--je-container);
    margin: 0 auto;
    padding: 14px 28px;
    min-height: 104px;
}
.je-header__left { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.je-burger {
    width: 36px; height: 36px;
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 4px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
}
.je-burger span {
    display: block;
    width: 18px; height: 1.5px;
    background: var(--je-text);
    transition: background .25s;
}
.je-header--over-hero:not(.is-scrolled) .je-burger span { background: var(--je-white); }
.je-header__brand { display: inline-block; line-height: 0; }
.je-header__brand img {
    height: 92px !important;
    width: auto !important;
    max-width: 280px !important;
    object-fit: contain;
    filter: none;
    transition: filter .25s;
}
@media (max-width: 1024px) {
    .je-header__brand img { height: 70px !important; max-width: 220px !important; }
}
@media (max-width: 720px) {
    .je-header__brand img { height: 54px !important; max-width: 180px !important; }
}
.je-header--over-hero:not(.is-scrolled) .je-header__brand img {
    filter: brightness(0) invert(1); /* logo en blanco sobre hero */
}

/* Pill search */
.je-header__search {
    flex: 1 1 auto;
    max-width: 520px;
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--je-bg-soft);
    border: 1px solid var(--je-border-soft);
    border-radius: 999px;
    padding: 8px 16px;
    height: 44px;
    transition: background .25s, border-color .25s;
}
.je-header--over-hero:not(.is-scrolled) .je-header__search {
    background: rgba(255,255,255,.18);
    border-color: rgba(255,255,255,.35);
    backdrop-filter: blur(6px);
}
.je-header__search-icon {
    font-size: 16px;
    color: var(--je-text-muted);
}
.je-header--over-hero:not(.is-scrolled) .je-header__search-icon { color: var(--je-white); opacity: .9; }
.je-header__search-input {
    flex: 1;
    border: none;
    outline: none;
    background: transparent;
    font-size: 14px;
    font-weight: 500;
    color: var(--je-text);
    font-family: inherit;
}
.je-header__search-input::placeholder { color: var(--je-text-muted); opacity: .8; }
.je-header--over-hero:not(.is-scrolled) .je-header__search-input,
.je-header--over-hero:not(.is-scrolled) .je-header__search-input::placeholder {
    color: var(--je-white) !important;
    opacity: .95;
}
.je-header__search-clear {
    background: transparent;
    border: none;
    color: var(--je-text-muted);
    cursor: pointer;
    padding: 4px;
    display: none;
}
.je-header__search-input:not(:placeholder-shown) + .je-header__search-clear { display: inline-flex; }

/* Nav derecho */
.je-header__nav {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-shrink: 0;
    margin-left: auto;
}
.je-nav {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 4px;
    align-items: center;
}
.je-nav__item { position: relative; }
.je-nav__link {
    display: inline-block;
    padding: 10px 14px;
    font-size: 14px;
    font-weight: 500;
    color: var(--je-text);
    text-decoration: none;
    transition: color .2s;
}
.je-header--over-hero:not(.is-scrolled) .je-nav__link { color: var(--je-white); }
.je-nav__link:hover { color: var(--je-text); text-decoration: none; }
.je-header--over-hero:not(.is-scrolled) .je-nav__link:hover { color: var(--je-white); opacity: .85; }

/* Submenu dropdown */
.je-submenu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 220px;
    background: var(--je-white);
    border: 1px solid var(--je-border);
    border-radius: var(--je-radius);
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
    padding: 8px 0;
    margin: 4px 0 0;
    list-style: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    transition: opacity .15s, transform .15s, visibility .15s;
    z-index: 110;
}
.je-nav__item--has-children:hover > .je-submenu,
.je-nav__item--has-children:focus-within > .je-submenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.je-submenu li a {
    display: block;
    padding: 10px 18px;
    font-size: 13px;
    font-weight: 500;
    color: var(--je-text);
    text-decoration: none;
}
.je-submenu li a:hover { background: var(--je-bg-soft); text-decoration: none; }

.je-nav__sep {
    width: 1px;
    height: 22px;
    background: var(--je-border);
    margin: 0 4px;
}
.je-header--over-hero:not(.is-scrolled) .je-nav__sep { background: rgba(255,255,255,.35); }

.je-nav__lang {
    display: flex;
    gap: 6px;
    align-items: center;
}
.je-nav__lang a { display: inline-flex; opacity: .8; transition: opacity .2s; }
.je-nav__lang a:hover { opacity: 1; }
.je-nav__lang img { border-radius: 2px; display: block; }

.je-nav__cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 16px;
    font-size: 13px;
    font-weight: 600;
    border: 1px solid var(--je-text);
    background: var(--je-text);
    color: var(--je-white);
    border-radius: 999px;
    transition: background .2s;
    text-decoration: none !important;
}
.je-nav__cta:hover { background: #000; color: var(--je-white) !important; }
.je-header--over-hero:not(.is-scrolled) .je-nav__cta {
    background: var(--je-white);
    color: var(--je-text) !important;
    border-color: var(--je-white);
}
.je-header--over-hero:not(.is-scrolled) .je-nav__cta:hover { background: rgba(255,255,255,.92); }

/* Mobile */
@media (max-width: 1100px) {
    .je-header__nav .je-nav,
    .je-header__nav .je-nav__sep,
    .je-header__nav .je-nav__lang { display: none; }
    .je-header__search { max-width: 100%; }
}
@media (max-width: 720px) {
    .je-header__search { display: none; }
    .je-burger { display: inline-flex; }
    .je-header__inner { padding: 10px 16px; }
}

/* Cuando el header flota sobre el hero, el contenido que sigue no tiene
   que empujarse; el hero ocupa detrás. En otras páginas el sticky ocupa
   espacio natural. */
.je-header--over-hero + * { margin-top: 0; }

/* Old header classes: ocultar si quedan */
.header--top, .header--nav, .header--mobile { display: none !important; }

/* ─── 3.1 JE HEADER (single row) ─── */
.je-header {
    background: var(--je-white) !important;
    border-bottom: 1px solid var(--je-border) !important;
    padding: 0 !important;
    box-shadow: none !important;
    position: relative;
    z-index: 10;
}
.je-header__wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px;
    min-height: 72px;
    padding: 12px 0;
}
.je-header__logo a { display: inline-block; line-height: 0; }
.je-header__logo img {
    height: 48px !important;
    width: auto !important;
    max-width: 180px;
    object-fit: contain;
}
.je-header__menu {
    display: flex !important;
    gap: 4px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center;
}
.je-header__menu > li > a {
    font-family: var(--je-font-sans) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: var(--je-text) !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    padding: 10px 14px !important;
    line-height: 1 !important;
    display: inline-block;
}
.je-header__menu > li > a:hover { color: var(--je-text) !important; text-decoration: none; }
.je-header__menu .sub-menu {
    background: var(--je-white) !important;
    border: 1px solid var(--je-border);
    border-radius: var(--je-radius);
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
    padding: 8px 0 !important;
    min-width: 220px;
    margin-top: 8px !important;
}
.je-header__menu .sub-menu a {
    color: var(--je-text) !important;
    font-family: var(--je-font-sans) !important;
    font-size: 13px !important;
    padding: 10px 18px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    display: block;
}
.je-header__menu .sub-menu a:hover { background: var(--je-bg-soft); }

/* Esconder header viejo si quedó algo */
.header--top { display: none !important; }

/* ─── 3. TOP BAR (franja superior con logo + socials) ─── */
.header--top {
    background: var(--je-white) !important;
    border-bottom: 1px solid var(--je-border);
    padding: 10px 0 !important;
    box-shadow: none !important;
}
.header--top .header__wrapper {
    align-items: center;
    min-height: 56px;
}
.header--top .header__logo img {
    width: 150px !important;
    height: auto !important;
    max-height: 60px;
    object-fit: contain;
}
.header--top .header__actions a {
    color: var(--je-text-muted) !important;
    font-size: 18px;
}
.header--top .header__actions a:hover { color: var(--je-text) !important; }

/* ─── 4. NAV (menú principal) ─── */
.header--nav {
    background: var(--je-white) !important;
    border-bottom: 1px solid var(--je-border);
    padding: 0 !important;
    box-shadow: none !important;
}
.header--nav .header__wrapper { min-height: 56px; }
.menu--desktop { gap: 4px; }
.menu--desktop > li > a {
    color: var(--je-text) !important;
    font-family: var(--je-font-sans) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    padding: 18px 14px !important;
    position: relative;
}
.menu--desktop > li > a:hover { color: var(--je-text) !important; text-decoration: none; }
.menu--desktop > li > a::after {
    content: '';
    position: absolute;
    left: 14px; right: 14px; bottom: 12px;
    height: 1px;
    background: transparent;
    transition: background .2s;
}
.menu--desktop > li:hover > a::after,
.menu--desktop > li.current > a::after { background: var(--je-text); }

.menu--desktop .sub-menu {
    background: var(--je-white) !important;
    border: 1px solid var(--je-border);
    border-radius: var(--je-radius);
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
    padding: 8px 0;
    min-width: 220px;
}
.menu--desktop .sub-menu a {
    color: var(--je-text) !important;
    font-family: var(--je-font-sans) !important;
    font-size: 14px !important;
    padding: 10px 18px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}
.menu--desktop .sub-menu a:hover { background: var(--je-bg-soft); }

.language-selector { display: flex; gap: 8px; align-items: center; }
.language-selector .lang-link img { border-radius: 2px; opacity: .8; transition: opacity .2s; }
.language-selector .lang-link:hover img { opacity: 1; }

/* ─── 5.0 SEARCH FORM → JE PILL BAR ─── */
.ps-form--projects-search {
    background: var(--je-white) !important;
    padding: 0 !important;
    margin: 14px 0 0 !important;
    border: none !important;
}
.ps-form--projects-search .container { padding: 0 !important; }
.ps-form--projects-search .row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 0 !important;
    align-items: center;
}
.ps-form--projects-search [class*="col-"] {
    padding: 0 !important;
    width: auto !important;
    flex: 0 0 auto !important;
    max-width: none !important;
}

/* Selects como chips */
.ps-form--projects-search .ps-form.underline.with-icon.select {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 0;
    border: none !important;
}
.ps-form--projects-search select.form-control,
.ps-form--projects-search input.form-control {
    border: 1px solid var(--je-border) !important;
    border-radius: 999px !important;
    background: var(--je-white) !important;
    height: 38px !important;
    padding: 0 36px 0 14px !important;
    font-family: var(--je-font-sans) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--je-text) !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    min-width: 140px;
    appearance: none;
    -webkit-appearance: none;
    box-shadow: none !important;
    cursor: pointer;
    transition: border-color .15s;
}
.ps-form--projects-search input.form-control {
    border-radius: 999px !important;
    padding: 0 16px !important;
    min-width: 160px;
}
.ps-form--projects-search select.form-control:hover,
.ps-form--projects-search input.form-control:hover,
.ps-form--projects-search select.form-control:focus,
.ps-form--projects-search input.form-control:focus {
    border-color: var(--je-text) !important;
    outline: none;
}
.ps-form--projects-search .ps-form__select-toggle {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 11px;
    color: var(--je-text-muted);
    pointer-events: none;
}

/* Botones de acción del form */
.ps-form--projects-search .ps-btn,
.ps-form--projects-search button.ps-btn,
.ps-form--projects-search .ps-btn--gray {
    background: var(--je-text) !important;
    color: var(--je-white) !important;
    border: 1px solid var(--je-text) !important;
    border-radius: 999px !important;
    height: 38px !important;
    padding: 0 22px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    font-family: var(--je-font-sans) !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    box-shadow: none !important;
    cursor: pointer;
    min-width: auto !important;
    width: auto !important;
    line-height: 36px !important;
}
.ps-form--projects-search .ps-btn:hover { background: #000 !important; }
.ps-form--projects-search .ps-btn--gray {
    background: var(--je-white) !important;
    color: var(--je-text) !important;
    border-color: var(--je-border) !important;
}
.ps-form--projects-search .ps-btn--gray:hover { border-color: var(--je-text) !important; }
.ps-form--projects-search .ps-form__toggle-btn {
    background: var(--je-white) !important;
    color: var(--je-text) !important;
    border: 1px solid var(--je-border) !important;
    border-radius: 999px !important;
    padding: 0 16px !important;
    height: 38px !important;
    line-height: 36px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.ps-form--projects-search .ps-form__toggle-btn:hover { border-color: var(--je-text) !important; }
.ps-form--projects-search .ps-form__actions { margin: 0 !important; padding: 0 !important; }

.ps-form--projects-search .ps-form__bottom {
    margin-top: 10px;
    padding: 10px 0 0;
    border-top: 1px dashed var(--je-border);
}
.ps-form--projects-search .ps-form__block { padding: 0 !important; }

/* Checkboxes como chips */
.ps-form--projects-search .ps-checkbox {
    display: inline-block;
}
.ps-form--projects-search .ps-checkbox input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.ps-form--projects-search .ps-checkbox label {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    border: 1px solid var(--je-border);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 500;
    color: var(--je-text);
    cursor: pointer;
    transition: border-color .15s, background .15s;
    margin: 0;
}
.ps-form--projects-search .ps-checkbox label:hover { border-color: var(--je-text); }
.ps-form--projects-search .ps-checkbox input[type="checkbox"]:checked + label {
    background: var(--je-text);
    color: var(--je-white);
    border-color: var(--je-text);
}

/* ─── 5. PÁGINA HEADER + FILTROS ─── */
.ps-page__header {
    background: var(--je-white) !important;
    padding: 32px 0 12px !important;
    border-bottom: 1px solid var(--je-border);
}
/* Override legacy .ps-page--blog que pintaba el encabezado en azul oscuro con texto blanco */
.ps-page--blog .ps-page__header {
    background: var(--je-white) !important;
    padding: 32px 0 12px !important;
    border-bottom: 1px solid var(--je-border) !important;
}
.ps-page--blog .ps-page__header .ps-page__heading,
.ps-page--blog .ps-page__header .breadcrumb,
.ps-page--blog .ps-page__header .breadcrumb li,
.ps-page--blog .ps-page__header .breadcrumb li a {
    color: var(--je-text) !important;
}
.ps-page--blog .ps-page__header .breadcrumb li,
.ps-page--blog .ps-page__header .breadcrumb li a {
    color: var(--je-text-muted) !important;
}
.ps-page--blog .ps-page__header .breadcrumb li:last-child {
    color: var(--je-text) !important;
}
.ps-page__heading {
    font-family: var(--je-font-serif) !important;
    font-size: 40px !important;
    font-weight: 600 !important;
    color: var(--je-text) !important;
    margin: 10px 0 6px !important;
    padding: 0 !important;
    letter-spacing: -.01em !important;
    text-align: left !important;
}

/* H1 más pesado tipo JE */
h1, .ps-page__heading, .ps-project--detail h1 {
    font-weight: 600 !important;
}

.breadcrumb {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 0 8px !important;
    font-size: 12px;
    color: var(--je-text-muted);
}
.breadcrumb li { color: var(--je-text-muted); }
.breadcrumb li a { color: var(--je-text-muted); }
.breadcrumb li + li::before { content: '›'; padding: 0 6px; color: var(--je-text-muted); }
.breadcrumb li:last-child { color: var(--je-text); }

/* Filter bar JE */
.je-filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    padding: 14px 0;
    border-top: 1px solid var(--je-border-soft);
    border-bottom: 1px solid var(--je-border-soft);
    margin-top: 12px;
}
.je-filter-bar .je-filter-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 14px;
    border: 1px solid var(--je-border);
    border-radius: 999px;
    background: var(--je-white);
    color: var(--je-text);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: border-color .15s, background .15s;
    font-family: var(--je-font-sans);
}
.je-filter-bar .je-filter-btn:hover { border-color: var(--je-text); }
.je-filter-bar .je-filter-btn.is-active { background: var(--je-text); color: var(--je-white); border-color: var(--je-text); }
.je-filter-bar .je-filter-btn i { font-size: 11px; opacity: .6; }
.je-filter-bar .je-filter-save {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 14px;
    color: var(--je-text);
    font-size: 13px;
    font-weight: 500;
    background: transparent;
    border: none;
    cursor: pointer;
}
.je-filter-bar .je-filter-save i { font-size: 14px; }

/* ─── 5.9 ps-projects__top → JE results bar ─── */
.ps-projects__top {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 0 18px !important;
    border: none !important;
    background: transparent !important;
    margin: 0 !important;
}
.ps-projects__top-left p {
    font-size: 14px !important;
    color: var(--je-text-muted) !important;
    margin: 0 !important;
}
.ps-projects__top-left p strong {
    color: var(--je-text) !important;
    font-weight: 600 !important;
}
.ps-projects__sorting .ps-form.select { position: relative; }
.ps-projects__sorting select.form-control {
    border: 1px solid var(--je-border) !important;
    border-radius: var(--je-radius) !important;
    height: 36px !important;
    padding: 0 32px 0 12px !important;
    font-family: var(--je-font-sans) !important;
    font-size: 13px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: var(--je-text) !important;
    background: var(--je-white) !important;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    box-shadow: none !important;
}
.ps-projects__sorting .lnil-chevron-down {
    position: absolute;
    right: 10px; top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    font-size: 11px;
    color: var(--je-text-muted);
}

/* ─── 6. RESULTADOS / ORDEN ─── */
.ps-page__content { background: var(--je-white) !important; padding: 18px 0 40px !important; }

.je-results-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 0 18px;
}
.je-results-count {
    font-size: 14px;
    color: var(--je-text-muted);
}
.je-results-count strong { color: var(--je-text); font-weight: 600; }

.je-sort {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--je-text-muted);
}
.je-sort select {
    border: 1px solid var(--je-border);
    border-radius: var(--je-radius);
    padding: 7px 28px 7px 12px;
    background: var(--je-white);
    font-size: 13px;
    color: var(--je-text);
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%23111' d='M5 6L0 0h10z'/></svg>");
    background-repeat: no-repeat;
    background-position: right 10px center;
    font-family: var(--je-font-sans);
}

/* ─── 7. GRID ─── */
.ps-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 28px 24px !important;
    float: none !important;
}
.ps-grid__item { width: 100% !important; padding: 0 !important; margin: 0 !important; }

@media (max-width: 992px) {
    .ps-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 640px) {
    .ps-grid { grid-template-columns: 1fr !important; gap: 20px !important; }
}

/* ─── 8. CARD PROPIEDAD (JE style) ─── */
.ps-project.ps-project--grid,
.card-prop {
    background: var(--je-white) !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    transition: transform .25s var(--je-ease, cubic-bezier(.25,.46,.45,.94));
    margin: 0 !important;
}
.ps-project.ps-project--grid:hover { transform: translateY(-2px); }

.ps-project__thumbnail {
    position: relative;
    overflow: hidden;
    border-radius: var(--je-radius-card);
    background: var(--je-bg-soft);
    aspect-ratio: 4 / 3;
    margin-bottom: 12px;
}
.ps-project__image,
.ps-project__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
    transition: transform .5s ease;
}
.ps-project:hover .ps-project__image img { transform: scale(1.04); }

.ps-project__overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
}

.ps-project__badges {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 3;
}
.ps-project__badge.featured,
.ps-project__badge {
    display: inline-block;
    background: var(--je-promo) !important;
    color: var(--je-white) !important;
    font-family: var(--je-font-sans) !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase;
    padding: 4px 9px !important;
    border-radius: 2px !important;
    box-shadow: none !important;
}

/* Photo counter (Ver N fotos) */
.je-photo-count {
    position: absolute;
    right: 12px;
    bottom: 12px;
    z-index: 3;
    background: rgba(0,0,0,.65);
    color: #fff;
    font-size: 11px;
    padding: 4px 8px;
    border-radius: 2px;
    backdrop-filter: blur(4px);
}

.ps-project__content {
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px;
}

/* JE order: precio > specs > título > descripción */
.ps-project__content .ps-project__price { order: 1; }
.ps-project__content .ps-project__services { order: 2; }
.ps-project__content .card-prop__title,
.ps-project__content .ps-project__name { order: 3; }
.ps-project__content .ps-project__address { order: 4; }

.card-prop__title,
.ps-project__name {
    font-family: var(--je-font-sans) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: var(--je-text) !important;
    line-height: 1.35 !important;
    margin: 2px 0 4px !important;
    padding: 0 !important;
    letter-spacing: -.005em !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 42px;
}
.card-prop__title a,
.ps-project__name a {
    color: var(--je-text) !important;
    text-decoration: none !important;
}
.card-prop__title a:hover,
.ps-project__name a:hover {
    color: var(--je-text) !important;
    text-decoration: underline !important;
}

.ps-project__price {
    font-family: var(--je-font-sans) !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    color: var(--je-text) !important;
    margin: 0 0 4px !important;
    line-height: 1.2 !important;
    letter-spacing: -.01em;
}
.ps-project__price strong {
    font-weight: 600 !important;
    color: var(--je-text) !important;
}
.ps-project__price span {
    font-size: 13px;
    font-weight: 400;
    color: var(--je-text-muted);
    margin-left: 4px;
}

.ps-project__services {
    display: flex !important;
    flex-wrap: wrap;
    gap: 10px !important;
    margin: 4px 0 6px !important;
    padding: 0 !important;
    font-size: 13px !important;
    color: var(--je-text-soft) !important;
    border: none !important;
}
.ps-project__services p {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 13px !important;
    color: var(--je-text-soft) !important;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.ps-project__services p + p::before {
    content: '';
    width: 3px;
    height: 3px;
    background: var(--je-text-muted);
    border-radius: 50%;
    margin-right: 6px;
    display: inline-block;
}
.ps-project__services i { display: none !important; } /* JE no usa iconos en specs */

.ps-project__address {
    font-size: 13px !important;
    color: var(--je-text-muted) !important;
    margin: 0 !important;
    line-height: 1.4 !important;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.ps-project__address strong {
    display: none; /* Ocultar "ref." del card JE */
}

/* ─── 9. PAGINACIÓN JE ─── */
.ps-projects__pagination { margin-top: 40px; }
.ps-pagination {
    display: flex;
    justify-content: center;
    gap: 4px;
    padding: 0;
    list-style: none;
}
.ps-pagination li a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    border: 1px solid var(--je-border);
    border-radius: var(--je-radius);
    color: var(--je-text) !important;
    font-size: 13px;
    background: var(--je-white);
    text-decoration: none !important;
}
.ps-pagination li a:hover { border-color: var(--je-text); }
.ps-pagination li.active a { background: var(--je-text); color: var(--je-white) !important; border-color: var(--je-text); }

/* ─── 10. FOOTER JE ─── */
.je-footer {
    background: var(--je-white);
    border-top: 1px solid var(--je-border);
    margin-top: 60px;
    padding: 48px 0 24px;
}
.je-footer__grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 32px;
    padding-bottom: 32px;
}
.je-footer__col h5 {
    font-family: var(--je-font-sans) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: .08em !important;
    color: var(--je-text) !important;
    margin-bottom: 14px !important;
}
.je-footer__col ul { list-style: none; padding: 0; margin: 0; }
.je-footer__col li { margin-bottom: 8px; }
.je-footer__col a {
    font-size: 13px;
    color: var(--je-text-muted);
    line-height: 1.6;
}
.je-footer__col a:hover { color: var(--je-text); text-decoration: none; }

.je-footer__bottom {
    border-top: 1px solid var(--je-border);
    padding-top: 20px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 12px;
    color: var(--je-text-muted);
}
.je-footer__bottom a { color: var(--je-text-muted); }
.je-footer__bottom a:hover { color: var(--je-text); }

.je-footer__social { display: flex; gap: 12px; }
.je-footer__social a {
    width: 32px;
    height: 32px;
    border: 1px solid var(--je-border);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--je-text);
}
.je-footer__social a:hover { background: var(--je-text); color: var(--je-white); }

@media (max-width: 992px) {
    .je-footer__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
    .je-footer__grid { grid-template-columns: 1fr; }
}

/* Matar el pie antiguo cuando está el JE activo */
.je-footer-active main.ps-main > footer.ps-footer { display: none !important; }

/* ======================================================
   HOME SECTIONS (clon JE home)
   ====================================================== */
.home-section { padding: 72px 0; background: #ffffff; }
.home-section:nth-child(even) { background: #F9F8F5; }
.home-container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 40px;
}
.home-section__header { margin-bottom: 28px; }
.home-section__header--row {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 16px;
    flex-wrap: wrap;
}
.home-section__eyebrow {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--je-text-muted);
    margin: 0 0 6px;
}
.home-section__title {
    font-family: 'Inter', sans-serif !important;
    font-size: 32px !important;
    font-weight: 600 !important;
    color: var(--je-text) !important;
    margin: 0 !important;
    letter-spacing: -.01em !important;
    line-height: 1.1 !important;
}
.home-section__sub {
    font-size: 14px;
    color: var(--je-text-muted);
    margin: 6px 0 0;
}
.home-section__link,
.home-section__cta {
    font-size: 13px;
    font-weight: 600;
    color: var(--je-text) !important;
    text-decoration: none !important;
    border-bottom: 1px solid var(--je-text);
    padding-bottom: 2px;
}
.home-section__link:hover,
.home-section__cta:hover { color: #000 !important; }

/* --- Categorías Destacadas --- */
.home-categories__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    max-width: 1100px;
    margin: 0 auto;
}
.home-category {
    position: relative;
    display: block;
    aspect-ratio: 3/2;
    border-radius: 6px;
    overflow: hidden;
    text-decoration: none !important;
    background: #111;
}
.home-category img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .6s ease;
}
.home-category__overlay {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,.65) 100%);
}
.home-category__title {
    position: absolute;
    bottom: 14px; left: 16px; right: 16px;
    color: #ffffff !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    margin: 0 !important;
    letter-spacing: .01em !important;
    text-shadow: 0 2px 8px rgba(0,0,0,.4);
}
.home-category:hover img { transform: scale(1.04); }
@media (max-width: 900px) { .home-categories__grid { grid-template-columns: repeat(2, 1fr); } }

/* --- Tendencias / Propiedades Destacadas (grid 4 cols) --- */
.home-trending__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px 20px;
}
.home-trending__item {
    max-width: none;
}
.home-trending__item .card-divider,
.home-trending__item .card-footer { display: none !important; }
@media (max-width: 1280px) { .home-trending__grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 900px)  { .home-trending__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px)  { .home-trending__grid { grid-template-columns: 1fr; } }

/* --- La Revista (featured + 3 list) --- */
.home-journal__grid {
    display: grid;
    grid-template-columns: 1.25fr 1fr;
    gap: 32px;
}
.home-journal__featured {
    display: block;
    text-decoration: none !important;
    color: inherit !important;
    position: relative;
    border-radius: 6px;
    overflow: hidden;
    background: #111;
    aspect-ratio: 4/3;
}
.home-journal__featured-img {
    position: absolute; inset: 0;
}
.home-journal__featured-img img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .6s ease;
}
.home-journal__featured:hover .home-journal__featured-img img { transform: scale(1.03); }
.home-journal__featured::after {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.7) 100%);
}
.home-journal__featured-body {
    position: absolute;
    bottom: 24px; left: 28px; right: 28px;
    color: #fff;
    z-index: 2;
}
.home-journal__date {
    font-size: 11px;
    letter-spacing: .14em;
    text-transform: uppercase;
    margin: 0 0 10px;
    opacity: .92;
}
.home-journal__featured-title {
    font-family: 'Inter', sans-serif !important;
    font-size: 28px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    margin: 0 0 10px !important;
    color: #fff !important;
}
.home-journal__excerpt {
    font-size: 14px;
    line-height: 1.5;
    opacity: .92;
    margin: 0;
    max-width: 60ch;
}
.home-journal__list { display: flex; flex-direction: column; gap: 20px; }
.home-journal__mini {
    display: grid;
    grid-template-columns: 160px 1fr;
    gap: 16px;
    text-decoration: none !important;
    color: inherit !important;
}
.home-journal__mini-img {
    aspect-ratio: 4/3;
    overflow: hidden;
    border-radius: 4px;
    background: var(--je-bg-soft);
}
.home-journal__mini-img img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform .5s ease;
}
.home-journal__mini:hover .home-journal__mini-img img { transform: scale(1.04); }
.home-journal__mini-body { display: flex; flex-direction: column; gap: 4px; }
.home-journal__mini-body .home-journal__date { color: var(--je-text-muted); }
.home-journal__mini-title {
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: var(--je-text) !important;
    margin: 0 !important;
    line-height: 1.35 !important;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
@media (max-width: 900px) {
    .home-journal__grid { grid-template-columns: 1fr; }
    .home-journal__featured { aspect-ratio: 16/10; }
}

/* --- Mantente Informado (compacto) --- */
.home-informed__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}
.home-informed__card {
    display: flex;
    flex-direction: column;
    gap: 12px;
    text-decoration: none !important;
    color: inherit !important;
}
.home-informed__img {
    aspect-ratio: 4/3;
    overflow: hidden;
    border-radius: 4px;
    background: var(--je-bg-soft);
}
.home-informed__img img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform .5s ease;
}
.home-informed__card:hover .home-informed__img img { transform: scale(1.04); }
.home-informed__cat {
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--je-text-muted);
}
.home-informed__title {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: var(--je-text) !important;
    margin: 4px 0 0 !important;
    line-height: 1.35 !important;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
@media (max-width: 1100px) { .home-informed__grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 760px)  { .home-informed__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px)  { .home-informed__grid { grid-template-columns: 1fr; } }

/* --- Enlaces Populares --- */
.home-links__grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 32px;
    margin-top: 24px;
}
.home-links__col h4 {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--je-text) !important;
    margin: 0 0 16px !important;
    letter-spacing: .01em !important;
}
.home-links__col ul { list-style: none; padding: 0; margin: 0 0 12px; }
.home-links__col li { margin-bottom: 6px; }
.home-links__col a {
    font-size: 13px;
    color: var(--je-text-soft) !important;
    text-decoration: none !important;
    line-height: 1.5;
}
.home-links__col a:hover { color: var(--je-text) !important; text-decoration: underline !important; }
.home-links__more {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    color: var(--je-text) !important;
    text-decoration: none !important;
    margin-top: 4px;
    border-bottom: 1px solid var(--je-text);
    padding-bottom: 1px;
}
@media (max-width: 1100px) { .home-links__grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px)  { .home-links__grid { grid-template-columns: repeat(2, 1fr); } }

/* --- Newsletter --- */
.home-newsletter { background: #0f0f0f !important; }
.home-newsletter__box {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 28px;
    align-items: center;
    padding: 20px 40px;
}
.home-newsletter h3 {
    font-family: 'Inter', sans-serif !important;
    font-size: 26px !important;
    font-weight: 500 !important;
    color: #ffffff !important;
    margin: 0 0 6px !important;
    letter-spacing: -.01em !important;
}
.home-newsletter p { color: rgba(255,255,255,.75); margin: 0; font-size: 14px; }
.home-newsletter__form {
    display: flex;
    gap: 8px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 999px;
    padding: 6px 6px 6px 22px;
}
.home-newsletter__form input {
    flex: 1;
    border: none;
    background: transparent;
    outline: none;
    font-size: 14px;
    color: #fff;
    padding: 10px 0;
}
.home-newsletter__form input::placeholder { color: rgba(255,255,255,.55); }
.home-newsletter__form button {
    background: #ffffff;
    color: #111 !important;
    border: none;
    border-radius: 999px;
    padding: 10px 20px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
}
.home-newsletter__form button:hover { background: #f0f0f0; }
@media (max-width: 760px) { .home-newsletter__box { grid-template-columns: 1fr; } }

/* Card en tendencias sin card-divider/footer (ya muted) */
.home-trending__item .card-divider,
.home-trending__item .card-footer { display: none !important; }

/* ─── 11. Botones generales estilo JE ─── */
.je-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 11px 22px;
    background: var(--je-text);
    color: var(--je-white) !important;
    border: 1px solid var(--je-text);
    border-radius: var(--je-radius);
    font-size: 13px;
    font-weight: 500;
    font-family: var(--je-font-sans);
    cursor: pointer;
    transition: background .15s;
    text-decoration: none !important;
}
.je-btn:hover { background: #000; color: var(--je-white) !important; }
.je-btn--ghost {
    background: transparent;
    color: var(--je-text) !important;
    border-color: var(--je-border);
}
.je-btn--ghost:hover { border-color: var(--je-text); background: transparent; color: var(--je-text) !important; }

/* ─── 12. Overrides globales para limpiar el look viejo ─── */
.ps-main { background: var(--je-white) !important; }
.ps-section, section { background: transparent !important; }

/* Esconder elementos viejos que estorban */
.boton-whatsapp.d-none.d-lg-block { /* deja como está — es un FAB */ }

/* Asegurar contenedor base es blanco */
body.page-listado, body { background: var(--je-white) !important; }

/* ─── 13. HOME: HERO ESTILO JE ─── */
#homepage-one .ps-home-search,
.ps-home-search {
    min-height: 560px !important;
    max-height: 720px !important;
    height: 72vh !important;
    padding: 0 !important;
    margin: 0 !important;
    position: relative;
    overflow: hidden;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.ps-home-search::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.25) 0%, rgba(0,0,0,.15) 40%, rgba(0,0,0,.55) 100%);
    z-index: 1;
}
.ps-home-search .ps-section__wrapper {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: var(--je-container);
    padding: 0 24px;
}
.ps-home-search .ps-section__content { text-align: center; }
.ps-home-search .ps-section__top { margin-bottom: 28px; }
.ps-home-search .ps-section__top h3 {
    font-family: var(--je-font-sans) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: .2em !important;
    color: var(--je-white) !important;
    text-transform: uppercase !important;
    margin-bottom: 12px !important;
    opacity: .85;
}
.ps-home-search .ps-section__top h1 {
    font-family: var(--je-font-serif) !important;
    font-size: clamp(40px, 6vw, 72px) !important;
    font-weight: 400 !important;
    color: var(--je-white) !important;
    letter-spacing: 0 !important;
    line-height: 1.1 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-shadow: 0 2px 20px rgba(0,0,0,.25);
}

/* Search form hero → capsule bar blanca */
.ps-home-search .ps-section__form {
    margin-top: 40px;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
}
.ps-form--projects-search-2 {
    background: var(--je-white) !important;
    border-radius: 999px !important;
    box-shadow: 0 14px 40px rgba(0,0,0,.18) !important;
    padding: 8px 8px 8px 20px !important;
    border: none !important;
}
.ps-form--projects-search-2 .ps-form__bottom {
    padding: 0 !important;
    border: none !important;
}
.ps-form--projects-search-2 .row {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    margin: 0 !important;
}
.ps-form--projects-search-2 [class*="col-"] {
    padding: 0 12px !important;
    flex: 1 1 0;
    width: auto !important;
    max-width: none !important;
    position: relative;
}
.ps-form--projects-search-2 [class*="col-"] + [class*="col-"]::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 28px;
    background: var(--je-border);
}
.ps-form--projects-search-2 .label-caps {
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: .15em !important;
    text-transform: uppercase !important;
    color: var(--je-text-muted) !important;
    margin-bottom: 2px !important;
    font-family: var(--je-font-sans) !important;
}
.ps-form--projects-search-2 .form-group { margin: 0 !important; }
.ps-form--projects-search-2 select.form-control {
    border: none !important;
    background: transparent !important;
    padding: 0 20px 0 0 !important;
    height: 32px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: var(--je-text) !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    box-shadow: none !important;
    appearance: none;
    cursor: pointer;
}
.ps-form--projects-search-2 .ps-form__select-toggle {
    right: 0 !important;
    color: var(--je-text-muted) !important;
}
.ps-form--projects-search-2 .col-md-3:last-child { padding: 0 !important; flex: 0 0 auto !important; }
.ps-form--projects-search-2 .col-md-3:last-child::before { display: none; }
.ps-form--projects-search-2 .ps-form__actions { margin: 0 !important; }
.ps-form--projects-search-2 .ps-btn,
.ps-form--projects-search-2 button.ps-btn {
    background: var(--je-text) !important;
    color: var(--je-white) !important;
    border: none !important;
    border-radius: 999px !important;
    height: 56px !important;
    padding: 0 36px !important;
    font-family: var(--je-font-sans) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: .05em !important;
    text-transform: none !important;
    line-height: 56px !important;
    margin: 0 !important;
    width: auto !important;
    min-width: auto !important;
}
.ps-form--projects-search-2 .ps-btn:hover { background: #000 !important; }

/* ─── 14. HOME: QUIENES SOMOS / SECCIONES ─── */
.ps-leaderships { padding: 60px 0 !important; background: var(--je-white) !important; }
.ps-leaderships .container > .row { align-items: center; }
.ps-leaderships .py-5 { padding: 28px 0 !important; }
.ps-leaderships .label-caps {
    font-family: var(--je-font-sans) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
    color: var(--je-text-muted) !important;
    margin-bottom: 10px !important;
    display: block;
}
.ps-leaderships .qs-divider {
    width: 40px; height: 1px;
    background: var(--je-text); opacity: .3;
    margin: 12px 0 20px;
}
.ps-leaderships .qs-title,
.ps-leaderships h2 {
    font-family: var(--je-font-serif) !important;
    font-size: 34px !important;
    font-weight: 500 !important;
    color: var(--je-text) !important;
    line-height: 1.15 !important;
    margin-bottom: 18px !important;
    letter-spacing: 0 !important;
}
.ps-leaderships .description,
.ps-leaderships p {
    font-size: 15px !important;
    line-height: 1.65 !important;
    color: var(--je-text-soft) !important;
}
.ps-leaderships .qs-image {
    width: 100% !important;
    height: auto;
    border-radius: var(--je-radius-card);
    object-fit: cover;
    aspect-ratio: 4/3;
}

.ps-about {
    background: var(--je-bg-soft) !important;
    padding: 36px 0 !important;
    text-align: center;
}
.ps-about .container > .row > .col-md-12 {
    max-width: 680px;
    margin: 0 auto;
}
.ps-about .label-caps {
    font-family: var(--je-font-sans) !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: .22em !important;
    text-transform: uppercase !important;
    color: var(--je-text-muted) !important;
    margin-bottom: 14px !important;
    text-align: center;
    display: block;
}
.ps-about p {
    font-family: var(--je-font-sans) !important;
    font-size: 13.5px !important;
    line-height: 1.65 !important;
    color: var(--je-text-muted) !important;
    font-weight: 400 !important;
    margin-bottom: 10px !important;
    letter-spacing: .005em !important;
}
.ps-about p:last-child { margin-bottom: 0 !important; }

/* ─── 15. HOME: PROPIEDADES DESTACADAS ─── */
.ps-project-listing { padding: 56px 0 !important; background: var(--je-white) !important; }
.ps-project-listing .ps-section__header { text-align: center; margin-bottom: 32px; }
.ps-project-listing .label-caps {
    font-family: var(--je-font-sans) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
    color: var(--je-text-muted) !important;
    margin-bottom: 10px !important;
    display: block;
}
.ps-project-listing .ps-section__heading,
.ps-project-listing h3 {
    font-family: var(--je-font-serif) !important;
    font-size: 36px !important;
    font-weight: 500 !important;
    color: var(--je-text) !important;
    letter-spacing: 0 !important;
    line-height: 1.15 !important;
    margin: 0 0 8px !important;
}
.ps-project-listing .ps-section__heading span,
.ps-project-listing h3 span {
    font-style: italic;
    color: var(--je-text) !important;
}

/* Convertir row + col-md-4 en grid 4 cols */
.ps-project-listing > .container > .row,
.ps-project-listing .row.lux-stagger {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 22px 20px !important;
    margin: 0 !important;
}
.ps-project-listing .col-md-4 {
    width: 100% !important;
    max-width: none !important;
    flex: 1 !important;
    padding: 0 !important;
    margin: 0 !important;
}
@media (max-width: 1280px) {
    .ps-project-listing > .container > .row,
    .ps-project-listing .row.lux-stagger { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 980px) {
    .ps-project-listing > .container > .row,
    .ps-project-listing .row.lux-stagger { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 620px) {
    .ps-project-listing > .container > .row,
    .ps-project-listing .row.lux-stagger { grid-template-columns: 1fr !important; }
}

/* ─── 16. HOME: PROYECTOS (carousel) ─── */
.ps-highlight-posts { padding: 56px 0 !important; background: var(--je-bg-soft) !important; }
.ps-highlight-posts .ps-section__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 28px;
}
.ps-highlight-posts h3.ps-section__heading {
    font-family: var(--je-font-serif) !important;
    font-size: 30px !important;
    font-weight: 500 !important;
    color: var(--je-text) !important;
    letter-spacing: 0 !important;
    margin: 0 !important;
}
.ps-highlight-posts h3 span { font-style: italic; }
.ps-btn--carouse-arrow {
    width: 40px; height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--je-border);
    border-radius: 50%;
    background: var(--je-white);
    color: var(--je-text);
    margin-left: 8px;
}
.ps-btn--carouse-arrow:hover { border-color: var(--je-text); }

.ps-post.ps-post--grid {
    background: var(--je-white);
    border-radius: var(--je-radius-card);
    overflow: hidden;
}
.ps-post__thumbnail { position: relative; aspect-ratio: 4/3; overflow: hidden; }
.ps-post__thumbnail img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}
.ps-post__content { padding: 16px; }
.ps-post__meta {
    display: flex;
    gap: 8px;
    font-size: 11px;
    color: var(--je-text-muted);
    text-transform: uppercase;
    letter-spacing: .1em;
    margin-bottom: 6px;
}
.ps-post__title {
    font-family: var(--je-font-serif) !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    margin: 0 0 6px !important;
    letter-spacing: 0 !important;
}
.ps-post__title a { color: var(--je-text) !important; }
.ps-post__desc p { font-size: 13px; color: var(--je-text-soft); margin: 0; }

/* ─── 17. FICHA DE PROPIEDAD ─── */
.ps-page--single-property { background: var(--je-white) !important; padding-bottom: 48px; }
.ps-page--single-property .ps-page__header {
    padding: 20px 0 0 !important;
    background: var(--je-white) !important;
    border-bottom: none !important;
}

.ps-project--detail { background: transparent !important; border: none !important; padding: 0 !important; }
.ps-project--detail h1.ps-project__name,
.ps-page--single-property h1 {
    font-family: var(--je-font-serif) !important;
    font-size: 34px !important;
    font-weight: 500 !important;
    color: var(--je-text) !important;
    line-height: 1.15 !important;
    margin: 8px 0 8px !important;
    padding: 0 !important;
    letter-spacing: 0 !important;
}

.ps-project--detail .ps-project__price {
    font-family: var(--je-font-sans) !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    color: var(--je-text) !important;
    margin: 8px 0 0 !important;
    letter-spacing: -.01em;
    text-align: right;
}
.ps-project--detail .ps-project__price strong {
    color: var(--je-text) !important;
    font-weight: 700 !important;
}
.ps-project--detail .ps-project__price small {
    display: block;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase;
    color: var(--je-text-muted) !important;
    margin-bottom: 2px;
}
.ps-project--detail .ps-project__price span {
    font-weight: 400 !important;
}

/* Gallery */
.ps-project__gallery {
    background: var(--je-bg-soft);
    border-radius: var(--je-radius-card);
    overflow: hidden;
    margin-bottom: 24px;
}
.ps-project__gallery .ps-block--gallery-image {
    height: 520px !important;
    background: var(--je-bg-soft);
}
.ps-project__gallery .ps-block--gallery-image img {
    object-fit: cover !important;
    max-width: none !important;
    max-height: none !important;
    width: 100% !important;
    height: 100% !important;
}
/* Garantizar que las fotos se vean incluso si Owl no llega a inicializar */
.ps-project__gallery .ps-carousel.is-loading,
.ps-project__gallery .owl-slider.is-loading { opacity: 1 !important; }
.ps-project__gallery .owl-slider:not(.owl-loaded) { display: block; }
.ps-project__gallery .owl-slider:not(.owl-loaded) > div:not(:first-child) { display: none; }

/* Info sidebar */
.ps-project__information {
    border: 1px solid var(--je-border);
    border-radius: var(--je-radius-card);
    padding: 24px;
    background: var(--je-white);
}
.ps-project__meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 20px;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--je-border);
}
.ps-project__meta figure { margin: 0; padding: 0; }
.ps-project__meta figcaption {
    font-family: var(--je-font-sans) !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    color: var(--je-text-muted) !important;
    margin-bottom: 4px !important;
    display: block;
}
.ps-project__meta figure p {
    font-family: var(--je-font-sans) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: var(--je-text) !important;
    margin: 0 !important;
    line-height: 1.3 !important;
}

.ps-page--single-property .ps-project__services {
    display: flex !important;
    flex-wrap: wrap;
    gap: 6px 18px;
    padding: 0 !important;
    border: none !important;
    margin: 0 !important;
}
.ps-page--single-property .ps-project__services p {
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--je-font-sans) !important;
    font-size: 13px !important;
    color: var(--je-text) !important;
    font-weight: 500 !important;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.ps-page--single-property .ps-project__services i {
    font-size: 14px;
    color: var(--je-text-muted);
    margin-right: 4px;
}

/* Breadcrumb ficha */
.ps-page--single-property .breadcrumb {
    font-size: 11px !important;
    letter-spacing: .1em !important;
    text-transform: uppercase;
    color: var(--je-text-muted);
    padding: 0 !important;
    margin-bottom: 10px !important;
    background: transparent !important;
    display: flex;
    flex-wrap: wrap;
}
.ps-page--single-property .breadcrumb li,
.ps-page--single-property .breadcrumb li a {
    color: var(--je-text-muted) !important;
}
.ps-page--single-property .breadcrumb li:last-child {
    color: var(--je-text) !important;
    font-weight: 500;
}

/* Owl arrows */
.ps-project__gallery .owl-nav button {
    width: 40px !important;
    height: 40px !important;
    background: rgba(255,255,255,.9) !important;
    border-radius: 50% !important;
    border: 1px solid var(--je-border) !important;
    color: var(--je-text) !important;
}
.ps-project__gallery .owl-nav button:hover { background: var(--je-white) !important; }

/* Cuerpo de la ficha (descripción, features, contacto) */
.ps-project--features,
.ps-project--description,
.ps-project__features,
.ps-page--single-property .ps-block--project-info {
    background: var(--je-white);
    padding: 24px 0;
    border-top: 1px solid var(--je-border);
    margin-top: 24px;
}
.ps-page--single-property h2,
.ps-page--single-property h3,
.ps-page--single-property h4 {
    color: var(--je-text) !important;
    font-family: var(--je-font-serif) !important;
    letter-spacing: 0 !important;
}
.ps-page--single-property h2 { font-size: 26px !important; }
.ps-page--single-property h3 { font-size: 20px !important; }
.ps-page--single-property h4 { font-size: 16px !important; }
.ps-page--single-property p {
    font-size: 15px !important;
    line-height: 1.65 !important;
    color: var(--je-text-soft) !important;
}

/* Forzar botones JE-negros (más específico que .ps-page--inner de luxury-redesign) */
.ps-page--single-property .ps-btn,
.ps-page--single-property button[type="submit"],
.ps-page--single-property .lux-btn,
.ps-page--inner .ps-btn,
.ps-page--inner button.ps-btn,
body .ps-btn,
body button.ps-btn {
    background: var(--je-text) !important;
    color: var(--je-white) !important;
    border: 1px solid var(--je-text) !important;
    border-radius: var(--je-radius) !important;
    font-family: var(--je-font-sans) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: .06em !important;
    text-transform: none !important;
    box-shadow: none !important;
}
body .ps-page--inner .ps-btn:hover,
body .ps-btn:hover { background: #000 !important; color: var(--je-white) !important; border-color: #000 !important; }
.ps-page--single-property .ps-btn:hover,
.ps-page--single-property button[type="submit"]:hover,
.ps-btn:hover { background: #000 !important; color: var(--je-white) !important; }

/* Labels inputs en la ficha/contacto */
.ps-page--single-property .ps-form label,
.ps-page--single-property .form-control,
.ps-form--contact-us .form-control {
    font-family: var(--je-font-sans) !important;
    font-size: 14px !important;
    color: var(--je-text) !important;
}
.ps-page--single-property .ps-form label {
    color: var(--je-text-muted) !important;
    font-size: 13px !important;
}

/* Tabla de características */
.ps-project__features,
.ps-page--single-property table,
.ps-page--single-property .features-list {
    border: 1px solid var(--je-border);
    border-radius: var(--je-radius-card);
}
.ps-page--single-property .features-list > div,
.ps-page--single-property .caracteristicas-item,
.ps-page--single-property .feature-row {
    border-bottom: 1px solid var(--je-border);
    padding: 14px 18px;
}
.ps-page--single-property .feature-row:last-child { border-bottom: none; }

/* ─── 18. PÁGINA EQUIPO ─── */
.ps-page__header:not(.d-none) {
    background: var(--je-white) !important;
    padding: 36px 0 18px !important;
    border-bottom: 1px solid var(--je-border) !important;
    color: var(--je-text) !important;
    text-align: center;
}
.ps-page__header .ps-page__heading,
.ps-page__header h1 {
    font-family: var(--je-font-serif) !important;
    font-size: 40px !important;
    color: var(--je-text) !important;
    text-align: center;
    margin: 0 0 8px !important;
}
.ps-team-section {
    background: var(--je-white) !important;
    padding: 56px 0 !important;
}
.ps-team {
    /* El template usa Bootstrap col-lg-3 dentro, no forzamos grid CSS aquí */
}
.ps-team .row { margin: 0 -12px; }
.ps-team .row > [class*="col-"] { padding: 0 12px; margin-bottom: 32px; }
.ps-team-member {
    text-align: center;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}
.ps-team-member__photo {
    width: 150px;
    height: 150px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto 16px;
    background: var(--je-bg-soft);
    box-shadow: 0 2px 10px rgba(0,0,0,.06);
}
.ps-team-member__photo img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
}
@media (max-width: 992px) {
    .ps-team-member__photo { width: 130px; height: 130px; }
}
@media (max-width: 640px) {
    .ps-team-member__photo { width: 110px; height: 110px; }
}
.ps-team-member__name {
    font-family: var(--je-font-serif) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--je-text) !important;
    margin: 0 0 2px !important;
    letter-spacing: 0 !important;
    line-height: 1.25 !important;
}
.ps-team-member__position {
    font-family: var(--je-font-sans) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
    color: var(--je-text-muted) !important;
    margin: 0 0 10px !important;
}
.ps-team-member__social {
    display: flex;
    gap: 8px;
    justify-content: center;
}
.ps-team-member__social a {
    width: 32px; height: 32px;
    border: 1px solid var(--je-border);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--je-text-muted);
}
.ps-team-member__social a:hover { color: var(--je-text); border-color: var(--je-text); }

@media (max-width: 992px) { .ps-team { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px) { .ps-team { grid-template-columns: repeat(2, 1fr); } }

/* ─── 19. CONTACTO / FORMS en general ─── */
.ps-form--contact-us,
.ps-form {
    background: transparent !important;
}
.ps-page--inner .ps-block--contact-offices {
    background: var(--je-bg-soft);
    padding: 28px;
    border-radius: var(--je-radius-card);
}
.ps-page--inner .ps-block--contact-offices figcaption,
.ps-page--inner .ps-block--contact-offices h3 {
    font-family: var(--je-font-serif) !important;
    font-size: 24px !important;
    color: var(--je-text) !important;
    margin-bottom: 12px !important;
}
.ps-page--inner .ps-block--contact-offices p {
    color: var(--je-text-soft) !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
}

/* Inputs underline (uniformes) */
.ps-form--contact-us .ps-form.underline input.form-control,
.ps-form--contact-us .ps-form.underline textarea.form-control {
    border: none !important;
    border-bottom: 1px solid var(--je-border) !important;
    border-radius: 0 !important;
    background: transparent !important;
    padding: 20px 0 10px !important;
    height: auto !important;
    box-shadow: none !important;
}
.ps-form--contact-us .ps-form.underline input.form-control:focus,
.ps-form--contact-us .ps-form.underline textarea.form-control:focus {
    border-bottom-color: var(--je-text) !important;
    outline: none;
}

/* H1 de cualquier página inner */
.ps-page--inner .ps-page__heading,
.ps-page--inner h1 {
    color: var(--je-text) !important;
    font-family: var(--je-font-serif) !important;
}

/* ─── 20. JOURNAL (Stories-style) ─── */
.journal { background: var(--je-white); }
.journal__container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 28px;
}

/* Masthead */
.journal__masthead {
    padding: 80px 0 24px;
    text-align: center;
    border-bottom: 1px solid var(--je-border);
}
.journal__brand {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--je-text-muted);
    margin: 0 0 8px;
}
.journal__title {
    font-family: 'Inter', 'Open Sans', sans-serif !important;
    font-size: 56px !important;
    font-weight: 400 !important;
    letter-spacing: -.01em !important;
    color: var(--je-text) !important;
    margin: 0 0 20px !important;
    line-height: 1 !important;
}
.journal__cats {
    display: flex;
    justify-content: center;
    gap: 22px;
    flex-wrap: wrap;
    padding-top: 20px;
    margin-top: 24px;
    border-top: 1px solid var(--je-border-soft);
}
.journal__cats a {
    font-size: 13px;
    font-weight: 500;
    color: var(--je-text-muted);
    text-transform: none;
    letter-spacing: 0;
    padding: 6px 4px;
    position: relative;
}
.journal__cats a.is-active,
.journal__cats a:hover { color: var(--je-text); text-decoration: none; }
.journal__cats a.is-active::after {
    content: '';
    position: absolute;
    left: 0; right: 0;
    bottom: -2px;
    height: 1px;
    background: var(--je-text);
}

/* Hero featured */
.journal__hero { padding: 48px 0 24px; }
.journal__hero-grid {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 40px;
    align-items: center;
    text-decoration: none !important;
}
.journal__hero-grid:hover .journal__hero-image img { transform: scale(1.02); }
.journal__hero-text { padding: 0 8px 0 0; }
.journal__badge {
    display: inline-block;
    padding: 5px 10px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--je-white);
    background: var(--je-text);
    border-radius: 2px;
    margin-bottom: 14px;
}
.journal__hero-title {
    font-family: 'Inter', sans-serif !important;
    font-size: 36px !important;
    font-weight: 500 !important;
    color: var(--je-text) !important;
    line-height: 1.15 !important;
    margin: 0 0 14px !important;
    letter-spacing: -.01em !important;
}
.journal__hero-excerpt {
    font-size: 15px;
    line-height: 1.6;
    color: var(--je-text-soft);
    margin: 0 0 16px;
    max-width: 54ch;
}
.journal__hero-meta {
    font-size: 12px;
    color: var(--je-text-muted);
    letter-spacing: .04em;
    text-transform: uppercase;
    margin: 0 0 16px;
}
.journal__read {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    color: var(--je-text);
    border-bottom: 1px solid var(--je-text);
    padding-bottom: 2px;
}
.journal__hero-image {
    aspect-ratio: 4/3;
    overflow: hidden;
    border-radius: 2px;
}
.journal__hero-image img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .6s ease;
}
@media (max-width: 900px) {
    .journal__hero-grid { grid-template-columns: 1fr; gap: 22px; }
    .journal__hero-title { font-size: 28px !important; }
}

/* Newsletter */
.journal__newsletter { padding: 28px 0 44px; }
.journal__newsletter-box {
    background: #F1EFEA;
    border-radius: 6px;
    padding: 32px 36px;
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 28px;
    align-items: center;
}
.journal__newsletter h3 {
    font-family: 'Inter', sans-serif !important;
    font-size: 22px !important;
    font-weight: 500 !important;
    color: var(--je-text) !important;
    margin: 0 0 6px !important;
}
.journal__newsletter p {
    margin: 0;
    color: var(--je-text-soft);
    font-size: 14px;
    line-height: 1.5;
}
.journal__newsletter-form {
    display: flex;
    gap: 8px;
    background: var(--je-white);
    border-radius: 999px;
    padding: 6px 6px 6px 18px;
    border: 1px solid var(--je-border);
}
.journal__newsletter-form input {
    flex: 1;
    border: none;
    background: transparent;
    padding: 10px 6px;
    font-size: 14px;
    outline: none;
}
.journal__newsletter-form button {
    background: var(--je-text);
    color: var(--je-white);
    border: none;
    border-radius: 999px;
    padding: 10px 20px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}
.journal__newsletter-form button:hover { background: #000; }
@media (max-width: 720px) {
    .journal__newsletter-box { grid-template-columns: 1fr; padding: 22px; }
}

/* Grid of cards */
.journal__grid-section { padding: 0 0 72px; }
.journal__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 36px 24px;
}
@media (max-width: 1100px) { .journal__grid { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 760px)  { .journal__grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 480px)  { .journal__grid { grid-template-columns: 1fr; } }

.journal__card { background: var(--je-white); }
.journal__card-thumb {
    display: block;
    aspect-ratio: 4/3;
    overflow: hidden;
    margin-bottom: 12px;
    border-radius: 2px;
}
.journal__card-thumb img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}
.journal__card:hover .journal__card-thumb img { transform: scale(1.04); }
.journal__card-cat {
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--je-text-muted);
    margin-bottom: 6px;
}
.journal__card-title {
    font-family: 'Inter', sans-serif !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    color: var(--je-text) !important;
    margin: 0 0 6px !important;
    line-height: 1.3 !important;
    letter-spacing: -.005em !important;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.journal__card-title a { color: inherit !important; text-decoration: none !important; }
.journal__card-title a:hover { text-decoration: underline !important; }
.journal__card-meta {
    font-size: 12px;
    color: var(--je-text-muted);
    margin: 0;
    letter-spacing: .02em;
}

/* ─── 21. ARTÍCULO (single post) ─── */
.article { background: var(--je-white); color: var(--je-text); }
.article__header {
    padding: 50px 24px 20px;
    text-align: center;
    max-width: 900px;
    margin: 0 auto;
}
.article__cat {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--je-text-muted);
    margin-bottom: 14px;
}
.article__title {
    font-family: 'Inter', sans-serif !important;
    font-size: 44px !important;
    font-weight: 500 !important;
    line-height: 1.12 !important;
    color: var(--je-text) !important;
    margin: 0 auto 16px !important;
    letter-spacing: -.015em !important;
    max-width: 20ch;
}
.article__meta {
    font-size: 12px;
    color: var(--je-text-muted);
    letter-spacing: .04em;
    text-transform: uppercase;
    margin: 0 0 18px;
}
.article__hero {
    max-width: 1280px;
    margin: 0 auto 48px;
    padding: 0 24px;
}
.article__hero img {
    width: 100%;
    max-height: 680px;
    object-fit: cover;
    border-radius: 2px;
    display: block;
}
.article__layout {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 24px 60px;
    position: relative;
}
.article__share {
    position: sticky;
    top: 120px;
    float: left;
    margin-left: -90px;
    width: 48px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    z-index: 1;
}
.article__share a {
    width: 40px; height: 40px;
    border: 1px solid var(--je-border);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--je-text-muted);
    background: var(--je-white);
    font-size: 15px;
}
.article__share a:hover { color: var(--je-text); border-color: var(--je-text); }

.article__body {
    font-family: 'Inter', sans-serif !important;
    font-size: 17px !important;
    line-height: 1.75 !important;
    color: var(--je-text) !important;
    max-width: 68ch;
    margin: 0 auto;
}
.article__body p { font-size: 17px; line-height: 1.75; color: var(--je-text); margin: 0 0 1.3em; }
.article__body h2 {
    font-family: 'Inter', sans-serif !important;
    font-size: 26px !important;
    font-weight: 500 !important;
    letter-spacing: -.01em !important;
    color: var(--je-text) !important;
    margin: 52px 0 18px !important;
    line-height: 1.2 !important;
}
.article__body h3 {
    font-family: 'Inter', sans-serif !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    color: var(--je-text) !important;
    margin: 36px 0 12px !important;
}
.article__body blockquote {
    border-left: 3px solid var(--je-text);
    padding: 4px 0 4px 22px;
    margin: 36px 0;
    font-size: 20px;
    line-height: 1.5;
    color: var(--je-text);
    font-style: italic;
}
.article__body img,
.article__body figure img {
    width: 100%;
    height: auto;
    margin: 30px 0;
    border-radius: 2px;
}
.article__body figcaption {
    font-size: 12px;
    color: var(--je-text-muted);
    margin-top: -18px;
    margin-bottom: 30px;
    text-align: center;
    font-style: italic;
}
.article__body ul, .article__body ol {
    padding-left: 1.4em;
    margin: 0 0 1.3em;
}
.article__body li { margin-bottom: .4em; }
.article__body a { color: var(--je-text); border-bottom: 1px solid var(--je-border); }
.article__body a:hover { border-bottom-color: var(--je-text); text-decoration: none; }

.article__footer-newsletter {
    background: #F1EFEA;
    margin: 60px auto 0;
    padding: 40px 36px;
    max-width: 900px;
    border-radius: 4px;
    text-align: center;
}
.article__footer-newsletter h3 {
    font-size: 24px !important;
    font-weight: 500 !important;
    margin: 0 0 10px !important;
}
.article__footer-newsletter p { margin: 0 0 20px; color: var(--je-text-soft); }

.article__related { padding: 60px 0; background: var(--je-bg-soft); }
.article__related h2 {
    font-family: 'Inter', sans-serif !important;
    font-size: 24px !important;
    font-weight: 500 !important;
    text-align: center;
    margin-bottom: 28px !important;
}
.article__related .journal__grid { max-width: 1200px; margin: 0 auto; padding: 0 24px; grid-template-columns: repeat(3, 1fr); }

/* ─── 21.5 FILTER BAR PREMIUM (pills JE) ─── */
.je-filterbar {
    width: 100%;
    max-width: 1680px;
    margin: 0 auto;
    padding: 0;
}
.je-filterbar__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.je-pill {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0;
    height: 42px;
    padding: 4px 36px 4px 14px;
    border: 1px solid var(--je-border);
    border-radius: 999px;
    background: #ffffff;
    cursor: pointer;
    transition: border-color .15s, background .15s, box-shadow .15s;
    min-width: 0;
    font-family: 'Inter', sans-serif !important;
}
.je-pill:hover { border-color: var(--je-text); }
.je-pill:focus-within {
    border-color: var(--je-text);
    box-shadow: 0 0 0 3px rgba(0,0,0,.06);
    outline: none;
}

.je-pill__label {
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--je-text-muted);
    line-height: 1;
    margin-right: 8px;
    white-space: nowrap;
}
.je-pill select,
.je-pill input {
    border: none;
    background: transparent;
    outline: none;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--je-text) !important;
    font-family: inherit !important;
    padding: 0;
    min-width: 60px;
    max-width: 150px;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}
.je-pill input { cursor: text; }
.je-pill input::placeholder { color: var(--je-text-muted); font-weight: 500; }
.je-pill--wide select,
.je-pill--wide input { max-width: 180px; }

.je-pill__chev {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--je-text-muted);
    pointer-events: none;
}

/* Toggle chips (checkboxes) */
.je-toggle {
    position: relative;
    display: inline-flex;
    align-items: center;
    height: 42px;
    padding: 0 16px;
    border: 1px solid var(--je-border);
    border-radius: 999px;
    background: #ffffff;
    cursor: pointer;
    transition: background .15s, border-color .15s, color .15s;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--je-text) !important;
    user-select: none;
}
.je-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.je-toggle:hover { border-color: var(--je-text); }
.je-toggle:has(input:checked),
.je-toggle input:checked ~ span {
    /* Fallback si :has no soportado */
}
.je-toggle input:checked + span { color: #ffffff; }
.je-toggle:has(input:checked) {
    background: var(--je-text);
    border-color: var(--je-text);
    color: #ffffff !important;
}

/* Botones acción */
.je-filterbar__clear,
.je-filterbar__submit {
    height: 42px;
    padding: 0 22px;
    border-radius: 999px;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer;
    transition: background .15s, border-color .15s, color .15s;
    border: 1px solid var(--je-border);
    background: #ffffff;
    color: var(--je-text);
    margin-left: auto;
}
.je-filterbar__clear:hover { border-color: var(--je-text); }
.je-filterbar__submit {
    background: var(--je-text);
    color: #ffffff;
    border-color: var(--je-text);
    margin-left: 4px;
}
.je-filterbar__submit:hover { background: #000; border-color: #000; }

@media (max-width: 720px) {
    .je-pill,
    .je-toggle { height: 38px; }
    .je-pill { padding: 4px 30px 4px 12px; }
    .je-pill__label { font-size: 10px !important; margin-right: 6px; }
    .je-pill select, .je-pill input { font-size: 12px !important; max-width: 110px; }
    .je-filterbar__clear, .je-filterbar__submit { height: 38px; padding: 0 16px; }
}

/* ─── 21.6 TITLE BAR del listing (más aire + sort bien) ─── */
.je-listings-header {
    position: sticky;
    top: 0;
    z-index: 40;
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--je-border);
    padding: 12px 0;
}
.je-listings-header__inner {
    max-width: 1680px;
    margin: 0 auto;
    padding: 0 28px;
}

/* Cuando ya existe je-topbar sticky, ajustar offset para no superponer */
body:not(.page-home) .je-listings-header { top: 78px; }

/* ─── 22. LISTINGS: split list + map (JE Spain style) ─── */
.je-listings-page { background: var(--je-white); }
.je-listings-header {
    border-bottom: 1px solid var(--je-border);
    padding: 14px 0;
    background: var(--je-white);
    position: sticky;
    top: 72px;
    z-index: 40;
}
.je-listings-header__inner {
    max-width: 1680px;
    margin: 0 auto;
    padding: 0 28px;
}
.je-listings-titlebar {
    padding: 22px 0 10px;
    background: var(--je-white);
    border-bottom: 1px solid var(--je-border-soft);
}
.je-listings-titlebar__inner {
    max-width: 1680px;
    margin: 0 auto;
    padding: 0 28px;
}
.je-listings-titlebar .ps-page__heading {
    font-size: 30px !important;
    margin: 4px 0 4px !important;
    font-weight: 600 !important;
}
.je-listings-count {
    font-size: 13px;
    color: var(--je-text-muted);
    margin: 0 0 8px !important;
}
.je-listings-count strong {
    color: var(--je-text);
    font-weight: 600;
    margin-right: 4px;
}

/* Split */
.je-listings-split {
    max-width: 1680px;
    margin: 0 auto;
    padding: 0 28px 60px;
    display: grid;
    grid-template-columns: 1fr 460px;
    gap: 28px;
}
.je-listings-list { min-width: 0; }
.je-listings-sort { padding: 12px 0; display: flex; justify-content: flex-end; }
.je-listings-cards {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Map sticky */
.je-listings-map { }
.je-listings-map__sticky {
    position: sticky;
    top: 160px;
    height: calc(100vh - 180px);
    min-height: 560px;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid var(--je-border);
}
.je-listings-map__canvas {
    width: 100%;
    height: 100%;
    background: #E9E6DC;
}
.je-listings-map__search-cta {
    position: absolute;
    top: 16px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--je-text);
    color: var(--je-white);
    border: none;
    border-radius: 999px;
    padding: 10px 18px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(0,0,0,.18);
    z-index: 400;
}

@media (max-width: 1200px) {
    .je-listings-split { grid-template-columns: 1fr 360px; }
}
@media (max-width: 960px) {
    .je-listings-split { grid-template-columns: 1fr; }
    .je-listings-map { display: none; }
}

/* ─── 23.0 PROPERTY CARD (vertical, compacto) ─── */
.property-card {
    width: 100%;
    max-width: 340px;
    background: #ffffff;
    border-radius: 6px;
    box-shadow: 0 1px 2px rgba(0,0,0,.06);
    overflow: hidden;
    font-family: 'Inter', 'Open Sans', -apple-system, "Segoe UI", sans-serif !important;
    transition: box-shadow .2s ease, transform .2s ease;
    color: #1a1a1a;
    margin: 0 auto;
}
.property-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
    transform: translateY(-2px);
}
.property-card__link {
    display: block;
    text-decoration: none !important;
    color: inherit !important;
}

/* Media (square) */
.property-card .card-media {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    background: #f2f2f0;
    overflow: hidden;
}
.property-card .card-media > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .5s ease;
}
.property-card:hover .card-media > img { transform: scale(1.03); }

.property-card .card-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 3;
    background: #ffffff;
    color: #1a1a1a;
    padding: 5px 10px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
    box-shadow: 0 1px 2px rgba(0,0,0,.1);
    letter-spacing: 0;
}

.property-card .card-fav {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 3;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #ffffff;
    border: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #1a1a1a;
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(0,0,0,.12);
    transition: background .2s, transform .2s;
    padding: 0;
}
.property-card .card-fav svg { width: 16px !important; height: 16px !important; }
.property-card .card-fav:hover { background: #f5f5f5; }
.property-card .card-fav.is-active { color: #e63946; }
.property-card .card-fav.is-active svg { fill: #e63946; }
.property-card .card-fav svg { display: block; width: 20px; height: 20px; }

.property-card .card-counter {
    position: absolute;
    bottom: 12px;
    right: 12px;
    z-index: 3;
    background: rgba(0,0,0,.65);
    color: #ffffff;
    padding: 4px 9px;
    border-radius: 3px;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0;
}

/* Body */
.property-card .card-body {
    padding: 14px 14px 16px 14px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.property-card .card-price-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}
.property-card .card-price {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    line-height: 1.1;
    letter-spacing: -.01em;
}
.property-card .card-contact {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    font-weight: 500;
    color: #1a1a1a !important;
    cursor: pointer;
    text-decoration: none !important;
    line-height: 1;
}
.property-card .card-contact:hover { text-decoration: underline !important; }
.property-card .card-contact svg { display: block; width: 14px; height: 14px; }

.property-card .card-specs {
    font-size: 13px !important;
    color: #1a1a1a !important;
    font-weight: 400 !important;
    margin: 2px 0 0 !important;
    line-height: 1.35;
}
.property-card .card-location {
    font-size: 12px !important;
    color: #6b6b6b !important;
    margin: 2px 0 0 !important;
    line-height: 1.35;
}

/* Footer/divider ya no aplica — elementos ocultos si quedaron */
.property-card .card-divider,
.property-card .card-footer { display: none !important; }

/* Divider */
.property-card .card-divider {
    height: 1px;
    background: #e5e5e5;
    margin: 16px 20px 0 20px;
}

/* Footer */
.property-card .card-footer {
    padding: 16px 20px 20px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}
.property-card .card-ref {
    font-size: 13px;
    color: #6b6b6b;
    letter-spacing: .02em;
}
.property-card .card-agent {
    display: flex;
    align-items: center;
    gap: 12px;
}
.property-card .card-agent-name {
    font-size: 15px;
    color: #1a1a1a;
    font-weight: 500;
    line-height: 1.2;
}
.property-card .card-agent-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
    background: #f2f2f0;
    border: 1px solid #e5e5e5;
}

@media (max-width: 480px) {
    .property-card .card-body,
    .property-card .card-footer { padding-left: 16px; padding-right: 16px; }
    .property-card .card-divider { margin-left: 16px; margin-right: 16px; }
    .property-card .card-price { font-size: 22px !important; }
    .property-card .card-specs { font-size: 15px !important; }
}

/* Grid wrapper full-width (3 cols desktop, sin mapa) */
.je-listings-fullwidth {
    max-width: 1680px;
    margin: 0 auto;
    padding: 0 28px 60px;
}
.je-listings-cards {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 22px 20px !important;
    flex-direction: unset !important;
}
.je-listings-cards .property-card { max-width: none; }
@media (max-width: 1280px) {
    .je-listings-cards { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 980px) {
    .je-listings-cards { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 620px) {
    .je-listings-cards { grid-template-columns: 1fr !important; }
}

/* Kill hamburgers en desktop en todo el sitio */
.header--mobile,
.je-burger,
.nav-burger,
.header__menu-toggle,
.ps-toggle-drawer {
    display: none !important;
}
@media (max-width: 820px) {
    .header--mobile { display: flex !important; }
    .je-burger,
    .nav-burger,
    .header__menu-toggle,
    .ps-toggle-drawer { display: inline-flex !important; }
}

/* ─── 23. JE CARD HORIZONTAL (spain-style real) ─── */
.je-card {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) 1.2fr;
    gap: 0;
    background: var(--je-white);
    border: none;
    border-radius: 0;
    overflow: hidden;
    transition: box-shadow .2s;
    min-height: 360px;
}
.je-card:hover {
    box-shadow: 0 6px 24px rgba(0,0,0,.08);
}

/* Columna izq: media */
.je-card__media {
    position: relative;
    display: grid;
    grid-template-rows: 1fr auto;
    gap: 4px;
    background: var(--je-bg-soft);
    text-decoration: none !important;
    overflow: hidden;
}
.je-card__media-main {
    position: relative;
    aspect-ratio: 4/3;
    overflow: hidden;
    background: var(--je-bg-soft);
}
.je-card__media-main > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .5s ease;
}
.je-card:hover .je-card__media-main > img { transform: scale(1.03); }

.je-card__media-thumbs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
    height: 90px;
    flex-shrink: 0;
}
.je-card__media-thumbs img,
.je-card__media-thumb-empty {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    background: var(--je-bg-soft);
}

.je-card__badges {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 3;
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
}
.je-card__badge {
    display: inline-block;
    padding: 5px 11px;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0;
    color: var(--je-text);
    background: rgba(255,255,255,.95);
    border-radius: 3px;
    text-transform: none;
}
.je-card__badge--promo {
    background: var(--je-text);
    color: var(--je-white);
}

.je-card__fav {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 3;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(255,255,255,.95);
    border: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--je-text);
    cursor: pointer;
    transition: background .2s, transform .2s;
}
.je-card__fav:hover { background: #fff; transform: scale(1.06); }
.je-card__fav.is-active { color: #e0245e; }
.je-card__fav i { font-size: 15px; }

.je-card__photo-counter {
    position: absolute;
    bottom: 10px;
    right: 10px;
    z-index: 3;
    background: rgba(0,0,0,.7);
    color: var(--je-white);
    font-size: 12px;
    font-weight: 500;
    padding: 4px 9px;
    border-radius: 3px;
}

/* Columna der: info */
.je-card__info {
    display: flex;
    flex-direction: column;
    min-width: 0;
    background: var(--je-white);
}
.je-card__info-top {
    background: #F1F3F5;
    padding: 18px 22px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}
.je-card__info-top-left { flex: 1; min-width: 0; }
.je-card__price {
    font-family: 'Inter', sans-serif !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    color: var(--je-text) !important;
    margin: 0 0 6px !important;
    line-height: 1.1 !important;
    letter-spacing: -.01em;
}
.je-card__price-period { font-weight: 400; font-size: 13px; color: var(--je-text-muted); }
.je-card__specs {
    font-size: 14px !important;
    color: var(--je-text) !important;
    margin: 0 0 4px !important;
    font-weight: 400 !important;
}
.je-card__location {
    font-size: 13px !important;
    color: #6B5F7A !important;
    margin: 0 !important;
    line-height: 1.35;
}
.je-card__contact {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0;
    font-size: 14px;
    font-weight: 500;
    color: var(--je-text) !important;
    border: none;
    background: transparent;
    text-decoration: none !important;
}
.je-card__contact:hover { color: #000 !important; }
.je-card__contact i { font-size: 14px; }

/* Bottom section */
.je-card__info-bottom {
    padding: 14px 22px 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
    background: var(--je-white);
}

/* Chips con iconos */
.je-card__chips {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px 10px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}
.je-card__chips li {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--je-text);
    padding: 0;
    background: transparent;
    border-radius: 0;
    letter-spacing: 0;
    font-weight: 400;
}
.je-card__chips li i {
    font-size: 12px;
    color: var(--je-text-muted);
    width: 14px;
    display: inline-block;
    text-align: center;
}

.je-card__desc {
    font-size: 13px !important;
    color: var(--je-text-soft) !important;
    line-height: 1.55 !important;
    margin: 4px 0 0 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.je-card__agency {
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid var(--je-border-soft);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.je-card__agency-block {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
.je-card__agency-logo {
    height: 32px;
    width: auto;
    max-width: 100px;
    object-fit: contain;
    display: block;
}
.je-card__agency-name {
    font-size: 12px;
    font-weight: 600;
    color: var(--je-text);
    letter-spacing: .02em;
}
.je-card__ref {
    font-size: 11px;
    color: var(--je-text-muted);
}

/* Responsive card */
@media (max-width: 980px) {
    .je-card { grid-template-columns: 1fr; }
    .je-card__media-thumbs { display: none; }
    .je-card__info-top { padding: 16px 18px; }
    .je-card__info-bottom { padding: 14px 18px 16px; }
    .je-card__chips { grid-template-columns: repeat(3, 1fr); }
}

/* Deshabilitar el viejo ps-grid en las páginas que migran al nuevo layout */
.je-listings-page .ps-grid,
.je-listings-page .ps-projects { display: block !important; }
@media (max-width: 1100px) { .article__related .journal__grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 640px)  { .article__related .journal__grid { grid-template-columns: 1fr; } }

@media (max-width: 980px) {
    .article__title { font-size: 32px !important; }
    .article__share { position: static; float: none; width: auto; flex-direction: row; margin: 0 0 20px; justify-content: center; }
}

/* =========================================================================
   JE FICHA DE PROPIEDAD — clon de jamesedition.com/real_estate/[...]
   ========================================================================= */

.je-ficha,
.je-ficha * {
    box-sizing: border-box;
}
.je-ficha {
    background: var(--je-white);
    color: var(--je-text);
    font-family: var(--je-font-sans);
    -webkit-font-smoothing: antialiased;
}
.je-ficha__container {
    max-width: var(--je-container);
    margin: 0 auto;
    padding: 0 24px;
}

/* ---- Top bar: breadcrumb + acciones ---- */
.je-ficha__topbar {
    border-bottom: 1px solid var(--je-border);
    background: #fff;
    padding: 14px 0;
}
.je-ficha__topbar .je-ficha__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.je-ficha__breadcrumb {
    font-size: 13px;
    color: var(--je-text-muted);
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    letter-spacing: .01em;
}
.je-ficha__breadcrumb a {
    color: var(--je-text-muted);
    text-decoration: none;
    transition: color .15s ease;
}
.je-ficha__breadcrumb a:hover { color: var(--je-text); text-decoration: underline; }
.je-ficha__bc-sep { opacity: .55; font-size: 12px; }

.je-ficha__actions {
    display: inline-flex;
    gap: 8px;
    flex-shrink: 0;
}
.je-ficha__action {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 36px;
    padding: 0 14px;
    background: #fff;
    border: 1px solid var(--je-border);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 500;
    color: var(--je-text);
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease;
}
.je-ficha__action:hover { background: var(--je-bg-soft); border-color: #d0d0d0; }
.je-ficha__action svg { flex-shrink: 0; }

/* ---- Galería hero mosaico ---- */
.je-ficha__gallery { padding: 20px 0 8px; }
.je-gallery-grid {
    position: relative;
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 6px;
    height: 540px;
    border-radius: var(--je-radius-card);
    overflow: hidden;
}
.je-gallery__main,
.je-gallery__thumb {
    display: block;
    position: relative;
    overflow: hidden;
    background: var(--je-bg-soft);
    cursor: zoom-in;
}
.je-gallery__main {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
}
.je-gallery__thumb--1 { grid-column: 2 / 3; grid-row: 1 / 2; }
.je-gallery__thumb--2 { grid-column: 3 / 4; grid-row: 1 / 2; }
.je-gallery__thumb--3 { grid-column: 2 / 3; grid-row: 2 / 3; }
.je-gallery__thumb--4 { grid-column: 3 / 4; grid-row: 2 / 3; }
.je-gallery__main img,
.je-gallery__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}
.je-gallery__main:hover img,
.je-gallery__thumb:hover img { transform: scale(1.03); }

.je-gallery__all {
    position: absolute;
    right: 18px;
    bottom: 18px;
    height: 40px;
    padding: 0 18px;
    background: #fff;
    border: 1px solid var(--je-border);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    color: var(--je-text);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 2px 12px rgba(0,0,0,.12);
    transition: transform .15s ease, box-shadow .15s ease;
}
.je-gallery__all:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(0,0,0,.16);
}

/* ---- Cuerpo principal: 2 columnas ---- */
.je-ficha__body { padding: 40px 0 60px; }
.je-ficha__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 60px;
    align-items: flex-start;
}

.je-ficha__main { min-width: 0; }

/* ---- Encabezado título + precio ---- */
.je-ficha__header {
    padding-bottom: 28px;
    border-bottom: 1px solid var(--je-border);
    margin-bottom: 28px;
}
.je-ficha__price-row {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 10px;
}
.je-ficha__price {
    font-size: 30px;
    font-weight: 700;
    color: var(--je-text);
    letter-spacing: -.01em;
    font-family: var(--je-font-sans) !important;
}
.je-ficha__price-label {
    font-size: 13px;
    color: var(--je-text-muted);
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 500;
}
.je-ficha__title {
    font-family: var(--je-font-sans) !important;
    font-size: 34px;
    line-height: 1.18;
    font-weight: 600;
    color: var(--je-text);
    margin: 0 0 16px;
    letter-spacing: -.01em;
}
.je-ficha__specs {
    list-style: none;
    padding: 0;
    margin: 0 0 14px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 20px;
    font-size: 14px;
    color: var(--je-text-soft);
}
.je-ficha__specs li {
    position: relative;
    padding-right: 20px;
}
.je-ficha__specs li:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--je-text-muted);
    opacity: .5;
}
.je-ficha__loc {
    font-size: 15px;
    color: var(--je-text-muted);
    margin: 0;
}

/* ---- Secciones ---- */
.je-ficha__section {
    padding: 28px 0;
    border-bottom: 1px solid var(--je-border);
}
.je-ficha__section:last-child { border-bottom: 0; }
.je-ficha__h2 {
    font-family: var(--je-font-sans) !important;
    font-size: 22px;
    font-weight: 600;
    color: var(--je-text);
    margin: 0 0 20px;
    letter-spacing: -.005em;
}

/* Descripción con clamp */
.je-ficha__desc {
    font-size: 15px;
    line-height: 1.75;
    color: var(--je-text-soft);
    white-space: pre-wrap;
}
.je-ficha__desc.is-clamped {
    max-height: 320px;
    overflow: hidden;
    position: relative;
    mask-image: linear-gradient(180deg, #000 70%, transparent 100%);
    -webkit-mask-image: linear-gradient(180deg, #000 70%, transparent 100%);
}
.je-ficha__toggle,
.je-ficha__toggle-features {
    margin-top: 14px;
    background: transparent;
    border: 0;
    padding: 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--je-text);
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.je-ficha__toggle:hover,
.je-ficha__toggle-features:hover { opacity: .7; }

/* Meta grid (property attrs) */
.je-ficha__meta-grid {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px 28px;
}
.je-ficha__meta-grid--compact {
    grid-template-columns: repeat(2, 1fr);
}
.je-ficha__meta-grid li {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.je-ficha__meta-grid h4 {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--je-text-muted);
    margin: 0;
}
.je-ficha__meta-grid p {
    font-size: 15px;
    color: var(--je-text);
    margin: 0;
    font-weight: 500;
}

/* Características (lista con check) */
.je-ficha__features {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px 28px;
}
.je-ficha__features li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    color: var(--je-text-soft);
    line-height: 1.4;
}
.je-ficha__features li.is-extra { display: none; }
.je-ficha__features.is-open li.is-extra { display: flex; }
.je-ficha__features li svg {
    flex-shrink: 0;
    margin-top: 2px;
    color: var(--je-text);
    opacity: .55;
}
.je-ficha__features strong {
    font-weight: 600;
    color: var(--je-text);
    margin-right: 4px;
}

/* Equipamiento chips */
.je-ficha__chips {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.je-ficha__chips li {
    display: inline-flex;
    align-items: center;
    height: 34px;
    padding: 0 14px;
    background: var(--je-chip-bg);
    border-radius: 999px;
    font-size: 13px;
    color: var(--je-text);
    font-weight: 500;
    letter-spacing: .01em;
}

/* Mapa */
.je-ficha__addr {
    font-size: 14px;
    color: var(--je-text-soft);
    margin: 0 0 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.je-ficha__addr a {
    color: var(--je-text);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.je-ficha__map {
    border-radius: var(--je-radius-card);
    overflow: hidden;
    border: 1px solid var(--je-border);
}
.je-ficha__map iframe { display: block; width: 100%; }

/* Video */
.je-ficha__video { border-radius: var(--je-radius-card); overflow: hidden; }

/* ---- Sidebar derecho (sticky) ---- */
.je-ficha__aside {
    position: sticky;
    top: 90px;
    align-self: flex-start;
}
/* wrapper legacy (si todavía alguien lo usa) */
.je-ficha__aside-inner {
    background: #fff;
    border: 1px solid var(--je-border);
    border-radius: var(--je-radius-card);
    padding: 22px;
    box-shadow: 0 1px 4px rgba(0,0,0,.03);
}
/* si la sidebar tiene .je-inquiry dentro, quitamos el doble marco */
.je-ficha__aside > .je-inquiry { margin: 0; }
/* Ajustar el mas-info embebido */
.je-ficha__aside-inner .ps-widget--project {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}
.je-ficha__aside-inner .ps-widget__heading {
    font-family: var(--je-font-sans) !important;
    font-size: 17px;
    font-weight: 600;
    color: var(--je-text);
    margin: 0 0 16px;
    text-transform: none;
    letter-spacing: -.005em;
}
.je-ficha__aside-inner .ps-widget__heading span {
    color: var(--je-text);
    font-weight: 700;
}
.je-ficha__aside-inner .ps-block--agent-quick-info {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 0;
    border-bottom: 1px solid var(--je-border);
    margin-bottom: 14px;
}
.je-ficha__aside-inner .ps-block__image img {
    width: 56px !important;
    height: 56px !important;
    border-radius: 50%;
    object-fit: cover;
}
.je-ficha__aside-inner .ps-block__top h4 {
    font-family: var(--je-font-sans) !important;
    font-size: 15px !important;
    font-weight: 600;
    margin: 0 0 4px;
    line-height: 1.25;
}
.je-ficha__aside-inner .ps-block__top h5 {
    font-size: 12.5px;
    margin: 0;
    color: var(--je-text-muted);
}
.je-ficha__aside-inner .ps-block__top h5 a { color: var(--je-text-muted); }
.je-ficha__aside-inner .ps-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    height: 44px;
    padding: 0 18px !important;
    background: var(--je-accent) !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: #fff !important;
    font-family: var(--je-font-sans) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: .01em !important;
    box-shadow: none !important;
    transition: background .15s ease, transform .15s ease;
}
.je-ficha__aside-inner .ps-btn:hover {
    background: var(--je-accent-hover) !important;
    transform: none !important;
}
.je-ficha__aside-inner .ps-btn i { font-size: 16px; }
.je-ficha__aside-inner .ps-form--agent-contact { margin-top: 6px; }
.je-ficha__aside-inner .ps-form--agent-contact .form-group { margin-bottom: 14px; }
.je-ficha__aside-inner .ps-form--agent-contact p.text-dark {
    font-size: 12.5px !important;
    color: var(--je-text-muted) !important;
    margin: 14px 0;
    text-align: center;
}
.je-ficha__aside-inner .ps-form .form-control,
.je-ficha__aside-inner textarea.form-control {
    background: #fff !important;
    border: 1px solid var(--je-border) !important;
    border-radius: var(--je-radius) !important;
    height: 42px;
    font-size: 13.5px !important;
    padding: 0 14px !important;
    color: var(--je-text) !important;
}
.je-ficha__aside-inner textarea.form-control {
    height: auto;
    padding: 12px 14px !important;
}
.je-ficha__aside-inner .ps-form .form-control:focus {
    border-color: var(--je-text) !important;
    box-shadow: none !important;
}
.je-ficha__aside-inner .ps-form label {
    font-size: 12px !important;
    color: var(--je-text-muted) !important;
    font-weight: 500;
    top: 13px !important;
    left: 14px !important;
}
.je-ficha__aside-inner .ps-form.select {
    position: relative;
}
.je-ficha__aside-inner .ps-form.select select {
    background: #fff !important;
}
.je-ficha__aside-inner .ps-form__bottom {
    margin-top: 6px;
}
.je-ficha__aside-inner .ps-form__bottom .ps-btn {
    width: 100%;
}

/* ---- Similares ---- */
.je-ficha__related {
    padding: 60px 0;
    background: var(--je-bg-soft);
    border-top: 1px solid var(--je-border);
}
.je-ficha__related .je-ficha__h2 {
    font-size: 24px;
    margin-bottom: 28px;
}
.je-ficha__related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}
@media (max-width: 980px) {
    .je-ficha__related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
}
@media (max-width: 640px) {
    .je-ficha__related-grid { grid-template-columns: 1fr; gap: 14px; }
}
.je-ficha-card {
    background: #fff;
    border: 1px solid var(--je-border);
    border-radius: var(--je-radius-card);
    overflow: hidden;
    transition: box-shadow .2s ease, transform .2s ease;
}
.je-ficha-card:hover {
    box-shadow: var(--je-shadow-card-hover);
    transform: translateY(-2px);
}
.je-ficha-card__img {
    display: block;
    aspect-ratio: 4/3;
    overflow: hidden;
    background: var(--je-bg-soft);
}
.je-ficha-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}
.je-ficha-card:hover .je-ficha-card__img img { transform: scale(1.04); }
.je-ficha-card__body { padding: 16px 18px 18px; }
.je-ficha-card__price {
    font-family: var(--je-font-sans) !important;
    font-size: 18px;
    font-weight: 700;
    color: var(--je-text);
    margin-bottom: 6px;
}
.je-ficha-card__title {
    font-family: var(--je-font-sans) !important;
    font-size: 14.5px;
    font-weight: 600;
    margin: 0 0 10px;
    line-height: 1.3;
}
.je-ficha-card__title a { color: var(--je-text); text-decoration: none; }
.je-ficha-card__title a:hover { text-decoration: underline; }
.je-ficha-card__specs {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 16px;
    font-size: 13px;
    color: var(--je-text-muted);
}

/* =========================================================================
   JE INQUIRY CARD (sidebar de contacto) — clon de .je2-listing__inquiry
   ========================================================================= */

.je-inquiry {
    --je-teal: #006C75;
    --je-teal-hover: #00555c;
    --je-teal-bg: #E6F2F3;
    --je-star: #CEB687;
    --je-badge: #151515;
    background: #fff;
    border: 1px solid var(--je-border);
    border-radius: var(--je-radius-card);
    overflow: hidden;
    font-family: var(--je-font-sans);
    color: var(--je-text);
    box-shadow: 0 1px 3px rgba(0,0,0,.04);
}
.je-inquiry * { box-sizing: border-box; }

/* --- Agent header --- */
.je-inquiry__agent {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 20px 22px 18px;
    border-bottom: 1px solid var(--je-border-soft);
    background: linear-gradient(180deg, #fafaf8 0%, #fff 100%);
}
.je-inquiry__avatar {
    position: relative;
    flex-shrink: 0;
    width: 58px;
    height: 58px;
}
.je-inquiry__avatar img {
    width: 58px;
    height: 58px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
    border: 2px solid #fff;
    box-shadow: 0 0 0 1px rgba(0,0,0,.08);
}
.je-inquiry__badge {
    position: absolute;
    left: 50%;
    bottom: -6px;
    transform: translateX(-50%);
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1px 3px rgba(0,0,0,.15);
}
.je-inquiry__agent-info {
    min-width: 0;
    flex: 1;
}
.je-inquiry__agent-name {
    font-family: var(--je-font-sans) !important;
    font-size: 15.5px;
    font-weight: 600;
    color: var(--je-text);
    margin: 0 0 3px;
    line-height: 1.2;
    letter-spacing: -.005em;
}
.je-inquiry__agent-rating {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12.5px;
    color: var(--je-text);
    margin-bottom: 4px;
    line-height: 1;
}
.je-inquiry__agent-rating svg { flex-shrink: 0; }
.je-inquiry__agent-rating span { font-weight: 700; }
.je-inquiry__agent-rating em {
    font-style: normal;
    color: var(--je-text-muted);
    font-weight: 500;
    margin-left: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 160px;
}
.je-inquiry__agent-meta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12.5px;
    color: var(--je-text-muted);
    margin: 0;
    line-height: 1.2;
}
.je-inquiry__agent-meta svg { flex-shrink: 0; opacity: .7; }

/* --- CTA row (phone / whatsapp) --- */
.je-inquiry__ctas {
    padding: 14px 22px 0;
    display: flex;
    gap: 8px;
}
.je-inquiry__btn {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 44px;
    padding: 0 16px;
    border-radius: 999px;
    font-size: 13.5px;
    font-weight: 600;
    letter-spacing: .01em;
    text-decoration: none !important;
    cursor: pointer;
    transition: background .15s ease, transform .1s ease;
    border: 1px solid transparent;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.je-inquiry__btn svg { flex-shrink: 0; }
.je-inquiry__btn--teal {
    background: var(--je-teal);
    color: #fff !important;
}
.je-inquiry__btn--teal:hover {
    background: var(--je-teal-hover);
    color: #fff !important;
    transform: translateY(-1px);
}
.je-inquiry__btn--outline {
    background: #fff;
    color: var(--je-teal) !important;
    border-color: var(--je-teal);
}
.je-inquiry__btn--outline:hover {
    background: var(--je-teal-bg);
    color: var(--je-teal) !important;
}

/* --- Form --- */
.je-inquiry__form {
    padding: 18px 22px 20px;
}
.je-inquiry__form-title {
    font-family: var(--je-font-sans) !important;
    font-size: 15px;
    font-weight: 600;
    color: var(--je-text);
    margin: 0 0 14px;
    letter-spacing: -.005em;
}
.je-inquiry__field {
    position: relative;
    margin-bottom: 10px;
}
.je-inquiry__label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: var(--je-text-muted);
    margin-bottom: 6px;
    letter-spacing: .03em;
    text-transform: uppercase;
}
.je-inquiry__input,
.je-inquiry__select,
.je-inquiry__textarea {
    width: 100%;
    height: 44px;
    padding: 0 14px;
    background: #fff;
    border: 1px solid var(--je-border);
    border-radius: 6px;
    font-family: var(--je-font-sans) !important;
    font-size: 13.5px;
    color: var(--je-text);
    outline: none;
    transition: border-color .15s ease, box-shadow .15s ease;
    -webkit-appearance: none;
    appearance: none;
}
.je-inquiry__input::placeholder,
.je-inquiry__textarea::placeholder {
    color: #9a9a9a;
    opacity: 1;
}
.je-inquiry__input:focus,
.je-inquiry__select:focus,
.je-inquiry__textarea:focus {
    border-color: var(--je-teal);
    box-shadow: 0 0 0 3px rgba(0, 108, 117, .10);
}
.je-inquiry__textarea {
    height: auto;
    min-height: 84px;
    padding: 12px 14px;
    resize: vertical;
    line-height: 1.45;
}

.je-inquiry__field--select { position: relative; }
.je-inquiry__select {
    padding-right: 36px;
    background-image: none;
    cursor: pointer;
}
.je-inquiry__select-arrow {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--je-text-muted);
    pointer-events: none;
}

/* terms checkbox */
.je-inquiry__field--terms { margin-top: 4px; }
.je-inquiry__check {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 11.5px;
    line-height: 1.45;
    color: var(--je-text-muted);
    cursor: pointer;
    margin: 0;
    font-weight: 400;
}
.je-inquiry__check input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 16px;
    height: 16px;
    border: 1.5px solid var(--je-border);
    border-radius: 3px;
    background: #fff;
    flex-shrink: 0;
    margin-top: 1px;
    cursor: pointer;
    position: relative;
    transition: border-color .15s ease, background .15s ease;
}
.je-inquiry__check input[type="checkbox"]:checked {
    background: var(--je-teal);
    border-color: var(--je-teal);
}
.je-inquiry__check input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    left: 4px;
    top: 1px;
    width: 5px;
    height: 9px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.je-inquiry__check a {
    color: var(--je-text);
    text-decoration: underline;
    text-underline-offset: 2px;
}
.je-inquiry__check a:hover { color: var(--je-teal); }

/* recaptcha wrapper */
.je-inquiry__field--recaptcha {
    overflow: hidden;
    height: 70px;
}

/* submit */
.je-inquiry__submit {
    width: 100%;
    height: 48px;
    margin-top: 4px;
    background: var(--je-teal);
    color: #fff;
    border: 0;
    border-radius: 999px;
    font-family: var(--je-font-sans) !important;
    font-size: 14.5px;
    font-weight: 600;
    letter-spacing: .01em;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: background .15s ease, transform .1s ease, opacity .15s ease;
}
.je-inquiry__submit:hover:not(:disabled) {
    background: var(--je-teal-hover);
    transform: translateY(-1px);
}
.je-inquiry__submit:disabled {
    opacity: .55;
    cursor: not-allowed;
}
.je-inquiry__submit svg { flex-shrink: 0; }

.je-inquiry__hint {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 14px 0 0;
    font-size: 11.5px;
    color: var(--je-text-muted);
    line-height: 1.4;
}
.je-inquiry__hint svg { flex-shrink: 0; opacity: .6; }

/* --- Agency footer block --- */
.je-inquiry__agency {
    border-top: 1px solid var(--je-border-soft);
    padding: 14px 22px 18px;
    background: #fafaf8;
}
.je-inquiry__agency-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    padding: 4px 0;
}
.je-inquiry__agency-label {
    color: var(--je-text-muted);
    text-transform: uppercase;
    letter-spacing: .05em;
    font-weight: 500;
    font-size: 11px;
}
.je-inquiry__agency-value {
    color: var(--je-text);
    font-weight: 600;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 60%;
}

/* ---- Responsive ficha ---- */
@media (max-width: 1100px) {
    .je-ficha__grid { grid-template-columns: 1fr; gap: 40px; }
    .je-ficha__aside { position: static; }
    .je-gallery-grid { height: 440px; }
}
@media (max-width: 768px) {
    .je-ficha__container { padding: 0 16px; }
    .je-ficha__topbar .je-ficha__container { flex-direction: column; align-items: flex-start; gap: 10px; }
    .je-ficha__actions { align-self: flex-end; }
    .je-ficha__gallery { padding: 12px 0 6px; }
    .je-gallery-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 260px 120px;
        height: auto;
        gap: 4px;
    }
    .je-gallery__main { grid-column: 1 / 3; grid-row: 1 / 2; }
    .je-gallery__thumb--1 { grid-column: 1 / 2; grid-row: 2 / 3; }
    .je-gallery__thumb--2 { grid-column: 2 / 3; grid-row: 2 / 3; }
    .je-gallery__thumb--3,
    .je-gallery__thumb--4 { display: none; }
    .je-gallery__all { right: 10px; bottom: 10px; height: 34px; padding: 0 12px; font-size: 12px; }
    .je-ficha__body { padding: 24px 0 40px; }
    .je-ficha__title { font-size: 26px; }
    .je-ficha__price { font-size: 24px; }
    .je-ficha__meta-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }
    .je-ficha__features { grid-template-columns: 1fr; }
    .je-ficha__related { padding: 40px 0; }
}
