/**
 * Reusable Featured Property Showcase (curated Buying Buddy URL), v1.3.55.
 * Scoped completely to the opt-in module; no generic IDX/widget selectors.
 */
.jamre-fp { width:100%; min-width:0; color:var(--jamre-text-color,var(--ink,#171a1c)); }
.jamre-fp__gallery {
    display:grid;
    grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(2,minmax(0,1fr));
    gap:9px;
    height:clamp(335px,40vw,525px);
    overflow:hidden;
    border-radius:18px;
    isolation:isolate;
    background:#e5ded2;
}
.jamre-fp__gallery--count-1 { grid-template-columns:1fr; }
.jamre-fp__gallery--count-2,.jamre-fp__gallery--count-3 { grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); }
.jamre-fp__gallery--count-2 .jamre-fp__photo--small { grid-column:2; grid-row:1/span 2; }
.jamre-fp__gallery--count-3 .jamre-fp__photo--small { grid-column:2; }
.jamre-fp__gallery--count-4 .jamre-fp__photo--small:last-child { grid-column:2/span 2; }
.jamre-fp__photo { position:relative; min-width:0; min-height:0; display:block; width:100%; height:100%; padding:0; margin:0; overflow:hidden; border:0; border-radius:0; background:#e2ded7; cursor:zoom-in; }
.jamre-fp__photo--main { grid-column:1; grid-row:1/span 2; }
.jamre-fp__photo img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.jamre-fp__photo:hover img { transform:scale(1.035); }
.jamre-fp__photo:focus-visible { outline:4px solid #e6ac5a; outline-offset:-5px; z-index:1; }
.jamre-fp__mobile-more { display:none; }
.jamre-fp__more { position:absolute; bottom:14px; right:14px; display:inline-flex; padding:10px 15px; background:rgba(255,255,255,.96); color:#171a1c; border-radius:999px; font-size:.72rem; text-transform:uppercase; letter-spacing:.03em; font-weight:800; box-shadow:0 3px 16px rgba(0,0,0,.17); }
.jamre-fp__all { margin-top:10px; border:1px solid currentColor; border-radius:99px; background:transparent; padding:8px 14px; font-weight:700; }
.jamre-fp__information { padding:25px 0 0; background:transparent; }
.jamre-fp__details { display:flex; align-items:flex-start; justify-content:space-between; gap:25px; }
.jamre-fp__status { display:inline-flex; margin-bottom:8px; font-size:.65rem; letter-spacing:.12em; text-transform:uppercase; font-weight:800; color:var(--gold-deep,#9a6427); }
.jamre-fp .jamre-fp__address { margin:0 0 4px; font-family:var(--serif,Georgia,serif); font-size:clamp(1.65rem,2.4vw,2.55rem); letter-spacing:-.03em; line-height:1.13; }
.jamre-fp__locality { margin:0; color:var(--jamre-text-color,var(--gray,#6e675c)); font-size:.98rem; }
.jamre-fp__price { margin:6px 0 0; font-family:var(--serif,Georgia,serif); font-size:clamp(1.65rem,2.35vw,2.55rem); letter-spacing:-.03em; font-weight:700; line-height:1.1; white-space:nowrap; }
.jamre-fp__specs { display:flex; flex-wrap:wrap; gap:12px 25px; list-style:none; margin:22px 0; padding:16px 0; border-top:1px solid rgba(23,26,28,.16); border-bottom:1px solid rgba(23,26,28,.16); font-size:.88rem; }
.jamre-fp__specs li { margin:0; padding:0; }
.jamre-fp__specs strong { font-weight:850; }
.jamre-fp__bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; }
.jamre-fp__attribution { font-size:.76rem; line-height:1.6; color:var(--jamre-text-color,var(--gray,#6e675c)); }
.jamre-fp__bottom .button { flex:0 0 auto; }
.jamre-fp__resale-gallery { margin-top:clamp(38px,5vw,72px); }
.jamre-fp .jamre-fp__resale-heading,.jamre-fp__resale-heading { font-family:var(--serif,Georgia,serif); font-size:clamp(1.75rem,3vw,2.55rem); margin:0 0 26px; line-height:1.2; letter-spacing:-.025em; }
/* Lightbox is a direct child of the property module but positioned on the viewport. */
.jamre-fp__lightbox[hidden] { display:none !important; }
.jamre-fp__lightbox { position:fixed; inset:0; z-index:10000; display:grid; place-items:center; background:rgba(5,7,8,.97); color:white; padding:30px; }
.jamre-fp__lightbox-inner { width:min(100%,1460px); height:min(100%,950px); display:grid; grid-template-columns:60px minmax(0,1fr) 60px; align-items:center; gap:15px; position:relative; }
.jamre-fp__lightbox-figure { margin:0; min-width:0; display:grid; justify-items:center; gap:12px; }
.jamre-fp__lightbox-figure img { width:auto; max-width:100%; height:auto; max-height:min(78vh,820px); object-fit:contain; }
.jamre-fp__lightbox-figure figcaption { font-size:.8rem; text-align:center; color:rgba(255,255,255,.85); }
.jamre-fp__lightbox-nav,.jamre-fp__lightbox-close { border:1px solid rgba(255,255,255,.3); color:white; background:rgba(255,255,255,.1); display:grid; place-items:center; width:48px; height:48px; border-radius:50%; font-size:1.45rem; transition:background .2s; }
.jamre-fp__lightbox-nav:hover,.jamre-fp__lightbox-close:hover,.jamre-fp__lightbox-nav:focus-visible,.jamre-fp__lightbox-close:focus-visible { background:rgba(255,255,255,.25); }
/* Geometrically center an SVG X instead of relying on the font baseline of ×. */
.jamre-fp__lightbox-close { position:absolute; right:0; top:0; z-index:2; padding:0; line-height:0; appearance:none; }
.jamre-fp__lightbox-close svg { display:block; width:24px; height:24px; flex:none; }
body.jamre-fp-lightbox-open { overflow:hidden; }
@media (max-width:800px) {
    .jamre-fp__gallery { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); grid-template-rows:repeat(2,minmax(0,1fr)); height:clamp(320px,56vw,420px); }
    .jamre-fp__photo--small:nth-of-type(n+4) { display:none; }
    .jamre-fp__photo--main { grid-column:1; grid-row:1/span 2; }
    .jamre-fp__gallery--count-1 { grid-template-columns:1fr; }
    .jamre-fp__gallery--count-2,.jamre-fp__gallery--count-3 { grid-template-columns:1.5fr 1fr; }
    .jamre-fp__more { right:9px; bottom:9px; padding:8px 10px; font-size:.64rem; }
}
@media (max-width:560px) {
    .jamre-fp__gallery { grid-template-columns:1fr 1fr; grid-template-rows:minmax(0,2fr) minmax(0,1fr); height:min(115vw,460px); gap:6px; border-radius:12px; }
    .jamre-fp__photo--main { grid-column:1/span 2; grid-row:1; }
    .jamre-fp__photo--small:nth-of-type(n+4) { display:none; }
    .jamre-fp__photo--small:nth-of-type(2) { grid-column:1; grid-row:2; }
    .jamre-fp__photo--small:nth-of-type(3) { grid-column:2; grid-row:2; }
    .jamre-fp__gallery--count-1 { grid-template-columns:1fr; }
    .jamre-fp__gallery--count-1 .jamre-fp__photo--main { grid-column:1; grid-row:1 / span 2; }
    .jamre-fp__gallery--count-2 { grid-template-columns:1fr; grid-template-rows:minmax(0,2fr) minmax(0,1fr); }
    .jamre-fp__gallery--count-2 .jamre-fp__photo--main { grid-column:1; grid-row:1; }
    .jamre-fp__gallery--count-2 .jamre-fp__photo--small { grid-column:1; grid-row:2; }
    .jamre-fp__mobile-more { display:inline-flex; position:absolute; bottom:10px; right:10px; background:rgba(255,255,255,.96); padding:9px 12px; border-radius:100px; color:#171a1c; font-size:.71rem; font-weight:800; }
    .jamre-fp__details { flex-direction:column; gap:10px; }
    .jamre-fp__price { margin-top:0; }
    .jamre-fp__specs { gap:10px 17px; }
    .jamre-fp__bottom .button { width:100%; }
    .jamre-fp__lightbox { padding:12px; }
    .jamre-fp__lightbox-inner { grid-template-columns:36px minmax(0,1fr) 36px; gap:4px; }
    .jamre-fp__lightbox-nav { width:34px; height:44px; border-radius:11px; }
    .jamre-fp__lightbox-close { top:8px; right:8px; }
}
@media (prefers-reduced-motion:reduce) { .jamre-fp__photo img { transition:none; } .jamre-fp__photo:hover img { transform:none; } }

/* Separate Flexible section controls. No white wrapper/card inside its beige field. */
.jamre-featured-showcase .jamre-fs__heading { margin-bottom:clamp(22px,4vw,45px); }
.jamre-featured-showcase .jamre-fs__heading > div:first-child { min-width:0; }
.jamre-featured-showcase .jamre-fp { background:transparent; }
.jamre-featured-showcase .jamre-fp__information { color:inherit; }
@media (max-width:640px) {
  .jamre-featured-showcase .jamre-fs__heading { gap:22px; }
}
