:root {
  --estate-primary: #5f8f3d;
  --estate-primary-dark: #476d2d;
  --estate-primary-light: #8ab260;
  --estate-secondary: #1a4e59;
  --estate-secondary-dark: #10363d;
  --estate-secondary-light: #2b7281;
  --estate-surface: #ffffff;
  --estate-soft: #f5f8f8;
  --estate-bg: #79b3b2;
  --estate-bg-solid: #77b0af;
  --estate-text: #344046;
  --estate-muted: #66767b;
  --estate-border: #d8e1e3;
  --estate-shadow: 0 10px 28px rgba(0, 0, 0, 0.12);
  --estate-radius: 16px;
  --estate-width: min(1180px, calc(100% - 2rem));
  --estate-logo-max-height: 74px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--estate-text);
  background: var(--estate-bg-solid) url('../images/body-bg.jpg') repeat-x top left;
  font-family: Arial, Helvetica, sans-serif;
  transition: background-color .25s ease, color .25s ease;
}

a {
  color: var(--estate-secondary);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

.container {
  width: var(--estate-width);
  margin-inline: auto;
}

.screen-reader-text {
  position: absolute;
  left: -9999px;
}

.site-shell {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.site-main {
  flex: 1;
}

.estate-header {
  position: relative;
  z-index: 20;
  padding-top: 24px;
}

.estate-header__top {
  background: url('../images/header-bg.png') no-repeat top center;
  min-height: 124px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 24px 34px 20px;
}

.site-branding {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.custom-logo {
  max-height: var(--estate-logo-max-height);
  width: auto;
}

.site-title-link,
.site-branding a.custom-logo-link {
  display: inline-flex;
  align-items: center;
}

.site-title-link,
.site-title,
.site-title a {
  color: #fff;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  font-weight: 700;
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.25);
}

.site-description {
  margin: 0;
  color: rgba(255, 255, 255, 0.92);
  max-width: 60ch;
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}

.header-actions__contact,
.button,
.wp-block-button__link,
.search-submit,
input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 46px;
  padding: 0.8rem 1.2rem;
  border-radius: 999px;
  border: 0;
  background: linear-gradient(180deg, var(--estate-primary-light) 0%, var(--estate-primary) 100%);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
}

.button--secondary,
.featured-slide .button--secondary {
  background: linear-gradient(180deg, #ffffff 0%, #ebf2f2 100%);
  color: var(--estate-secondary-dark);
  border: 1px solid var(--estate-border);
}

.menu-toggle {
  display: none;
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.24);
  color: #fff;
  border-radius: 999px;
  padding: 0.8rem 1rem;
}

.estate-nav-wrap {
  margin-top: -1px;
}

.estate-nav__inner {
  background: url('../images/menu-bg.png') no-repeat top center;
  min-height: 70px;
  padding: 20px 30px 0;
}

.estate-subnav-wrap {
  margin-top: -2px;
}

.estate-subnav__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  background: linear-gradient(180deg, var(--estate-secondary-light) 0%, var(--estate-secondary) 100%);
  border-radius: 0 0 18px 18px;
  box-shadow: var(--estate-shadow);
  padding: 0.6rem 1.2rem;
}

.estate-subnav__cta {
  color: #fff;
  font-weight: 700;
}

.main-navigation ul,
.secondary-navigation ul,
.footer-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.main-navigation a,
.secondary-navigation a,
.footer-navigation a {
  display: inline-flex;
  align-items: center;
  padding: 0.55rem 0.8rem;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
}

.main-navigation a {
  color: #5f5f5f;
  font-family: Georgia, 'Times New Roman', serif;
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.7);
}

.main-navigation .current-menu-item > a,
.main-navigation a:hover {
  background: linear-gradient(180deg, var(--estate-primary-light) 0%, var(--estate-primary-dark) 100%);
  color: #fff;
  text-shadow: none;
}

