/* ============================================================
   Standort-Seiten (/standort, /standort/<ort>)
   Ergaenzt style.css, ueberschreibt nichts. Nutzt ausschliesslich
   die bestehenden Design-Tokens aus style.css.
   ============================================================ */

.loc-main { padding: 9rem 0 5rem; }
.loc-main h1 { font-size: clamp(2.2rem, 5vw, 3.2rem); margin-bottom: 1.2rem; }
.loc-main h2 { font-size: 1.45rem; margin: 2.6rem 0 0.9rem; }
.loc-main p, .loc-main li { color: var(--taupe); font-size: 0.98rem; margin-bottom: 0.8rem; }
.loc-main a:not(.btn):not(.loc-card) { text-decoration: underline; }

/* Brotkrume */
.loc-crumb {
  font-size: 0.74rem; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--taupe); margin-bottom: 1.6rem;
}
.loc-crumb a { color: var(--bronze-deep); }

/* Intro der Uebersicht */
.loc-lead { max-width: 46rem; font-size: 1.05rem; }

/* Gruppen (section erbt sonst das grosse padding-block aus style.css) */
.loc-main section { padding-block: 0; }
.loc-group { margin-top: 3.4rem; }
.loc-group-head { max-width: 46rem; margin-bottom: 1.6rem; }
.loc-group-head h2 { margin: 0.9rem 0 0.6rem; font-size: clamp(1.6rem, 3vw, 2.1rem); }

/* Karten-Raster */
.loc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
@media (max-width: 900px) { .loc-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .loc-grid { grid-template-columns: 1fr; } }

.loc-card {
  display: block; padding: 1.5rem 1.5rem 1.6rem; border-radius: 1rem;
  border: 1px solid var(--line); background: var(--cream);
  transition: transform 0.35s var(--ease-out), box-shadow 0.35s var(--ease-out), border-color 0.3s;
}
.loc-card h3 { font-size: 1.5rem; margin: 0.9rem 0 0.5rem; color: var(--espresso); }
.loc-card p { margin-bottom: 0.4rem; }
.loc-card .loc-meta { font-size: 0.86rem; font-weight: 700; color: var(--espresso); }
.loc-card .loc-text { font-size: 0.9rem; }
.loc-card .loc-more {
  display: inline-block; margin-top: 0.9rem; font-size: 0.82rem; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--bronze-deep);
}

.loc-card.is-open:hover { transform: translateY(-3px); border-color: var(--bronze); box-shadow: var(--shadow-soft); }

/* Geplante Standorte: bewusst zurueckhaltend, gestrichelt, ohne Bronze-Akzent */
.loc-card.is-planned {
  background: transparent; border-style: dashed; border-color: rgba(39, 30, 20, 0.26);
}
.loc-card.is-planned h3 { color: var(--taupe); }
.loc-card.is-planned .loc-meta { color: var(--taupe); font-weight: 600; }
.loc-card.is-planned .loc-more { color: var(--taupe); }
.loc-card.is-planned:hover { border-color: var(--taupe); transform: none; box-shadow: none; }

/* Status-Pillen */
.loc-badge {
  display: inline-flex; align-items: center; gap: 0.45rem;
  padding: 0.34rem 0.8rem; border-radius: 999px;
  font-size: 0.68rem; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase;
}
.loc-badge::before { content: ''; width: 0.42rem; height: 0.42rem; border-radius: 50%; background: currentColor; }
.loc-badge.is-open { background: var(--espresso); color: var(--cream); }
.loc-badge.is-planned { border: 1px dashed rgba(39, 30, 20, 0.4); color: var(--taupe); background: transparent; }

/* Status-Zeile auf der Detailseite */
.loc-status { display: inline-flex; margin-bottom: 1.1rem; }

/* Hinweisbox «in Planung» */
.loc-note {
  border: 1px dashed rgba(39, 30, 20, 0.4); border-radius: 0.9rem;
  padding: 1.2rem 1.3rem; margin: 1.6rem 0 0.6rem; background: rgba(39, 30, 20, 0.03);
}
.loc-note p:last-child { margin-bottom: 0; }
.loc-note strong { color: var(--espresso); }

/* Faktenliste Detailseite */
.loc-facts { display: grid; grid-template-columns: 11rem 1fr; gap: 0.55rem 1.2rem; margin: 1.2rem 0 1.6rem; }
.loc-facts dt { font-size: 0.74rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--espresso); padding-top: 0.15rem; }
.loc-facts dd { color: var(--taupe); font-size: 0.98rem; }
@media (max-width: 600px) { .loc-facts { grid-template-columns: 1fr; gap: 0.2rem 0; } .loc-facts dd { margin-bottom: 0.8rem; } }

/* Foto */
.loc-photo { border-radius: 1rem; overflow: hidden; margin: 1.8rem 0; }
.loc-photo img { width: 100%; height: auto; display: block; aspect-ratio: 16 / 9; object-fit: cover; }

.loc-actions { display: flex; flex-wrap: wrap; gap: 0.8rem; margin: 1.6rem 0 0.6rem; }
.loc-actions .btn { text-decoration: none; }
