/* Paceways Staedte-Seiten: konsolidiertes CSS.

   Entstanden am 22.09.2026, gleicher Befund und gleiche Technik wie
   branchen.css (siehe dort fuer den vollen Hintergrund), nur fuer die 3
   Staedteseiten-Snippets mit eigenem <style>-Tag (tatsu/kontaktformular.tatsu.html
   hat davon sogar zwei getrennte Bloecke, beide hier drin). Eigene Datei,
   nicht mit branchen.css zusammengelegt, Grund siehe dort.

   Deckt NICHT die Sichtbarkeit-Sektion der Staedteseiten ab: die zeigt live
   ebenfalls eigenes CSS (Klasse .dach-group), aber aus einem WP-Code-
   Snippet ohne lokale Entsprechung in diesem Repo, unbekannte ID, deshalb
   hier bewusst ausgeklammert. */

/* ---------- Markt und Branchen (Städte) (Quelle: regio-markt-branchen.php, 1 Block) ---------- */
.pwg-group{
  position:relative;width:100vw;left:50%;margin-left:-50vw;overflow:hidden;
  font-family:var(--font-body);
}
.pwg-section{position:relative;z-index:1;padding:120px 0 110px;}
.pwg-wrap{max-width:1360px;margin:0 auto;padding:0 40px;}
@media(max-width:768px){.pwg-wrap{padding:0 20px;}.pwg-section{padding:80px 0 70px;}}

.pwg-kicker{
  display:block;
  font-size:14px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:#4a2d4e;margin-bottom:22px;
}
.pwg-head{max-width:600px;margin-bottom:36px;}
.pwg-head h2{
  font-family:var(--font-heading);font-weight:700;
  font-size:clamp(34px,4.6vw,56px);line-height:1.04;letter-spacing:-.025em;
  color:var(--color-primary-7);margin:0 0 20px;
}
.pwg-head h2 .pwg-muted{color:#4a2d4e;font-weight:500;}

.pwg-market{background:#ffffff;}
.pwg-market-top{
  display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px;
  align-items:start;margin-bottom:76px;
}
@media(max-width:1000px){.pwg-market-top{grid-template-columns:1fr;gap:36px;}}

.pwg-market-aside{display:flex;flex-direction:column;gap:16px;}
.pwg-market-photo{
  position:relative;border-radius:16px;overflow:hidden;
  box-shadow:0 20px 44px -26px rgba(0,48,41,.32);
  background:#e3e1f0;
}
.pwg-market-photo img{display:block;width:100%;height:220px;object-fit:cover;}
.pwg-market-photo-credit{
  position:absolute;right:8px;bottom:6px;
  font-size:10px;color:#fff;background:rgba(0,48,41,.55);
  padding:3px 8px;border-radius:999px;letter-spacing:.01em;
}
.pwg-market-facts{
  background:#fff;border:1px solid rgba(0,48,41,.08);border-radius:16px;
  padding:24px 26px;box-shadow:0 16px 36px -28px rgba(0,48,41,.28);
}
.pwg-market-facts-label{
  display:block;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--color-primary-4);margin-bottom:16px;
}
.pwg-market-facts-list{margin:0;display:flex;flex-direction:column;gap:12px;}
.pwg-market-facts-list div{
  display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  padding-bottom:12px;border-bottom:1px solid rgba(0,48,41,.07);
}
.pwg-market-facts-list div:last-child{border-bottom:none;padding-bottom:0;}
.pwg-market-facts-list dt{
  margin:0;font-size:13px;color:var(--color-text-muted);white-space:nowrap;
}
.pwg-market-facts-list dd{
  margin:0;font-family:var(--font-heading);font-weight:700;font-size:15px;
  color:var(--color-primary-7);text-align:right;
}
.pwg-market-facts-list dd .pwg-facts-stand{
  display:block;font-family:var(--font-body);font-weight:400;font-size:11px;
  color:var(--color-text-muted);margin-top:2px;
}
.pwg-market::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(ellipse 840px 560px at 8% -8%,rgba(202,203,224,.30),transparent 70%),
    radial-gradient(ellipse 700px 520px at 96% 100%,rgba(201,242,209,.32),transparent 70%);
}
.pwg-market .pwg-wrap{position:relative;z-index:1;}
.pwg-market-body{max-width:760px;color:var(--color-text-muted);font-size:17px;line-height:1.75;}
.pwg-market-body p{margin:0 0 20px;}
.pwg-market-body p:last-child{margin-bottom:0;}
.pwg-market-body strong{color:var(--color-primary-7);}
.pwg-market-quellen{
  margin-top:16px !important;padding-top:14px;
  border-top:1px solid rgba(0,48,41,.08);
  font-size:13px;line-height:1.5;color:var(--color-text-muted);opacity:.75;
}