.secondary-navigation a,
.footer-navigation a {
  color: #e8f8f7;
}

.secondary-navigation .current-menu-item > a,
.secondary-navigation a:hover,
.footer-navigation a:hover {
  background: rgba(255, 255, 255, 0.12);
}

.estate-hero {
  margin-top: 1rem;
  padding: 1rem 0 0;
}

.estate-hero__inner {
  display: grid;
  grid-template-columns: 1.15fr 0.95fr;
  gap: 1.5rem;
  align-items: start;
}

.estate-hero__copy,
.estate-hero__search,
.entry-card,
.property-search,
.quick-listings__box,
.widget,
.footer-widget-area,
.not-found-page,
.property-card__inner,
.property-single__header,
.property-single__gallery,
.property-single__content,
.property-facts,
.property-contact-card {
  background: linear-gradient(180deg, #fff 0%, #f7fbfb 100%);
  border: 1px solid var(--estate-border);
  border-radius: var(--estate-radius);
  box-shadow: var(--estate-shadow);
}

.estate-hero__copy {
  padding: 2rem;
  min-height: 100%;
}

.eyebrow {
  margin: 0 0 0.75rem;
  color: var(--estate-primary);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.estate-hero h1,
.section-heading h1,
.section-heading h2,
.entry-title,
.property-single__header h1 {
  margin: 0 0 1rem;
  color: #2f3d42;
  font-family: Georgia, 'Times New Roman', serif;
  line-height: 1.1;
}

.estate-hero h1 {
  font-size: clamp(2.2rem, 4vw, 3.8rem);
}

.estate-hero__text,
.archive-description,
.card-item__excerpt,
.property-card__excerpt,
.entry-content,
.site-info__text {
  color: var(--estate-muted);
  line-height: 1.7;
}

.hero__actions,
.property-search__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.25rem;
}

.property-search {
  padding: 1.4rem;
}

.property-search__heading h2 {
  margin: 0 0 1rem;
  font-family: Georgia, 'Times New Roman', serif;
  color: #2f3d42;
}

.property-search__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.9rem;
}

.property-search__field {
  display: grid;
  gap: 0.45rem;
}

.property-search__field--wide {
  grid-column: 1 / -1;
}

.property-search__field span {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--estate-secondary-dark);
}

.property-search input,
.property-search select,
.search-form input {
  width: 100%;
  min-height: 44px;
  border-radius: 12px;
  border: 1px solid #d1dde0;
  padding: 0.75rem 0.95rem;
  background: #fff;
}

.section-block {
  padding: 2rem 0 3rem;
}

.section-block--tight {
  padding-top: 1rem;
}

.featured-slider-wrap {
  padding: 1rem 0 2rem;
}

.featured-slider {
  background: url('../images/featured-bg.png') repeat-x top left, #dceaea;
  border-radius: 22px;
  padding: 1rem;
  box-shadow: var(--estate-shadow);
}

.featured-slider__viewport {
  position: relative;
  min-height: 520px;
  overflow: hidden;
  border-radius: 18px;
}

.featured-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.45s ease, visibility 0.45s ease;
}

.featured-slide.is-active {
  opacity: 1;
  visibility: visible;
}

.featured-slide__image,
.featured-slide__overlay {
  position: absolute;
  inset: 0;
}

.featured-slide__image {
  background-position: center;
  background-size: cover;
}

.featured-slide__overlay {
  background: linear-gradient(90deg, rgba(17, 37, 42, 0.78) 0%, rgba(17, 37, 42, 0.38) 52%, rgba(17, 37, 42, 0.08) 100%), url('../images/featured-overlay.png') repeat-x bottom left;
}

.featured-slide__content {
  position: relative;
  z-index: 2;
  max-width: 460px;
  padding: 2.5rem;
  color: #fff;
}

