/* Static Belmont site: no Astra, WordPress, or JavaScript dependencies. */
:root{--ink:#27384e;--red:#d00000;--page:#adb6bf;--white:#fff}
*{box-sizing:border-box}html{font-family:Arial,Helvetica,sans-serif;font-size:16px}body{margin:0;color:var(--ink);line-height:1.65;background:#fff}a{color:var(--red);text-decoration:underline}a:hover{color:#a00000}img{max-width:100%;height:auto}h1,h2,h3{line-height:1.25;font-weight:600}h1{font-size:36px;margin:0 0 26px}h2{font-size:30px;margin:28px 0 16px}h3{font-size:23px}p{margin:0 0 20px}ul{padding-left:40px}figure{margin:10px 5px}figcaption{text-align:center}hr{border:0;border-top:2px solid #999;width:110px;margin:24px auto}
.site-header{background:#fff}.header-inner{max-width:1200px;margin:auto;min-height:150px;display:flex;align-items:center;gap:22px;padding:22px 10px}.site-logo{width:105px;max-height:100px;object-fit:contain}.site-title{font-size:28px;font-weight:700;line-height:1.2}.site-title a{text-decoration:none;color:#151515}.site-description{font-size:16px}
.page-background{background:var(--page);padding:36px 30px 30px}.home-layout,.content-layout{max-width:1200px;margin:auto;display:grid;gap:25px;align-items:start}.home-layout{grid-template-columns:minmax(0,1fr)}.content-layout{grid-template-columns:minmax(0,3fr) minmax(220px,1fr)}.main-content{background:#fff;padding:22px 18px;min-width:0}.site-sidebar{min-width:0;background:#fff;padding:20px}.sidebar-widget{margin-bottom:30px}.sidebar-widget h2{font-size:22px}.sidebar-widget ul{padding-left:20px}.sidebar-widget li{margin:8px 0}
/* Three columns for each property: details / main image / stacked thumbnails. */
.property-columns{display:grid;grid-template-columns:1fr 1.12fr .9fr;gap:35px;align-items:start;margin:28px 0 30px}.property-columns>.wp-block-column{min-width:0}.property-columns>.wp-block-column:nth-child(2){text-align:center}.property-columns>.wp-block-column:nth-child(3){text-align:center}.property-columns>.wp-block-column img{max-width:100%;height:auto}.property-columns>.wp-block-column:nth-child(3) figure{margin:0 0 22px}.property-columns ul{margin-top:0}
/* Flexible figures support original WP figure markup and Perl-generated figure lists. */
.room-picture-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}.room-picture-grid>figure,.room-picture-grid>.wp-block-image,.room-picture-grid>ul>li,.room-picture-grid>ol>li{min-width:0;margin:0;text-align:center}.room-picture-grid>figure img{display:block;margin:auto}.room-picture-grid>ul,.room-picture-grid>ol{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;list-style:none;margin:0;padding:0}.room-picture-grid figure{break-inside:avoid}.room-detail>img:first-child{display:block;margin:0 auto 18px;max-width:100%}
/* WordPress-style gallery wrappers retained only where actual content uses them. */
.wp-block-columns:not(.property-columns){display:flex;gap:20px}.wp-block-columns:not(.property-columns)>.wp-block-column{flex:1;min-width:0}.wp-block-gallery,.gallery,.blocks-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.wp-block-gallery figure,.gallery figure{margin:0}.entry-content:after{content:"";display:block;clear:both}
.site-footer{text-align:center;background:#fff;padding:18px 20px 10px;line-height:1.6}.site-footer p{margin:0}.site-footer .footer-extra{margin-top:24px}
@media(max-width:900px){.content-layout{grid-template-columns:1fr}.property-columns{gap:18px}.site-sidebar{width:100%}}
@media(max-width:650px){.header-inner{min-height:110px}.site-logo{width:70px}.site-title{font-size:21px}.page-background{padding:18px 12px}.main-content{padding:20px 14px}h1{font-size:29px}h2{font-size:25px}.property-columns{grid-template-columns:1fr 1fr}.property-columns>.wp-block-column:first-child{grid-column:1/-1}.room-picture-grid,.room-picture-grid>ul,.room-picture-grid>ol,.wp-block-gallery,.gallery,.blocks-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* ================================================================
   Layout for HTML produced by static-site.pl and its templates.
   ================================================================ */

/* Each home: details | larger front photo | two vertically stacked photos. */
.entry-content > .wp-block-columns.property-columns,
.entry-content .wp-block-columns.property-columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) minmax(0, .78fr);
    gap: 16px;
    align-items: start;
    width: 100%;
}
.entry-content .wp-block-columns.property-columns > .wp-block-column {
    display: block;
    min-width: 0;
    width: auto;
    margin: 0;
    padding: 0;
}
.entry-content .wp-block-columns.property-columns > .wp-block-column > p {
    margin: 0 0 12px;
}
.entry-content .wp-block-columns.property-columns > .wp-block-column img {
    display: block;
    max-width: 100%;
    width: auto;
    height: auto;
    margin: 0 auto;
}
.entry-content .wp-block-columns.property-columns > .wp-block-column:first-child ul {
    margin: 0;
    padding-left: 20px;
}

/* Perl emits <a class="picture-tile"><img ...><span>Title</span></a>.
   Make the whole anchor a single grid cell and put the label below its image. */
.entry-content.room-picture-grid > a.picture-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    min-width: 0;
    text-align: center;
    text-decoration: none;
}
.entry-content.room-picture-grid > a.picture-tile > img {
    display: block;
    max-width: 100%;
    width: auto;
    height: auto;
    margin: 0 auto 6px;
}
.entry-content.room-picture-grid > a.picture-tile > span {
    display: block;
    width: 100%;
    text-align: center;
    line-height: 1.35;
    text-decoration: underline;
}

/* The information and charts following TEMPLATE_PHOTO_LIST are not tiles. */
.entry-content.room-picture-grid > :not(.picture-tile) {
    grid-column: 1 / -1;
    min-width: 0;
}
.entry-content.room-picture-grid > hr {
    width: 110px;
}
.entry-content.room-picture-grid > h2,
.entry-content.room-picture-grid > h4 {
    margin-top: 12px;
    margin-bottom: 8px;
}
.entry-content.room-picture-grid > ul.wp-block-list {
    display: block;
    list-style: disc;
    padding-left: 24px;
    margin: 0 0 12px;
}
/* Two real estate trend charts, rather than three property-photo columns. */
.entry-content.room-picture-grid > .wp-block-columns:not(.property-columns) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}
.entry-content.room-picture-grid > .wp-block-columns figure {
    text-align: center;
}
.entry-content.room-picture-grid > .wp-block-columns figure-caption,
.entry-content.room-picture-grid > .wp-block-columns figcaption {
    display: block;
    text-align: center;
}

@media (max-width: 650px) {
    .entry-content .wp-block-columns.property-columns {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .entry-content .wp-block-columns.property-columns > .wp-block-column:first-child {
        grid-column: 1 / -1;
    }
}
@media (max-width: 420px) {
    .entry-content .wp-block-columns.property-columns,
    .entry-content.room-picture-grid > .wp-block-columns:not(.property-columns) {
        grid-template-columns: 1fr;
    }
    .entry-content .wp-block-columns.property-columns > .wp-block-column:first-child {
        grid-column: auto;
    }
}