.pwg-branchen{margin-top:64px;}
.pwg-branchen-label{
  display:block;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--color-primary-4);margin-bottom:22px;
}
.pwg-branchen-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:900px){.pwg-branchen-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.pwg-branchen-grid{grid-template-columns:1fr;}}
.pwg-branchen-card{
  display:flex;flex-direction:column;
  background:#fff;border:1px solid rgba(0,48,41,.08);border-radius:16px;overflow:hidden;
  text-decoration:none;
  box-shadow:0 16px 36px -26px rgba(0,48,41,.30);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.pwg-branchen-card:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 44px -24px rgba(0,48,41,.32);
  border-color:rgba(152,237,177,.55);
}
.pwg-branchen-photo{
  width:100%;height:148px;object-fit:cover;display:block;
  background:#e3e1f0;
}
.pwg-branchen-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:6px;flex:1;}
.pwg-branchen-title{font-family:var(--font-heading);font-weight:700;font-size:17px;line-height:1.25;color:var(--color-primary-7);}
.pwg-branchen-note{font-size:13.5px;line-height:1.55;color:var(--color-text-muted);}
.pwg-branchen-link{
  display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:10px;
  font-size:13px;font-weight:600;color:var(--color-primary-7);
}
.pwg-branchen-link svg{width:13px;height:13px;transition:transform .25s ease;}
.pwg-branchen-card:hover .pwg-branchen-link{color:var(--color-secondary-7);}
.pwg-branchen-card:hover .pwg-branchen-link svg{transform:translateX(3px);}

.pwg-neighbors{margin-top:64px;padding-top:56px;border-top:1px solid rgba(0,48,41,.08);}
.pwg-neighbors-label{
  display:block;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--color-primary-4);margin-bottom:18px;
}
.pwg-neighbors-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px;}
.pwg-neighbors-link{
  display:inline-flex;align-items:baseline;gap:6px;
  background:#fff;border:1px solid rgba(0,48,41,.1);border-radius:999px;
  padding:10px 18px;text-decoration:none;
  font-family:var(--font-heading);font-weight:600;font-size:14px;color:var(--color-primary-7);
  transition:transform .2s ease, border-color .2s ease, background .2s ease;
}
.pwg-neighbors-link:hover{transform:translateY(-2px);border-color:rgba(152,237,177,.6);background:rgba(152,237,177,.12);}
.pwg-neighbors-link span{font-family:var(--font-body);font-weight:400;font-size:12.5px;color:var(--color-text-muted);}
@media(max-width:520px){.pwg-neighbors-link{flex:1 1 auto;justify-content:center;}}

/* ---------- Hero (Städte) (Quelle: tatsu/hero.tatsu.html, 1 Block) ---------- */
.pw-hero-cta { text-align: center; }
.pw-hero-cta br { display: none !important; }
.pw-hero-cta p:empty { display: none !important; }
.pw-hero-cta-btn {
  display: inline-flex; flex-direction: column; align-items: center; justify-content: center;
  background: #98edb1; color: #003029;
  text-decoration: none; text-align: center;
  padding: 15px 34px; border-radius: 12px;
  transition: transform 0.2s ease;
}
.pw-hero-cta-btn:hover { transform: scale(1.04); }
.pw-hero-cta-label {
  font-family: var(--font-heading, inherit); font-weight: 600; font-size: 18px; line-height: 1.35;
}
.pw-hero-cta-note {
  margin-top: 2px; font-size: 12.5px; font-weight: 400; line-height: 1.3;
  color: rgba(0,48,41,0.72);
}
.pw-hero-cta-alt { margin: 14px 0 0; color: rgba(255,255,255,0.85); }
.pw-hero-cta-alt a { color: #ffffff; font-weight: 600; text-decoration: underline; }
.pw-hero-cta-alt a:hover { color: #98edb1; }
@media (max-width: 600px) {
  .pw-hero-cta-btn { width: 100%; }
}

/* ---------- Kontaktformular (Städte) (Quelle: tatsu/kontaktformular.tatsu.html, 2 Blocke) ---------- */
@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}
@media (max-width: 600px) {
  .badge-indicator { font-size: 18px !important; }
}

@media (max-width: 600px) {
    .contact-info {
      flex-direction: column;
    }
  }