.featured-slide__price {
  display: inline-flex;
  align-items: center;
  min-height: 45px;
  padding: 0.55rem 1rem;
  border-radius: 999px;
  background: linear-gradient(180deg, #8ab260 0%, #628942 100%);
  color: #fff;
  font-weight: 700;
  margin-bottom: 1rem;
}

.featured-slide__content h2 {
  margin: 0 0 0.75rem;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.8rem, 2.8vw, 2.8rem);
  line-height: 1.1;
}

.featured-slide__content h2 a,
.featured-slide__content p,
.featured-slide__meta {
  color: #fff;
}

.featured-slide__meta {
  font-weight: 700;
}

.featured-slider__controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 1rem 0 0.2rem;
}

.featured-slider__arrow,
.featured-slider__dot {
  border: 0;
  cursor: pointer;
}

.featured-slider__arrow {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  font-size: 1.5rem;
  background: linear-gradient(180deg, #fff 0%, #eef4f4 100%);
  color: var(--estate-secondary-dark);
}

.featured-slider__dots {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.featured-slider__dot {
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: rgba(16, 54, 61, 0.26);
}

.featured-slider__dot.is-active {
  background: var(--estate-primary);
}

.quick-listings__grid,
.cards-grid,
.footer-widgets,
.content-grid,
.property-single__content-grid {
  display: grid;
  gap: 1.4rem;
}

.quick-listings__grid,
.footer-widgets {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.quick-listings__box,
.footer-widget-area,
.widget,
.entry-card,
.property-facts,
.property-contact-card {
  padding: 1.3rem;
}

.quick-listings__box h3,
.widget-title,
.property-facts h2,
.property-contact-card h2 {
  margin: 0 0 1rem;
  font-family: Georgia, 'Times New Roman', serif;
  color: #2f3d42;
}

.quick-listings__box ul,
.property-facts ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.quick-listings__box li + li,
.property-facts li + li {
  margin-top: 0.65rem;
}

.quick-listings__box a {
  color: var(--estate-secondary-dark);
  font-weight: 700;
}

.cards-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.content-grid {
  grid-template-columns: minmax(0, 1fr) 320px;
}

.content-grid--properties {
  align-items: start;
}

.post-list,
.sidebar-area {
  display: grid;
  gap: 1.25rem;
}

.property-card__inner,
.card-item__inner {
  display: block;
  height: 100%;
  overflow: hidden;
  color: inherit;
}

.property-card__image,
.card-item__image,
.entry-thumbnail {
  position: relative;
  overflow: hidden;
}

.property-card__image img,
.card-item__image img,
.entry-thumbnail img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.property-card__price {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0.45rem 0.8rem;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--estate-primary-light) 0%, var(--estate-primary) 100%);
  color: #fff;
  font-weight: 700;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.24);
}

.property-badge {
  position: absolute;
  right: 1rem;
  top: 1rem;
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--estate-secondary-light) 0%, var(--estate-secondary-dark) 100%);
  color: #fff;
  font-size: 0.85rem;
  font-weight: 700;
}

.property-badge--header {
  position: static;
  margin-bottom: 1rem;
}

.property-card__body,
.card-item__content {
  padding: 1.2rem;
}

.property-card__terms,
.property-meta-strip,
.entry-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  color: var(--estate-muted);
  font-size: 0.92rem;
}

.property-card__terms span,
.property-meta-strip span {
  display: inline-flex;
  align-items: center;
  padding: 0.3rem 0.55rem;
  border-radius: 999px;
  background: var(--estate-soft);
  color: var(--estate-secondary-dark);
}

.property-card__title,
.card-item__title {
  margin: 0.75rem 0 0.65rem;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.5rem;
  line-height: 1.2;
}

.property-card__address {
  margin: 0 0 0.75rem;
  color: var(--estate-secondary-dark);
  font-weight: 700;
}

