/* Compact shared address search; no location or distance presentation. */
body .address-search {
  display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1.7fr) auto;
  align-items:center; gap:10px 12px; width:100%; max-width:900px;
  margin:16px 0 14px; padding:0; border:0; background:transparent;
  color:#244438; text-align:left;
}
body .address-search label { display:block; min-width:0; margin:0; }
body .address-search .address-search-label {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
body .address-search .region-fields {
  display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:6px; min-width:0; margin:0; padding:0; border:0;
}
body .address-search input[type=search],body .address-search select {
  display:block; box-sizing:border-box; width:100%; max-width:100%; min-width:0;
  height:36px; margin:0; padding:0 10px; border:1px solid #b9c7bc; border-radius:5px;
  background:#fffef9; color:#253e32; font-family:inherit; font-size:14px;
  font-weight:400; line-height:normal; letter-spacing:0; box-shadow:none;
}
body .address-search select { padding-right:5px; }
body .address-search input::placeholder { color:#727e73; opacity:1; }
body .address-search select:disabled { color:#667267; background:#f1f3ec; opacity:1; cursor:not-allowed; }
body .address-search .address-search-submit {
  display:inline-flex; justify-content:center; align-items:center; gap:7px;
  box-sizing:border-box; height:36px; min-width:88px; margin:0; padding:0 12px;
  border:1px solid #244438; border-radius:5px; background:#244438; color:#fffef8;
  font-family:inherit; font-size:14px; font-weight:600; line-height:1;
  letter-spacing:.03em; white-space:nowrap; box-shadow:none; cursor:pointer;
}
body .address-search .address-search-submit:hover { background:#173729; border-color:#173729; }
body .address-search :is(input,select,button,a):focus-visible { outline:2px solid #658d70; outline-offset:3px; }
body .address-search .address-search-reset {
  grid-column:1/-1; justify-self:start; display:inline-flex; align-items:center;
  min-height:24px; margin-top:-4px; color:#315b44; font-size:12px; line-height:1.4;
  text-decoration:underline; text-underline-offset:3px;
}
.address-search-icon { position:relative; display:inline-block; width:11px; height:11px; border:1.5px solid currentColor; border-radius:50%; margin-right:2px; }
.address-search-icon::after { content:''; position:absolute; width:5px; height:1.5px; background:currentColor; right:-4px; bottom:-2px; transform:rotate(45deg); }
.address-results-tabs { display:flex; flex-wrap:wrap; gap:6px; margin:14px 0; }
body.public-page .address-results-tabs .btn { display:inline-flex; align-items:center; min-height:36px; margin:0; padding:0 12px; border-radius:5px; background:#244438; color:#fffef8; border:1px solid #244438; font-size:13px; }
body.public-page .address-results-tabs .btn.ghost { background:transparent; color:#244438; border-color:#a8b6a9; }
.region-result { display:flex; flex-direction:column; min-width:0; }
.region-result > .card { flex:1; }
.region-matches { padding:.65rem .9rem; border:1px solid #cbd1c6; border-top:0; border-radius:0 0 8px 8px; }
.region-matches p { margin:0 0 .35rem; }
.region-matches ul { margin:0; padding-left:1.1rem; }
.region-place { font-size:.85rem; overflow-wrap:anywhere; }
/* Optional art uses the heading's existing whitespace, never the form's height. */
.experience-section > .section-heading { position:relative; --address-spot-image:url("design/address-search-spot.png"); }
@media(min-width:1001px) {
  .experience-section > .section-heading { max-width:none; }
  .experience-section > .section-heading::after {
    content:''; position:absolute; right:12px; bottom:0; width:222px; height:66px;
    background-image:var(--address-spot-image,none); background-size:236px auto;
    background-position:-8px -36px; background-repeat:no-repeat;
    pointer-events:none;
  }
}
@media(max-width:1000px) {
  body .address-search { gap:8px; }
  body .address-search input[type=search],body .address-search select,
  body .address-search .address-search-submit { height:44px; font-size:16px; }
  body .address-search .address-search-reset { min-height:44px; }
  body.public-page .address-results-tabs .btn { min-height:44px; }
}
@media(max-width:600px) {
  body .address-search { grid-template-columns:minmax(0,1fr) auto; gap:8px; margin:12px 0; }
  body .address-search .address-search-keyword { grid-column:1; grid-row:1; }
  body .address-search .address-search-submit { grid-column:2; grid-row:1; min-width:76px; padding:0 10px; }
  body .address-search .region-fields { grid-column:1/-1; grid-row:2; }
  body .address-search input[type=search],body .address-search select { padding-left:8px; }
  body .address-search .address-search-reset { grid-row:3; margin-top:-4px; font-size:12px; }
}
