/* Open Houses only; shared header/footer and navigation behavior stay intact. */
.rmc-openhouses-page-body .rmc-main-content {
  --rmc-color-primary: #0e8f8b;
  --rmc-color-primary-dark: #0b6e6b;
  --rmc-color-navy: #17383d;
  --rmc-color-text: #243d40;
  --rmc-color-text-muted: #5c7072;
  --rmc-color-border: #d4e4e1;
  --rmc-color-surface-soft: #f2f8f7;
}

.rmc-openhouses-page-body .rmc-main-content {
  width: 100%;
  max-width: none;
  padding: clamp(1rem, 4vw, 2rem) max(var(--rmc-page-gutter), calc((100% - 72rem) / 2)) clamp(2.5rem, 6vw, 4rem);
  background: #f2f8f7;
  font-family: "Open Sans", Arial, sans-serif;
}

/* Draw the caret on the link, preserving the submenu's hover bridge. */
.rmc-openhouses-page-body .rmc-primary-menu > .rmc-menu-item-has-children > a::after {
  content: "";
  flex: 0 0 .35rem;
  width: .35rem;
  height: .35rem;
  margin-left: .55rem;
  margin-top: -.2rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  opacity: .7;
}

.rmc-openhouses-page-body .rmc-openhouses-hero {
  display:grid;
  width:100%;
  min-height:clamp(15rem,24vw,20rem);
  margin:0 auto;
 min-height:clamp(15rem,24vw,20rem);
  overflow:hidden;
  border:1px solid #d4e4e1;
  border-radius:clamp(1rem,3vw,1.5rem);
  place-items:center;
  background:linear-gradient(120deg,rgba(17,49,61,.84),rgba(15,104,102,.56)),url('/img/openhouses-hero.jpg') center/cover no-repeat;
  color:#fff;
  text-align:center
}

.rmc-openhouses-page-body .rmc-openhouses-hero-inner {
  width:min(100%,52rem)
}

.rmc-openhouses-page-body .rmc-openhouses-eyebrow {
  margin:0 0 .75rem;
  color:#fff;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase
}

.rmc-openhouses-page-body .rmc-openhouses-hero h1 {
  margin:0;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2rem,5vw,3.25rem);
  font-weight:600;
  line-height:1.1;
  letter-spacing:-.025em
}

.rmc-openhouses-page-body .rmc-openhouses-hero p:last-child {
  max-width:44rem;
  margin:1rem auto 0;
  color:#fff;
  font-size:clamp(1rem,2vw,1.125rem);
  line-height:1.6
}

.rmc-openhouses-page-body .rmc-openhouses-content {
  width:100%;
  margin-inline:auto;
  padding:clamp(2rem,5vw,3rem) 0 0
}

.rmc-openhouses-page-body .rmc-openhouses-intro {
  display:flex;
  margin-bottom:clamp(1.5rem,4vw,2rem);
  padding-bottom:1.5rem;
  border-bottom:1px solid var(--rmc-color-border);
  flex-wrap:wrap;
  align-items:end;
  justify-content:space-between;
  gap:1rem 2rem
}

.rmc-openhouses-page-body .rmc-openhouses-intro h2 {
  margin:0 0 .35rem;
  color:var(--rmc-color-navy);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.65rem,4vw,2.15rem);
  font-weight:600;
  line-height:1.2
}

.rmc-openhouses-page-body .rmc-openhouses-intro p {
  max-width:43rem;
  margin:0;
  color:var(--rmc-color-text-muted)
}

.rmc-openhouses-page-body .rmc-openhouses-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1rem,3vw,1.5rem)
}

.rmc-openhouses-page-body .rmc-openhouse-card {
  display:flex;
  min-width:0;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--rmc-color-border);
  border-radius:var(--rmc-radius-md);
  background:var(--rmc-color-surface);
  box-shadow:none
}

.rmc-openhouses-page-body .rmc-openhouse-photo {
  display:grid;
  aspect-ratio:16/10;
  place-items:center;
  overflow:hidden;
  background:linear-gradient(135deg,#e8f1ef,#d8e6e3);
  color:var(--rmc-color-primary-dark);
  font-weight:800
}

.rmc-openhouses-page-body .rmc-openhouse-photo img {
  width:100%;
  height:100%;
  object-fit:cover
}

.rmc-openhouses-page-body .rmc-openhouse-body {
  display:flex;
  padding:clamp(1.25rem,3vw,1.5rem);
  flex:1;
  flex-direction:column;
  gap:.9rem
}

.rmc-openhouses-page-body .rmc-openhouse-date {
  color:var(--rmc-color-primary-dark);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase
}

.rmc-openhouses-page-body .rmc-openhouse-brand {
  display:flex;
  min-height:3.5rem;
  align-items:center
}

.rmc-openhouses-page-body .rmc-openhouse-brand img {
  width:auto;
  max-width:10rem;
  max-height:3.5rem;
  padding:.35rem;
  border:1px solid var(--rmc-color-border);
  border-radius:var(--rmc-radius-sm);
  object-fit:contain
}

.rmc-openhouses-page-body .rmc-openhouse-address {
  margin:0;
  color:var(--rmc-color-navy);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.2rem,2.5vw,1.5rem);
  font-weight:600;
  line-height:1.25
}