.property-card__facts {
  list-style: none;
  margin: 0.95rem 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.property-card__facts li,
.property-card__link {
  display: inline-flex;
  align-items: center;
  padding: 0.38rem 0.65rem;
  border-radius: 999px;
  background: #f0f5f5;
  color: var(--estate-secondary-dark);
  font-size: 0.92rem;
  font-weight: 700;
}

.property-card__link {
  margin-top: 1rem;
  background: #edf4ea;
  color: var(--estate-primary-dark);
}

.property-single-layout {
  padding-top: 1.25rem;
}

.property-single,
.single-layout {
  display: grid;
  gap: 1.25rem;
}

.property-single__header {
  padding: 1.5rem;
}

.property-single__header-main {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
}

.property-single__address {
  margin: 0;
  color: var(--estate-muted);
  font-size: 1rem;
}

.property-single__gallery {
  padding: 1rem;
}

.property-gallery__main img {
  width: 100%;
  border-radius: 16px;
  object-fit: cover;
  max-height: 560px;
}

.property-gallery__thumbs {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 0.75rem;
  margin-top: 0.9rem;
}

.property-gallery__thumbs figure {
  margin: 0;
}

.property-gallery__thumbs img {
  width: 100%;
  border-radius: 12px;
}

.property-single__content-grid {
  grid-template-columns: minmax(0, 1fr) 340px;
  align-items: start;
}

.property-single__content {
  padding: 1.5rem;
}

.property-single__content .entry-content > *:first-child {
  margin-top: 0;
}

.property-facts ul li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #e8eeee;
}

.property-facts ul li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.search-form {
  display: flex;
  gap: 0.6rem;
  padding: 0.7rem;
}

.not-found-page {
  padding: 1.6rem;
}

