/* Sold page styles moved from inline CSS during shared include conversion. */
/*
     * WILEY NOTE TO SELF:
     * COMPACT SOLD GRID
     *
     * Two columns on desktop.
     * One column on smaller screens.
     *
     * This is deliberately more compact than the active listing presentation.
     * Recent sales should be easy to scan.
     */
    .soldCompactGrid{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:18px;
        margin-top:24px;
    }

    .soldCompactCard{
        overflow:hidden;
        border:1px solid #d8e3ea;
        border-radius:14px;
        background:#fff;
        box-shadow:0 7px 22px rgba(14,42,68,.055);
    }

    /*
     * WILEY NOTE TO SELF:
     * Smaller sold photo height.
     * If I want even tighter cards later, reduce 180px.
     */
    .soldCompactPhoto{
        min-height:180px;
        display:flex;
        align-items:center;
        justify-content:center;
        padding:18px;
        background:linear-gradient(145deg,#cde4ef,#eff7fa 50%,#b9d4df);
        border-bottom:1px solid #d8e3ea;
    }

    .soldCompactPhotoInner{
        width:100%;
        min-height:130px;
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:6px;
        border:2px dashed rgba(13,95,150,.22);
        border-radius:10px;
        color:#0d5f96;
        text-align:center;
    }

    .soldCompactPhotoInner strong{
        font-size:13px;
    }

    .soldCompactPhotoInner span{
        color:#6b8192;
        font-size:10px;
    }

    .soldCompactBody{
        padding:18px;
    }

    .soldCompactTop{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:10px;
    }

    .soldCompactBadge{
        display:inline-flex;
        align-items:center;
        min-height:24px;
        padding:3px 9px;
        border:1px solid #9aafbd;
        border-radius:999px;
        background:#f3f6f8;
        color:#455e70;
        font-size:9px;
        font-weight:900;
        letter-spacing:.04em;
        text-transform:uppercase;
    }

    .soldCompactDate{
        color:#718593;
        font-size:10px;
        font-weight:700;
    }

    .soldCompactLabel{
        margin-top:13px;
        color:#6a7f8f;
        font-size:9px;
        font-weight:900;
        letter-spacing:.07em;
        text-transform:uppercase;
    }

    .soldCompactPrice{
        margin-top:1px;
        color:#0b2341;
        font-size:26px;
        font-weight:900;
        letter-spacing:-.03em;
    }

    .soldCompactListPrice{
        margin-top:2px;
        color:#748795;
        font-size:10px;
    }

    .soldCompactAddress{
        margin:12px 0 3px;
        color:#163048;
        font-size:18px;
        line-height:1.2;
    }

    .soldCompactLocation{
        color:#718593;
        font-size:11px;
    }

    .soldCompactFacts{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:8px;
        margin:14px 0 0;
        padding:12px 0;
        border-top:1px solid #e4ebf0;
        border-bottom:1px solid #e4ebf0;
    }

    .soldCompactFacts div{
        display:flex;
        flex-direction:column;
        gap:2px;
    }

    .soldCompactFacts strong{
        color:#0b2341;
        font-size:15px;
    }

    .soldCompactFacts span{
        color:#718593;
        font-size:9px;
        font-weight:700;
        letter-spacing:.04em;
        text-transform:uppercase;
    }

    /*
     * WILEY NOTE TO SELF:
     * LISTING SOURCE / ATTRIBUTION
     *
     * Keep this clean and readable.
     * It should satisfy the final BeachesMLS rules once verified,
     * but it should not look like the headline of the property card.
     *
     * When live data is connected, final wording / logos / required fields
     * still need to be verified against current BeachesMLS requirements.
     */
    .soldCompactSource{
        margin-top:13px;
        color:#7a8d9b;
        font-size:10px;
        line-height:1.5;
    }

    .soldCompactSource strong{
        color:#617789;
        font-weight:800;
    }

    /*
     * WILEY NOTE TO SELF:
     * MY ACTION STRIP
     *
     * This sits immediately under the listing source so the visitor's
     * next visual step is local help from me.
     *
     * The listing attribution is still there and readable.
     * My box is simply the stronger conversion element.
     */
    .soldWileyStrip{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        margin:14px 0 0;
        padding:12px 14px;
        border:2px solid #2daa5c;
        border-radius:10px;
        background:#f1fbf5;
        box-shadow:0 0 0 0 rgba(45,170,92,0);
        text-decoration:none;
        animation:soldWileyGlow 4.4s ease-in-out infinite;
    }

    @keyframes soldWileyGlow{
        0%,100%{
            border-color:#2daa5c;
            box-shadow:0 0 0 0 rgba(45,170,92,0),0 7px 18px rgba(12,45,72,.04);
        }
        50%{
            border-color:#25934f;
            box-shadow:0 0 0 4px rgba(45,170,92,.17),0 0 18px 6px rgba(45,170,92,.13);
        }
    }

    .soldWileyStripText{
        min-width:0;
    }

    .soldWileyStripText small{
        display:block;
        color:#0d5f96;
        font-size:8px;
        font-weight:900;
        letter-spacing:.06em;
        text-transform:uppercase;
    }

    .soldWileyStripText strong{
        display:block;
        margin-top:2px;
        color:#0b2341;
        font-size:12px;
        line-height:1.25;
    }

    .soldWileyStripText em{
        display:block;
        margin-top:4px;
        color:#4d695b;
        font-size:9px;
        line-height:1.35;
        font-style:normal;
        font-weight:800;
    }

    .soldWileyStripAction{
        flex:0 0 auto;
        padding:7px 9px;
        border-radius:7px;
        background:#0d5f96;
        color:#fff;
        font-size:9px;
        font-weight:900;
        white-space:nowrap;
    }

    /*
     * WILEY NOTE TO SELF:
     * LULFS TEAM SALES BOX UNDER MY ROTATING CONTACT BOX.
     */
    .lulfsSalesBox{
        padding:21px;
        border:1px solid #dbe5ec;
        border-radius:14px;
        background:#fff;
        box-shadow:0 8px 24px rgba(12,45,72,.05);
    }

    .lulfsSalesEyebrow{
        margin-bottom:7px;
        color:#0d5f96;
        font-size:10px;
        font-weight:900;
        letter-spacing:.09em;
        text-transform:uppercase;
    }

    .lulfsSalesBox h2{
        margin:0;
        color:#0b2341;
        font-size:22px;
        line-height:1.18;
        letter-spacing:-.02em;
    }

    .lulfsSalesIntro{
        margin:9px 0 0;
        color:#617789;
        font-size:12px;
        line-height:1.55;
    }

    .lulfsSalesList{
        margin-top:16px;
        border-top:1px solid #e3ebf0;
    }

    .lulfsSaleItem{
        padding:11px 0;
        border-bottom:1px solid #e3ebf0;
    }

    .lulfsSaleAddress{
        color:#0b2341;
        font-size:13px;
        font-weight:800;
        line-height:1.35;
    }

    .lulfsSaleMeta{
        display:flex;
        flex-wrap:wrap;
        gap:7px 12px;
        margin-top:4px;
        color:#718593;
        font-size:11px;
        line-height:1.4;
    }

    .lulfsSaleMeta:empty{
        display:none;
    }

    .lulfsSalesNote{
        margin-top:13px;
        color:#7a8d9b;
        font-size:10px;
        line-height:1.5;
    }

    @media (max-width:760px){
        .soldCompactGrid{
            grid-template-columns:1fr;
        }
    }

    @media (max-width:420px){
        .soldWileyStrip{
            align-items:flex-start;
            flex-direction:column;
        }
    }


    .lulfsMainProof{
        display:inline-flex;
        margin-top:18px;
        padding:7px 11px;
        border:1px solid rgba(45,170,92,.35);
        border-radius:999px;
        background:rgba(45,170,92,.08);
        color:#247a47;
        font-size:12px;
        font-weight:900;
    }

    .lulfsMainSalesGrid{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:11px;
        margin-top:19px;
    }

    .lulfsMainSaleItem{
        padding:14px 15px;
        border:1px solid #dce6e2;
        border-radius:11px;
        background:#fffdf9;
    }

    .lulfsMainSaleItem strong{
        display:block;
        color:#0b2341;
        font-size:14px;
        line-height:1.3;
    }

    .lulfsMainSaleItem span{
        display:inline-block;
        margin-top:5px;
        color:#287786;
        font-size:10px;
        line-height:1.3;
        font-weight:900;
        text-transform:uppercase;
        letter-spacing:.04em;
    }

    .lulfsMainSalesNote{
        margin-top:15px;
        color:#748795;
        font-size:10px;
        line-height:1.55;
    }

    @media (prefers-reduced-motion: reduce){
        .soldWileyStrip{animation:none}
    }

    @media (max-width:620px){
        .lulfsMainSalesGrid{grid-template-columns:1fr}
    }

/*
 * WILEY NOTE TO SELF:
 * LIVE RECENT SALES MARKET REPORT
 * No MLS photos by design. This keeps the sold presentation compact and
 * clearly statistical rather than resembling an individual sold-listing ad.
 */
.soldMarketGrid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin-top:22px;
}

