:root{
  --estate:#9a6a32;
  --estate-dark:#745026;
  --estate-soft:#f5eee4;
  --estate-pale:#fbf8f3;
  --estate-line:#e6ddd2;
}

.estate-page{background:#fff;color:var(--ink)}
.estate-shell{width:min(var(--shell),calc(100% - 40px));margin:auto}

.estate-hero{background:linear-gradient(180deg,#f5eee4 0,#fbf8f3 78%,#fff 100%);}
.estate-kicker{color:var(--estate);}

.estate-title-row h1{
  margin:0;
  font-size:clamp(2.2rem,3.8vw,3.5rem);
  line-height:1.2;
  letter-spacing:.01em;
}
.estate-title-row p{
  margin:0;
  color:var(--muted);
  font-size:.95rem;
  font-weight:700;
  line-height:1.55;
}

.estate-search{
  max-width:720px;
  display:flex;
  gap:8px;
  margin:0;
  padding:4px;
  background:#fff;
  border:1px solid #d7e3ef;
  border-radius:11px;
  box-shadow:var(--shadow);
}
.estate-search input[type=search]{
  flex:1;
  min-width:0;
  border:0;
  outline:0;
  padding:6px 10px;
  color:var(--ink);
  background:transparent;
  font-size:.88rem;
}
.estate-search button{
  border:0;
  border-radius:8px;
  padding:6px 16px;
  background:var(--estate);
  color:#fff;
  font-size:.80rem;
  font-weight:900;
  cursor:pointer;
}

.estate-filter-lines{margin-top:8px;color:#607289}
.estate-filter-line{display:flex;align-items:flex-start;gap:10px;line-height:1.65}
.estate-filter-label{
  flex:0 0 auto;
  padding-top:0;
  color:#6b5e50;
  font-size:.72rem;
  font-weight:900;
}
.estate-filter-links{display:flex;flex-wrap:wrap;gap:0}
.estate-filter-links a{
  padding:0;
  border:0;
  background:none;
  color:#766553;
  font-size:.73rem;
  font-weight:700;
  text-decoration:none;
}
.estate-filter-links a:not(:last-child)::after{
  content:" / ";
  margin:0 .42em;
  color:#b8aa99;
  font-weight:400;
}
.estate-filter-links a:hover,.estate-filter-links a.current{color:var(--estate-dark);font-weight:900}

.estate-main{padding:14px 0 36px}
.estate-result-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:8px}
.estate-result-head h2{display:flex;align-items:baseline;gap:8px;margin:0}
.estate-result-head h2 strong{font-size:1.35rem}
.estate-result-head h2 span{color:#8490a1;font-size:.64rem;font-weight:900;letter-spacing:.14em}
.estate-count{margin:0;color:#8a96a4;font-size:.72rem;font-weight:800}

.estate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.estate-card{
  display:flex;
  flex-direction:column;
  min-height:235px;
  padding:18px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:15px;
  box-shadow:0 7px 20px rgba(50,78,112,.06);
  transition:transform .2s,box-shadow .2s;
}
.estate-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.estate-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.estate-type-pill{
  display:inline-flex;
  align-items:center;
  padding:4px 8px;
  border-radius:999px;
  background:#f4eadf;
  color:var(--estate-dark);
  font-size:.67rem;
  font-weight:900;
}
.estate-city-label{color:#8490a1;font-size:.69rem;font-weight:700}
.estate-card-body{position:relative;flex:1;min-width:0}
.estate-card.has-thumb .estate-card-body{padding-right:112px}
.estate-card-thumb{
  position:absolute;
  right:0;
  top:0;
  width:96px;
  height:72px;
  overflow:hidden;
  border:1px solid #e0e6ec;
  border-radius:9px;
  background:#f6f8fa;
}
.estate-card-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.estate-card-topline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:7px}
.estate-price{color:#a45d1b;font-size:1.02rem;line-height:1.2}
.estate-layout{padding:2px 7px;border-radius:999px;background:#f7f0e7;color:#705237;font-size:.68rem;font-weight:900}
.estate-card h3{margin:0 0 7px;font-size:1.06rem;line-height:1.5}
.estate-card h3 a{color:var(--ink);text-decoration:none}.estate-card h3 a:hover{color:var(--estate-dark)}
.estate-address,.estate-traffic{margin:0;color:var(--muted);font-size:.83rem;line-height:1.55}
.estate-traffic{margin-top:3px}
.estate-mini-spec{display:flex;flex-wrap:wrap;gap:8px 14px;margin:12px 0 0;padding-top:11px;border-top:1px solid #edf1f5}
.estate-mini-spec div{display:flex;gap:5px;font-size:.71rem}.estate-mini-spec dt{color:#909baa}.estate-mini-spec dd{margin:0;color:#586779;font-weight:700}
.estate-card-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding-top:13px;border-top:1px solid #edf1f5;color:#8895a4;font-size:.67rem}
.estate-card-footer a{color:var(--estate-dark);font-weight:900;text-decoration:none}.estate-card-footer a:hover{text-decoration:underline}

.estate-empty,.estate-notice{padding:34px 20px;border:1px solid var(--line);border-radius:15px;background:#fff;text-align:center;color:var(--muted)}
.estate-notice strong,.estate-notice span{display:block}.estate-notice span{margin-top:6px;font-size:.8rem}
.estate-notice-error{border-color:#e4cbb0;background:#fffaf5}

.estate-detail{padding-top:4px}
.estate-detail-head{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 7px 20px rgba(50,78,112,.04)}
.estate-detail-head h2{margin:8px 0 4px;font-size:1.45rem}.estate-detail-head p{margin:0;color:var(--muted);font-size:.84rem}
.estate-type-inline{position:static}.estate-detail-price{color:#a45d1b;font-size:1.45rem;white-space:nowrap}
.estate-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;margin-top:14px}.estate-gallery figure{margin:0;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:#eef1f4}.estate-gallery figure.main{grid-row:span 2;aspect-ratio:auto}.estate-gallery img{display:block;width:100%;height:100%;object-fit:cover}
.estate-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:14px}.estate-detail-card{padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:15px}.estate-detail-card h3{margin:0 0 10px;font-size:1rem;color:var(--estate-dark)}
.estate-detail-list{margin:0}.estate-detail-list div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:12px;padding:8px 0;border-top:1px solid #edf1f5;font-size:.78rem}.estate-detail-list div:first-child{border-top:0}.estate-detail-list dt{color:#8995a4;font-weight:800}.estate-detail-list dd{margin:0;color:#4d5a68}
.estate-remarks{margin-top:14px}.estate-remarks p{margin:0;color:#5f6b78;font-size:.82rem;line-height:1.8}
.estate-inquiry{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:16px;padding:16px 18px;border-radius:14px;background:#745026;color:#fff}.estate-inquiry strong,.estate-inquiry span{display:block}.estate-inquiry span{margin-top:3px;font-size:.74rem;color:#efe3d5}.estate-inquiry a{padding:8px 14px;border-radius:8px;background:#fff;color:#704a1b;font-size:.8rem;font-weight:900;text-decoration:none;white-space:nowrap}

@media(max-width:980px){
  .estate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .estate-gallery{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.estate-gallery figure.main{grid-column:1/-1;grid-row:auto;aspect-ratio:16/9}
}
@media(max-width:760px){
  .estate-shell{width:calc(100% - 24px)}
  
  
  .estate-title-row h1{font-size:clamp(2rem,10vw,2.8rem)}
  .estate-title-row p{margin-top:3px;font-size:.87rem}
  .estate-search button{padding:6px 14px}
  .estate-filter-line{display:block}
  .estate-filter-label{display:block;margin-bottom:1px}
  .estate-city-links{max-height:104px;overflow:auto}
  .estate-main{padding:10px 0 28px}
  .estate-grid{grid-template-columns:1fr}
  .estate-card{min-height:0}
  .estate-card.has-thumb .estate-card-body{padding-right:104px}
  .estate-card-thumb{width:88px;height:66px}
  .estate-detail-head{display:block}.estate-detail-price{display:block;margin-top:10px}
  .estate-detail-grid{grid-template-columns:1fr}.estate-gallery{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .estate-inquiry{display:block}.estate-inquiry a{display:block;margin-top:12px;text-align:center}
  .estate-detail-list div{grid-template-columns:92px minmax(0,1fr)}
}
@media(max-width:420px){
  .estate-card.has-thumb .estate-card-body{padding-right:0}
  .estate-card-thumb{position:static;width:92px;height:69px;margin:0 0 8px auto}
}

.estate-kicker{font-size:.73rem !important;
  line-height:normal;}

.estate-title-row h1{
  margin:0;
  font-size:clamp(2.2rem,3.8vw,3.5rem) !important;
  line-height:1.2;
  letter-spacing:.01em;
}
.estate-title-row p{
  margin:0;
  color:var(--muted);
  font-size:.95rem;
  font-weight:700;
  line-height:1.55;
}
.estate-search{
  margin-top:12px !important;
}
@media(max-width:760px){
  
  
  .estate-title-row h1{
    font-size:clamp(2rem,10vw,2.8rem) !important;
  }
  .estate-title-row p{
    margin-top:5px !important;
  }
}

.estate-result-head .estate-show-all{
  color:var(--blue);
  font-size:.76rem;
  font-weight:900;
  text-decoration:none;
}
.estate-result-head .estate-show-all:hover{
  text-decoration:underline;
}

.estate-card-meta{
  justify-content:flex-start;
}
.estate-type-pill{
  gap:0;
}
.estate-type-city{
  color:#9a8061;
  font-weight:800;
}

.estate-card.has-thumb .estate-card-body{
  padding-right:0;
}
.estate-card-upper{
  min-width:0;
}
.estate-card-upper.has-thumb{
  display:grid;
  grid-template-columns:minmax(0,1fr) 96px;
  gap:12px;
  align-items:start;
}
.estate-card-upper-text{
  min-width:0;
}
.estate-card-thumb{
  position:static;
  width:96px;
  height:72px;
  align-self:start;
}
.estate-traffic{
  margin-top:8px;
}
.estate-mini-spec{
  width:100%;
}

@media(max-width:760px){
  .estate-card.has-thumb .estate-card-body{
    padding-right:0;
  }
  .estate-card-upper.has-thumb{
    grid-template-columns:minmax(0,1fr) 88px;
    gap:10px;
  }
  .estate-card-thumb{
    width:88px;
    height:66px;
  }
}
@media(max-width:420px){
  .estate-card-upper.has-thumb{
    grid-template-columns:minmax(0,1fr) 82px;
    gap:9px;
  }
  .estate-card-thumb{
    position:static;
    width:82px;
    height:62px;
    margin:0;
  }
}

.estate-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin-bottom:11px}
.estate-card-head-main{display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:0}
.estate-card-head .estate-price{margin-right:1px;font-size:1.03rem}
.estate-card-head .estate-type-pill,.estate-card-head .estate-layout{white-space:nowrap}
.estate-card-head .estate-city-label{margin-left:auto;flex:0 0 auto;color:#8490a1;font-size:.69rem;font-weight:700}
.estate-card.has-thumb .estate-card-body{padding-right:0}
.estate-card-upper.has-thumb{grid-template-columns:minmax(0,1fr) 96px;gap:12px;align-items:start}
.estate-card-upper-text h3{margin-top:0}
.estate-address{margin-top:4px}
.estate-traffic{display:block;width:100%;margin-top:10px}
.estate-mini-spec{display:flex;width:100%}
@media(max-width:760px){.estate-card-head{align-items:flex-start}.estate-card-head-main{gap:6px}.estate-card-upper.has-thumb{grid-template-columns:minmax(0,1fr) 88px}}
@media(max-width:420px){.estate-card-head{flex-wrap:wrap}.estate-card-head .estate-city-label{margin-left:0;width:100%}}

.estate-card-head .estate-type-pill,
.estate-card-head .estate-layout{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:3px 8px;
  border-radius:999px;
  font-size:.68rem;
  line-height:1;
  font-weight:900;
  box-sizing:border-box;
}
.estate-card-head .estate-type-pill{
  background:#f5e8d8;
  color:#8a5d24;
}
.estate-card-head .estate-layout{
  background:#eef3f8;
  color:#5b6878;
}

.estate-pagination{margin-top:14px}

.estate-card{
  cursor:pointer;
}
.estate-card:focus-visible{
  outline:3px solid rgba(168,111,38,.30);
  outline-offset:2px;
}

.estate-detail-page{
  background:#f8fafc;
}
.estate-detail-page .estate-hero{
  background:linear-gradient(180deg,#f2dfc5 0,#f8eee0 44%,#f8fafc 100%);
  border-bottom:0;
}
.estate-detail-shell{
  width:min(1180px,calc(100% - 36px));
  margin:0 auto;
  padding:24px 0 48px;
}
.estate-breadcrumb{color:#8190a3;}
.estate-breadcrumb a{
  color:#8c5c22;
  text-decoration:none;
}
.estate-breadcrumb a:hover{text-decoration:underline}

.estate-detail-article{
  overflow:hidden;
  background:#fff;
  border:1px solid #e1e8f0;
  border-radius:20px;
  box-shadow:0 12px 34px rgba(46,73,104,.08);
}
.estate-property-header{
  padding:28px 38px 24px;
  border-bottom:1px solid #edf1f5;
}
.estate-property-tags{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  margin-bottom:12px;
}
.estate-property-tags .estate-type-pill,
.estate-property-tags .estate-layout{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:3px 8px;
  border-radius:999px;
  font-size:.68rem;
  line-height:1;
  font-weight:900;
}
.estate-property-city{
  color:#8793a3;
  font-size:.72rem;
  font-weight:800;
}
.estate-property-titleline{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
}
.estate-property-titleline>div{min-width:0}
.estate-property-header h1{
  margin:0 0 8px;
  color:#35281a;
  font-size:clamp(1.65rem,3.5vw,2.55rem);
  line-height:1.38;
}
.estate-property-address,
.estate-property-traffic{
  margin:3px 0;
  color:#667487;
  font-size:.82rem;
  line-height:1.6;
}
.estate-property-price{
  flex:0 0 auto;
  color:#a85f18;
  font-size:clamp(1.35rem,2.8vw,1.9rem);
  white-space:nowrap;
}

.estate-detail-section{
  padding:28px 38px 0;
}
.estate-detail-section:last-of-type{
  padding-bottom:30px;
}
.estate-section-title{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin:0 0 12px;
  white-space:nowrap;
}
.estate-eyebrow{
  margin:0;
  color:#aa732f;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.14em;
}
.estate-section-title h2{
  margin:0;
  color:#3f3428;
  font-size:1.12rem;
  line-height:1.2;
}

.estate-gallery-section{padding-top:20px}
.estate-gallery-full{
  grid-template-columns:2fr 1fr 1fr;
  margin-top:0;
}

.estate-summary-card,
.estate-all-fields-card,
.estate-notes-card{
  overflow:hidden;
  border:1px solid #e0e6ec;
  border-radius:14px;
  background:#fff;
}
.estate-summary-list,
.estate-all-fields-list{margin:0}
.estate-summary-list>div,
.estate-all-fields-list>div{
  display:grid;
  grid-template-columns:170px minmax(0,1fr);
  border-top:1px solid #edf1f5;
}
.estate-summary-list>div:first-child,
.estate-all-fields-list>div:first-child{border-top:0}
.estate-summary-list dt,
.estate-all-fields-list dt{
  padding:10px 14px;
  background:#fbf8f3;
  color:#7c6b57;
  font-size:.76rem;
  font-weight:900;
}
.estate-summary-list dd,
.estate-all-fields-list dd{
  margin:0;
  padding:10px 14px;
  color:#4e5966;
  font-size:.82rem;
  line-height:1.65;
  overflow-wrap:anywhere;
}
.estate-summary-list dd strong{
  color:#a85f18;
  font-size:1rem;
}
.estate-notes-card{
  padding:16px 18px;
}
.estate-notes-card p{
  margin:0;
  color:#596675;
  font-size:.84rem;
  line-height:1.8;
}

.estate-contact-section{
  padding-bottom:30px;
}
.estate-contact-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:18px 20px;
  border:1px solid #e5dded;
  border-radius:14px;
  background:#faf9fc;
}
.estate-contact-card p{
  margin:0;
  color:#665d72;
  font-size:.82rem;
  line-height:1.6;
}
.estate-contact-card .estate-contact-no{
  margin-top:4px;
  color:#8b8196;
  font-size:.72rem;
}
.estate-contact-button{
  flex:0 0 auto;
  padding:10px 16px;
  border-radius:9px;
  background:#74649a;
  color:#fff !important;
  font-size:.8rem;
  font-weight:900;
  text-decoration:none !important;
}
.estate-contact-button:hover{background:#5d4e83}

.estate-detail-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:18px 38px;
  border-top:1px solid #edf1f5;
  color:#8a97a8;
  font-size:.72rem;
}
.estate-detail-footer a{
  color:#8c5c22;
  font-weight:800;
  text-decoration:none;
}
.estate-detail-footer a:hover{text-decoration:underline}

@media(max-width:760px){
  .estate-detail-shell{width:calc(100% - 20px);padding:10px 0 28px}
  .estate-property-header{padding:22px 20px 18px}
  .estate-property-titleline{display:block}
  .estate-property-price{display:block;margin-top:12px}
  .estate-detail-section{padding:22px 20px 0}
  .estate-gallery-full{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .estate-gallery-full figure.main{grid-column:1/-1;grid-row:auto;aspect-ratio:16/9}
  .estate-summary-list>div,
  .estate-all-fields-list>div{grid-template-columns:110px minmax(0,1fr)}
  .estate-summary-list dt,
  .estate-all-fields-list dt,
  .estate-summary-list dd,
  .estate-all-fields-list dd{padding:9px 10px}
  .estate-contact-card{display:block}
  .estate-contact-button{display:block;margin-top:12px;text-align:center}
  .estate-detail-footer{padding:16px 20px;align-items:flex-start;flex-direction:column}
}
@media(max-width:420px){
  .estate-section-title{gap:7px}
  .estate-summary-list>div,
  .estate-all-fields-list>div{grid-template-columns:92px minmax(0,1fr)}
  .estate-summary-list dt,
  .estate-all-fields-list dt{font-size:.7rem}
}

.estate-detail-page{
  padding-top:0;
  background:#f5f8fb;
}
.estate-detail-shell{
  width:min(1280px,calc(100% - 40px));
  margin:0 auto;
  padding:18px 0 44px;
}
.estate-breadcrumb{color:#71839a;}
.estate-breadcrumb a{
  color:#71839a;
  text-decoration:none;
}
.estate-breadcrumb a:hover{
  color:#246fbd;
  text-decoration:underline;
}
.estate-detail-article{
  border-color:#dbe4ee;
  border-radius:20px;
  background:#fff;
  box-shadow:none;
}
.estate-property-header{
  padding:28px 32px 24px;
}
.estate-property-tags a{
  text-decoration:none;
}
.estate-property-tags .estate-type-pill{
  background:#f7ead9;
  color:#9a6221;
}
.estate-property-tags .estate-property-city{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 8px;
  border-radius:999px;
  background:#eef3f8;
  color:#647487;
  font-size:.68rem;
  line-height:1;
  font-weight:900;
}
.estate-property-tags .estate-property-city:hover{
  background:#e4edf6;
  color:#246fbd;
}
.estate-property-header h1{
  margin:0 0 10px;
  color:#223653;
  font-size:clamp(1.7rem,3.25vw,2.5rem);
  line-height:1.35;
  letter-spacing:-.02em;
}
.estate-property-titleline{
  align-items:flex-end;
}
.estate-property-price{
  padding-bottom:2px;
}
@media(max-width:760px){
  .estate-detail-shell{width:calc(100% - 20px);padding-top:12px}
  .estate-property-header{padding:22px 20px 18px}
}

.estate-detail-article{
  box-shadow:0 8px 28px rgba(50,73,104,.07);
}
.estate-detail-section{
  padding-top:30px;
}
.estate-section-title{
  gap:8px;
  margin-bottom:11px;
}
.estate-section-title > div{
  display:flex;
  align-items:baseline;
  gap:8px;
}
.estate-section-title h2{
  color:#273a54;
  font-size:clamp(1.15rem,2vw,1.42rem);
  font-weight:900;
}
.estate-eyebrow{
  color:#a86b24;
  font-size:.69rem;
  letter-spacing:.16em;
}
.estate-section-title-split{
  justify-content:space-between;
  align-items:flex-end;
  white-space:normal;
}
.estate-section-note{
  margin:0;
  color:#8795a7;
  font-size:.70rem;
  font-weight:700;
}

.estate-summary-card,
.estate-all-fields-card,
.estate-location-card,
.estate-map-card{
  border-color:#dfE6ec;
  box-shadow:0 6px 18px rgba(67,85,108,.045);
}
.estate-summary-list>div,
.estate-all-fields-list>div{
  grid-template-columns:172px minmax(0,1fr);
}
.estate-summary-list dt,
.estate-all-fields-list dt{
  padding:12px 16px;
  background:#fbf7f1;
  color:#735f49;
  font-size:.79rem;
}
.estate-summary-list dd,
.estate-all-fields-list dd{
  padding:12px 16px;
  color:#425269;
  font-size:.84rem;
}
.estate-summary-list dd strong{
  font-size:1.08rem;
}

.estate-photo-rail{
  display:flex;
  gap:10px;
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  padding:2px 2px 9px;
  scroll-snap-type:x mandatory;
  scrollbar-width:thin;
  overscroll-behavior-inline:contain;
}
.estate-photo-thumb{
  position:relative;
  flex:0 0 250px;
  height:178px;
  margin:0;
  padding:0;
  overflow:hidden;
  border:1px solid #dbe3eb;
  border-radius:13px;
  background:#eef2f5;
  cursor:zoom-in;
  scroll-snap-align:start;
}
.estate-photo-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.estate-photo-thumb span{
  position:absolute;
  right:8px;
  bottom:7px;
  padding:3px 7px;
  border-radius:999px;
  background:rgba(25,39,57,.76);
  color:#fff;
  font-size:.65rem;
  font-weight:900;
}
.estate-photo-thumb:hover{
  border-color:#b7c7d7;
}
.estate-photo-thumb:focus-visible{
  outline:3px solid rgba(36,111,189,.28);
  outline-offset:2px;
}

.estate-photo-dialog{
  width:min(1100px,96vw);
  max-width:none;
  padding:0;
  border:0;
  border-radius:15px;
  background:transparent;
  overflow:visible;
}
.estate-photo-dialog::backdrop{
  background:rgba(16,24,36,.84);
}
.estate-photo-dialog-inner{
  position:relative;
  display:grid;
  place-items:center;
  min-height:200px;
}
.estate-photo-dialog img{
  display:block;
  max-width:94vw;
  max-height:88vh;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:9px;
  background:#111;
  box-shadow:0 16px 60px rgba(0,0,0,.35);
}
.estate-photo-close,
.estate-photo-prev,
.estate-photo-next{
  position:absolute;
  z-index:2;
  display:grid;
  place-items:center;
  border:0;
  color:#fff;
  background:rgba(18,28,42,.72);
  cursor:pointer;
}
.estate-photo-close{
  top:10px;
  right:10px;
  width:38px;
  height:38px;
  border-radius:50%;
  font-size:1.35rem;
}
.estate-photo-prev,
.estate-photo-next{
  top:50%;
  width:42px;
  height:58px;
  transform:translateY(-50%);
  border-radius:10px;
  font-size:2rem;
}
.estate-photo-prev{left:10px}
.estate-photo-next{right:10px}
.estate-photo-counter{
  position:absolute;
  left:50%;
  bottom:10px;
  transform:translateX(-50%);
  margin:0;
  padding:4px 9px;
  border-radius:999px;
  background:rgba(18,28,42,.72);
  color:#fff;
  font-size:.7rem;
  font-weight:900;
}

.estate-location-grid{
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:14px;
  align-items:stretch;
}
.estate-location-card,
.estate-map-card{
  overflow:hidden;
  border:1px solid #dfe6df;
  border-radius:15px;
  background:#fff;
}
.estate-location-card{
  padding:5px 18px;
}
.estate-access-row{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:14px;
  padding:12px 0;
  border-bottom:1px solid #e8eee9;
}
.estate-access-row:last-child{
  border-bottom:0;
}
.estate-access-label{
  color:#6d765f;
  font-size:.78rem;
  font-weight:900;
}
.estate-access-value{
  color:#31435a;
  font-size:.84rem;
  line-height:1.65;
}
.estate-access-value strong{
  font-size:.95rem;
}
.estate-map-card{
  min-height:290px;
}
.estate-map-card iframe{
  display:block;
  width:100%;
  height:100%;
  min-height:290px;
  border:0;
}

@media(max-width:900px){
  .estate-location-grid{
    grid-template-columns:1fr;
  }
  .estate-map-card,
  .estate-map-card iframe{
    min-height:270px;
  }
}
@media(max-width:760px){
  .estate-section-title-split{
    display:block;
  }
  .estate-section-note{
    margin-top:4px;
  }
  .estate-photo-thumb{
    flex-basis:205px;
    height:146px;
  }
  .estate-summary-list>div,
  .estate-all-fields-list>div{
    grid-template-columns:112px minmax(0,1fr);
  }
  .estate-location-card{
    padding:4px 14px;
  }
  .estate-access-row{
    grid-template-columns:1fr;
    gap:2px;
  }
  .estate-photo-prev,
  .estate-photo-next{
    width:36px;
    height:50px;
  }
}
@media(max-width:420px){
  .estate-photo-thumb{
    flex-basis:78vw;
    height:auto;
    aspect-ratio:4/3;
  }
}

.estate-detail-page .estate-section-title{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin-bottom:8px;
}
.estate-detail-page .estate-section-title > div{
  display:flex;
  align-items:baseline;
  gap:10px;
}
.estate-detail-page .estate-eyebrow{
  margin:0 !important;
  color:#a86b24;
  font-size:.67rem;
  font-weight:900;
  line-height:1 !important;
  letter-spacing:.14em;
  white-space:nowrap;
}
.estate-detail-page .estate-section-title h2{
  margin:0 !important;
  color:#273a54;
  font-size:clamp(1.25rem,2vw,1.6rem);
  font-weight:900;
  line-height:1.3;
  white-space:nowrap;
}

.estate-detail-page .estate-summary-list>div,
.estate-detail-page .estate-all-fields-list>div{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  border-top:0;
  border-bottom:1px solid #e8eee5;
}
.estate-detail-page .estate-summary-list>div:last-child,
.estate-detail-page .estate-all-fields-list>div:last-child{
  border-bottom:0;
}
.estate-detail-page .estate-summary-list dt,
.estate-detail-page .estate-summary-list dd,
.estate-detail-page .estate-all-fields-list dt,
.estate-detail-page .estate-all-fields-list dd{
  display:flex;
  align-items:center;
  min-height:42px;
  margin:0;
  padding:12px 16px;
  box-sizing:border-box;
}
.estate-detail-page .estate-summary-list dt,
.estate-detail-page .estate-all-fields-list dt{
  color:#665b4e;
  background:#fbf8f3;
  font-size:.80rem;
  font-weight:900;
  line-height:1.5;
}
.estate-detail-page .estate-summary-list dd,
.estate-detail-page .estate-all-fields-list dd{
  color:#35465d;
  font-size:.92rem;
  font-weight:600;
  line-height:1.65;
}
.estate-detail-page .estate-summary-list dd strong{
  color:#a85f18;
  font-size:1rem;
  font-weight:900;
}

.estate-detail-page .estate-location-grid{
  grid-template-columns:.92fr 1.08fr;
  gap:14px;
}
.estate-detail-page .estate-location-card{
  padding:0 16px;
}
.estate-detail-page .estate-access-row{
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  gap:14px;
  padding:11px 0;
  border-bottom:1px solid #e8eee5;
}
.estate-detail-page .estate-access-label{
  display:flex;
  align-items:center;
  color:#64705f;
  font-size:.78rem;
  font-weight:900;
  line-height:1.5;
}
.estate-detail-page .estate-access-value{
  display:flex;
  align-items:center;
  min-height:50px;
  margin:0;
  padding:12px 14px;
  color:#31435a;
  font-size:.94rem;
  font-weight:600;
  line-height:1.65;
  box-sizing:border-box;
}
.estate-detail-page .estate-access-value strong{
  font-size:1rem;
  font-weight:900;
}

@media(max-width:760px){
  .estate-detail-page .estate-summary-list>div,
  .estate-detail-page .estate-all-fields-list>div{
    grid-template-columns:1fr;
  }
  .estate-detail-page .estate-summary-list dt,
  .estate-detail-page .estate-all-fields-list dt{
    padding-bottom:4px;
  }
  .estate-detail-page .estate-summary-list dd,
  .estate-detail-page .estate-all-fields-list dd{
    padding-top:4px;
  }
  .estate-detail-page .estate-location-grid{
    grid-template-columns:1fr;
  }
  .estate-detail-page .estate-access-row{
    grid-template-columns:88px minmax(0,1fr);
  }
}
@media(max-width:420px){
  .estate-detail-page .estate-section-title h2{
    font-size:1.25rem;
  }
  .estate-detail-page .estate-access-row{
    grid-template-columns:78px minmax(0,1fr);
    gap:10px;
  }
  .estate-detail-page .estate-access-value{
    padding:10px 8px;
  }
}

.estate-detail-page .estate-section-title{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:8px !important;
  margin-bottom:8px !important;
  white-space:normal !important;
}
.estate-detail-page .estate-section-title > div{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:8px !important;
}
.estate-detail-page .estate-section-title .estate-eyebrow{
  display:flex !important;
  align-items:center !important;
  align-self:stretch !important;
  flex:0 0 auto !important;
  margin:0 !important;
  color:#6f8167 !important;
  font-size:.67rem !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:.14em !important;
  white-space:nowrap !important;
}
.estate-detail-page .estate-section-title h2{
  display:flex !important;
  align-items:center !important;
  flex:0 0 auto !important;
  margin:0 !important;
  color:var(--ink) !important;
  font-family:inherit !important;
  font-size:clamp(1.25rem,2vw,1.6rem) !important;
  font-weight:bold !important;
  line-height:1.3 !important;
  letter-spacing:normal !important;
  white-space:nowrap !important;
}

.estate-detail-page .estate-section-title-split{
  justify-content:space-between !important;
}
.estate-detail-page .estate-section-note{
  flex:0 1 auto;
  margin:0;
  color:#8795a7;
  font-size:.70rem;
  font-weight:700;
  line-height:1.5;
  text-align:right;
}

.estate-detail-page .estate-summary-list>div,
.estate-detail-page .estate-all-fields-list>div{
  display:grid !important;
  grid-template-columns:190px minmax(0,1fr) !important;
  align-items:stretch !important;
  min-height:50px !important;
  border-bottom:1px solid #e8eee5 !important;
}
.estate-detail-page .estate-summary-list>div:last-child,
.estate-detail-page .estate-all-fields-list>div:last-child{
  border-bottom:0 !important;
}
.estate-detail-page .estate-summary-list dt,
.estate-detail-page .estate-summary-list dd,
.estate-detail-page .estate-all-fields-list dt,
.estate-detail-page .estate-all-fields-list dd{
  display:flex !important;
  align-items:center !important;
  min-height:0 !important;
  margin:0 !important;
  padding:12px 16px !important;
  line-height:1.75 !important;
}
.estate-detail-page .estate-summary-list dt,
.estate-detail-page .estate-all-fields-list dt{
  background:#f8faf6 !important;
  color:#586552 !important;
  font-size:.80rem !important;
  font-weight:900 !important;
}
.estate-detail-page .estate-summary-list dd,
.estate-detail-page .estate-all-fields-list dd{
  color:var(--ink) !important;
  font-size:.92rem !important;
  font-weight:600 !important;
}
.estate-detail-page .estate-summary-list dd strong{
  color:#a85f18 !important;
  font-size:1rem !important;
  font-weight:900 !important;
}

.estate-detail-page .estate-location-card{
  padding:0 !important;
  overflow:hidden !important;
  border:1px solid #dfe6da !important;
}
.estate-detail-page .estate-access-row{
  display:grid !important;
  grid-template-columns:108px minmax(0,1fr) !important;
  gap:0 !important;
  padding:0 !important;
  margin:0 !important;
  align-items:stretch !important;
  min-height:50px !important;
  border-bottom:1px solid #e8eee5 !important;
}
.estate-detail-page .estate-access-row:last-child{
  border-bottom:0 !important;
}
.estate-detail-page .estate-access-label{
  display:flex !important;
  align-items:center !important;
  height:100% !important;
  min-height:50px !important;
  margin:0 !important;
  padding:12px 14px !important;
  background:#f8faf6 !important;
  color:#586552 !important;
  font-size:.82rem !important;
  font-weight:900 !important;
  line-height:1.5 !important;
}
.estate-detail-page .estate-access-value{
  display:flex !important;
  align-items:center !important;
  min-height:50px !important;
  margin:0 !important;
  padding:12px 14px !important;
  color:var(--ink) !important;
  font-size:.94rem !important;
  font-weight:600 !important;
  line-height:1.65 !important;
}
.estate-detail-page .estate-access-value strong{
  font-size:1rem !important;
  font-weight:900 !important;
}
.estate-detail-page .estate-map-card,
.estate-detail-page .estate-map-card iframe{
  min-height:344px !important;
}

@media(max-width:760px){

  .estate-detail-page .estate-section-title,
  .estate-detail-page .estate-section-title > div{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
  }
  .estate-detail-page .estate-section-title .estate-eyebrow,
  .estate-detail-page .estate-section-title h2{
    white-space:nowrap !important;
  }
  .estate-detail-page .estate-section-title-split{
    flex-wrap:wrap !important;
  }
  .estate-detail-page .estate-section-note{
    flex-basis:100%;
    margin-top:3px;
    text-align:left;
  }
  .estate-detail-page .estate-summary-list>div,
  .estate-detail-page .estate-all-fields-list>div{
    grid-template-columns:1fr !important;
  }
  .estate-detail-page .estate-summary-list dt,
  .estate-detail-page .estate-all-fields-list dt{
    padding-bottom:4px !important;
  }
  .estate-detail-page .estate-summary-list dd,
  .estate-detail-page .estate-all-fields-list dd{
    padding-top:4px !important;
  }
  .estate-detail-page .estate-access-row{
    grid-template-columns:1fr !important;
  }
  .estate-detail-page .estate-access-label{
    min-height:0 !important;
    padding:8px 12px 4px !important;
  }
  .estate-detail-page .estate-access-value{
    min-height:0 !important;
    padding:5px 12px 10px !important;
  }
  .estate-detail-page .estate-map-card,
  .estate-detail-page .estate-map-card iframe{
    min-height:280px !important;
  }
}

.estate-detail-page .estate-summary-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:14px;
  align-items:stretch;
}
.estate-detail-page .estate-summary-card,
.estate-detail-page .estate-summary-map{
  min-width:0;
}
.estate-detail-page .estate-summary-map{
  min-height:100%;
}
.estate-detail-page .estate-summary-map iframe{
  display:block;
  width:100%;
  height:100%;
  min-height:100%;
  border:0;
}
@media(max-width:900px){
  .estate-detail-page .estate-summary-grid{
    grid-template-columns:1fr;
  }
  .estate-detail-page .estate-summary-map,
  .estate-detail-page .estate-summary-map iframe{
    min-height:280px;
  }
}

.estate-inquiry-card{
  overflow:hidden;
  border:1px solid #e3dfee;
  border-radius:15px;
  background:#fff;
  box-shadow:0 7px 20px rgba(82,68,120,.06);
}
.estate-inquiry-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:14px 18px;
  border-bottom:1px solid #ece9f2;
  background:#faf9fc;
}
.estate-inquiry-head p{
  margin:0;
  color:#625d6d;
  font-size:.82rem;
  line-height:1.65;
}
.estate-inquiry-form{
  padding:7px 20px 20px;
}
.estate-form-row{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:16px;
  align-items:start;
  padding:13px 0;
  border-bottom:1px solid #ece9f2;
}
.estate-form-row>label{
  padding-top:8px;
  color:var(--ink);
  font-size:.84rem;
  font-weight:900;
}
.estate-form-row input,
.estate-form-row textarea,
.estate-viewing-date-grid input{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  border:1px solid #cbc5d9;
  border-radius:9px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-size:.93rem;
  padding:9px 11px;
  outline:none;
}
.estate-form-row textarea{
  resize:vertical;
  line-height:1.7;
}
.estate-form-row input:focus,
.estate-form-row textarea:focus,
.estate-viewing-date-grid input:focus{
  border-color:#8876b4;
  box-shadow:0 0 0 3px rgba(116,100,154,.12);
}
.estate-required,
.estate-optional{
  display:inline-block;
  margin-left:5px;
  padding:1px 5px;
  border-radius:5px;
  font-size:.62rem;
  line-height:1.5;
  vertical-align:middle;
}
.estate-required{
  color:#9b2f47;
  background:#f9e8ed;
}
.estate-optional{
  color:#6e6877;
  background:#efedf2;
}
.estate-viewing-box{
  margin:17px 0 0;
  padding:15px 16px;
  border:1px solid #ddd7e8;
  border-radius:12px;
  background:#faf9fc;
}
.estate-check-row,
.estate-consent-row{
  display:flex;
  align-items:flex-start;
  gap:9px;
  color:#4c4654;
  font-size:.86rem;
  font-weight:900;
  line-height:1.6;
  cursor:pointer;
}
.estate-check-row input,
.estate-consent-row input{
  flex:0 0 auto;
  width:17px;
  height:17px;
  margin-top:3px;
  accent-color:#74649a;
}
.estate-viewing-dates{
  display:none;
  margin-top:13px;
  padding-top:13px;
  border-top:1px solid #e4dfea;
}
.estate-viewing-dates.is-active{
  display:block;
}
.estate-viewing-dates>p{
  margin:0 0 10px;
  color:#71697a;
  font-size:.79rem;
  line-height:1.65;
}
.estate-viewing-date-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:12px;
}
.estate-viewing-date-grid label>span{
  display:block;
  margin-bottom:5px;
  color:#554f5d;
  font-size:.76rem;
  font-weight:900;
}
.estate-viewing-date-grid em{
  margin-left:4px;
  color:#9b2f47;
  font-size:.68rem;
  font-style:normal;
}
.estate-inquiry-notice{
  margin:17px 0 11px;
  padding:12px 14px;
  border-radius:10px;
  background:#f7f5fa;
  color:#706979;
  font-size:.76rem;
  line-height:1.75;
}
.estate-inquiry-notice p{
  margin:0;
}
.estate-inquiry-notice p+p{
  margin-top:6px;
}
.estate-consent-row{
  font-size:.82rem;
}
.estate-inquiry-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:16px;
}
.estate-inquiry-submit{
  min-height:44px;
  padding:10px 24px;
  border:1px solid #5d4e83;
  border-radius:10px;
  background:#5d4e83;
  color:#fff;
  font:inherit;
  font-size:.88rem;
  font-weight:900;
  cursor:pointer;
}
.estate-inquiry-submit:hover{
  filter:brightness(.95);
}
.estate-inquiry-errors,
.estate-inquiry-success{
  margin:16px 20px 0;
  padding:10px 13px;
  border-radius:10px;
  font-size:.84rem;
  line-height:1.6;
}
.estate-inquiry-errors{
  border:1px solid #e9b9c5;
  background:#fff5f7;
  color:#8b2940;
}
.estate-inquiry-errors ul{
  margin:5px 0 0;
  padding-left:1.4em;
}
.estate-inquiry-success{
  display:flex;
  flex-wrap:wrap;
  gap:5px 9px;
  border:1px solid #b9d9c0;
  background:#f1faf3;
  color:#356543;
}
.estate-hp-field{
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}

@media(max-width:760px){
  .estate-inquiry-head{
    display:block;
  }
  .estate-inquiry-head p+p{
    margin-top:3px;
  }
  .estate-inquiry-form{
    padding:5px 14px 16px;
  }
  .estate-form-row{
    grid-template-columns:1fr;
    gap:5px;
  }
  .estate-form-row>label{
    padding-top:0;
  }
  .estate-viewing-date-grid{
    grid-template-columns:1fr;
  }
  .estate-inquiry-actions{
    justify-content:stretch;
  }
  .estate-inquiry-submit{
    width:100%;
  }
}

.estate-inquiry-card{
  padding-top:0;
}
.estate-inquiry-form{
  padding-top:14px;
}
.estate-form-row-message textarea{
  min-height:92px;
  max-height:220px;
}

.estate-inquiry-notice{
  margin:20px 0 15px;
  padding:16px 18px;
  border:2px solid #c9bddc;
  border-radius:12px;
  background:#f5f1fa;
  color:#51485f;
  font-size:.83rem;
  font-weight:700;
  line-height:1.8;
  box-shadow:0 4px 14px rgba(93,78,131,.07);
}
.estate-inquiry-notice p{
  margin:0;
}
.estate-inquiry-notice p+p{
  margin-top:8px;
}

.estate-consent-row{
  justify-content:center;
  width:100%;
  margin:16px auto 0;
  text-align:center;
}
.estate-inquiry-actions{
  display:flex;
  justify-content:center;
  margin-top:14px;
}

.estate-inquiry-submit{
  width:min(100%, 420px);
  min-height:54px;
  padding:13px 28px;
  border-radius:10px;
  font-size:.96rem;
  font-weight:900;
  letter-spacing:.02em;
}

@media(max-width:760px){
  .estate-inquiry-form{
    padding-top:10px;
  }
  .estate-form-row-message textarea{
    min-height:84px;
  }
  .estate-inquiry-notice{
    padding:14px 15px;
    font-size:.8rem;
  }
  .estate-consent-row{
    justify-content:center;
    text-align:left;
  }
  .estate-inquiry-actions{
    justify-content:center;
  }
  .estate-inquiry-submit{
    width:100%;
    min-height:52px;
  }
}

.estate-inquiry-notice{
  margin:16px 0 10px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#665f70;
  font-size:.78rem;
  font-weight:600;
  line-height:1.55;
}
.estate-inquiry-notice p{
  position:relative;
  margin:0;
  padding-left:1.2em;
}
.estate-inquiry-notice p::before{
  content:"※";
  position:absolute;
  left:0;
  top:0;
  color:#7a6f86;
  font-weight:900;
}
.estate-inquiry-notice p+p{
  margin-top:3px;
}

.estate-inquiry-submit{
  width:260px !important;
  min-width:260px !important;
  min-height:44px !important;
  padding:10px 24px !important;
  border-radius:10px !important;
  font-size:.88rem !important;
  font-weight:900 !important;
  letter-spacing:normal !important;
}
.estate-inquiry-actions{
  justify-content:center !important;
}
.estate-consent-row{
  justify-content:center !important;
  text-align:center !important;
}

@media(max-width:760px){
  .estate-inquiry-submit{
    width:min(100%,320px) !important;
    min-width:0 !important;
  }
  .estate-inquiry-notice{
    font-size:.76rem;
    line-height:1.5;
  }
}

.estate-inquiry-submit{
  width:300px !important;
  min-width:300px !important;
}
@media(max-width:760px){
  .estate-inquiry-submit{
    width:min(100%,340px) !important;
    min-width:0 !important;
  }
}

.estate-viewing-dates>p{
  color:#51485f !important;
  font-size:.78rem !important;
  font-weight:600 !important;
  line-height:1.55 !important;
}

.estate-either-required{
  display:inline-block;
  margin-left:5px;
  padding:1px 5px;
  border-radius:5px;
  background:#f0edf5;
  color:#6b6077;
  font-size:.62rem;
  font-style:normal;
  font-weight:900;
  line-height:1.5;
  vertical-align:middle;
}
.estate-check-row .estate-either-required{
  margin-left:4px;
}

.estate-either-required{
  display:none !important;
}

.estate-title-row h1.estate-filtered-title{
  font-size:clamp(1.5rem, 2.1vw, 2rem) !important;
  line-height:1.3 !important;
}
@media(max-width:760px){
  .estate-title-row h1.estate-filtered-title{
    font-size:clamp(1.5rem, 7vw, 2rem) !important;
  }
.estate-viewing-box{
    margin-left:0;
    margin-right:0;
    padding:12px 0 0;
    border:0;
    border-radius:0;
    background:transparent;
  }
  .estate-viewing-dates{
    margin-top:10px;
    padding:12px 0 0;
    border-top:1px solid var(--line);
  }
.estate-inquiry-form{padding-left:8px;padding-right:8px}
  .estate-viewing-dates{padding-top:10px}
  .estate-viewing-dates>p{margin-bottom:8px !important;font-size:.82rem !important;line-height:1.5 !important}
  .estate-viewing-date-grid{gap:10px}
  .estate-viewing-date-grid label>span{margin-bottom:4px;font-size:.82rem}
  .estate-viewing-date-grid input{min-height:50px;height:50px;padding:8px 10px;font-size:1rem;line-height:1.2}
  .estate-inquiry-notice{margin-top:12px;margin-bottom:8px}
.estate-inquiry-form{
    padding-left:14px;
    padding-right:14px;
  }
  .estate-viewing-date-grid input[type="datetime-local"]{
    -webkit-appearance:none;
    appearance:none;
    display:block;
    box-sizing:border-box;
    width:100%;
    min-width:0;
    min-height:0 !important;
    height:48px !important;
    padding:8px 10px !important;
    border-radius:9px;
    font-size:16px !important;
    line-height:30px !important;
  }
  .estate-viewing-date-grid input[type="datetime-local"]::-webkit-date-and-time-value{
    min-height:0;
    height:30px;
    line-height:30px;
    text-align:left;
  }
  .estate-viewing-date-grid input[type="datetime-local"]::-webkit-datetime-edit{
    padding:0;
  }
  .estate-viewing-date-grid{
    gap:8px;
  }
}

/* Responsive grid safety */
.estate-grid > *,
.estate-card,
.estate-card-upper,
.estate-card-upper > *,
.estate-detail-grid > *,
.estate-summary-grid > *,
.estate-location-grid > *,
.estate-form-row > *,
.estate-viewing-date-grid > *{
  min-width:0;
}
.estate-card h2,
.estate-card h3,
.estate-card p,
.estate-card a,
.estate-property-titleline > *,
.estate-detail-list dd,
.estate-all-fields-list dd,
.estate-access-row > *,
.estate-form-row > *{
  overflow-wrap:anywhere;
}