.site-footer {
  padding: 2.4rem 0 2rem;
  background: url('../images/main-bg-full.png') repeat-x top center, linear-gradient(180deg, #235863 0%, #143a42 100%);
  color: #f1fbfb;
}

.site-info {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1.5rem;
  padding-top: 1.25rem;
}

.footer-widget-area,
.widget {
  color: var(--estate-text);
}

.footer-widget-area a,
.site-footer a {
  color: inherit;
}

.site-info__text {
  margin: 0.45rem 0 0;
  color: rgba(255, 255, 255, 0.86);
  max-width: 60ch;
}

.site-info__copyright {
  margin: 0.35rem 0 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.92rem;
}

.comments-area {
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid var(--estate-border);
  border-radius: 16px;
  box-shadow: var(--estate-shadow);
  padding: 1.4rem;
}

.comment-list,
.comment-respond form,
.comment-form {
  display: grid;
  gap: 0.85rem;
}

.comment-form input,
.comment-form textarea {
  width: 100%;
  border-radius: 10px;
  border: 1px solid #cfdbde;
  padding: 0.8rem;
}

@media (max-width: 1100px) {
  .estate-hero__inner,
  .property-single__content-grid,
  .content-grid,
  .quick-listings__grid,
  .footer-widgets,
  .cards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .content-grid,
  .property-single__content-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 820px) {
  .estate-header__top {
    background-size: cover;
    border-radius: 18px 18px 0 0;
    padding: 1.2rem;
    flex-direction: column;
    align-items: stretch;
  }

  .menu-toggle {
    display: inline-flex;
  }

  .estate-nav__inner,
  .estate-subnav__inner {
    padding: 0.8rem 1rem;
  }

  .estate-nav__inner {
    background: linear-gradient(180deg, #ffffff 0%, #eef3f3 100%);
    border-radius: 0 0 16px 16px;
    min-height: 0;
  }

  .main-navigation {
    display: none;
  }

  .main-navigation.is-open {
    display: block;
  }

  .main-navigation ul,
  .secondary-navigation ul,
  .site-info,
  .property-search__grid,
  .estate-hero__inner,
  .quick-listings__grid,
  .footer-widgets,
  .cards-grid,
  .property-single__header-main {
    grid-template-columns: 1fr;
  }

  .main-navigation ul,
  .secondary-navigation ul,
  .site-info {
    display: grid;
  }

  .estate-subnav__inner {
    align-items: start;
    flex-direction: column;
  }

  .search-form {
    flex-direction: column;
  }
}

@media (max-width: 560px) {
  .container {
    width: min(100% - 1rem, 100%);
  }

  .estate-hero__copy,
  .property-search,
  .property-card__body,
  .entry-card,
  .property-single__header,
  .property-single__content,
  .property-facts,
  .property-contact-card,
  .widget,
  .footer-widget-area {
    padding: 1rem;
  }

  .featured-slider__viewport {
    min-height: 460px;
  }

  .featured-slide__content {
    padding: 1.3rem;
  }
}


/* Version 3 additions */
.property-single__reference{margin:.25rem 0 0;color:#d0e6e5;font-weight:600}
.property-gallery__thumbs figure{cursor:pointer;border:2px solid transparent;border-radius:12px;overflow:hidden}
.property-gallery__thumbs figure.is-active{border-color:#7cb7b6}
.property-map-card{margin-top:1.5rem}
.property-map-card__header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}
.property-map-embed iframe{width:100%;min-height:360px;border:0;border-radius:16px;background:#dfe9e8}
.property-agent-card__body{display:grid;grid-template-columns:110px 1fr;gap:1rem;align-items:start}
.property-agent-card__avatar img{width:110px;height:110px;object-fit:cover;border-radius:50%}
.property-agent-card__content h3{margin:.1rem 0 .35rem}
.property-agent-card__list{list-style:none;padding:0;margin:.6rem 0;display:grid;gap:.35rem}
.property-agent-card__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem}
.property-card__agent{margin:.75rem 0 0;color:#55726f;font-size:.95rem}
.agent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.agent-card{display:grid;grid-template-columns:220px 1fr;gap:1.25rem;align-items:stretch}
.agent-card__media img{width:100%;height:100%;object-fit:cover;border-radius:16px}
.agent-card__position,.agent-single__position{color:#55726f;font-weight:600}
.agent-single{display:grid;gap:1.5rem}
.agent-single__header{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:1.5rem;align-items:center}
.agent-single__media img{width:100%;height:auto;border-radius:22px}
.agent-single__contacts{list-style:none;padding:0;margin:1rem 0;display:grid;gap:.4rem}
.agent-single__actions{display:flex;flex-wrap:wrap;gap:.75rem}
@media (max-width: 900px){.property-agent-card__body,.agent-card,.agent-single__header,.property-map-card__header{grid-template-columns:1fr}.property-map-card__header{align-items:flex-start}.agent-grid{grid-template-columns:1fr}}

.section-heading--split{display:flex;align-items:end;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.estate-hero--premium .estate-hero__copy{position:relative;overflow:hidden}
.estate-hero--premium .estate-hero__copy::after{content:"";position:absolute;inset:auto -60px -60px auto;width:180px;height:180px;background:radial-gradient(circle at center, rgba(95,143,61,.18), rgba(95,143,61,0));pointer-events:none}
.estate-hero__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-top:1.5rem}
.estate-stat{padding:1rem;border:1px solid #dbe5e6;border-radius:18px;background:linear-gradient(180deg,#ffffff 0%,#eef6f6 100%);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.estate-stat strong{display:block;font-size:1.65rem;font-family:Georgia,'Times New Roman',serif;color:#26363b;line-height:1.1}
.estate-stat span{display:block;margin-top:.35rem;color:var(--estate-muted);font-size:.94rem}
.featured-slider-wrap--premium .featured-slide__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}
.location-spotlight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.location-spotlight-card{display:block;padding:1.35rem;border-radius:20px;background:linear-gradient(180deg,#244f57 0%,#163940 100%);color:#fff;box-shadow:var(--estate-shadow);text-decoration:none;min-height:180px}
.location-spotlight-card:hover{text-decoration:none;transform:translateY(-2px)}
.location-spotlight-card__count{display:inline-flex;align-items:center;justify-content:center;min-width:64px;min-height:36px;padding:0 .9rem;border-radius:999px;background:rgba(255,255,255,.12);font-weight:700}
.location-spotlight-card h3{margin:1rem 0 .5rem;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:1.5rem}
.location-spotlight-card p{margin:0;color:rgba(255,255,255,.82)}
.agent-grid--home .agent-card{height:100%}
.agent-card__actions,.property-contact-card__actions,.property-map-card__actions,.property-single__header-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.property-single__header-actions{justify-content:flex-end}
.property-gallery__main{position:relative}
.property-gallery__main-link{display:block;position:relative;overflow:hidden;border-radius:22px}
.property-gallery__main img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:22px}
.property-gallery__zoom{position:absolute;right:1rem;bottom:1rem;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.7rem 1rem;border-radius:999px;background:rgba(17,24,39,.72);color:#fff;font-weight:700;backdrop-filter:blur(6px)}
.property-gallery__thumbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.85rem;margin-top:1rem}
.property-gallery__thumbs figure{margin:0;cursor:pointer;border-radius:14px;overflow:hidden;border:2px solid transparent;box-shadow:0 6px 16px rgba(0,0,0,.1);background:#fff}
.property-gallery__thumbs figure.is-active{border-color:var(--estate-primary);transform:translateY(-2px)}
.property-gallery__thumbs img{width:100%;aspect-ratio:1/1;object-fit:cover}
.estate-lightbox-open{overflow:hidden}
.estate-lightbox[hidden]{display:none}
.estate-lightbox{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:2rem}
.estate-lightbox__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.82)}
.estate-lightbox__dialog{position:relative;z-index:1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;width:min(1200px,100%)}
.estate-lightbox__figure{margin:0;border-radius:24px;overflow:hidden;background:#0f1720;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.estate-lightbox__figure img{display:block;width:100%;max-height:min(78vh,920px);object-fit:contain;background:#0f1720}
.estate-lightbox__caption{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;color:#fff;background:rgba(255,255,255,.06)}
.estate-lightbox__nav,.estate-lightbox__close{display:grid;place-items:center;border:0;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;backdrop-filter:blur(6px)}
.estate-lightbox__nav{width:54px;height:54px;font-size:2rem}
.estate-lightbox__close{position:absolute;top:-18px;right:-18px;width:46px;height:46px;font-size:2rem;z-index:2}
.property-map-card__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
@media (max-width: 1024px){.estate-hero__stats,.location-spotlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.estate-lightbox__dialog{grid-template-columns:1fr}.estate-lightbox__nav--prev,.estate-lightbox__nav--next{position:absolute;top:50%;transform:translateY(-50%)}.estate-lightbox__nav--prev{left:1rem}.estate-lightbox__nav--next{right:1rem}}
@media (max-width: 782px){.property-single__header-main{flex-direction:column;align-items:flex-start}.property-single__header-actions,.property-contact-card__actions,.property-map-card__actions{width:100%}.property-single__header-actions .button,.property-contact-card__actions .button,.property-map-card__actions .button{width:100%}.estate-hero__stats,.location-spotlight-grid{grid-template-columns:1fr}.estate-lightbox{padding:1rem}.estate-lightbox__caption{flex-direction:column}}


.property-map-embed{position:relative}
.property-map-fallback{margin-top:1rem;background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(242,247,246,.96) 100%);border:1px solid rgba(10,35,66,.08);border-radius:20px;padding:28px;color:var(--estate-muted);box-shadow:0 12px 24px rgba(0,0,0,.06)}
.property-map-fallback.is-hidden{display:none}
.property-map-fallback__inner{display:grid;gap:.9rem}
.property-map-fallback__title{margin:0;font-size:1.08rem;font-weight:700;color:var(--estate-text)}
.property-map-fallback p{margin:0}
.property-map-fallback__actions{display:flex;flex-wrap:wrap;gap:.75rem}
.property-map-embed--uncertain::after{content:"";position:absolute;left:16px;right:16px;bottom:16px;height:56px;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.28) 100%);pointer-events:none}


/* Version 5 final home layout + classic ElegantEstate inspired slider */
.estate-header__slider{padding:.4rem 0 1rem}
.featured-slider--elegant{position:relative;padding:.8rem;background:url('../images/featured-bg.png') repeat-x top left,#d3e1de;border:1px solid rgba(17,54,61,.15);border-radius:20px;box-shadow:0 14px 28px rgba(0,0,0,.12)}
.featured-slider--elegant .featured-slider__viewport{min-height:430px;border-radius:14px;overflow:hidden;background:#d8e3e1}
.featured-slider--elegant .featured-slide__overlay{background:linear-gradient(90deg,rgba(17,37,42,.18) 0%,rgba(17,37,42,.1) 26%,rgba(17,37,42,.04) 100%),url('../images/featured-overlay.png') repeat-x bottom left}
.featured-slider--elegant .featured-slide__content-wrap{position:absolute;left:0;top:0;bottom:0;width:min(40%,420px);display:flex;align-items:flex-end;padding:1.25rem;z-index:2}
.featured-slider--elegant .featured-slide__content{position:relative;max-width:100%;padding:1.6rem 1.55rem 1.25rem;color:#17333a;background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(240,246,245,.96) 100%);border:1px solid rgba(34,67,71,.18);border-radius:10px 10px 0 0;box-shadow:0 12px 24px rgba(0,0,0,.18)}
.featured-slider--elegant .featured-slide__content::before{content:"";position:absolute;inset:0;background:url('../images/featured-description.png') no-repeat top left;background-size:100% 100%;opacity:.18;pointer-events:none}
.featured-slider--elegant .featured-slide__content::after{content:"";position:absolute;left:0;right:0;bottom:-14px;height:14px;background:url('../images/featured-description2.png') no-repeat left top;background-size:100% 14px;pointer-events:none}
.featured-slider--elegant .featured-slide__content > *{position:relative;z-index:1}
.featured-slider--elegant .featured-slide__content h2{margin:0 0 .55rem;font-size:clamp(1.65rem,2.7vw,2.9rem);line-height:1.02;text-shadow:none}
.featured-slider--elegant .featured-slide__content h2 a{color:#16353d}
.featured-slider--elegant .featured-slide__content p,.featured-slider--elegant .featured-slide__meta{color:#3b5459}
.featured-slider--elegant .featured-slide__meta{font-weight:700;margin-bottom:.55rem}
.featured-slider--elegant .featured-slide__price{margin-bottom:.85rem;min-height:39px;padding:.42rem 1rem;background:url('../images/price-small-bg.png') repeat-x top left,#80ac4f;border-radius:999px;box-shadow:inset 0 1px 0 rgba(255,255,255,.45)}
.featured-slider--elegant .featured-slide__actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1rem}
.featured-slider__controllerbar{position:absolute;right:1.1rem;bottom:1.1rem;z-index:3;display:flex;align-items:flex-end;gap:.8rem}
.featured-slider__arrows{display:flex;gap:.45rem}
.featured-slider--elegant .featured-slider__arrow{width:42px;height:42px;border-radius:999px;background:linear-gradient(180deg,#fff 0%,#e7efee 100%);border:1px solid rgba(15,47,53,.14);box-shadow:0 8px 16px rgba(0,0,0,.12)}
.featured-slider__thumbs{display:flex;align-items:flex-end;gap:.45rem;flex-wrap:wrap;justify-content:flex-end;max-width:min(56vw,480px)}
.featured-slider__thumb{position:relative;display:block;width:72px;height:54px;padding:0;border:2px solid rgba(255,255,255,.7);border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 8px 18px rgba(0,0,0,.2);cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.featured-slider__thumb img{display:block;width:100%;height:100%;object-fit:cover}
.featured-slider__thumb:hover,.featured-slider__thumb.is-active{transform:translateY(-2px);border-color:#79a94a;box-shadow:0 10px 24px rgba(0,0,0,.25)}
.featured-slider__thumb-number{position:absolute;left:6px;top:6px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 4px;border-radius:999px;background:rgba(18,40,45,.78);color:#fff;font-size:.72rem;font-weight:700}
.section-block--published-listings{padding-top:1.15rem;padding-bottom:2rem}
.cards-grid--estate-home{grid-template-columns:repeat(3,minmax(0,1fr))}
.section-block--search-full{padding-top:0;padding-bottom:3rem}
.section-block--search-full .property-search{width:100%;padding:1.55rem;border-radius:18px;background:linear-gradient(180deg,#fff 0%,#f5faf9 100%)}
.section-block--search-full .property-search__grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.section-block--search-full .property-search__field--wide{grid-column:1/-1}
.section-block--search-full .property-search__actions{justify-content:flex-start}
@media (max-width:1200px){.featured-slider--elegant .featured-slide__content-wrap{width:min(48%,420px)}.section-block--search-full .property-search__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:1024px){.cards-grid--estate-home{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-slider--elegant .featured-slider__viewport{min-height:390px}.featured-slider--elegant .featured-slide__content-wrap{width:min(54%,410px)}.section-block--search-full .property-search__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:782px){.estate-header__slider{padding-top:.25rem}.featured-slider--elegant .featured-slider__viewport{min-height:520px}.featured-slider--elegant .featured-slide__content-wrap{left:0;right:0;top:auto;bottom:70px;width:auto;padding:.85rem}.featured-slider--elegant .featured-slide__content{padding:1.15rem 1rem 1rem;border-radius:12px}.featured-slider__controllerbar{position:absolute;left:.85rem;right:.85rem;bottom:.8rem;justify-content:space-between;align-items:center;gap:.6rem}.featured-slider__thumbs{max-width:calc(100% - 96px);gap:.35rem}.featured-slider__thumb{width:52px;height:42px}.cards-grid--estate-home,.section-block--search-full .property-search__grid{grid-template-columns:1fr}.section-block--search-full .property-search{padding:1rem}}



.estate-header__top--logo-center {
  justify-content: center;
  position: relative;
}

.site-branding--logo-center {
  align-items: center;
  text-align: center;
  margin-inline: auto;
}

.estate-header__top--logo-center .header-actions {
  position: absolute;
  right: 34px;
  top: 50%;
  transform: translateY(-50%);
}

.site-branding--logo-center .site-description {
  margin-inline: auto;
}


@media (max-width:900px){.estate-header__top--logo-center{justify-content:space-between}.estate-header__top--logo-center .header-actions{position:static;top:auto;right:auto;transform:none}}

.estate-home-order-item__quickedit {
  grid-template-columns: repeat(8, minmax(0, 1fr));
}

.estate-home-order-item__quickedit input,
.estate-home-order-item__quickedit select {
  width: 100%;
  min-height: 38px;
}

.estate-home-order-item__quickedit .estate-quickedit-field--wide {
  grid-column: span 2;
}

@media (max-width: 1380px) {
  .estate-home-order-item__quickedit {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 960px) {
  .estate-home-order-item__quickedit {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .estate-home-order-item__quickedit .estate-quickedit-field--wide {
    grid-column: span 2;
  }
}

@media (max-width: 782px) {
  .estate-home-order-item__quickedit,
  .estate-home-order-item__quickedit .estate-quickedit-field--wide {
    grid-template-columns: 1fr;
    grid-column: auto;
  }
}
