/* ============================================================
   SEACOLONYJUPITER.COM LIVE IDX PRESENTATION
   Production preview, August 25, 2026
   ============================================================ */

.idxInventoryGrid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
    margin-top:22px;
}

.idxPropertyCard{
    min-width:0;
    overflow:hidden;
    border:1px solid #d7e2e7;
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 24px rgba(10,38,60,.06);
}

.idxPropertyCardLink{
    display:block;
    height:100%;
    color:inherit;
    text-decoration:none;
}

.idxPropertyCardLink:hover,
.idxPropertyCardLink:focus-visible{text-decoration:none}

.idxPropertyCardLink:hover .idxPropertyPhoto img,
.idxPropertyCardLink:focus-visible .idxPropertyPhoto img{transform:scale(1.025)}

.idxPropertyPhoto{
    position:relative;
    aspect-ratio:16/10;
    overflow:hidden;
    background:#e8eff2;
}

.idxPropertyPhoto img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .3s ease;
}

.idxNoPhoto{
    display:grid;
    width:100%;
    height:100%;
    place-items:center;
    color:#617986;
    font-weight:800;
}

.idxStatusBadge{
    position:absolute;
    top:12px;
    left:12px;
    padding:6px 9px;
    border-radius:999px;
    background:rgba(9,61,91,.92);
    color:#fff;
    font-size:10px;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.idxPropertyCardBody{padding:18px 18px 17px}
.idxPropertyPrice{color:var(--navy2);font-size:28px;font-weight:900;letter-spacing:-.025em}
.idxPropertyCardBody h3{margin:6px 0 2px;color:#17354a;font-size:18px;line-height:1.25}
.idxPropertyLocation{color:#718692;font-size:12px}
.idxPropertyFacts{display:flex;flex-wrap:wrap;gap:7px 14px;margin-top:14px;padding-top:13px;border-top:1px solid #e4ebef;color:#687d88;font-size:11px}
.idxPropertyFacts strong{color:#17354a;font-size:14px}
.idxAddressNotice{margin-top:10px;color:#866321;font-size:10px;font-weight:800}
.idxPropertyView{display:inline-block;margin-top:13px;color:var(--blue);font-size:11px;font-weight:900}

/* Full property page */
.idxPropertyPage{padding:30px 0 58px}
.idxPropertyBread{margin-bottom:15px;color:#718692;font-size:11px}
.idxPropertyBread a{color:var(--blue);font-weight:800;text-decoration:none}
.idxPropertyLayout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start}
.idxPropertyMain{min-width:0}

.idxGallery{
    overflow:hidden;
    border:1px solid #d7e2e7;
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 26px rgba(10,38,60,.055);
}

.idxGalleryMain{
    display:block;
    position:relative;
    aspect-ratio:16/10;
    overflow:hidden;
    background:#e7eef2;
    cursor:zoom-in;
}

.idxGalleryMain img{display:block;width:100%;height:100%;object-fit:cover}
.idxGalleryCount{position:absolute;right:12px;bottom:12px;padding:6px 9px;border-radius:999px;background:rgba(5,31,53,.82);color:#fff;font-size:10px;font-weight:900}
.idxGalleryThumbs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;padding:8px}
.idxGalleryThumb{padding:0;border:0;border-radius:7px;overflow:hidden;background:#e7eef2;aspect-ratio:4/3;cursor:pointer;opacity:.74}
.idxGalleryThumb.is-active{outline:2px solid var(--blue);outline-offset:1px;opacity:1}
.idxGalleryThumb img{display:block;width:100%;height:100%;object-fit:cover}

.idxPropertySummary{margin-top:18px;padding:25px;border:1px solid #d7e2e7;border-radius:16px;background:#fff}
.idxPropertySummaryTop{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.idxPropertyPriceLarge{color:var(--navy2);font-size:42px;font-weight:900;letter-spacing:-.04em;line-height:1}
.idxPropertyStatus{padding:6px 9px;border-radius:999px;background:#edf5f7;color:#31596b;font-size:10px;font-weight:900;text-transform:uppercase}
.idxPropertyAddressLarge{margin:10px 0 3px;color:#17354a;font-size:29px;line-height:1.18;letter-spacing:-.025em}
.idxPropertyLocationLarge{color:#6b8190;font-size:13px}
.idxPropertyCoreFacts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:20px;padding-top:17px;border-top:1px solid #e4ebef}
.idxPropertyCoreFacts div{display:flex;flex-direction:column;gap:2px}
.idxPropertyCoreFacts strong{color:#17354a;font-size:20px}
.idxPropertyCoreFacts span{color:#748792;font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}

.idxPropertySection{margin-top:24px;padding:23px;border:1px solid #d7e2e7;border-radius:14px;background:#fff}
.idxPropertySection h2{margin:0;color:var(--navy2);font-size:23px}
.idxPropertyRemarks{margin:12px 0 0;color:#4e6574;font-size:14px;line-height:1.72}
.idxPropertyData{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:15px}
.idxPropertyData div{padding:12px 13px;border:1px solid #e0e8ec;border-radius:9px;background:#fafcfd}
.idxPropertyData span{display:block;color:#7a8d98;font-size:9px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.idxPropertyData strong{display:block;margin-top:3px;color:#17354a;font-size:13px}

/* Intentionally plain listing brokerage attribution. */
.idxPlainAttribution{margin-top:22px;padding:12px 0;border-top:1px solid #dfe7eb;border-bottom:1px solid #dfe7eb;color:#536a78;font-size:16px;line-height:1.55}
.idxPlainAttribution strong{color:#405967;font-weight:700}

.idxDisclosure{margin-top:26px;padding:19px;border-top:1px solid #d9e3e8;color:#6c7f89;font-size:12px;line-height:1.55}
.idxBeachesLogo{display:block;width:min(210px,55%);height:auto;margin-bottom:13px}
.idxDisclosure p{margin:7px 0}
.idxUpdated{font-size:11px}
.idxLogoMissing{margin-bottom:12px;padding:10px 12px;border:1px solid #e5cf93;border-radius:8px;background:#fff8e4;color:#795b17;font-size:11px}

/* Gallery lightbox */
.idxLightbox[hidden]{display:none}
.idxLightbox{position:fixed;inset:0;z-index:9999;display:grid;grid-template-columns:64px minmax(0,1fr) 64px;align-items:center;background:rgba(3,18,31,.94);padding:26px}
.idxLightboxStage{display:grid;place-items:center;min-width:0;min-height:0}
.idxLightboxStage img{display:block;max-width:min(1200px,100%);max-height:86vh;object-fit:contain}
.idxLightboxButton,.idxLightboxClose{border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer}
.idxLightboxButton{width:48px;height:48px;border-radius:50%;font-size:29px}
.idxLightboxClose{position:absolute;top:14px;right:16px;width:42px;height:42px;border-radius:50%;font-size:23px}
.idxLightboxCounter{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);color:#fff;font-size:12px;font-weight:800}

.idxPreviewBanner{margin:20px 0;padding:13px 15px;border:1px solid #e5cf93;border-radius:10px;background:#fff8e4;color:#735719;font-size:12px;font-weight:800}

@media(max-width:940px){
    .idxPropertyLayout{grid-template-columns:1fr}
    .idxPropertyLayout > .sidebar{position:static}
}

@media(max-width:760px){
    .idxInventoryGrid{grid-template-columns:1fr}
    .idxGalleryThumbs{grid-template-columns:repeat(4,minmax(0,1fr))}
    .idxPropertySummary{padding:20px}
    .idxPropertyPriceLarge{font-size:36px}
    .idxPropertyAddressLarge{font-size:24px}
    .idxPropertyCoreFacts{grid-template-columns:repeat(2,minmax(0,1fr))}
    .idxLightbox{grid-template-columns:44px minmax(0,1fr) 44px;padding:16px 6px}
    .idxLightboxButton{width:38px;height:38px;font-size:22px}
}

@media(max-width:520px){
    .idxGalleryThumbs{grid-template-columns:repeat(3,minmax(0,1fr))}
    .idxPropertySummaryTop{flex-direction:column;gap:9px}
    .idxPropertyData{grid-template-columns:1fr}
}


/* ============================================================
   PROPERTY PAGE HIGH-INTENT SIDEBAR - AUGUST 25, 2026
   ============================================================ */

/*
 * WILEY NOTE TO SELF:
 * Property pages are high-intent pages. Their sidebar intentionally stops
 * showing the normal Community / Floorplans / Recent Sales teaser rail.
 * Order is: large property-specific Wiley contact, OTHER active listings,
 * then the compact Wiley card for this first visual test.
 */
.propertySidebarContact{
    overflow:hidden;
    border:2px solid #2daa5c;
    border-radius:17px;
    background:#fff;
    box-shadow:0 10px 30px rgba(13,68,50,.10);
}

.propertySidebarContactPhoto{
    aspect-ratio:4/3;
    overflow:hidden;
    background:#e7eef0;
}

.propertySidebarContactPhoto img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:36% top;
}

.propertySidebarContactBody{
    padding:20px;
}

.propertySidebarContactBody h2{
    margin:4px 0 0;
    color:var(--navy2);
    font-size:25px;
    line-height:1.08;
    letter-spacing:-.025em;
}

.propertySidebarContactAddress{
    margin-top:10px;
    color:#617885;
    font-size:12px;
    line-height:1.45;
    font-weight:800;
}

.propertySidebarContactIdentity{
    display:flex;
    flex-direction:column;
    gap:3px;
    margin-top:16px;
    color:#4e6876;
    font-size:12px;
    line-height:1.4;
}

.propertySidebarContactIdentity strong{
    color:#0c2340;
    font-size:16px;
}

.propertySidebarContactIdentity em{
    margin-top:4px;
    color:#2f6b4f;
    font-style:normal;
    font-weight:900;
}

.propertySidebarCall,
.propertySidebarContactButton{
    display:flex;
    width:100%;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    font-weight:900;
    text-decoration:none;
}

.propertySidebarCall{
    min-height:48px;
    margin-top:18px;
    background:#0d5f96;
    color:#fff;
    font-size:20px;
    letter-spacing:.01em;
}

.propertySidebarCall:hover,
.propertySidebarCall:focus-visible{
    background:#084e7e;
    text-decoration:none;
}

.propertySidebarContactButton{
    min-height:40px;
    margin-top:9px;
    border:1px solid #b9cbd1;
    background:#f7fafb;
    color:#0b2341;
    font-size:12px;
}

.propertySidebarContactButton:hover,
.propertySidebarContactButton:focus-visible{
    border-color:#91b7c7;
    background:#eef6f8;
    text-decoration:none;
}

/* Property sidebar items breathe a little more because there are only three. */
.idxPropertyLayout > .sidebar{
    gap:18px;
}

@media(max-width:940px){
    .propertySidebarContact{
        max-width:560px;
        margin-inline:auto;
    }
}
