.articles-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}

.article-card.panel {
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(85, 114, 92, .24);
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 2px 7px rgba(45, 77, 55, .08);
}

.article-card .panel-body { padding: 20px 22px; }
.article-card h2, .article-card h3 { margin: 5px 0 10px; line-height: 1.3; letter-spacing: .4px; }
.article-card h2 a, .article-card h3 a { color: #4f6b59; text-decoration: none; }
.article-card h2 a:hover, .article-card h3 a:hover { color: #55725c; text-decoration: underline; }
.article-card .text-muted { color: #718276; }
.article-card .article-preview, .article-card .article-excerpt { font-size: 16px; line-height: 1.55; color: #2e3430; }
.article-card .btn-primary { border-color: #55725c; background: #55725c; color: #fff; }
.article-card .btn-primary:hover { border-color: #3f5b46; background: #3f5b46; }

.article-full { padding: 22px; background: #fff; color: #222; }
.article-full header { padding-bottom: 12px; border-bottom: 1px solid rgba(85, 114, 92, .22); }
.article-full h1 { margin-top: 6px; color: #55725c; line-height: 1.25; }
.article-full .article-preview { margin: 18px 0; font-size: 16px; line-height: 1.55; color: #3e4c42; }
.article-full .article-body { font-size: 16px; line-height: 1.55; color: #222; }
.article-full .article-body img { max-width: 100%; height: auto; }
.article-full footer { margin-top: 24px; padding-top: 14px; border-top: 1px solid rgba(85, 114, 92, .22); background: transparent; }
.article-pagination { display:flex; flex-wrap:wrap; gap:6px; margin:24px 0; }
.article-pagination a, .article-pagination span { min-width:34px; padding:7px 10px; border:1px solid rgba(79,107,89,.3); border-radius:4px; text-align:center; }
.article-pagination .is-current { background:#4f6b59; color:#fff; border-color:#4f6b59; }

@media (max-width: 767px) {
  .article-card .panel-body, .article-full { padding: 16px; }
  .article-full h1 { font-size: 24px; }
}

.contact-page { display: flex; flex-wrap: wrap; align-items: stretch; }
.contact-map iframe { display: block; width: 100%; min-height: 450px; border: 0; }
.contact-details { padding: 6px 24px 20px; }
.contact-details h2 { margin: 0 0 18px; color: #55725c; font-size: 22px; line-height: 1.35; }
.contact-details p { margin: 0 0 16px; font-size: 16px; line-height: 1.55; }
.contact-details a { overflow-wrap: anywhere; }
@media (max-width: 767px) {
  .contact-map iframe { min-height: 320px; }
  .contact-details { padding: 22px 15px 4px; }
}

.site-langs {
  display: inline-flex;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .5);
  border-radius: 4px;
  background: rgba(45, 77, 55, .86);
  box-shadow: 0 2px 8px rgba(0, 0, 0, .15);
  font: 600 11px/1 Arial, sans-serif;
}
.site-langs-desktop { display: flex; width: max-content; margin: -26px auto 8px; }
.site-langs-mobile { display: none; }
.site-lang { padding: 6px 7px; color: rgba(255,255,255,.96); }
.site-lang + .site-lang { border-left: 1px solid rgba(255,255,255,.25); }
.site-lang.is-active { background: #fff; color: #55725c; }
.site-lang.is-pending { cursor: default; background: rgba(255,255,255,.18); }
@media (max-width: 767px) {
  .site-langs-desktop { display: none; }
  .site-langs-mobile {
    display: inline-flex;
    position: absolute;
    top: 13px;
    right: 72px;
    z-index: 2;
  }
  .site-lang { padding: 5px 6px; }
}

/* Public links follow the site's restrained gray-green palette. */
body a { color: #4f6b59; }
body a:hover, body a:focus { color: #354b3d; }
body a.btn-primary, body a.btn-success, body a.btn-danger { color: #fff; }

.realty-picker { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; padding: 10px 12px; background: rgba(255,255,255,.9); border: 1px solid rgba(85,114,92,.24); }
.realty-picker label { margin: 0; color: #55725c; white-space: nowrap; }
.realty-picker select { width: min(100%, 620px); min-height: 38px; padding: 7px 34px 7px 10px; border: 1px solid #b8c6bb; border-radius: 4px; background: #fff; color: #253329; }
.realty-phases > #realty-list + #realty-list { margin-top: 38px !important; padding-top: 28px; border-top: 2px solid rgba(79,107,89,.24); }
.realty-phases .section-title h1 { color: #4f6b59; }
.realty-details-article .article-full { padding: 14px 18px; }
.realty-details-article .article-full h1 { margin: 4px 0 10px; font-size: 22px; line-height: 1.3; }
.realty-details-article .article-full .article-preview { margin: 10px 0; font-size: 16px; line-height: 1.55; }
.realty-details-article .article-full .article-body { font-size: 16px; line-height: 1.55; }
.realty-details-article .article-full time,
.realty-details-article .article-full .article-date { display: none; }
.realty-details-article .article-full p,
.realty-details-article .article-full li { font-size: 16px !important; line-height: 1.55 !important; }
.realty-details-article .article-full .article-body h2 { margin: 14px 0 8px; font-size: 18px; line-height: 1.35; }
.realty-request-actions { margin: 14px 0 4px; }
.realty-request-actions .btn { border-color:#4f6b59; background:#4f6b59; color:#fff; }
.contact-block form { margin: 20px 0 26px; padding: 20px 12px 4px; border:1px solid rgba(79,107,89,.22); background:#f8fbf8; }
.contact-block .contact-map { margin-top:24px; }
@media (max-width: 767px) {
  .realty-details-article .article-full { padding: 12px; }
  .realty-details-article .article-full h1 { font-size: 20px; }
}
@media (max-width: 767px) { .realty-picker { align-items: stretch; flex-direction: column; gap: 6px; } .realty-picker select { width: 100%; } }
.re-lb-btn { z-index: 3; min-width: 52px; min-height: 64px; }
.re-lb-img { z-index: 1; }
.re-lb-cap, .re-lb-close { z-index: 4; }
.re-card-thumb { display:block; aspect-ratio:16/10; overflow:hidden; background:#eef3ef; }
.re-card-thumb img { display:block; width:100%; height:100%; object-fit:cover; }
@media (max-width:767px) { .re-card-thumb { aspect-ratio:16/9; } }
