/* Shared static-site stylesheet */
:root { font-family: Arial, Helvetica, sans-serif; color: #27323c; background: #fff; line-height: 1.65; }
* { box-sizing: border-box; }
body { margin: 0; }
a { color: #17638d; }
a:hover { text-decoration: underline; }
img { max-width: 100%; height: auto; }
figure { margin: 1.3rem 0; }
figcaption { color: #667; font-size: .9rem; }
h1, h2, h3 { line-height: 1.25; color: #263e50; }
h1 { font-size: 2rem; }
h2 { font-size: 1.4rem; }
h3 { font-size: 1.15rem; }
.site-container { max-width: 1240px; margin: auto; padding: 0 24px; }
.site-header { background: #183b56; color: #fff; border-bottom: 4px solid #b49b65; }
.site-header .site-container { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 15px; padding-top: 20px; padding-bottom: 20px; }
.site-header a { color: white; text-decoration: none; }
.site-brand { font-size: 1.55rem; font-weight: 700; }
.site-header nav { display: flex; gap: 20px; flex-wrap: wrap; }
.site-layout { max-width: 1240px; margin: 28px auto; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,2fr); gap: 30px; align-items: start; padding: 0 24px; }
.site-sidebar { min-width: 0; grid-column: 1; grid-row: 1; }
.page-content { min-width: 0; grid-column: 2; grid-row: 1; }
.page-content p { margin: .8rem 0 1.2rem; }
.page-content img { display: inline-block; }
.page-content a img { border: 0; }
.widget { padding: 20px; margin-bottom: 24px; background: #f6f8f9; border: 1px solid #dfe5e8; }
.widget h2 { margin-top: 0; }
.post-summary { border-bottom: 1px solid #ddd; padding-bottom: 15px; margin-bottom: 15px; }
.post-summary:last-child { border: 0; margin: 0; padding: 0; }
.post-meta { font-size: .85rem; color: #666; }
.property-photo-row, .graph-row { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; align-items: start; margin: 1rem 0 1.5rem; }
.graph-row { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.property-photo-row figure, .graph-row figure, .room-photo-grid figure { margin: 0; min-width: 0; text-align: center; }
.property-photo-row img, .graph-row img, .room-photo-grid img { display: block; max-width: 100%; height: auto; margin: 0 auto; }
.property-photo-row figcaption, .graph-row figcaption, .room-photo-grid figcaption { text-align: center; margin-top: 6px; line-height: 1.4; }
.room-photo-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin: 1.2rem 0; }
.page-content .property-description, .page-content .property-details { text-align: center; }
.site-sidebar .city-links-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 12px; row-gap: 8px; list-style: none; padding: 0; margin: 0; line-height: 1.4; }
.site-sidebar .city-links-grid li { margin: 0; padding: 0; min-width: 0; overflow-wrap: break-word; }
.site-footer { padding: 28px 0; background: #f3f5f6; border-top: 1px solid #ddd; }
.site-footer p { margin: .3rem 0; }
.site-footer .footer-original-line { text-align: center; margin: .35rem 0; }
@media (max-width: 850px) {
  .site-layout { grid-template-columns: 1fr; }
  .site-sidebar { grid-column: 1; grid-row: 2; }
  .page-content { grid-column: 1; grid-row: 1; }
}
@media (max-width: 600px) {
  .room-photo-grid, .property-photo-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 500px) {
  .site-container, .site-layout { padding-left: 14px; padding-right: 14px; }
  .site-brand { font-size: 1.25rem; }
  h1 { font-size: 1.65rem; }
}
@media (max-width: 390px) {
  .room-photo-grid, .property-photo-row, .graph-row, .site-sidebar .city-links-grid { grid-template-columns: 1fr; }
}