.rmc-openhouses-page-body .rmc-openhouse-notes,.rmc-openhouses-page-body .rmc-openhouse-source {
  margin:0
}

.rmc-openhouses-page-body .rmc-openhouse-notes {
  color:var(--rmc-color-text);
  line-height:1.55
}

.rmc-openhouses-page-body .rmc-openhouse-source {
  color:var(--rmc-color-text-muted);
  font-size:.82rem;
  font-weight:700
}

.rmc-openhouses-page-body .rmc-openhouse-agent {
  display:flex;
  padding-top:1rem;
  align-items:center;
  gap:.75rem;
  border-top:1px solid var(--rmc-color-border)
}

.rmc-openhouses-page-body .rmc-openhouse-logo {
  width:4.25rem;
  height:3rem;
  padding:.3rem;
  border:1px solid var(--rmc-color-border);
  border-radius:var(--rmc-radius-sm);
  object-fit:contain
}

.rmc-openhouses-page-body .rmc-openhouse-agent strong,.rmc-openhouses-page-body .rmc-openhouse-agent span {
  display:block
}

.rmc-openhouses-page-body .rmc-openhouse-agent span {
  color:var(--rmc-color-text-muted);
  font-size:.82rem
}

.rmc-openhouses-page-body .rmc-openhouse-actions {
  display:flex;
  margin-top:auto;
  padding-top:.35rem;
  flex-wrap:wrap;
  gap:.6rem
}

.rmc-openhouses-page-body .rmc-openhouse-actions a {
  display:inline-flex;
  min-height:2.75rem;
  padding:.6rem .85rem;
  align-items:center;
  border:1px solid var(--rmc-color-primary);
  border-radius:var(--rmc-radius-sm);
  color:var(--rmc-color-primary-dark);
  font-size:.88rem;
  font-weight:700;
  line-height:1.2;
  text-decoration:none
}

.rmc-openhouses-page-body .rmc-openhouse-actions a.primary,.rmc-openhouses-page-body .rmc-openhouse-actions a:hover,.rmc-openhouses-page-body .rmc-openhouse-actions a:focus-visible {
  background:var(--rmc-color-primary-dark);
  border-color:var(--rmc-color-primary-dark);
  color:#fff
}

.rmc-openhouses-page-body .rmc-openhouses-loading,.rmc-openhouses-page-body .rmc-openhouses-error,.rmc-openhouses-page-body .rmc-openhouses-empty {
  padding:clamp(2rem,6vw,4rem);
  border:1px solid var(--rmc-color-border);
  border-radius:var(--rmc-radius-md);
  background:var(--rmc-color-surface-soft);
  text-align:center
}

.rmc-openhouses-page-body .rmc-openhouses-state-icon {
  display:grid;
  width:4rem;
  height:4rem;
  margin:0 auto 1rem;
  place-items:center;
  border-radius:50%;
  background:#dcecea;
  color:var(--rmc-color-primary-dark);
  font-size:1.6rem
}

.rmc-openhouses-page-body .rmc-openhouses-empty h3,.rmc-openhouses-page-body .rmc-openhouses-error h3 {
  margin:0 0 .5rem;
  color:var(--rmc-color-navy);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.35rem,3vw,1.75rem);
  font-weight:600
}

.rmc-openhouses-page-body .rmc-openhouses-empty p,.rmc-openhouses-page-body .rmc-openhouses-error p {
  max-width:40rem;
  margin:0 auto 1.25rem;
  color:var(--rmc-color-text-muted)
}

@media(max-width:61.25rem) {
  .rmc-openhouses-page-body .rmc-openhouses-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }

}

@media(max-width:42.5rem) {
  .rmc-openhouses-page-body .rmc-openhouses-grid {
    grid-template-columns:1fr
  }

  .rmc-openhouses-page-body .rmc-openhouses-intro {
    align-items:flex-start;
    flex-direction:column
  }

  .rmc-openhouses-page-body .rmc-openhouses-intro .rmc-button {
    width:100%
  }

}

.rmc-openhouses-page-body .rmc-openhouses-hero-inner::after {
  content: "";
  display: block;
  width: 3rem;
  height: .2rem;
  margin: 1.25rem auto 0;
  border-radius: 999px;
  background: #61c6bf;
}

.rmc-openhouses-page-body .rmc-openhouse-body {
  overflow-wrap: anywhere;
}

.rmc-openhouses-page-body .rmc-openhouse-logo {
  flex-shrink: 0;
  height: 3rem;
}

.rmc-openhouses-page-body .rmc-openhouse-agent > div {
  min-width: 0;
}

.rmc-openhouses-page-body .rmc-openhouses-intro > div {
  flex: 1 1 32rem;
  min-width: 0;
}

.rmc-openhouses-page-body .rmc-openhouses-intro .rmc-button {
  max-width: 100%;
}

@media (max-width: 42.5rem) {
  .rmc-openhouses-page-body .rmc-openhouses-hero {
    background-position: center;
  }

  .rmc-openhouses-page-body .rmc-openhouses-eyebrow {
    font-size: .75rem;
    letter-spacing: .1em;
  }

  .rmc-openhouses-page-body .rmc-openhouses-intro > div {
    flex-basis: auto;
  }

  .rmc-openhouses-page-body .rmc-openhouse-actions a {
    flex: 1 1 auto;
    justify-content: center;
    text-align: center;
  }

}
