/* A restrained, accessible finish shared by the public buying and selling pages. */
.site-premium { --text-muted: #526159; }
.site-premium .site-header.is-solid {
  background: #fff !important; border-bottom: 1px solid #dce4df;
  box-shadow: 0 1px 6px rgba(24, 63, 53, .08) !important;
}
.site-premium .site-header :is(.logo, .logo span, .header-phone-link) {
  color: #183f35 !important;
}
.site-premium .site-header .header-nav:not(.is-open) a { color: #183f35 !important; }
.site-premium .site-header .header-wrap { flex-wrap: nowrap; }
.site-premium :is(input, select, textarea) { font-size: 16px; }
.site-premium :is(a, button, input, select, textarea):focus-visible {
  outline: 3px solid #b38a46 !important;
  outline-offset: 3px;
}
.site-premium .site-footer nav {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 20px;
  max-width: 1080px; margin: 18px auto; line-height: 1.6;
}
.site-premium .site-footer { padding-bottom: 100px; }
.site-premium .site-footer p { line-height: 1.7; }
.site-premium .zillow-card-tags { gap: 5px; }
.site-premium .zillow-card-tag { line-height: 1.4 !important; }
.site-premium .listing-card-photo-overlay :is(.zillow-card-meta, .premium-card-meta) {
  color: #f4f8f5 !important; opacity: 1 !important;
  text-shadow: 0 1px 4px #081910;
}
/* This renderer uses normal-flow details, not the compact image-only preview. */
.site-premium #most-viewed-grid {
  display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px !important; align-items: stretch;
}
.site-premium #most-viewed-grid .premium-card--homepage-strip {
  display: flex !important; flex-direction: column !important; position: relative;
  width: 100% !important; height: auto !important; max-height: none !important;
  min-width: 0; overflow: hidden; border: 1px solid #dce4df;
  border-radius: 14px !important; background: #fff !important;
  box-shadow: 0 4px 18px rgba(24, 63, 53, .07) !important;
}
.site-premium #most-viewed-grid .listing-card-photo-wrap {
  position: relative !important; inset: auto !important; flex: none !important;
  width: 100% !important; height: auto !important; aspect-ratio: 4 / 3 !important;
  min-height: 0 !important; max-height: none !important;
}
.site-premium #most-viewed-grid .listing-card-photo-btn {
  display: block !important; position: absolute !important; inset: 0 !important;
  width: 100% !important; max-width: none !important; height: 100% !important; min-height: 0 !important;
}
.site-premium #most-viewed-grid .listing-card-photo-img {
  display: block; width: 100% !important; height: 100% !important;
  object-fit: cover !important; position: absolute; inset: 0;
}
.site-premium .listing-card-photo-overlay__meta { color: #f4f8f5 !important; opacity: 1 !important; }
.site-premium #most-viewed-grid .homepage-preview-card-info {
  display: block !important; position: static !important; padding: 16px 16px 8px;
  color: #18231f !important; background: #fff; text-decoration: none;
}
.site-premium #most-viewed-grid .homepage-preview-price {
  font-size: 1.3rem !important; line-height: 1.3; margin: 0 0 6px !important;
  color: #183f35 !important; text-shadow: none !important;
}
.site-premium #most-viewed-grid .homepage-preview-address {
  font-size: .9rem !important; line-height: 1.5; margin: 0 !important;
  color: #34483d !important; text-shadow: none !important;
}
.site-premium #most-viewed-grid .listing-card-actions {
  display: flex !important; flex-direction: column !important; padding: 8px 16px 16px !important;
  margin-top: auto !important;
}
.site-premium #most-viewed-grid .most-viewed-card-counts {
  display: block !important; margin: 0; padding: 10px 16px; font-weight: 500;
  color: #526159; background: #f8faf8;
}
.site-premium #home-value-promo { padding-block: 36px !important; }
.site-premium .sell-premium-story h3 { color: #183f35; margin-top: 0; }
.site-premium .sell-premium-story p { line-height: 1.7; color: #526159; }
body.has-expert-cta #swmo-lead-fab { display: none !important; }
@media (min-width: 769px) {
  body.has-expert-cta #expert-cta-bar {
    left: auto !important; right: 24px !important; bottom: 18px !important;
    transform: none !important; width: 440px !important; max-width: calc(100vw - 48px);
    border: 1px solid #dce4df; border-radius: 14px;
    box-shadow: 0 8px 30px rgba(24, 63, 53, .16);
  }
}
@media (max-width: 768px) {
  .site-premium .site-header .logo { font-size: 15px !important; white-space: nowrap; }
  .site-premium .site-header .header-phone-link { font-size: 12px; }
  .site-premium .site-header .header-wrap { gap: 8px; padding-inline: 12px; }
  .site-premium .site-header .nav-toggle { color: #183f35; background: #fff; border-color: #dce4df; }
  .site-premium :is(.home-cma-property-form, .sell-premium-form) :is(input, select) { min-width: 0; }
  .site-premium #most-viewed-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px !important; }
  .site-premium #most-viewed-grid :is(.homepage-preview-card-info, .listing-card-actions) { padding-inline: 10px !important; }
  .site-premium #most-viewed-grid .homepage-preview-price { font-size: 1.1rem !important; }
  .site-premium #most-viewed-grid .listing-card-actions button { white-space: normal !important; }
  .site-premium #most-viewed-grid .zillow-card-tag { font-size: 9px !important; }
  .site-premium #most-viewed-grid .most-viewed-card-counts { font-size: 11px; padding-inline: 10px; }
  .site-premium .site-footer nav { gap: 12px 16px; padding-inline: 20px; }
  .site-premium #home-value-promo { padding: 28px 20px !important; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
}
/* Reset buyer preferences without losing the selected city or result context. */
.toolbar-clear-filters {
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid #baccc7;
  border-radius: 10px;
  background: #fff;
  color: #174b40;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
.toolbar-clear-filters:hover { background: #eef5f2; border-color: #174b40; }
.toolbar-clear-filters:focus-visible { outline: 3px solid #bc9144; outline-offset: 3px; }

/* Direct section access keeps long property pages easy to explore. */
.listing-section-nav {
  position: sticky; top: 0; z-index: 12; display: flex; gap: 6px;
  padding: 8px 76px 8px 24px; background: rgba(255,255,255,.97);
  border-bottom: 1px solid #e0e8e4; overflow-x: auto;
  scrollbar-width: thin; overscroll-behavior-x: contain;
}
.listing-section-nav button {
  flex: 0 0 auto; min-height: 44px; border: 0; border-radius: 9px;
  padding: 10px 16px; color: #234b40; background: transparent;
  font: inherit; font-size: 14px; font-weight: 650; cursor: pointer;
}
.listing-section-nav button:hover,
.listing-section-nav button[aria-current] { background: #edf4ef; }
.listing-section-nav button:focus-visible { outline: 3px solid #bc9144; outline-offset: -3px; }
@media (max-width: 700px) {
  .listing-section-nav { padding: 6px 8px; gap: 0; }
  .listing-section-nav button { padding: 10px 12px; font-size: 13px; }
}

/* The open phone menu is navy, not the white desktop header behind it. */
@media (max-width: 960px) {
  .site-premium .site-header #header-nav.is-open {
    background: #071526 !important;
    max-height: calc(100dvh - 140px);
    overflow-y: auto;
  }
  .site-premium .site-header #header-nav.is-open :is(a, button, .header-nav-link-btn, .header-nav-message) {
    color: #fff !important;
    opacity: 1 !important;
    text-shadow: none !important;
  }
  .site-premium .site-header #header-nav.is-open :is(a, .header-nav-link-btn):is(:hover, :focus-visible, [aria-current="page"]) {
    color: #fff !important;
    background: #293b4e !important;
  }
  .site-premium .site-header #header-nav.is-open .header-nav-cta {
    color: #fff !important;
    background: #245b4b !important;
    border-color: #75a894 !important;
    opacity: 1 !important;
    font-weight: 700 !important;
  }
  .site-premium .site-header #header-nav.is-open .header-nav-cta:is(:hover, :focus-visible) {
    color: #fff !important;
    background: #183f35 !important;
  }
}
