/* Standalone static layout. No WordPress/Divi dependency. */
*{box-sizing:border-box}
html{font-family:Arial,Helvetica,sans-serif;color:#444;background:#fff}
body{margin:0;font-size:15px;line-height:1.65}
a{color:#424242;text-decoration:underline}
a:hover{color:#777}
img{max-width:100%;height:auto}
h1,h2,h3{font-weight:400;line-height:1.3;margin:0 0 14px}
h1{font-size:27px}
h2{font-size:23px}
h3{font-size:19px}
p{margin:0 0 15px}
.site-wrap{max-width:1120px;margin:auto;padding:18px 28px}
.site-header{display:flex;justify-content:space-between;align-items:flex-start;margin:0 0 36px}
.brand a{font-size:25px;text-decoration:underline}
.brand small{display:block;font-size:13px;line-height:1}
.site-header nav{display:flex;flex-direction:column;gap:3px;text-align:right}
.top-graphs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin:24px 0 20px}
.top-graphs figure{margin:0;text-align:center}
.top-graphs img{width:100%;object-fit:contain}
.top-graphs figcaption{font-size:13px}
.featured-posts{background:#eee;padding:8px 5px 18px;margin:18px 0 24px}
.featured-posts article{margin:0 0 34px}
.featured-posts h2{font-size:22px}
.featured-posts .post-meta{font-size:13px}
.top-links{display:grid;grid-template-columns:1fr 1fr;gap:50px;border-bottom:4px solid #888;padding-bottom:26px;margin-bottom:52px;text-align:center}
.top-links a{background:#d8d8d8;font-size:13px}
.content-layout{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(240px,1fr);gap:48px;align-items:start}
.main-content,.sidebar{min-width:0}
.main-content>h1{margin-bottom:32px}
.main-content h2{margin-top:30px}
.main-content hr{border:0;border-top:1px solid #888;margin:18px 0}
.main-content img{max-width:100%}.sidebar h2{font-size:21px}.slide-placeholder{border:1px solid #777;background:#f8f8f8;padding:18px;text-align:center;min-height:140px}
.city-links{padding-left:24px;font-size:13px}
.blog-entry{margin:0 0 36px;padding-bottom:24px;border-bottom:1px solid #ccc}
.site-footer{border-top:4px solid #888;text-align:center;margin-top:70px;padding:35px 0 20px;font-size:12px;color:#666}
.site-footer p{margin-bottom:12px}
/* Property photo triplets in generated home listing */
.main-content h2+ p{font-size:13px}.main-content figure{margin:0 0 12px}.main-content .property-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.main-content .property-photos img{width:100%}
.top-graphs > h2 {
    grid-column: 1 / -1;
    margin: 0;
}
/* Supports Perl-produced figure, list, and nested div structures without modifying Perl. */
.room-picture-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.room-picture-grid>ul,.room-picture-grid>ol{display:contents}
.room-picture-grid>ul>li,.room-picture-grid>ol>li{list-style:none;margin:0;padding:0}.room-picture-grid figure,.room-picture-grid>div{margin:0;min-width:0}
.room-picture-grid img{width:100%;height:auto}
.room-picture-grid figcaption{text-align:center;font-size:13px}
@media(max-width:760px){.site-wrap{padding:14px}
  .content-layout{grid-template-columns:1fr;gap:35px}
  .top-graphs{gap:12px}
  .top-links{gap:12px}.room-picture-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.top-graphs{grid-template-columns:1fr}
  .room-picture-grid{grid-template-columns:1fr}}

/* Home index: each property has three nested picture columns.
   The original generated markup has no .property-photos class. */
.home-index > div > div {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  align-items:start;
}
.home-index > div > div > div {min-width:0;}
.home-index > div > div figure {margin:0;}
.home-index > div > div img {display:block;width:100%;height:auto;}
@media(max-width:480px){
  .home-index > div > div {gap:8px;}
}

/* Individual room picture and caption */
.room-detail-photo{margin:0 0 16px;max-width:100%;}
.room-detail-photo img{display:block;width:auto;max-width:100%;height:auto;}
.room-detail-photo figcaption{margin-top:6px;font-size:14px;}
.room-summary{padding-left:24px;margin:0 0 22px;}

/* Reusable SSI blog excerpt listing: two equal columns within its parent. */
.blog-excerpt-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  width: 100%;
  align-items: stretch;
}
.blog-excerpt-grid > .blog-entry {
  min-width: 0;
  margin: 0;
  padding: 18px;
  border: 0;
  background: #eee;
}
.blog-excerpt-grid .blog-entry h2 { margin: 0 0 10px; font-size: 21px; }
.blog-excerpt-grid .blog-entry p { overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .blog-excerpt-grid { grid-template-columns: minmax(0, 1fr); }
}