.soldMarketCard{
    padding:18px;
    border:1px solid #d9e4ea;
    border-radius:13px;
    background:#fff;
    box-shadow:0 7px 20px rgba(14,42,68,.05);
}

.soldMarketTop{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}

.soldMarketBadge{
    display:inline-flex;
    padding:4px 9px;
    border:1px solid #a7b8c3;
    border-radius:999px;
    background:#f4f7f8;
    color:#516878;
    font-size:9px;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.soldMarketDate{
    color:#718593;
    font-size:11px;
    font-weight:800;
}

.soldMarketLabel{
    margin-top:14px;
    color:#708494;
    font-size:9px;
    font-weight:900;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.soldMarketPrice{
    margin-top:1px;
    color:#0b2341;
    font-size:27px;
    font-weight:900;
    letter-spacing:-.035em;
}

.soldMarketAddress{
    margin:11px 0 0;
    color:#163048;
    font-size:17px;
    line-height:1.28;
}

.soldMarketFacts{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin-top:14px;
    padding:11px 0;
    border-top:1px solid #e5ebef;
    border-bottom:1px solid #e5ebef;
}

.soldMarketFacts div{
    display:flex;
    flex-direction:column;
    gap:2px;
}

.soldMarketFacts strong{
    color:#0b2341;
    font-size:14px;
}

.soldMarketFacts span{
    color:#718593;
    font-size:9px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.soldMarketListPrice{
    margin-top:11px;
    color:#718593;
    font-size:11px;
}

.soldMarketListPrice strong{
    color:#536a7a;
}

.soldMarketAddressNote{
    margin-top:8px;
    color:#7a8d9b;
    font-size:10px;
}

.soldReportNotice{
    margin-top:20px;
    padding-top:16px;
    border-top:1px solid #dfe7ec;
    color:#687d8c;
    font-size:11px;
    line-height:1.55;
}

.soldReportLogo{
    display:block;
    width:min(150px,42%);
    height:auto;
    margin-bottom:9px;
}

.soldReportNotice p{
    margin:5px 0;
}

.soldReportMeta{
    color:#81919d;
    font-size:10px;
}

@media(max-width:720px){
    .soldMarketGrid{grid-template-columns:1fr}
}
