/* NearbyCheck v1.5.2 — readability + visual hierarchy polish.
   Loaded last on purpose so accessibility fixes win over legacy dark-theme layers. */
:root{
  --nc-bg:#f5f3ed;
  --nc-paper:#fffdfa;
  --nc-ink:#15211b;
  --nc-muted:#4b5751;
  --nc-subtle:#5f6b65;
  --nc-line:#d7ddd8;
  --nc-green:#124b3a;
  --nc-green-deep:#0d392f;
  --nc-green-soft:#eaf4ef;
  --nc-green-line:#c9ddd3;
  --nc-warn-bg:#fff7e5;
  --nc-warn-ink:#4a3510;
  --nc-warn-line:#e3c36f;
  --nc-danger:#7e3030;
  --nc-blue:#254f82;
  --nc-shadow:0 12px 34px rgba(28,38,33,.08);
}

body{
  background:linear-gradient(180deg,#faf8f3 0%,var(--nc-bg) 44%,#f1efe9 100%);
  color:var(--nc-ink);
}

/* Global secondary copy: never wash text into the paper background. */
.search-note,
.anchor-status,
.result-count,
.place-type,
.status-line,
.feedback-row,
.freshness-bar,
.product-note,
.try-nearby-meta,
.try-nearby-intro,
.try-nearby-explainer{
  color:var(--nc-muted);
}
.search-note{font-size:12px;line-height:1.5}
.result-count{font-size:13px;font-weight:650}
.section-heading .eyebrow{color:#53645b}

/* Best-match panel: retain the premium dark surface, raise supporting-copy contrast. */
.decision-good{
  background:linear-gradient(135deg,#154e3d 0%,#0d392f 100%);
  border-color:rgba(255,255,255,.14);
  box-shadow:0 16px 36px rgba(13,57,47,.16);
}
.decision-good .decision-main > strong{color:#fffdfa}
.decision-good .decision-main > span{color:#edf5f1;font-size:13px;line-height:1.5}
.decision-good .decision-meta{color:#d9e7e0;font-size:11.5px;line-height:1.45}
.decision-good .decision-kicker{color:#d6e9df}
.decision-good .decision-trust{color:#d9e7e0}
.decision-good .decision-trust > summary{color:#f3f8f5;text-decoration-color:rgba(243,248,245,.42)}
.decision-good .decision-trust-body span{color:#deebe4}

.po6-has-results .decision-primary.nearbycheck-directions{
  background:#fffdfa;
  color:#123f33!important;
  border-color:#fffdfa;
  box-shadow:0 6px 18px rgba(8,39,31,.15);
}
.po6-has-results .decision-actions > button[data-po-action="map"]{
  background:rgba(255,255,255,.10);
  color:#fff;
  border-color:rgba(255,255,255,.36);
}
.po6-has-results .decision-actions .decision-refresh{
  color:#fff;
  border-color:rgba(255,255,255,.32);
  background:rgba(255,255,255,.06);
}

/* Current-condition panel: a real surface instead of faint green text on beige. */
.po6-has-results .current-conditions-bar{
  background:#f2f8f5;
  border:1px solid #c9ddd3;
  border-left:4px solid #4d8b72;
  color:#2f4038;
  padding:12px 14px;
  border-radius:14px;
  box-shadow:0 5px 16px rgba(35,69,55,.045);
  font-size:12.5px;
  line-height:1.5;
}
.po6-condition-line strong{color:#174d3b;font-size:12.5px}
.po6-condition-line span{color:#46564f}
.po6-condition-details > summary{color:#234f3e;font-size:11.5px}
.po6-condition-detail-body .conditions-checked{color:#4f5d56}
.current-conditions-bar a,.conditions-links a{color:var(--nc-blue)}
.conditions-warning{color:#694b10}

/* Segmented view control: inactive Map must still look enabled/readable. */
.po6-has-results .result-view-tabs{
  border:1px solid #d5dad6;
  background:#f3f2ed;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.po6-has-results .view-tab{
  color:#3f4d46;
  background:transparent;
  font-size:13px;
  font-weight:780;
}
.po6-has-results .view-tab.active{
  background:#14231d;
  color:#fff;
  box-shadow:0 4px 12px rgba(20,35,29,.12);
}

/* This was the main contrast bug: dark-theme warning copy survived on a light-theme panel. */
.results-warning{
  color:var(--nc-warn-ink)!important;
  background:var(--nc-warn-bg)!important;
  border:1px solid var(--nc-warn-line)!important;
  border-left:4px solid #c58b19!important;
  border-radius:15px;
  padding:13px 15px;
  font-size:13px;
  font-weight:560;
  line-height:1.55;
  box-shadow:0 6px 18px rgba(104,75,16,.05);
}
.warning-box{
  background:var(--nc-warn-bg);
  color:var(--nc-warn-ink);
  border-left-color:#b47b12;
}

/* Result cards: crisp text, clearer borders, subtle depth. */
.place-card{
  background:#fff!important;
  border-color:var(--nc-line)!important;
  box-shadow:0 7px 22px rgba(25,36,30,.055)!important;
}
.place-card:hover{border-color:#bcc9c2!important;box-shadow:0 10px 28px rgba(25,36,30,.08)!important}
.po-best{
  border-color:#9fc7b4!important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfefc 100%)!important;
  box-shadow:0 10px 30px rgba(24,78,57,.08)!important;
}
.place-name{color:#101915;font-size:22px;font-weight:760;line-height:1.14}
.place-type{font-size:13px;line-height:1.45}
.match-summary{color:#34473e;font-size:13px;font-weight:720;line-height:1.45}
.status-line{font-size:12.5px;line-height:1.45}
.distance-badge{
  background:#f2f1ec;
  color:#35463d;
  border-color:#dcded9;
  font-size:12px;
  font-weight:760;
}
.source-badge{
  color:#1b5a44!important;
  background:#e9f4ef!important;
  border-color:#c9ddd3!important;
}
.source-badge-curated{
  color:#315575!important;
  background:#edf3f8!important;
  border-color:#d1e0eb!important;
}
.match-exact{
  color:#1d5d46!important;
  background:#eaf5ef!important;
  border-color:#c9e0d5!important;
}
.match-conditional{
  color:#684b0c!important;
  background:#fff5dc!important;
  border-color:#e8ce86!important;
}
.match-partial{
  color:#43524a!important;
  background:#f1f0eb!important;
  border-color:#dbddd8!important;
}
.card-badge-row .source-badge,
.card-badge-row .match-pill{font-size:10.5px;line-height:1.2}
.capability{background:#f6f5f1;border-color:#dde1dd}
.capability.yes{color:#205c46}
.capability.maybe{color:#684b0c}
.capability.no{color:var(--nc-danger)}

.po6-has-results .po6-card-directions{
  background:var(--nc-green);
  border-color:var(--nc-green);
  color:#fff;
}
.po6-has-results .po6-evidence-action{
  background:#f5f6f3;
  color:#263b31;
  border-color:#cfd6d1;
}
.secondary-button{background:#f5f6f3;color:#2f4038;border-color:#cfd6d1}
.map-link{background:var(--nc-green);color:#fff;border-color:var(--nc-green)}

/* Try Nearby stays visually secondary but readable. */
.try-nearby-section{background:rgba(255,255,255,.82);border-color:#d5dcd7}
.try-nearby-card{border-color:#d8ddd9;box-shadow:0 5px 16px rgba(30,40,35,.04)}
.try-nearby-name{color:#15211b}
.try-nearby-badge{background:#efeee8;color:#4c463d}
.try-nearby-unconfirmed{background:#fff3d9;color:#62480d;border-color:#e9cf91}
.try-nearby-access.warn{background:#fff6e2;color:#5b450f}
.try-nearby-source{color:#35443c;background:#f3f4f1}
.try-nearby-directions{background:#1b3128;color:#fff}

/* Supporting surfaces and detail dialog. */
.facility-evidence-meta{background:#f7f7f3;color:#46564f;border-color:#d8ddd9}
.facility-evidence-meta strong{color:#1d2a24}
.evidence-note{color:#4d5b54}
.source-link{color:var(--nc-blue)}
.detail-dialog{background:#fffdfa;color:var(--nc-ink)}

@media(max-width:760px){
  .section-heading .eyebrow{font-size:10.5px}
  .po6-has-results .section-heading h2{font-size:clamp(32px,9.4vw,43px);line-height:1.02}
  .po6-has-results .decision-banner{padding:17px}
  .decision-good .decision-main > strong{font-size:23px}
  .decision-good .decision-main > span{font-size:13.5px}
  .decision-good .decision-meta{font-size:11.5px}
  .po6-has-results .current-conditions-bar{font-size:13px;padding:13px 14px}
  .po6-has-results .view-tab{font-size:13.5px}
  .results-warning{font-size:13.5px;padding:14px 15px;line-height:1.58}
  .po6-has-results .place-card{padding:16px}
  .place-name{font-size:22px}
  .place-type{font-size:13.5px}
  .match-summary{font-size:13.5px}
  .status-line{font-size:13px}
  .card-badge-row .source-badge,.card-badge-row .match-pill{font-size:10.5px}
  .search-note{font-size:12px;color:#59645e}
}
