/* location.css — shared styles for all county/location pages */

/* BREADCRUMB */
.breadcrumb {
  background: var(--warm);
  border-bottom: 1px solid var(--warm-dark);
  padding: 0.6rem 0;
  font-size: 0.8rem;
  color: var(--ink-light);
}
.breadcrumb a { color: var(--sage); text-decoration: none; }
.breadcrumb a:hover { text-decoration: underline; }
.breadcrumb a + a::before { content: ' › '; color: var(--ink-light); }

/* LOC HERO */
.loc-hero {
  background: var(--sage-dark);
  color: var(--white);
  padding: 3.5rem 0;
}
.loc-hero-oh { background: #1a2a4a; }

.loc-hero-inner {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 3rem;
  align-items: start;
}
.loc-hero h1 { color: var(--white); margin-bottom: 0.85rem; }
.loc-hero h1 em { color: #8fcfbf; font-style: italic; }
.loc-hero .hero-sub { font-size: 0.97rem; color: rgba(255,255,255,0.76); margin-bottom: 1.25rem; }

.loc-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.loc-meta span {
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.18);
  padding: 0.28rem 0.7rem;
  border-radius: 20px;
  font-size: 0.78rem;
  color: rgba(255,255,255,0.82);
}

.loc-nav-box {
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: var(--radius-lg);
  padding: 1.25rem;
  flex-shrink: 0;
}
.loc-nav-title {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255,255,255,0.55);
  margin-bottom: 0.75rem;
}
.loc-nav-box ul { list-style: none; padding: 0; }
.loc-nav-box li { margin-bottom: 0.4rem; }
.loc-nav-box a {
  color: rgba(255,255,255,0.82);
  text-decoration: none;
  font-size: 0.86rem;
  font-weight: 500;
  transition: color 0.15s;
}
.loc-nav-box a:hover { color: #8fcfbf; }

/* PROVIDER CARDS */
.provider-list { display: flex; flex-direction: column; gap: 1.5rem; }

.provider-card {
  background: var(--white);
  border: 1.5px solid var(--warm-dark);
  border-radius: var(--radius-lg);
  padding: 1.75rem;
  box-shadow: var(--shadow);
  position: relative;
}
.provider-featured { border-color: var(--sage-light); border-width: 2px; }

.featured-label {
  position: absolute;
  top: -1px;
  left: 1.5rem;
  background: var(--sage);
  color: var(--white);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.2rem 0.65rem;
  border-radius: 0 0 6px 6px;
}

.provider-regional { border-style: dashed; background: var(--warm); }
.provider-regional::before {
  content: 'Regional facility — serves NKY residents';
  display: block;
  font-size: 0.72rem;
  color: var(--ink-light);
  margin-bottom: 1rem;
  font-style: italic;
}

.provider-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--warm-dark);
  flex-wrap: wrap;
}
.provider-header h3 { font-size: 1.15rem; color: var(--sage-dark); margin-bottom: 0.25rem; }
.provider-type { font-size: 0.82rem; color: var(--ink-light); }
.provider-badges { display: flex; gap: 0.4rem; flex-wrap: wrap; flex-shrink: 0; }

.badge {
  font-size: 0.68rem;
  padding: 0.2rem 0.55rem;
  border-radius: 20px;
  font-weight: 600;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.badge.medicaid   { background: #e8f0fe; color: #1a56d6; }
.badge.walkin     { background: #e6f4ea; color: #1a7a3c; }
.badge.mat        { background: #fef3e2; color: #b45309; }
.badge.detox      { background: #fce8f3; color: #9d174d; }
.badge.residential{ background: #f0e8ff; color: #6d28d9; }
.badge.iop        { background: #e0f2fe; color: #0369a1; }
.badge.sliding    { background: #f0fdf4; color: #166534; }
.badge.court      { background: #fef9c3; color: #854d0e; }
.badge.free       { background: #dcfce7; color: #15803d; }
.badge.veterans   { background: #dbeafe; color: #1e40af; }
.badge.referral   { background: #f3f4f6; color: #374151; }

.provider-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1rem;
}
.provider-detail { display: flex; flex-direction: column; gap: 0.2rem; }
.provider-detail strong { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--ink-light); font-weight: 600; }
.provider-detail span, .provider-detail p { font-size: 0.88rem; color: var(--ink-mid); line-height: 1.5; }
.provider-detail a { color: var(--sage); font-weight: 500; }

/* STEPS */
.steps { display: flex; flex-direction: column; gap: 0; max-width: 780px; }
.step {
  display: flex;
  gap: 1.25rem;
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--warm-dark);
}
.step:last-child { border-bottom: none; }
.step-num {
  width: 36px;
  height: 36px;
  background: var(--sage-dark);
  color: var(--white);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Fraunces', serif;
  font-size: 1rem;
  font-weight: 600;
  flex-shrink: 0;
  margin-top: 0.1rem;
}
.step h3 { font-size: 1rem; margin-bottom: 0.35rem; color: var(--sage-dark); }
.step p { font-size: 0.88rem; color: var(--ink-mid); }

/* COMPARE (KY vs OH) */
.compare-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
  margin-bottom: 1.25rem;
}
.compare-card {
  background: var(--white);
  border-radius: var(--radius-lg);
  padding: 1.5rem;
  box-shadow: var(--shadow);
  border-top: 4px solid var(--warm-dark);
}
.compare-ky { border-top-color: var(--ky); }
.compare-oh { border-top-color: var(--oh); }
.compare-header {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-weight: 600;
  font-size: 0.95rem;
  margin-bottom: 0.85rem;
  color: var(--ink);
}
.compare-card ul { font-size: 0.86rem; color: var(--ink-mid); padding-left: 1rem; }
.compare-card li { margin-bottom: 0.4rem; }
.compare-note {
  background: #fef9e7;
  border: 1px solid #f6d860;
  border-radius: var(--radius);
  padding: 1rem 1.25rem;
  font-size: 0.88rem;
  color: var(--ink-mid);
}
.compare-note strong { color: var(--ink); }

/* NEARBY GRID */
.nearby-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1rem;
}
.nearby-card {
  display: block;
  background: var(--white);
  border: 1.5px solid var(--warm-dark);
  border-radius: var(--radius);
  padding: 1.25rem;
  text-decoration: none;
  color: var(--ink);
  transition: all 0.15s;
  box-shadow: var(--shadow);
}
.nearby-card:hover { border-color: var(--sage-light); transform: translateY(-2px); box-shadow: var(--shadow-md); color: var(--ink); }
.nearby-card h4 { font-size: 1rem; color: var(--sage-dark); margin-bottom: 0.4rem; }
.nearby-card p { font-size: 0.83rem; color: var(--ink-mid); }

/* RESPONSIVE */
@media (max-width: 800px) {
  .loc-hero-inner { grid-template-columns: 1fr; gap: 1.5rem; }
  .compare-grid { grid-template-columns: 1fr; }
  .provider-grid { grid-template-columns: 1fr; }
}
@media (max-width: 580px) {
  .provider-header { flex-direction: column; }
  .loc-nav-box { display: none; }
}
