.selection-detail {
  width: min(1180px, calc(100% - 40px));
  margin: 26px auto 60px;
}
.selection-back { display: inline-flex; margin-bottom: 18px; color: #146d61; font-weight: 750; }
.selection-hero, .selection-analysis { display: grid; gap: 16px; align-items: start; }
.selection-hero { grid-template-columns: minmax(0, 1.38fr) minmax(0, 1fr); }
.selection-analysis { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 18px; }
.selection-panel, .selection-gallery, .selection-missing {
  overflow: hidden;
  border: 1px solid #d8e6de;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 30px #17303a0a;
}
.selection-panel, .selection-missing { padding: clamp(17px, 3vw, 27px); }
.selection-cover { display: grid; place-items: center; aspect-ratio: 1.58; background: #eaf1eb; }
.selection-cover img { width: 100%; height: 100%; min-width: 0; min-height: 0; object-fit: contain; }
.selection-cover p { padding: 15px; text-align: center; }
.selection-cover a, .selection-links a { color: #146d61; font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.selection-thumbs { display: flex; gap: 8px; padding: 10px 12px; overflow-x: auto; }
.selection-thumbs button {
  display: grid;
  place-items: center;
  flex: 0 0 72px;
  width: 72px;
  height: 52px;
  padding: 2px;
  border: 2px solid transparent;
  border-radius: 9px;
  overflow: hidden;
  background: #edf3ee;
  color: #146d61;
  cursor: pointer;
}
.selection-thumbs button[aria-pressed=true] { border-color: #146d61; background: #fff; }
.selection-thumbs img { width: 100%; height: 44px; object-fit: cover; border-radius: 5px; }
.selection-intro h1 { margin: 3px 0 7px; font-size: clamp(27px, 4vw, 42px); }
.selection-location { margin: 0; color: #146d61; font-size: .88rem; font-weight: 800; }
.selection-facts, .selection-source { margin: 8px 0; color: #546b62; font-size: .9rem; }
.selection-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px 11px; margin: 14px 0 8px; }
.selection-price strong { color: #173c32; font: 800 clamp(28px, 4vw, 38px)/1 var(--ip-display, system-ui); }
.selection-price span { color: #45655a; font-weight: 700; }
.selection-expenses { display: flex; flex-wrap: wrap; gap: 8px 17px; margin: 14px 0; }
.selection-expenses:empty { display: none; }
.selection-expenses dt, .selection-indicators dt { color: #4f685f; font-size: .83rem; }
.selection-expenses dd, .selection-indicators dd { margin: 1px 0 0; font-weight: 800; }
.selection-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 15px; }
.selection-button {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 8px 13px;
  border: 1px solid #b6d1c4;
  border-radius: 10px;
  background: #fff;
  color: #146d61;
  font-weight: 750;
  text-decoration: none;
}
.selection-button.primary { border-color: #146d61; background: #146d61; color: #fff; }
.selection-button:hover { box-shadow: 0 0 0 2px #146d6130; }
.selection-panel h2 { margin: 0 0 14px; font-size: 24px; }
.selection-panel h3 { margin: 18px 0 5px; font-size: 16px; }
.selection-indicators { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 135px), 1fr)); gap: 8px; margin: 0 0 14px; }
.selection-indicators > div { padding: 10px 12px; border: 1px solid #d8e7dd; border-radius: 11px; background: #f1f7f1; }
.selection-indicators dd { color: #174f40; font-size: 1.05rem; }
.selection-note { color: #52695f; font-size: .88rem; }
.selection-links { display: flex; flex-wrap: wrap; gap: 7px 14px; margin-top: 10px; font-size: .84rem; }
.selection-scenario { padding: 12px 13px 2px; border: 1px solid #dce8df; border-radius: 12px; background: #fafcf9; }
.selection-inputs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-bottom: 11px; }
.selection-inputs label { display: grid; gap: 4px; font-size: .83rem; font-weight: 750; }
.selection-inputs input { min-width: 0; width: 100%; min-height: 39px; padding: 7px 9px; border: 1px solid #bcd3c8; border-radius: 8px; background: #fff; color: #173c32; font: inherit; }
.selection-checks { margin: 6px 0 0; padding-inline-start: 19px; }
.selection-checks li + li { margin-top: 5px; }

#explorer #listing-grid .property-photo.has-selection-photo { position: relative; isolation: isolate; background: #e8f0eb; }
#explorer .selection-card-photo { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; object-fit: cover; }
#explorer .selection-card-note { color: #365d51; margin: 0 0 6px; font-size: .84rem; }
#explorer .selection-status:not(:empty) { margin: 5px 0 12px; color: #45655a; font-size: .87rem; }

@media (max-width: 760px) {
  .selection-detail { width: calc(100% - 24px); margin-top: 17px; }
  .selection-hero, .selection-analysis { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .selection-analysis { margin-top: 12px; }
  .selection-cover { aspect-ratio: 1.4; }
}

#selection-before-after figure { margin: 0; min-width: 0; }
#selection-before-after img { width: 100%; height: auto; border-radius: 12px; }
#selection-finance { margin-block: 12px; }
#selection-ai-output button { margin-block: 8px; }

.selection-inputs[hidden], .selection-indicators[hidden] { display: none; }
#selection-finance small { color: #496a5f; font-weight: 500; }

.selection-offer {
  border-top: 1px solid #d8e7dd;
  margin-block: 1.5rem;
  padding-top: 1rem;
}
.selection-offer .selection-inputs { max-width: 24rem; grid-template-columns: 1fr; }
.selection-offer-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 215px), 1fr));
  gap: 12px;
}
.selection-offer-grid h4 { margin: 0 0 .6rem; }
.selection-offer-grid .selection-indicators { grid-template-columns: 1fr; margin: 0; }
.selection-offer-grid .work-budget-card { border: 1px solid #d8e7dd; }
