/* === Property Search: polished listing cards (added by Claude) === */
.impress-property-showcase.impress-row { gap: 24px; }

.impress-showcase-property {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(14,14,14,0.08);
  display: flex;
  flex-direction: column;
  padding: 0 !important;
  transition: box-shadow .2s ease, transform .2s ease;
}
.impress-showcase-property:hover {
  box-shadow: 0 8px 22px rgba(14,14,14,0.13);
  transform: translateY(-3px);
}

.impress-showcase-photo { display: block; text-decoration: none; position: relative; }
.impress-showcase-photo img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
  margin: 0;
  border-radius: 0;
}

.impress-price {
  display: block;
  color: #2f8aa8;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 27px;
  font-weight: 600;
  line-height: 1.1;
  padding: 14px 18px 2px;
  margin: 0;
}

.impress-address { padding: 0 18px 14px; margin: 0; line-height: 1.45; }
.impress-street { display: block; color: #0e0e0e; font-size: 14px; font-weight: 600; }
.impress-cityname, .impress-state { color: #8a8a8a; font-size: 13px; }

.impress-beds-baths-sqft {
  margin: auto 0 0;
  padding: 12px 18px 16px;
  border-top: 1px solid #efece5;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  color: #5f5a50;
  font-size: 12.5px;
}
.impress-beds-baths-sqft span { white-space: nowrap; }

.impress-status {
  position: absolute;
  top: 12px;
  left: 12px;
  background: #4aa8c8;
  color: #fff;
  font-size: 11px;
  letter-spacing: .5px;
  text-transform: uppercase;
  padding: 4px 11px;
  border-radius: 5px;
  font-weight: 600;
}

/* === Property Search: even full-width distribution (added by Claude) === */
#home-search .impress-property-showcase.impress-row,
.impress-property-showcase.impress-row {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  width: 100% !important;
  gap: 24px !important;
}
@media (max-width: 960px) {
  #home-search .impress-property-showcase.impress-row,
  .impress-property-showcase.impress-row { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
  #home-search .impress-property-showcase.impress-row,
  .impress-property-showcase.impress-row { grid-template-columns: 1fr !important; }
}

/* === Property Search: center listings within page (added by Claude) === */
#home-search .impress-property-showcase.impress-row,
.impress-property-showcase.impress-row {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* === Property Search: space between search box and filter pills (added by Claude) === */
.search-filters { margin-top: 18px !important; }

/* ===== Space Coast with Kevin — IDX Broker theme ===== */
:root {
  --sck-navy: #0f2440;   /* swap for your exact brand navy */
  --sck-gold: #c9a24b;   /* swap for your exact brand gold */
  --sck-body-font: 'DM Sans', sans-serif;
  --sck-heading-font: 'Playfair Display', serif;
}

/* Hide the "Global Wrapper" title + post date on the wrapper page */
.page-id-XXXX .entry-title,
.page-id-XXXX .entry-meta,
.page-id-XXXX .posted-on {
  display: none;
}

/* Typography */
#IDX-main, #IDX-main p, #IDX-main label, #IDX-main input, #IDX-main td {
  font-family: var(--sck-body-font) !important;
}
#IDX-main h1, #IDX-main h2, #IDX-main h3,
#IDX-main .IDX-detailsAddress, .IDX-resultsAddress {
  font-family: var(--sck-heading-font) !important;
  color: var(--sck-navy) !important;
}

/* Buttons — navy with gold hover */
#IDX-main .IDX-btn,
#IDX-main .IDX-btn-primary,
#IDX-main button,
#IDX-main input[type="submit"] {
  background-color: var(--sck-navy) !important;
  border-color: var(--sck-navy) !important;
  color: #fff !important;
  border-radius: 4px !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: background-color 0.2s ease;
}
#IDX-main .IDX-btn:hover,
#IDX-main button:hover {
  background-color: var(--sck-gold) !important;
  border-color: var(--sck-gold) !important;
  color: var(--sck-navy) !important;
}

/* Price styling */
#IDX-main .IDX-detailsPrice, .IDX-resultsPrice {
  color: var(--sck-gold) !important;
  font-weight: 700;
}

/* Contact form panel */
#IDX-main .IDX-panel-heading,
#IDX-main .IDX-leadSignupHeader {
  background-color: var(--sck-navy) !important;
  color: #fff !important;
  font-family: var(--sck-heading-font) !important;
}
#IDX-main input[type="text"],
#IDX-main input[type="email"],
#IDX-main input[type="tel"] {
  border: 1px solid #d8dde6 !important;
  border-radius: 4px !important;
}
#IDX-main input:focus {
  border-color: var(--sck-gold) !important;
  outline: none !important;
}

/* Top "NEW SEARCH" bar */
#IDX-main .IDX-navbar, .IDX-navbar-default {
  background-color: var(--sck-navy) !important;
}

/* ── Mobile menu dropdown fix ── */
@media (max-width: 768px) {
  #navbar {
    position: relative;
    flex-wrap: wrap;
    align-items: center;
  }

  nav.open .nav-links {
    position: absolute !important;
    inset: unset !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    background: #ffffff !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    padding: 0.5rem 0 !important;
    gap: 0 !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12) !important;
    z-index: 999 !important;
    border-top: 1px solid #eeeeee;
  }

  nav.open .nav-links li {
    width: 100%;
    border-bottom: 1px solid #f3f3f3;
  }

  nav.open .nav-links li:last-child {
    border-bottom: none;
  }

  nav.open .nav-links a {
    display: block !important;
    padding: 0.9rem 1.5rem !important;
    font-size: 0.85rem !important;
    width: 100%;
  }
}

/* === Blog post readability: centered column + paragraph spacing (added by Claude) === */
.single-post > section > * {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

.single-post .section-body p {
  margin-bottom: 1.35em;
  font-size: 17px;
  line-height: 1.75;
}

.single-post .section-body li {
  margin-bottom: 0.5em;
  line-height: 1.7;
}

.single-post .section-body h2 {
  margin-top: 2em;
  margin-bottom: 0.6em;
}

.single-post .section-body h3 {
  margin-top: 1.5em;
  margin-bottom: 0.5em;
}

.single-post .section-body table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5em 0;
}

.single-post .section-body figure img {
  max-width: 100%;
  height: auto;
}

/* === navbar-scope-fix: keep the site header the only fixed nav (added by Claude) === */
/* The theme styles every nav element as the fixed site header, so Gutenberg blocks
   that output a nav (query pagination, post navigation) stack on top of the real
   menu and hide it -- most visibly on the News page. */
nav:not(#navbar) {
  position: static;
  top: auto;
  background: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  border-bottom: 0;
  box-shadow: none;
  z-index: auto;
  padding: 0;
}

#navbar { z-index: 500; }

/* === Center the content column on static pages (News, etc.) === */
body.page > section > .section-title,
body.page > section > .section-body {
  margin-left: auto;
  margin-right: auto;
}

body.page > section > .section-title {
  max-width: 760px;
  width: 100%;
}

/* === Don't let the logged-in WP admin bar cover the site header === */
body.admin-bar #navbar { top: 32px; }
@media screen and (max-width: 782px) {
  body.admin-bar #navbar { top: 46px; }
}